diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp index f0108ead834..6f1716edb11 100644 --- a/src/mame/drivers/ksys573.cpp +++ b/src/mame/drivers/ksys573.cpp @@ -593,11 +593,11 @@ private: uint32_t m_stage_mask; struct { - int DO; - int clk; - int shift; - int state; - int bit; + int DO = 0; + int clk = 0; + int shift = 0; + int state = 0; + int bit = 0; } m_stage_state[ 2 ]; int m_serial_lamp_bits; diff --git a/src/mame/drivers/kyocera.cpp b/src/mame/drivers/kyocera.cpp index f6aa8db8213..c6d35055670 100644 --- a/src/mame/drivers/kyocera.cpp +++ b/src/mame/drivers/kyocera.cpp @@ -1280,8 +1280,10 @@ void trsm100_state::machine_start() void tandy200_state::machine_start() { - std::string region_tag; - m_opt_region = memregion(region_tag.assign(m_opt_cart->tag()).append(GENERIC_ROM_REGION_TAG).c_str()); + m_opt_region = memregion(std::string(m_opt_cart->tag()) + GENERIC_ROM_REGION_TAG); + + m_bank = 0; + m_tp = 0; /* configure ROM banking */ membank("bank1")->configure_entry(0, m_rom->base()); diff --git a/src/mame/drivers/mlanding.cpp b/src/mame/drivers/mlanding.cpp index 1a7734e07c9..4532a91ad68 100644 --- a/src/mame/drivers/mlanding.cpp +++ b/src/mame/drivers/mlanding.cpp @@ -64,6 +64,7 @@ #include "speaker.h" +namespace { /************************************* * @@ -225,6 +226,8 @@ void mlanding_state::machine_reset() m_dsp_hold_signal = 0; + m_msm_pos[0] = 0; + m_msm_pos[1] = 0; m_msm_reset[0] = 0; m_msm_reset[1] = 0; m_msm[0]->reset_w(1); @@ -1070,6 +1073,9 @@ ROM_START( mlandingj ) ROM_LOAD( "b09_36.ic111", 0x00000, 0x02000, CRC(51fd3a77) SHA1(1fcbadf1877e25848a1d1017322751560a4823c0) ) ROM_END +} // Anonymous namespace + + /************************************* * * Game driver(s) diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp index 78135dc29bb..cca973ac016 100644 --- a/src/mame/drivers/snk.cpp +++ b/src/mame/drivers/snk.cpp @@ -225,7 +225,7 @@ A6004UP02-01 | 2018 2018 SKT64 |-| |-------------------------------------------------------| Notes: - CN5/6 - Auxilliary power input connectors + CN5/6 - Auxiliary power input connectors GV* - OTP EPROMs 6116 - 2k x8-bit SRAM 2018 - Toshiba TMM2018 2k x8-bit SRAM @@ -256,7 +256,7 @@ A6004UP01-01 | 16MHz |-| |-------------------------------------------------------| Notes: - CN4 - Auxilliary power input connectors + CN4 - Auxiliary power input connectors ^ - These parts not populated GV* - OTP EPROMs A6003-1 - PAL @@ -305,7 +305,7 @@ Notes: DIP1/2 - 8-position DIP switches 4559 - NEC uPC4559 Dual Operational Amplifier YM3014 - Yamaha YM3014 DAC - CN5/7 - Auxilliary power input connectors + CN5/7 - Auxiliary power input connectors CN9-12 - 4-position connectors (extra control?) X - Space for a DIP28 ROM, but not populated with anything @@ -340,7 +340,7 @@ Notes: 6116 - 2k x8-bit SRAM 2018 - Toshiba TMM2018 2k x8-bit SRAM SNK8* - SNK SDIP64 custom chips - CN5/7 - Auxilliary power input connectors + CN5/7 - Auxiliary power input connectors JP* - 2x 2-pin jumper to set ROM sizes 1M/512K for ROMs 2J-2T. Jumper is set to 512K @@ -584,6 +584,11 @@ TODO: #include "speaker.h" +void snk_state::machine_start() +{ + m_countryc_trackball = 0; +} + /*********************************************************************/ // Interrupt handlers common to all SNK triple Z80 games diff --git a/src/mame/drivers/spg2xx_zone_32bit.cpp b/src/mame/drivers/spg2xx_zone_32bit.cpp index a7590ca444a..7bf7ba3ca7a 100644 --- a/src/mame/drivers/spg2xx_zone_32bit.cpp +++ b/src/mame/drivers/spg2xx_zone_32bit.cpp @@ -479,6 +479,8 @@ void zon32bit_state::machine_start() { spg2xx_game_state::machine_start(); + m_basebank = 0; + save_item(NAME(m_porta_dat)); save_item(NAME(m_portb_dat)); save_item(NAME(m_portc_dat)); diff --git a/src/mame/drivers/tek405x.cpp b/src/mame/drivers/tek405x.cpp index 7add9277bb0..7a4abef33b1 100644 --- a/src/mame/drivers/tek405x.cpp +++ b/src/mame/drivers/tek405x.cpp @@ -928,6 +928,20 @@ void tek4051_state::machine_start() break; } + m_x_pia_irqa = 0; + m_x_pia_irqb = 0; + m_y_pia_irqa = 0; + m_y_pia_irqb = 0; + m_tape_pia_irqa = 0; + m_tape_pia_irqb = 0; + m_kb_pia_irqa = 0; + m_kb_pia_irqb = 0; + m_gpib_pia_irqa = 0; + m_gpib_pia_irqb = 0; + m_com_pia_irqa = 0; + m_com_pia_irqb = 0; + m_acia_irq = 0; + // register for state saving } diff --git a/src/mame/includes/kyocera.h b/src/mame/includes/kyocera.h index 6e05063177d..95751af6735 100644 --- a/src/mame/includes/kyocera.h +++ b/src/mame/includes/kyocera.h @@ -198,6 +198,9 @@ public: void tandy200(machine_config &config); +protected: + virtual void machine_start() override; + private: required_device m_maincpu; required_device m_rtc; @@ -212,7 +215,6 @@ private: required_memory_region m_rom; required_ioport_array<9> m_y; - virtual void machine_start() override; memory_region *m_opt_region; uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); diff --git a/src/mame/includes/snk.h b/src/mame/includes/snk.h index 21f76cd582c..6f12cd7958e 100644 --- a/src/mame/includes/snk.h +++ b/src/mame/includes/snk.h @@ -70,6 +70,9 @@ public: DECLARE_CUSTOM_INPUT_MEMBER(countryc_trackball_y); template DECLARE_CUSTOM_INPUT_MEMBER(snk_bonus_r); +protected: + virtual void machine_start() override; + private: required_device m_maincpu; required_device m_audiocpu; diff --git a/src/mame/includes/v1050.h b/src/mame/includes/v1050.h index c21e80ae691..62169002c05 100644 --- a/src/mame/includes/v1050.h +++ b/src/mame/includes/v1050.h @@ -94,6 +94,8 @@ public: m_attr_ram(*this, "attr_ram"), m_int_mask(0), m_int_state(0), + m_fdc_irq(0), + m_fdc_drq(0), m_rtc_ppi_pa(0), m_rtc_ppi_pc(0) { diff --git a/src/mame/includes/zx.h b/src/mame/includes/zx.h index fc1822e2e9b..408b2744bf9 100644 --- a/src/mame/includes/zx.h +++ b/src/mame/includes/zx.h @@ -57,6 +57,10 @@ public: void init_zx(); +protected: + virtual void machine_reset() override; + virtual void video_start() override; + private: uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -70,8 +74,6 @@ private: void zx80_io_w(offs_t offset, uint8_t data); void zx81_io_w(offs_t offset, uint8_t data); - virtual void machine_reset() override; - virtual void video_start() override; void zx_tape_input(); void zx_ula_hsync(); diff --git a/src/mame/machine/bbc.cpp b/src/mame/machine/bbc.cpp index bd284f53c6a..4281e2b0f1c 100644 --- a/src/mame/machine/bbc.cpp +++ b/src/mame/machine/bbc.cpp @@ -1618,6 +1618,12 @@ void bbc_state::machine_start() setup_device_roms(); m_motor_led.resolve(); + + m_romsel = 0; + m_adlc_irq = 0; + m_bus_nmi = 0; + m_fdc_irq = 0; + m_fdc_drq = 0; } void bbc_state::machine_reset() @@ -1636,9 +1642,7 @@ void bbc_state::machine_reset() void bbcbp_state::machine_start() { - setup_device_roms(); - - m_motor_led.resolve(); + bbc_state::machine_start(); } void bbcbp_state::machine_reset() @@ -1652,9 +1656,8 @@ void bbcbp_state::machine_reset() void bbcm_state::machine_start() { - setup_device_roms(); + bbc_state::machine_start(); - m_motor_led.resolve(); m_power_led.resolve(); m_power_led = 0; diff --git a/src/mame/machine/zx.cpp b/src/mame/machine/zx.cpp index df7318a34c2..3f95ecbf971 100644 --- a/src/mame/machine/zx.cpp +++ b/src/mame/machine/zx.cpp @@ -29,6 +29,7 @@ void zx_state::machine_reset() m_prev_refresh = 0xff; m_vsync_active = false; + m_hsync_active = false; m_base_vsync_clock = 0; m_ypos = 0; diff --git a/src/mame/video/aerofgt.cpp b/src/mame/video/aerofgt.cpp index 217de0c076a..1a828d8060d 100644 --- a/src/mame/video/aerofgt.cpp +++ b/src/mame/video/aerofgt.cpp @@ -77,6 +77,8 @@ VIDEO_START_MEMBER(aerofgt_state,pspikes) /* no bg2 in this game */ m_sprite_gfx = 1; + m_spikes91_lookup = 0; + m_charpalettebank = 0; aerofgt_register_state_globals(); save_item(NAME(m_spikes91_lookup)); diff --git a/src/mame/video/pc9801.cpp b/src/mame/video/pc9801.cpp index b069e2af0c4..3936ab8f1ca 100644 --- a/src/mame/video/pc9801.cpp +++ b/src/mame/video/pc9801.cpp @@ -20,6 +20,8 @@ void pc9801_state::video_start() // find memory regions m_char_rom = memregion("chargen")->base(); m_kanji_rom = memregion("kanji")->base(); + + std::fill(std::begin(m_ex_video_ff), std::end(m_ex_video_ff), 0); } uint32_t pc9801_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)