abc80, goldart, hankin, jp, namcona1, namcos2, namcos86: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds

This commit is contained in:
Ivan Vangelista 2021-02-16 13:34:38 +01:00
parent 7eacacfd80
commit 2b7488ed2b
8 changed files with 52 additions and 9 deletions

View File

@ -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)

View File

@ -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 )

View File

@ -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 )

View File

@ -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)

View File

@ -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));

View File

@ -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()

View File

@ -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<cpu_device> m_cpu1;
required_device<cpu_device> m_cpu2;
required_device<hd63701v0_cpu_device> m_mcu;

View File

@ -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;
}