diff --git a/src/mame/drivers/drw80pkr.cpp b/src/mame/drivers/drw80pkr.cpp index 61be68048fb..a6d56344872 100644 --- a/src/mame/drivers/drw80pkr.cpp +++ b/src/mame/drivers/drw80pkr.cpp @@ -39,6 +39,8 @@ #include "tilemap.h" +namespace { + class drw80pkr_state : public driver_device { public: @@ -105,6 +107,8 @@ private: void drw80pkr_state::machine_start() { subdevice("nvram")->set_base(m_pkr_io_ram, sizeof(m_pkr_io_ram)); + + m_active_bank = 0; } /***************** @@ -502,6 +506,8 @@ ROM_START( drw80pk2 ) ROM_LOAD( "cap13.u92", 0x0000, 0x0100, CRC(be67a8d9) SHA1(24b8cd19a5ec09779a737f6fc8c07b44f1226c8f) ) ROM_END +} // Anonymous namespace + /************************* * Game Drivers * *************************/ diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp index 34db0decb19..18c619c9a3e 100644 --- a/src/mame/drivers/fm7.cpp +++ b/src/mame/drivers/fm7.cpp @@ -1875,6 +1875,7 @@ void fm7_state::init_fm7() m_subtimer = timer_alloc(TIMER_FM7_SUBTIMER_IRQ); m_keyboard_timer = timer_alloc(TIMER_FM7_KEYBOARD_POLL); m_fm77av_vsync_timer = timer_alloc(TIMER_FM77AV_VSYNC); + m_init_rom_en = 0; } MACHINE_START_MEMBER(fm7_state,fm7) diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp index f6268c6800e..7e4dddecbef 100644 --- a/src/mame/drivers/igs011.cpp +++ b/src/mame/drivers/igs011.cpp @@ -77,6 +77,8 @@ Notes: #include "speaker.h" +namespace { + class igs011_state : public driver_device { public: @@ -618,6 +620,8 @@ void igs011_state::igs011_blit_flags_w(offs_t offset, u16 data, u16 mem_mask) void igs011_state::machine_start() { + m_prot1_addr = 0; + save_item(NAME(m_igs_dips_sel)); save_item(NAME(m_igs_input_sel)); save_item(NAME(m_igs_hopper)); @@ -4905,6 +4909,8 @@ ROM_START( xymg ) ROM_CONTINUE( 0x00000, 0x80000 ) // 1ST+2ND IDENTICAL ROM_END +} // Anonymous namespace + /*************************************************************************** diff --git a/src/mame/drivers/mc1000.cpp b/src/mame/drivers/mc1000.cpp index 9458050553c..1e8f05d6f22 100644 --- a/src/mame/drivers/mc1000.cpp +++ b/src/mame/drivers/mc1000.cpp @@ -39,6 +39,8 @@ #include "speaker.h" +namespace { + #define SCREEN_TAG "screen" #define Z80_TAG "u13" #define AY8910_TAG "u21" @@ -109,8 +111,8 @@ private: /* memory state */ int m_rom0000; - int m_mc6845_bank; - int m_mc6847_bank; + uint8_t m_mc6845_bank; + uint8_t m_mc6847_bank; /* keyboard state */ int m_keylatch; @@ -458,6 +460,8 @@ void mc1000_state::machine_start() membank("bank1")->set_entry(1); m_rom0000 = 1; + m_mc6845_bank = 0; + m_mc6847_bank = 0; membank("bank2")->configure_entry(0, m_banked_ram.get() + 0x2000); membank("bank2")->configure_entry(1, m_mc6845_video_ram); @@ -603,6 +607,8 @@ ROM_START( mc1000 ) ROM_LOAD( "mc1000.ic12", 0x2000, 0x2000, CRC(750c95f0) SHA1(fd766f5ea4481ef7fd4df92cf7d8397cc2b5a6c4) ) ROM_END +} // Anonymous namespace + /* System Drivers */ diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp index e7034e36d79..3f2249e7aa8 100644 --- a/src/mame/drivers/nmk16.cpp +++ b/src/mame/drivers/nmk16.cpp @@ -5273,6 +5273,7 @@ void nmk16_state::init_tharrier() m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x20000, 0x20000); m_okibank[1]->configure_entries(0, 4, memregion("oki2")->base() + 0x20000, 0x20000); save_item(NAME(m_prot_count)); + m_prot_count = 0; } void nmk16_state::init_hachamf_prot() diff --git a/src/mame/drivers/ti99_8.cpp b/src/mame/drivers/ti99_8.cpp index 1e0ed7c1c9c..00a461d5614 100644 --- a/src/mame/drivers/ti99_8.cpp +++ b/src/mame/drivers/ti99_8.cpp @@ -673,6 +673,8 @@ void ti99_8_state::driver_reset() // m_gromport->set_grom_base(0x9800, 0xfff1); + m_keyboard_column = 0; + // Clear INT1 and INT2 latch m_int1 = CLEAR_LINE; m_int2 = CLEAR_LINE; diff --git a/src/mame/drivers/xor100.cpp b/src/mame/drivers/xor100.cpp index ce02a984266..9ed7896224f 100644 --- a/src/mame/drivers/xor100.cpp +++ b/src/mame/drivers/xor100.cpp @@ -443,6 +443,7 @@ void xor100_state::machine_start() int banks = m_ram->size() / 0x10000; uint8_t *ram = m_ram->pointer(); uint8_t *rom = m_rom->base(); + m_bank = 0; /* setup memory banking */ membank("bank1")->configure_entries(1, banks, ram, 0x10000); diff --git a/src/mame/includes/astrocde.h b/src/mame/includes/astrocde.h index 975e5258c8b..2535970886e 100644 --- a/src/mame/includes/astrocde.h +++ b/src/mame/includes/astrocde.h @@ -142,7 +142,6 @@ public: void init_ebases(); void init_gorf(); void init_astrocde(); - virtual void video_start() override; void astrocade_palette(palette_device &palette) const; DECLARE_VIDEO_START(profpac); void profpac_palette(palette_device &palette) const; @@ -156,7 +155,6 @@ public: inline void increment_dest(uint8_t curwidth); void execute_blit(); void init_sparklestar(); - virtual void machine_start() override; void votrax_speech_w(uint8_t data); DECLARE_READ_LINE_MEMBER( votrax_speech_status_r ); @@ -183,7 +181,10 @@ public: void seawolf2_map(address_map &map); void spacezap_map(address_map &map); void wow_map(address_map &map); + protected: + virtual void machine_start() override; + virtual void video_start() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; }; diff --git a/src/mame/includes/hp9845.h b/src/mame/includes/hp9845.h index 30ffc7f2a46..b163a4f0dd9 100644 --- a/src/mame/includes/hp9845.h +++ b/src/mame/includes/hp9845.h @@ -89,7 +89,7 @@ protected: typedef struct { uint8_t chars[ 80 ]; uint8_t attrs[ 80 ]; - bool full; + bool full = 0; } video_buffer_t; bitmap_rgb32 m_bitmap; diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h index 3b00d63eb9d..6a28f4941ea 100644 --- a/src/mame/includes/nmk16.h +++ b/src/mame/includes/nmk16.h @@ -125,7 +125,7 @@ protected: std::unique_ptr m_spriteram_old2; int m_bgbank; int m_bioship_background_bank; - tilemap_t *m_bg_tilemap[2]; + tilemap_t *m_bg_tilemap[2] = {nullptr,nullptr}; tilemap_t *m_tx_tilemap; int m_mustang_bg_xscroll; u8 m_scroll[2][4]; diff --git a/src/mame/machine/williams.cpp b/src/mame/machine/williams.cpp index bd2815f4faa..de7b50cbdac 100644 --- a/src/mame/machine/williams.cpp +++ b/src/mame/machine/williams.cpp @@ -378,6 +378,9 @@ void blaster_state::machine_start() /* register for save states */ save_item(NAME(m_vram_bank)); save_item(NAME(m_rom_bank)); + + m_vram_bank = 0; + m_rom_bank = 0; } diff --git a/src/mame/video/astrocde.cpp b/src/mame/video/astrocde.cpp index d89d431a2e6..bce5c0db374 100644 --- a/src/mame/video/astrocde.cpp +++ b/src/mame/video/astrocde.cpp @@ -26,6 +26,8 @@ void astrocde_state::machine_start() { save_item(NAME(m_ram_write_enable)); save_item(NAME(m_input_select)); + + m_input_select = 0; } void seawolf2_state::machine_start() @@ -211,6 +213,8 @@ VIDEO_START_MEMBER(astrocde_state,profpac) save_item(NAME(m_profpac_writemode)); save_item(NAME(m_profpac_writemask)); save_item(NAME(m_profpac_vw)); + + std::fill(std::begin(m_profpac_palette), std::end(m_profpac_palette), 0); } diff --git a/src/mame/video/fm7.cpp b/src/mame/video/fm7.cpp index e942d086b8b..9fff36ff0d6 100644 --- a/src/mame/video/fm7.cpp +++ b/src/mame/video/fm7.cpp @@ -1403,6 +1403,8 @@ void fm7_state::fm7_console_ram_banked_w(offs_t offset, uint8_t data) void fm7_state::video_start() { + m_video.sub_busy = 0; + m_video.sub_halt = 0; m_video.vram_access = 0; m_video.crt_enable = 0; m_video.vram_offset = 0x0000; @@ -1411,11 +1413,14 @@ void fm7_state::video_start() m_video.multi_page = 0; m_video.subrom = 0; m_video.cgrom = 0; + m_video.modestatus = 0; m_video.fine_offset = 0; m_video.nmi_mask = 0; m_video.active_video_page = 0; m_video.display_video_page = 0; m_video.vsync_flag = 0; + + m_alu.command = 0; } uint32_t fm7_state::screen_update_fm7(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) diff --git a/src/mame/video/nmk16.cpp b/src/mame/video/nmk16.cpp index c222f821117..2a1e402d5e3 100644 --- a/src/mame/video/nmk16.cpp +++ b/src/mame/video/nmk16.cpp @@ -109,6 +109,7 @@ VIDEO_START_MEMBER(nmk16_state, bioship) VIDEO_START_MEMBER(nmk16_state,macross) { m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<0, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32); + m_bg_tilemap[1] = nullptr; m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 32, 32); m_tx_tilemap->set_transparent_pen(15); @@ -128,6 +129,7 @@ VIDEO_START_MEMBER(nmk16_state,strahl) VIDEO_START_MEMBER(nmk16_state,macross2) { m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<0, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32); + m_bg_tilemap[1] = nullptr; m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32); m_tx_tilemap->set_transparent_pen(15); @@ -147,6 +149,7 @@ VIDEO_START_MEMBER(nmk16_state,gunnail) VIDEO_START_MEMBER(nmk16_state, bjtwin) { m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::bjtwin_get_bg_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32); + m_bg_tilemap[1] = nullptr; video_init(); // 384x224 screen, leftmost 64 pixels have to be retrieved from the other side of the tilemap (!) @@ -405,6 +408,7 @@ VIDEO_START_MEMBER(afega_state,grdnstrm) { // 8bpp Tilemap m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(afega_state::get_bg_tile_info_8bit)), tilemap_mapper_delegate(*this, FUNC(afega_state::tilemap_scan_pages)), 16, 16, 256, 32); + m_bg_tilemap[1] = nullptr; m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(afega_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 32, 32); m_tx_tilemap->set_transparent_pen(15);