public override void SyncState(Serializer ser) { base.SyncState(ser); ser.BeginSection(nameof(FDS)); ser.BeginSection(nameof(RamAdapter)); diskdrive.SyncState(ser); ser.EndSection(); ser.BeginSection(nameof(audio)); audio.SyncState(ser); ser.EndSection(); { // silly little hack int tmp = currentside != null ? (int)currentside : 1234567; ser.Sync(nameof(currentside), ref tmp); currentside = tmp == 1234567 ? null : (int?)tmp; } for (int i = 0; i < NumSides; i++) { ser.Sync("diskdiffs" + i, ref diskdiffs[i], true); } ser.Sync(nameof(_timerirq), ref _timerirq); ser.Sync(nameof(timer_irq_active), ref timer_irq_active); ser.Sync(nameof(timerirq_cd), ref timerirq_cd); ser.Sync(nameof(_diskirq), ref _diskirq); ser.Sync(nameof(diskenable), ref diskenable); ser.Sync(nameof(soundenable), ref soundenable); ser.Sync(nameof(reg4026), ref reg4026); ser.Sync(nameof(timerlatch), ref timerlatch); ser.Sync(nameof(timervalue), ref timervalue); ser.Sync(nameof(timerreg), ref timerreg); ser.EndSection(); SetIRQ(); }
public override void SyncState(Serializer ser) { base.SyncState(ser); ser.BeginSection("FDS"); ser.BeginSection("RamAdapter"); diskdrive.SyncState(ser); ser.EndSection(); ser.BeginSection("audio"); audio.SyncState(ser); ser.EndSection(); { // silly little hack int tmp = currentside != null ? (int)currentside : 1234567; ser.Sync("currentside", ref tmp); currentside = tmp == 1234567 ? null : (int?)tmp; } for (int i = 0; i < NumSides; i++) { ser.Sync("diskdiffs" + i, ref diskdiffs[i], true); } ser.Sync("_timerirq", ref _timerirq); ser.Sync("_diskirq", ref _diskirq); ser.Sync("diskenable", ref diskenable); ser.Sync("soundenable", ref soundenable); ser.Sync("reg4026", ref reg4026); ser.Sync("timerlatch", ref timerlatch); ser.Sync("timervalue", ref timervalue); ser.Sync("timerreg", ref timerreg); ser.EndSection(); SetIRQ(); }