diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c index 35a3102d472..69bc71e4f11 100644 --- a/src/mame/drivers/twincobr.c +++ b/src/mame/drivers/twincobr.c @@ -610,8 +610,6 @@ static MACHINE_CONFIG_DERIVED( fsharkbt, twincobr ) /* Program Map is internal to the CPU */ MCFG_CPU_IO_MAP(fsharkbt_i8741_io_map) MCFG_DEVICE_DISABLE() /* Internal program code is not dumped */ - - MCFG_MACHINE_RESET(fsharkbt) /* Reset fshark bootleg 8741 MCU data */ MACHINE_CONFIG_END diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c index d74eaec543a..2f1166e1d77 100644 --- a/src/mame/drivers/wardner.c +++ b/src/mame/drivers/wardner.c @@ -401,7 +401,7 @@ static MACHINE_CONFIG_START( wardner, wardner_state ) /* Data Map is internal to the CPU */ MCFG_CPU_IO_MAP(DSP_io_map) - MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */ + MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */ MCFG_MACHINE_RESET(wardner) @@ -597,7 +597,7 @@ static DRIVER_INIT( wardner ) { wardner_state *state = machine.driver_data(); state->m_ROM = machine.root_device().memregion("maincpu")->base(); - wardner_driver_savestate(machine); /* Save-State stuff in src/machine/twincobr.c */ + twincobr_driver_savestate(machine); /* Save-State stuff in src/machine/twincobr.c */ } diff --git a/src/mame/includes/twincobr.h b/src/mame/includes/twincobr.h index 2c36b033d0d..6872ddd54ee 100644 --- a/src/mame/includes/twincobr.h +++ b/src/mame/includes/twincobr.h @@ -105,13 +105,10 @@ public: INTERRUPT_GEN( twincobr_interrupt ); INTERRUPT_GEN( wardner_interrupt ); - MACHINE_RESET( twincobr ); -MACHINE_RESET( fsharkbt ); MACHINE_RESET( wardner ); extern void twincobr_driver_savestate(running_machine &machine); -extern void wardner_driver_savestate(running_machine &machine); /*----------- defined in video/twincobr.c -----------*/ diff --git a/src/mame/machine/twincobr.c b/src/mame/machine/twincobr.c index 05b620807b6..1f5898cd53b 100644 --- a/src/mame/machine/twincobr.c +++ b/src/mame/machine/twincobr.c @@ -11,10 +11,6 @@ #define LOG_DSP_CALLS 0 #define LOG(x) do { if (LOG_DSP_CALLS) logerror x; } while (0) -#define CLEAR 0 -#define ASSERT 1 - - static const int toaplan_port_type[2] = { 0x7800c, 0x5c }; @@ -316,6 +312,7 @@ WRITE8_MEMBER(twincobr_state::wardner_coin_dsp_w) MACHINE_RESET( twincobr ) { twincobr_state *state = machine.driver_data(); + state->m_toaplan_main_cpu = 0; /* 68000 */ twincobr_display(machine, 0); state->m_intenable = 0; @@ -323,17 +320,23 @@ MACHINE_RESET( twincobr ) state->m_main_ram_seg = 0; state->m_dsp_execute = 0; state->m_dsp_BIO = CLEAR_LINE; + state->m_wardner_membank = 0; + state->m_fsharkbt_8741 = -1; } -MACHINE_RESET( fsharkbt ) + +MACHINE_RESET( wardner ) { - twincobr_state *state = machine.driver_data(); MACHINE_RESET_CALL(twincobr); - state->m_fsharkbt_8741 = -1; /* Reset the Flying Shark Bootleg MCU */ + + twincobr_state *state = machine.driver_data(); + state->m_toaplan_main_cpu = 1; /* Z80 */ + twincobr_display(machine, 1); } void twincobr_driver_savestate(running_machine &machine) { twincobr_state *state = machine.driver_data(); + state_save_register_global(machine, state->m_toaplan_main_cpu); state_save_register_global(machine, state->m_intenable); state_save_register_global(machine, state->m_dsp_on); @@ -342,31 +345,7 @@ void twincobr_driver_savestate(running_machine &machine) state_save_register_global(machine, state->m_dsp_BIO); state_save_register_global(machine, state->m_dsp_execute); state_save_register_global(machine, state->m_fsharkbt_8741); - machine.save().register_postload(save_prepost_delegate(FUNC(twincobr_restore_dsp), &machine)); -} - -MACHINE_RESET( wardner ) -{ - twincobr_state *state = machine.driver_data(); - state->m_toaplan_main_cpu = 1; /* Z80 */ - twincobr_display(machine, 1); - state->m_intenable = 0; - state->m_dsp_addr_w = 0; - state->m_main_ram_seg = 0; - state->m_dsp_execute = 0; - state->m_dsp_BIO = CLEAR_LINE; - state->m_wardner_membank = 0; -} -void wardner_driver_savestate(running_machine &machine) -{ - twincobr_state *state = machine.driver_data(); - state_save_register_global(machine, state->m_toaplan_main_cpu); - state_save_register_global(machine, state->m_intenable); - state_save_register_global(machine, state->m_dsp_on); - state_save_register_global(machine, state->m_dsp_addr_w); - state_save_register_global(machine, state->m_main_ram_seg); - state_save_register_global(machine, state->m_dsp_BIO); - state_save_register_global(machine, state->m_dsp_execute); state_save_register_global(machine, state->m_wardner_membank); + machine.save().register_postload(save_prepost_delegate(FUNC(twincobr_restore_dsp), &machine)); }