Beispiel #1
0
        public static void LoadStateBinaryC(BinaryReader reader)
        {
            int i, i1, n1, n2;

            dswa        = reader.ReadByte();
            dswb        = reader.ReadByte();
            dswc        = reader.ReadByte();
            basebanksnd = reader.ReadInt32();
            for (i = 0; i < 0x20; i++)
            {
                cps_a_regs[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x20; i++)
            {
                cps_b_regs[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0xc00; i++)
            {
                Palette.entry_color[i] = reader.ReadUInt32();
            }
            Memory.mainram = reader.ReadBytes(0x10000);
            gfxram         = reader.ReadBytes(0x30000);
            MC68000.m1.LoadStateBinary(reader);
            Memory.audioram = reader.ReadBytes(0x800);
            Z80A.z1.LoadStateBinary(reader);
            Cpuint.LoadStateBinary(reader);
            Timer.global_basetime.seconds     = reader.ReadInt32();
            Timer.global_basetime.attoseconds = reader.ReadInt64();
            Video.screenstate.frame_number    = reader.ReadInt64();
            Sound.last_update_second          = reader.ReadInt32();
            for (i = 0; i < 2; i++)
            {
                Cpuexec.cpu[i].suspend               = reader.ReadByte();
                Cpuexec.cpu[i].nextsuspend           = reader.ReadByte();
                Cpuexec.cpu[i].eatcycles             = reader.ReadByte();
                Cpuexec.cpu[i].nexteatcycles         = reader.ReadByte();
                Cpuexec.cpu[i].localtime.seconds     = reader.ReadInt32();
                Cpuexec.cpu[i].localtime.attoseconds = reader.ReadInt64();
            }
            Timer.LoadStateBinary(reader);
            Memory.audioram = reader.ReadBytes(0x800);
            YM2151.LoadStateBinary(reader);
            OKI6295.LoadStateBinary(reader);
            for (i = 0; i < 2; i++)
            {
                Sound.latched_value[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 2; i++)
            {
                Sound.utempdata[i] = reader.ReadUInt16();
            }
            Sound.ym2151stream.output_sampindex      = reader.ReadInt32();
            Sound.ym2151stream.output_base_sampindex = reader.ReadInt32();
            Sound.okistream.output_sampindex         = reader.ReadInt32();
            Sound.okistream.output_base_sampindex    = reader.ReadInt32();
            Sound.mixerstream.output_sampindex       = reader.ReadInt32();
            Sound.mixerstream.output_base_sampindex  = reader.ReadInt32();
        }
Beispiel #2
0
        public static void LoadStateBinary(BinaryReader reader)
        {
            int i, j;

            dipsw = reader.ReadByte();
            for (i = 0; i < 0x2000; i++)
            {
                Palette.entry_color[i] = reader.ReadUInt32();
            }
            bank_ram20                = reader.ReadBytes(0x2000);
            bank_ram30                = reader.ReadBytes(0x80);
            namcos1_videoram          = reader.ReadBytes(0x8000);
            namcos1_cus116            = reader.ReadBytes(0x10);
            namcos1_spriteram         = reader.ReadBytes(0x1000);
            namcos1_playfield_control = reader.ReadBytes(0x20);
            copy_sprites              = reader.ReadInt32();
            s1ram              = reader.ReadBytes(0x8000);
            namcos1_triram     = reader.ReadBytes(0x800);
            namcos1_paletteram = reader.ReadBytes(0x8000);
            key = reader.ReadBytes(8);
            audiocpurom_offset = reader.ReadInt32();
            mcu_patch_data     = reader.ReadInt32();
            mcurom_offset      = reader.ReadInt32();
            namcos1_reset      = reader.ReadInt32();
            wdog                  = reader.ReadInt32();
            dac0_value            = reader.ReadInt32();
            dac1_value            = reader.ReadInt32();
            dac0_gain             = reader.ReadInt32();
            dac1_gain             = reader.ReadInt32();
            Generic.generic_nvram = reader.ReadBytes(0x800);
            for (i = 0; i < 2; i++)
            {
                for (j = 0; j < 8; j++)
                {
                    cus117_offset[i, j] = reader.ReadInt32();
                }
            }
            for (i = 0; i < 2; i++)
            {
                for (j = 0; j < 8; j++)
                {
                    user1rom_offset[i, j] = reader.ReadInt32();
                }
            }
            for (i = 0; i < 3; i++)
            {
                M6809.mm1[i].PC.LowWord   = reader.ReadUInt16();
                M6809.mm1[i].PPC.LowWord  = reader.ReadUInt16();
                M6809.mm1[i].D.LowWord    = reader.ReadUInt16();
                M6809.mm1[i].DP.LowWord   = reader.ReadUInt16();
                M6809.mm1[i].U.LowWord    = reader.ReadUInt16();
                M6809.mm1[i].S.LowWord    = reader.ReadUInt16();
                M6809.mm1[i].X.LowWord    = reader.ReadUInt16();
                M6809.mm1[i].Y.LowWord    = reader.ReadUInt16();
                M6809.mm1[i].CC           = reader.ReadByte();
                M6809.mm1[i].irq_state[0] = (LineState)reader.ReadByte();
                M6809.mm1[i].irq_state[1] = (LineState)reader.ReadByte();
                M6809.mm1[i].int_state    = reader.ReadByte();
                M6809.mm1[i].nmi_state    = (LineState)reader.ReadByte();
            }
            M6800.m1.PPC.LowWord      = reader.ReadUInt16();
            M6800.m1.PC.LowWord       = reader.ReadUInt16();
            M6800.m1.S.LowWord        = reader.ReadUInt16();
            M6800.m1.X.LowWord        = reader.ReadUInt16();
            M6800.m1.D.LowWord        = reader.ReadUInt16();
            M6800.m1.cc               = reader.ReadByte();
            M6800.m1.wai_state        = reader.ReadByte();
            M6800.m1.nmi_state        = (LineState)reader.ReadByte();
            M6800.m1.irq_state[0]     = (LineState)reader.ReadByte();
            M6800.m1.irq_state[1]     = (LineState)reader.ReadByte();
            M6800.m1.ic_eddge         = reader.ReadByte();
            M6800.m1.port1_ddr        = reader.ReadByte();
            M6800.m1.port2_ddr        = reader.ReadByte();
            M6800.m1.port3_ddr        = reader.ReadByte();
            M6800.m1.port4_ddr        = reader.ReadByte();
            M6800.m1.port1_data       = reader.ReadByte();
            M6800.m1.port2_data       = reader.ReadByte();
            M6800.m1.port3_data       = reader.ReadByte();
            M6800.m1.port4_data       = reader.ReadByte();
            M6800.m1.tcsr             = reader.ReadByte();
            M6800.m1.pending_tcsr     = reader.ReadByte();
            M6800.m1.irq2             = reader.ReadByte();
            M6800.m1.ram_ctrl         = reader.ReadByte();
            M6800.m1.counter.d        = reader.ReadUInt32();
            M6800.m1.output_compare.d = reader.ReadUInt32();
            M6800.m1.input_capture    = reader.ReadUInt16();
            M6800.m1.timer_over.d     = reader.ReadUInt32();
            M6800.m1.clock            = reader.ReadInt32();
            M6800.m1.trcsr            = reader.ReadByte();
            M6800.m1.rmcr             = reader.ReadByte();
            M6800.m1.rdr              = reader.ReadByte();
            M6800.m1.tdr              = reader.ReadByte();
            M6800.m1.rsr              = reader.ReadByte();
            M6800.m1.tsr              = reader.ReadByte();
            M6800.m1.rxbits           = reader.ReadInt32();
            M6800.m1.txbits           = reader.ReadInt32();
            M6800.m1.txstate          = (M6800.M6800_TX_STATE)reader.ReadInt32();
            M6800.m1.trcsr_read       = reader.ReadInt32();
            M6800.m1.tx               = reader.ReadInt32();
            Cpuint.LoadStateBinary(reader);
            Timer.global_basetime.seconds                   = reader.ReadInt32();
            Timer.global_basetime.attoseconds               = reader.ReadInt64();
            Video.screenstate.vblank_start_time.seconds     = reader.ReadInt32();
            Video.screenstate.vblank_start_time.attoseconds = reader.ReadInt64();
            Video.screenstate.frame_number                  = reader.ReadInt64();
            Sound.last_update_second = reader.ReadInt32();
            for (i = 0; i < 4; i++)
            {
                Cpuexec.cpu[i].suspend               = reader.ReadByte();
                Cpuexec.cpu[i].nextsuspend           = reader.ReadByte();
                Cpuexec.cpu[i].eatcycles             = reader.ReadByte();
                Cpuexec.cpu[i].nexteatcycles         = reader.ReadByte();
                Cpuexec.cpu[i].localtime.seconds     = reader.ReadInt32();
                Cpuexec.cpu[i].localtime.attoseconds = reader.ReadInt64();
                Cpuexec.cpu[i].TotalExecutedCycles   = reader.ReadUInt64();
                Cpuexec.cpu[i].PendingCycles         = reader.ReadInt32();
            }
            Timer.LoadStateBinary(reader);
            YM2151.LoadStateBinary(reader);
            Namco.nam1.num_voices   = reader.ReadInt32();
            Namco.nam1.sound_enable = reader.ReadInt32();
            for (i = 0; i < 16; i++)
            {
                for (j = 0; j < 32 * 16; j++)
                {
                    Namco.nam1.waveform[i][j] = reader.ReadInt16();
                }
            }
            for (i = 0; i < 8; i++)
            {
                Namco.nam1.channel_list[i].frequency       = reader.ReadInt32();
                Namco.nam1.channel_list[i].counter         = reader.ReadInt32();
                Namco.nam1.channel_list[i].volume[0]       = reader.ReadInt32();
                Namco.nam1.channel_list[i].volume[1]       = reader.ReadInt32();
                Namco.nam1.channel_list[i].noise_sw        = reader.ReadInt32();
                Namco.nam1.channel_list[i].noise_state     = reader.ReadInt32();
                Namco.nam1.channel_list[i].noise_seed      = reader.ReadInt32();
                Namco.nam1.channel_list[i].noise_hold      = reader.ReadInt32();
                Namco.nam1.channel_list[i].noise_counter   = reader.ReadInt32();
                Namco.nam1.channel_list[i].waveform_select = reader.ReadInt32();
            }
            Namco.namco_wavedata = reader.ReadBytes(0x400);
            DAC.dac1.output      = reader.ReadInt16();
            Sound.ym2151stream.output_sampindex      = reader.ReadInt32();
            Sound.ym2151stream.output_base_sampindex = reader.ReadInt32();
            Sound.namcostream.output_sampindex       = reader.ReadInt32();
            Sound.namcostream.output_base_sampindex  = reader.ReadInt32();
            Sound.dacstream.output_sampindex         = reader.ReadInt32();
            Sound.dacstream.output_base_sampindex    = reader.ReadInt32();
            Sound.mixerstream.output_sampindex       = reader.ReadInt32();
            Sound.mixerstream.output_base_sampindex  = reader.ReadInt32();
        }
Beispiel #3
0
        public static void LoadStateBinary(BinaryReader reader)
        {
            int i;

            dsw                = reader.ReadUInt16();
            setvector_param    = reader.ReadInt32();
            irqvector          = reader.ReadByte();
            sample_addr        = reader.ReadInt32();
            protection_ram     = reader.ReadBytes(0x1000);
            m72_irq_base       = reader.ReadByte();
            m72_scanline_param = reader.ReadInt32();
            for (i = 0; i < 0x600; i++)
            {
                Generic.paletteram16[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x600; i++)
            {
                Generic.paletteram16_2[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x200; i++)
            {
                Generic.spriteram16[i] = reader.ReadUInt16();
            }
            m72_videoram1           = reader.ReadBytes(0x4000);
            m72_videoram2           = reader.ReadBytes(0x4000);
            m72_raster_irq_position = reader.ReadInt32();
            video_off = reader.ReadInt32();
            scrollx1  = reader.ReadInt32();
            scrolly1  = reader.ReadInt32();
            scrollx2  = reader.ReadInt32();
            scrolly2  = reader.ReadInt32();
            for (i = 0; i < 0x200; i++)
            {
                m72_spriteram[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x201; i++)
            {
                Palette.entry_color[i] = reader.ReadUInt32();
            }
            Memory.mainram = reader.ReadBytes(0x4000);
            Nec.nn1[0].LoadStateBinary(reader);
            Memory.audioram = reader.ReadBytes(0x10000);
            Z80A.z1.LoadStateBinary(reader);
            Cpuint.LoadStateBinary(reader);
            Timer.global_basetime.seconds     = reader.ReadInt32();
            Timer.global_basetime.attoseconds = reader.ReadInt64();
            Video.LoadStateBinary(reader);
            Sound.last_update_second = reader.ReadInt32();
            for (i = 0; i < 2; i++)
            {
                Cpuexec.cpu[i].suspend               = reader.ReadByte();
                Cpuexec.cpu[i].nextsuspend           = reader.ReadByte();
                Cpuexec.cpu[i].eatcycles             = reader.ReadByte();
                Cpuexec.cpu[i].nexteatcycles         = reader.ReadByte();
                Cpuexec.cpu[i].localtime.seconds     = reader.ReadInt32();
                Cpuexec.cpu[i].localtime.attoseconds = reader.ReadInt64();
            }
            Timer.LoadStateBinary(reader);
            YM2151.LoadStateBinary(reader);
            DAC.dac1.output        = reader.ReadInt16();
            Sound.latched_value[0] = reader.ReadUInt16();
            Sound.utempdata[0]     = reader.ReadUInt16();
            Sound.ym2151stream.output_sampindex      = reader.ReadInt32();
            Sound.ym2151stream.output_base_sampindex = reader.ReadInt32();
            Sound.dacstream.output_sampindex         = reader.ReadInt32();
            Sound.dacstream.output_base_sampindex    = reader.ReadInt32();
            Sound.mixerstream.output_sampindex       = reader.ReadInt32();
            Sound.mixerstream.output_base_sampindex  = reader.ReadInt32();
        }
Beispiel #4
0
        public static void LoadStateBinary(BinaryReader reader)
        {
            int i, j;

            dsw                     = reader.ReadUInt16();
            irqvector               = reader.ReadByte();
            sound_status            = reader.ReadUInt16();
            bankaddress             = reader.ReadInt32();
            m92_irq_vectorbase      = reader.ReadByte();
            m92_raster_irq_position = reader.ReadInt32();
            m92_scanline_param      = reader.ReadInt32();
            setvector_param         = reader.ReadInt32();
            m92_sprite_buffer_busy  = reader.ReadByte();
            for (i = 0; i < 4; i++)
            {
                pf_master_control[i] = reader.ReadUInt16();
            }
            m92_sprite_list   = reader.ReadInt32();
            m92_vram_data     = reader.ReadBytes(0x10000);
            m92_spritecontrol = reader.ReadBytes(0x10);
            m92_game_kludge   = reader.ReadInt32();
            m92_palette_bank  = reader.ReadInt32();
            for (i = 0; i < 3; i++)
            {
                pf_layer[i].vram_base = reader.ReadUInt16();
            }
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    pf_layer[i].control[j] = reader.ReadUInt16();
                }
            }
            for (i = 0; i < 0x800; i++)
            {
                Generic.paletteram16[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x400; i++)
            {
                Generic.spriteram16[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x400; i++)
            {
                Generic.buffered_spriteram16[i] = reader.ReadUInt16();
            }
            for (i = 0; i < 0x801; i++)
            {
                Palette.entry_color[i] = reader.ReadUInt32();
            }
            Memory.mainram = reader.ReadBytes(0x10000);
            Nec.nn1[0].LoadStateBinary(reader);
            Memory.audioram = reader.ReadBytes(0x4000);
            Nec.nn1[1].LoadStateBinary(reader);
            Cpuint.LoadStateBinary(reader);
            Timer.global_basetime.seconds     = reader.ReadInt32();
            Timer.global_basetime.attoseconds = reader.ReadInt64();
            Video.LoadStateBinary(reader);
            Sound.last_update_second = reader.ReadInt32();
            for (i = 0; i < 2; i++)
            {
                Cpuexec.cpu[i].suspend               = reader.ReadByte();
                Cpuexec.cpu[i].nextsuspend           = reader.ReadByte();
                Cpuexec.cpu[i].eatcycles             = reader.ReadByte();
                Cpuexec.cpu[i].nexteatcycles         = reader.ReadByte();
                Cpuexec.cpu[i].localtime.seconds     = reader.ReadInt32();
                Cpuexec.cpu[i].localtime.attoseconds = reader.ReadInt64();
            }
            Timer.LoadStateBinary(reader);
            YM2151.LoadStateBinary(reader);
            Iremga20.LoadStateBinary(reader);
            Sound.latched_value[0] = reader.ReadUInt16();
            Sound.utempdata[0]     = reader.ReadUInt16();
            Sound.ym2151stream.output_sampindex        = reader.ReadInt32();
            Sound.ym2151stream.output_base_sampindex   = reader.ReadInt32();
            Sound.iremga20stream.output_sampindex      = reader.ReadInt32();
            Sound.iremga20stream.output_base_sampindex = reader.ReadInt32();
            Sound.mixerstream.output_sampindex         = reader.ReadInt32();
            Sound.mixerstream.output_base_sampindex    = reader.ReadInt32();
        }