diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp index 0ed90004cfa..2314bf04cc4 100644 --- a/src/mame/drivers/atarist.cpp +++ b/src/mame/drivers/atarist.cpp @@ -1940,6 +1940,10 @@ void ste_state::machine_start() m_mfp->i4_w(1); m_mfp->i5_w(1); m_mfp->i7_w(1); + + m_shifter_base=0; + m_shifter_ofs=0; + m_shifter_mode=0; } diff --git a/src/mame/drivers/hng64.cpp b/src/mame/drivers/hng64.cpp index 40145c4456e..e8725b975bc 100644 --- a/src/mame/drivers/hng64.cpp +++ b/src/mame/drivers/hng64.cpp @@ -1775,6 +1775,8 @@ void hng64_state::machine_start() m_videoregs[i] = 0xdeadbeef; } + m_irq_pending = 0; + m_3dfifo_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(hng64_state::hng64_3dfifo_processed), this)); m_comhack_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(hng64_state::comhack_callback), this)); diff --git a/src/mame/drivers/system1.cpp b/src/mame/drivers/system1.cpp index 15a8f97d07e..ad5cb24c811 100644 --- a/src/mame/drivers/system1.cpp +++ b/src/mame/drivers/system1.cpp @@ -388,6 +388,7 @@ void system1_state::machine_start() m_maincpu->z80_set_cycle_tables(cc_op, cc_cb, cc_ed, cc_xy, cc_xycb, cc_ex); m_mute_xor = 0x00; + m_dakkochn_mux_data = 0x00; save_item(NAME(m_dakkochn_mux_data)); save_item(NAME(m_videomode_prev)); @@ -407,7 +408,6 @@ MACHINE_START_MEMBER(system1_state,system2) void system1_state::machine_reset() { - m_dakkochn_mux_data = 0; } diff --git a/src/mame/drivers/taitowlf.cpp b/src/mame/drivers/taitowlf.cpp index 5ce7ccf8f40..0ffa09aa2db 100644 --- a/src/mame/drivers/taitowlf.cpp +++ b/src/mame/drivers/taitowlf.cpp @@ -62,6 +62,9 @@ TODO: #include "emupal.h" #include "screen.h" + +namespace { + class taitowlf_state : public pcat_base_state { public: @@ -328,6 +331,8 @@ void taitowlf_state::taitowlf_io(address_map &map) void taitowlf_state::machine_start() { + for (int i = 0; i < 4; i++) + std::fill(std::begin(m_piix4_config_reg[i]), std::end(m_piix4_config_reg[i]), 0); } void taitowlf_state::machine_reset() @@ -428,6 +433,9 @@ ROM_START(pf2012) ROM_LOAD("e58-04.u71", 0x000000, 0x20000, CRC(500e6113) SHA1(93226706517c02e336f96bdf9443785158e7becf) ) ROM_END +} // Anonymous namespace + + /*****************************************************************************/ GAME(1997, pf2012, 0, taitowlf, 0, taitowlf_state, init_taitowlf, ROT0, "Taito", "Psychic Force 2012", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) diff --git a/src/mame/drivers/viper.cpp b/src/mame/drivers/viper.cpp index 5b114d6f603..0c244f28d21 100644 --- a/src/mame/drivers/viper.cpp +++ b/src/mame/drivers/viper.cpp @@ -360,6 +360,8 @@ some other components. It will be documented at a later date. #include "speaker.h" +namespace { + #define VIPER_DEBUG_LOG #define VIPER_DEBUG_EPIC_INTS 0 #define VIPER_DEBUG_EPIC_TIMERS 0 @@ -393,6 +395,10 @@ public: DECLARE_READ_LINE_MEMBER(ds2430_unk_r); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: uint32_t epic_r(offs_t offset); void epic_w(offs_t offset, uint32_t data); @@ -435,9 +441,6 @@ private: void viper_map(address_map &map); - virtual void machine_start() override; - virtual void machine_reset() override; - TIMER_CALLBACK_MEMBER(epic_global_timer_callback); TIMER_CALLBACK_MEMBER(ds2430_timer_callback); @@ -2374,20 +2377,20 @@ void viper_state::machine_start() save_item(NAME(m_epic.i2c_cr)); save_item(NAME(m_epic.i2c_sr)); save_item(NAME(m_epic.i2c_state)); - for (int i = 0; i < MPC8240_NUM_INTERRUPTS; i ++) - { - save_item(NAME(m_epic.irq[i].vector), i); - save_item(NAME(m_epic.irq[i].priority), i); - save_item(NAME(m_epic.irq[i].destination), i); // written but never read - save_item(NAME(m_epic.irq[i].active), i); - save_item(NAME(m_epic.irq[i].pending), i); - save_item(NAME(m_epic.irq[i].mask), i); - } - for (int i = 0; i < 4; i ++) - { - save_item(NAME(m_epic.global_timer[i].base_count), i); - save_item(NAME(m_epic.global_timer[i].enable), i); - } + + save_item(STRUCT_MEMBER(m_epic.irq, vector)); + save_item(STRUCT_MEMBER(m_epic.irq, priority)); + save_item(STRUCT_MEMBER(m_epic.irq, destination)); // written but never read + save_item(STRUCT_MEMBER(m_epic.irq, active)); + save_item(STRUCT_MEMBER(m_epic.irq, pending)); + save_item(STRUCT_MEMBER(m_epic.irq, mask)); + + save_item(STRUCT_MEMBER(m_epic.global_timer, base_count)); + save_item(STRUCT_MEMBER(m_epic.global_timer, enable)); + + m_ds2430_data_count = 0; + m_ds2430_state = 0; + m_ds2430_reset = 0; } void viper_state::machine_reset() @@ -3053,6 +3056,10 @@ ROM_START(mfightcc) //* DISK_IMAGE( "c09c04", 0, SHA1(bf5f7447d74399d34edd4eb6dfcca7f6fc2154f2) ) ROM_END + +} // Anonymous namespace + + /*****************************************************************************/ /* Viper BIOS */