Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }