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(); }
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(); }
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(); }
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(); }