71 lines
1.4 KiB
C#
71 lines
1.4 KiB
C#
using BizHawk.Common;
|
|
|
|
namespace BizHawk.Emulation.Cores.PCEngine
|
|
{
|
|
public sealed partial class PCEngine
|
|
{
|
|
private void SyncState(Serializer ser)
|
|
{
|
|
ser.BeginSection(nameof(PCEngine));
|
|
Cpu.SyncState(ser);
|
|
VCE.SyncState(ser);
|
|
VDC1.SyncState(ser, 1);
|
|
PSG.SyncState(ser);
|
|
|
|
if (SuperGrafx)
|
|
{
|
|
VPC.SyncState(ser);
|
|
VDC2.SyncState(ser, 2);
|
|
}
|
|
|
|
if (TurboCD)
|
|
{
|
|
ADPCM.SyncState(ser);
|
|
CDAudio.SyncState(ser);
|
|
SCSI.SyncState(ser);
|
|
|
|
ser.Sync("CDRAM", ref CDRam, false);
|
|
if (SuperRam != null)
|
|
{
|
|
ser.Sync("SuperRAM", ref SuperRam, false);
|
|
}
|
|
|
|
if (ArcadeCard)
|
|
{
|
|
ArcadeCardSyncState(ser);
|
|
}
|
|
}
|
|
|
|
ser.Sync("RAM", ref Ram, false);
|
|
ser.Sync(nameof(IOBuffer), ref IOBuffer);
|
|
ser.Sync(nameof(CdIoPorts), ref CdIoPorts, false);
|
|
ser.Sync(nameof(BramLocked), ref BramLocked);
|
|
|
|
ser.Sync("Frame", ref _frame);
|
|
ser.Sync("Lag", ref _lagCount);
|
|
ser.Sync("IsLag", ref _isLag);
|
|
if (Cpu.ReadMemory21 == ReadMemorySF2)
|
|
{
|
|
ser.Sync(nameof(SF2MapperLatch), ref SF2MapperLatch);
|
|
}
|
|
|
|
if (PopulousRAM != null)
|
|
{
|
|
ser.Sync(nameof(PopulousRAM), ref PopulousRAM, false);
|
|
}
|
|
|
|
if (BRAM != null)
|
|
{
|
|
ser.Sync(nameof(BRAM), ref BRAM, false);
|
|
}
|
|
|
|
ser.EndSection();
|
|
|
|
if (ser.IsReader)
|
|
{
|
|
SyncAllByteArrayDomains();
|
|
}
|
|
}
|
|
}
|
|
}
|