From 2b7488ed2b03863d22b15a92bce4da39cabc71ff Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Tue, 16 Feb 2021 13:34:38 +0100 Subject: abc80, goldart, hankin, jp, namcona1, namcos2, namcos86: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds --- src/mame/drivers/abc80.cpp | 5 +++++ src/mame/drivers/goldart.cpp | 9 +++++++++ src/mame/drivers/hankin.cpp | 16 +++++++++++++--- src/mame/drivers/jp.cpp | 18 +++++++++++++++--- src/mame/drivers/namcona1.cpp | 1 + src/mame/drivers/namcos2.cpp | 3 +++ src/mame/includes/namcos86.h | 7 ++++--- src/mame/video/namcos86.cpp | 2 ++ 8 files changed, 52 insertions(+), 9 deletions(-) diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp index 7272538c429..42e2c09386b 100644 --- a/src/mame/drivers/abc80.cpp +++ b/src/mame/drivers/abc80.cpp @@ -453,6 +453,11 @@ void abc80_state::machine_start() save_item(NAME(m_motor)); save_item(NAME(m_tape_in)); save_item(NAME(m_tape_in_latch)); + + //zero-fill + m_key_data = 0; + m_key_strobe = 0; + m_blink = 0; } QUICKLOAD_LOAD_MEMBER(abc80_state::quickload_cb) diff --git a/src/mame/drivers/goldart.cpp b/src/mame/drivers/goldart.cpp index d2b95d88a63..07c69d227f7 100644 --- a/src/mame/drivers/goldart.cpp +++ b/src/mame/drivers/goldart.cpp @@ -48,6 +48,8 @@ #include "speaker.h" +namespace { + class goldart_state : public driver_device { public: @@ -304,8 +306,13 @@ INPUT_PORTS_END void goldart_state::machine_start() { + save_item(NAME(m_port1)); save_item(NAME(m_ram)); save_item(NAME(m_ram2)); + + m_port1 = 0; + std::fill(std::begin(m_ram), std::end(m_ram), 0); + std::fill(std::begin(m_ram2), std::end(m_ram2), 0); } void goldart_state::machine_reset() @@ -385,6 +392,8 @@ ROM_START( goldartp ) ROM_LOAD( "p-262.u6", 0x00000, 0x80000, CRC(4177e78b) SHA1(1099568b97a08c33a7da1bf46fc106f25af15e90) ) ROM_END +} // Anonymous namespace + GAME( 1994, goldart, 0, goldart, goldart, goldart_state, empty_init, ROT0, "Covielsa / Gaelco", "Goldart (Spain)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 1994, goldartp, goldart, goldart, goldart, goldart_state, empty_init, ROT0, "Covielsa / Gaelco", "Goldart (Portugal)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp index 3bacccf4218..c54ef390a02 100644 --- a/src/mame/drivers/hankin.cpp +++ b/src/mame/drivers/hankin.cpp @@ -26,6 +26,9 @@ ToDo: #include "hankin.lh" + +namespace { + class hankin_state : public genpin_class { public: @@ -46,6 +49,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(self_test); void hankin(machine_config &config); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: DECLARE_WRITE_LINE_MEMBER(ic10_ca2_w); DECLARE_WRITE_LINE_MEMBER(ic10_cb2_w); @@ -63,9 +70,6 @@ private: TIMER_DEVICE_CALLBACK_MEMBER(timer_s); TIMER_DEVICE_CALLBACK_MEMBER(timer_x); - virtual void machine_start() override; - virtual void machine_reset() override; - void hankin_map(address_map &map); void hankin_sub_map(address_map &map); @@ -419,6 +423,10 @@ TIMER_DEVICE_CALLBACK_MEMBER( hankin_state::timer_s ) void hankin_state::machine_start() { m_display.resolve(); + + m_timer_x = false; + m_timer_sb = false; + m_ic10b = 0; } void hankin_state::machine_reset() @@ -599,6 +607,8 @@ ROM_START(empsback) ROM_LOAD("sw_ic3.snd", 0x0000, 0x0200, CRC(db214f65) SHA1(1a499cf2059a5c0d860d5a4251a89a5735937ef8)) ROM_END +} // Anonymous namespace + GAME(1978, fjholden, 0, hankin, hankin, hankin_state, empty_init, ROT0, "Hankin", "FJ Holden", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) GAME(1978, orbit1, 0, hankin, hankin, hankin_state, empty_init, ROT0, "Hankin", "Orbit 1", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/jp.cpp b/src/mame/drivers/jp.cpp index 9e8e8204060..3d854050de5 100644 --- a/src/mame/drivers/jp.cpp +++ b/src/mame/drivers/jp.cpp @@ -29,6 +29,8 @@ ToDo: #include "jp.lh" +namespace { + class jp_state : public genpin_class { public: @@ -47,6 +49,10 @@ public: void jp(machine_config &config); void jps(machine_config &config); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: uint8_t porta_r(); uint8_t portb_r(); @@ -61,9 +67,6 @@ private: DECLARE_WRITE_LINE_MEMBER(vck_w); IRQ_CALLBACK_MEMBER(sound_int_cb); - virtual void machine_start() override; - virtual void machine_reset() override; - void jp_map(address_map &map); void jp_sound_map(address_map &map); @@ -319,6 +322,12 @@ void jp_state::machine_start() if (m_adpcm_bank.found()) m_adpcm_bank->configure_entries(0, 16, memregion("sound1")->base(), 0x8000); + + m_disp_data = 0; + m_adpcm_ff = false; + + save_item(NAME(m_disp_data)); + save_item(NAME(m_adpcm_ff)); } void jp_state::machine_reset() @@ -618,6 +627,9 @@ ROM_START(petaco2) ROM_LOAD("jpsonid7.dat", 0x30000, 0x8000, CRC(ff430b1b) SHA1(423592a40eba174108dfc6817e549c643bb3c80f)) ROM_END +} // Anonymous namespace + + // different hardware GAME(1984, petaco, 0, jp, jp, jp_state, empty_init, ROT0, "Juegos Populares", "Petaco", MACHINE_IS_SKELETON_MECHANICAL) diff --git a/src/mame/drivers/namcona1.cpp b/src/mame/drivers/namcona1.cpp index a6583d4e7a0..cc270b6a861 100644 --- a/src/mame/drivers/namcona1.cpp +++ b/src/mame/drivers/namcona1.cpp @@ -727,6 +727,7 @@ void namcona1_state::port8_w(u8 data) void namcona1_state::machine_start() { m_mEnableInterrupts = 0; + std::fill(std::begin(m_mcu_mailbox), std::end(m_mcu_mailbox), 0); save_item(NAME(m_mEnableInterrupts)); save_item(NAME(m_count)); save_item(NAME(m_mcu_mailbox)); diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp index 49624a2a93d..d528c9baf9b 100644 --- a/src/mame/drivers/namcos2.cpp +++ b/src/mame/drivers/namcos2.cpp @@ -5497,6 +5497,7 @@ void namcos2_state::init_finallap() m_gametype = NAMCOS2_FINAL_LAP; save_item(NAME(m_finallap_prot_count)); + m_finallap_prot_count = 0; } void namcos2_state::init_finalap2() @@ -5504,6 +5505,7 @@ void namcos2_state::init_finalap2() m_gametype = NAMCOS2_FINAL_LAP_2; save_item(NAME(m_finallap_prot_count)); + m_finallap_prot_count = 0; } void namcos2_state::init_finalap3() @@ -5511,6 +5513,7 @@ void namcos2_state::init_finalap3() m_gametype = NAMCOS2_FINAL_LAP_3; save_item(NAME(m_finallap_prot_count)); + m_finallap_prot_count = 0; } void namcos2_state::init_finehour() diff --git a/src/mame/includes/namcos86.h b/src/mame/includes/namcos86.h index 60baa16e22a..2df55e1d076 100644 --- a/src/mame/includes/namcos86.h +++ b/src/mame/includes/namcos86.h @@ -40,6 +40,10 @@ public: void init_namco86(); +protected: + virtual void machine_start() override; + virtual void video_start() override; + private: void bankswitch1_w(uint8_t data); void bankswitch1_ext_w(uint8_t data); @@ -88,9 +92,6 @@ private: void wndrmomo_cpu2_map(address_map &map); void wndrmomo_mcu_map(address_map &map); - virtual void machine_start() override; - virtual void video_start() override; - required_device m_cpu1; required_device m_cpu2; required_device m_mcu; diff --git a/src/mame/video/namcos86.cpp b/src/mame/video/namcos86.cpp index 0ccb4dbbc75..ecc8bf6c5c5 100644 --- a/src/mame/video/namcos86.cpp +++ b/src/mame/video/namcos86.cpp @@ -154,6 +154,8 @@ void namcos86_state::video_start() save_item(NAME(m_yscroll)); save_item(NAME(m_backcolor)); save_item(NAME(m_copy_sprites)); + + m_backcolor = 0; } -- cgit v1.2.3