From 4a8779bcc573d10ecc5eb30e5c0a96026a14aabc Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 6 Feb 2021 10:32:26 +0100 Subject: 8080bw, atari_s1, hanaawas, lastfght, mw8080bw: initialized some variables which were causing incorrect behaviours in drvnoclear builds --- src/mame/drivers/8080bw.cpp | 2 ++ src/mame/drivers/atari_s1.cpp | 12 ++++++++++-- src/mame/drivers/hanaawas.cpp | 1 + src/mame/drivers/lastfght.cpp | 20 +++++++++++++------- src/mame/drivers/mw8080bw.cpp | 2 ++ src/mame/includes/8080bw.h | 1 + 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp index b18cf66a00a..54153690e6b 100644 --- a/src/mame/drivers/8080bw.cpp +++ b/src/mame/drivers/8080bw.cpp @@ -1976,6 +1976,8 @@ MACHINE_START_MEMBER(_8080bw_state,polaris) save_pointer(&m_scattered_colorram[0], "m_scattered_colorram", 0x800); save_item(NAME(m_polaris_cloud_speed)); save_item(NAME(m_polaris_cloud_pos)); + + m_polaris_cloud_pos = m_polaris_cloud_speed = 0; } uint8_t _8080bw_state::polaris_port00_r() diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp index 7313814fcf3..a639d87b618 100644 --- a/src/mame/drivers/atari_s1.cpp +++ b/src/mame/drivers/atari_s1.cpp @@ -55,6 +55,8 @@ ToDo: #include "atari_s1.lh" +namespace { + #define MASTER_CLK XTAL(4'000'000) / 4 #define DMA_CLK MASTER_CLK / 2 #define AUDIO_CLK DMA_CLK / 4 @@ -78,6 +80,10 @@ public: void atari_s1(machine_config &config); void atarians(machine_config &config); +protected: + virtual void machine_reset() override; + virtual void machine_start() override { m_digits.resolve(); } + private: uint8_t m1080_r(); void m1080_w(uint8_t data); @@ -109,8 +115,6 @@ private: uint8_t m_out_offs; uint8_t m_t_c; uint8_t *m_p_prom; - virtual void machine_reset() override; - virtual void machine_start() override { m_digits.resolve(); } required_device m_maincpu; required_shared_ptr m_p_ram; required_device m_dac; @@ -447,6 +451,8 @@ void atari_s1_state::machine_reset() m_dac->set_output_gain(0, 0); m_t_c = 0; m_audiores = 0; + m_bit6 = 0; + m_out_offs = 0; } void atari_s1_state::atari_s1(machine_config &config) @@ -551,6 +557,8 @@ ROM_START(spcrider) ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) ROM_END +} // Anonymous namespace + GAME( 1976, atarians, 0, atarians, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "The Atarians", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) GAME( 1977, time2000, 0, atari_s1, atari_s1, atari_s1_state, empty_init, ROT0, "Atari", "Time 2000", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) diff --git a/src/mame/drivers/hanaawas.cpp b/src/mame/drivers/hanaawas.cpp index c3adae2dba8..74ab2294409 100644 --- a/src/mame/drivers/hanaawas.cpp +++ b/src/mame/drivers/hanaawas.cpp @@ -213,6 +213,7 @@ void hanaawas_state::machine_start() void hanaawas_state::machine_reset() { m_mux = 0; + m_coin_impulse = 0; } void hanaawas_state::hanaawas(machine_config &config) diff --git a/src/mame/drivers/lastfght.cpp b/src/mame/drivers/lastfght.cpp index fd7749a3502..c2387ff780c 100644 --- a/src/mame/drivers/lastfght.cpp +++ b/src/mame/drivers/lastfght.cpp @@ -42,7 +42,7 @@ Notes: EPM7032 - Altera EPM7032LC44-15T CPLD (PLCC44) CXK58257 - Sony CXK58257 32k x8 SRAM (SOP28) KM428C256 - Samsung Semiconductor KM428C256 256k x8 Dual Port DRAM (SOJ40) - ULKN2003 - Toshiba ULN2003 High Voltage High Current Darlington Transistor Array comprising 7 NPN Darlinton pairs (DIP16) + ULKN2003 - Toshiba ULN2003 High Voltage High Current Darlington Transistor Array comprising 7 NPN Darlington pairs (DIP16) HM86171 - Hualon Microelectronics HMC HM86171 VGA 256 colour RAMDAC (DIP28) 3V_BATT - 3 Volt Coin Battery. This is tied to the CXK58257 SRAM. It appears to be used as an EEPROM, as the game has on-board settings in test mode and there's no DIPs and no EEPROM. @@ -72,6 +72,8 @@ Notes: #include "screen.h" +namespace { + class lastfght_state : public driver_device { public: @@ -86,6 +88,11 @@ public: void init_lastfght(); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + private: /* memory */ void hi_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); @@ -110,10 +117,6 @@ private: void lastfght_map(address_map &map); void ramdac_map(address_map &map); - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; - /* video-related */ bitmap_ind16 m_bitmap[2]; int m_dest; @@ -131,8 +134,8 @@ private: int m_w; int m_h; #ifdef MAME_DEBUG - unsigned m_base; - int m_view_roms; + unsigned m_base = 0; + int m_view_roms = 0; #endif /* misc */ @@ -603,4 +606,7 @@ void lastfght_state::init_lastfght() rom[0x01b86 / 2] = 0x5670; } +} // Anonymous namespace + + GAME( 2000, lastfght, 0, lastfght, lastfght, lastfght_state, init_lastfght, ROT0, "Subsino", "Last Fighting", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/mw8080bw.cpp b/src/mame/drivers/mw8080bw.cpp index d241a13c56f..c1ff1682ae3 100644 --- a/src/mame/drivers/mw8080bw.cpp +++ b/src/mame/drivers/mw8080bw.cpp @@ -2209,6 +2209,8 @@ MACHINE_START_MEMBER(mw8080bw_state,phantom2) /* setup for save states */ save_item(NAME(m_phantom2_cloud_counter)); + + m_phantom2_cloud_counter = 0; } diff --git a/src/mame/includes/8080bw.h b/src/mame/includes/8080bw.h index 2472bc91105..eb83dd8ad5d 100644 --- a/src/mame/includes/8080bw.h +++ b/src/mame/includes/8080bw.h @@ -91,6 +91,7 @@ public: DECLARE_READ_LINE_MEMBER(claybust_gun_on_r); protected: + virtual void video_start() override { m_color_map = m_screen_red = m_flip_screen = 0; } void clear_extra_columns( bitmap_rgb32 &bitmap, int color ); inline void set_8_pixels( bitmap_rgb32 &bitmap, uint8_t y, uint8_t x, uint8_t data, int fore_color, int back_color ); -- cgit v1.2.3