diff --git a/src/mame/drivers/alphatpc16.cpp b/src/mame/drivers/alphatpc16.cpp index eb4b5a962b1..495eeb1fc50 100644 --- a/src/mame/drivers/alphatpc16.cpp +++ b/src/mame/drivers/alphatpc16.cpp @@ -62,6 +62,9 @@ via the PC 16 Terminal, operates independently after programming), connects to t #include "screen.h" #include "speaker.h" + +namespace { + class alphatpc16_state : public driver_device { public: @@ -84,9 +87,10 @@ public: public: void alphatpc16(machine_config &config); -private: +protected: virtual void machine_start() override; +private: void apc16_io(address_map &map); void apc16_map(address_map &map); void apc16_z80_io(address_map &map); @@ -125,6 +129,13 @@ void alphatpc16_state::machine_start() { m_maincpu->space(AS_PROGRAM).install_ram(0, m_ram->size() - 1, m_ram->pointer()); m_wdfdc->set_floppy(m_flop0->get_device()); + + m_bsy = false; + m_req = false; + m_ack = false; + m_cd = false; + m_io = false; + m_sel = false; } void alphatpc16_state::p1_w(u8 data) @@ -538,5 +549,8 @@ ROM_START( alphatpc16 ) ROM_LOAD( "charset.rom", 0x0000, 0x2000, BAD_DUMP CRC(b2f49eb3) SHA1(d0ef530be33bfc296314e7152302d95fdf9520fc) ) // from dcvg5k ROM_END +} // Anonymous namespace + + COMP( 1985, alphatpc16, 0, 0, alphatpc16, alphatpc16, alphatpc16_state, empty_init, "Triumph-Adler", "alphatronic PC-16", MACHINE_NOT_WORKING) diff --git a/src/mame/drivers/amstr_pc.cpp b/src/mame/drivers/amstr_pc.cpp index 5052f8428c8..44027ffb45f 100644 --- a/src/mame/drivers/amstr_pc.cpp +++ b/src/mame/drivers/amstr_pc.cpp @@ -223,6 +223,9 @@ public: void ppc640(machine_config &config); void ppc512(machine_config &config); +protected: + virtual void machine_start() override; + private: required_device m_maincpu; required_device m_ram; @@ -256,7 +259,7 @@ private: uint8_t m_port62; uint8_t m_port65; - int m_dipstate; + uint8_t m_dipstate; static void cfg_com(device_t *device); static void cfg_fdc(device_t *device); @@ -297,6 +300,23 @@ void amstrad_pc_state::ppc512_io(address_map &map) map(0x0070, 0x0071).rw("rtc", FUNC(mc146818_device::read), FUNC(mc146818_device::write)); } +void amstrad_pc_state::machine_start() +{ + m_port60 = 0; + m_port61 = 0; + m_port62 = 0; + m_port65 = 0; + m_dipstate = 0; + + save_item(NAME(m_port60)); + save_item(NAME(m_port61)); + save_item(NAME(m_port62)); + save_item(NAME(m_port65)); + save_item(NAME(m_dipstate)); + save_item(NAME(m_mouse.x)); + save_item(NAME(m_mouse.y)); +} + /* pc20 (v2) fc078 fc102 color/mono selection diff --git a/src/mame/drivers/pdp11.cpp b/src/mame/drivers/pdp11.cpp index ab2fe2fea30..5cc61a2412a 100644 --- a/src/mame/drivers/pdp11.cpp +++ b/src/mame/drivers/pdp11.cpp @@ -96,6 +96,8 @@ #include "machine/rx01.h" +namespace { + class pdp11_state : public driver_device { public: @@ -111,6 +113,10 @@ public: void pdp11qb(machine_config &config); void sms1000(machine_config &config); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: required_device m_maincpu; required_device m_terminal; @@ -120,7 +126,6 @@ private: void kbd_put(u8 data); uint8_t m_teletype_data; uint16_t m_teletype_status; - virtual void machine_reset() override; DECLARE_MACHINE_RESET(pdp11ub2); DECLARE_MACHINE_RESET(pdp11qb); void load9312prom(uint8_t *desc, uint8_t *src, int size); @@ -281,6 +286,14 @@ static INPUT_PORTS_START( pdp11 ) M9312_PORT_CONFSETTING INPUT_PORTS_END +void pdp11_state::machine_start() +{ + m_teletype_data = 0; + m_teletype_status = 0; + + save_item(NAME(m_teletype_data)); + save_item(NAME(m_teletype_status)); +} void pdp11_state::machine_reset() { @@ -507,6 +520,9 @@ ROM_START( sms1000 ) ROM_LOAD( "2127001b", 0x1f000, 0x000100, NO_DUMP ) // has 3 of these ROM_END +} // Anonymous namespace + + /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ diff --git a/src/mame/drivers/peplus.cpp b/src/mame/drivers/peplus.cpp index 5436a7a1d94..255926610ab 100644 --- a/src/mame/drivers/peplus.cpp +++ b/src/mame/drivers/peplus.cpp @@ -219,6 +219,8 @@ A Note about Best Bet Products. #include "pe_slots.lh" +namespace { + class peplus_state : public driver_device { public: @@ -1367,6 +1369,8 @@ void peplus_state::machine_start() save_item(NAME(m_bv_data_bit)); save_item(NAME(m_bv_loop_count)); save_item(NAME(m_id023_data)); + + m_door_open = 0; } /************************* @@ -14477,6 +14481,8 @@ ROM_START( pexmp030 ) /* Superboard : 5-in-1 Wingboard (XMP00030) - PSR Verified ROM_LOAD( "capx2298.u43", 0x0000, 0x0200, CRC(77856036) SHA1(820487c8494965408402ddee6a54511906218e66) ) ROM_END +} // Anonymous namespace + /************************* * Game Drivers * diff --git a/src/mame/drivers/pt68k4.cpp b/src/mame/drivers/pt68k4.cpp index f05e48dd4b4..1b591ae6e4a 100644 --- a/src/mame/drivers/pt68k4.cpp +++ b/src/mame/drivers/pt68k4.cpp @@ -80,6 +80,8 @@ TODO: 68230 device #include "formats/imd_dsk.h" +namespace { + #define M68K_TAG "maincpu" #define DUART1_TAG "duart1" #define DUART2_TAG "duart2" @@ -106,6 +108,10 @@ public: void pt68k2(machine_config &config); void pt68k4(machine_config &config); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: uint8_t hiram_r(offs_t offset); void hiram_w(offs_t offset, uint8_t data); @@ -118,7 +124,7 @@ private: void fdc_select_w(uint8_t data); DECLARE_WRITE_LINE_MEMBER(duart1_irq); - DECLARE_WRITE_LINE_MEMBER(duart2_irq); + [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER(duart2_irq); DECLARE_WRITE_LINE_MEMBER(irq5_w); @@ -130,8 +136,6 @@ private: void pt68k2_mem(address_map &map); void pt68k4_mem(address_map &map); - virtual void machine_start() override; - virtual void machine_reset() override; required_shared_ptr m_p_base; required_device m_maincpu; required_device m_duart1; @@ -331,6 +335,8 @@ void pt68k4_state::machine_start() save_item(NAME(m_lastdrive)); save_item(NAME(m_irq5_duart1)); save_item(NAME(m_irq5_isa)); + + m_irq5_isa = false; } void pt68k4_state::machine_reset() @@ -505,6 +511,9 @@ ROM_START( pt68k4 ) ROM_LOAD_OPTIONAL( "16l8.u11", 0x0700, 0x000109, CRC(397a1363) SHA1(aca2a02e1bf1f7cdb9b0ca24ebecb0b01ae472e8) ) ROM_END +} // Anonymous namespace + + /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1988, pt68k2, 0, 0, pt68k2, pt68k4, pt68k4_state, empty_init, "Peripheral Technology", "PT68K2", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/rm380z.cpp b/src/mame/drivers/rm380z.cpp index eb06ff91f3a..673c6ae5c09 100644 --- a/src/mame/drivers/rm380z.cpp +++ b/src/mame/drivers/rm380z.cpp @@ -88,7 +88,7 @@ RM480Z has the speaker fitted === -Memory map from sevice manual: +Memory map from service manual: PAGE SEL bit in PORT0 set to 0: @@ -180,7 +180,7 @@ void rm380z_state::rm380z_mem(address_map &map) map(0xf600, 0xf9ff).rom().region(RM380Z_MAINCPU_TAG, 0x1000); /* Extra ROM space for COS4.0 */ map(0xfa00, 0xfaff).ram(); map(0xfb00, 0xfbff).rw(FUNC(rm380z_state::port_read), FUNC(rm380z_state::port_write)); - map(0xfc00, 0xffff).rw(FUNC(rm380z_state::hiram_read), FUNC(rm380z_state::hiram_write)); + map(0xfc00, 0xffff).ram().share("hiram"); } void rm380z_state::rm380z_io(address_map &map) diff --git a/src/mame/drivers/sapi1.cpp b/src/mame/drivers/sapi1.cpp index 953325efe54..d8b2783c5d6 100644 --- a/src/mame/drivers/sapi1.cpp +++ b/src/mame/drivers/sapi1.cpp @@ -52,6 +52,9 @@ ZPS stands for "Základní Počítačová Sestava" (basic computer system). #include "machine/timer.h" #include "speaker.h" + +namespace { + class sapi_state : public driver_device { public: @@ -78,6 +81,10 @@ public: void init_sapizps3a(); void init_sapizps3b(); +protected: + virtual void machine_reset() override; + virtual void machine_start() override; + private: optional_shared_ptr m_p_videoram; void kbd_put(u8 data); @@ -100,8 +107,7 @@ private: MC6845_UPDATE_ROW(crtc_update_row); DECLARE_READ_LINE_MEMBER(si); DECLARE_WRITE_LINE_MEMBER(so); - void machine_reset() override; - void machine_start() override; + uint32_t screen_update_sapi1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_sapi3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -747,6 +753,8 @@ void sapi_state::machine_start() save_item(NAME(m_cassold)); save_item(NAME(m_ier)); save_item(NAME(m_iet)); + + m_term_data = 0; } void sapi_state::init_sapizps3() @@ -939,6 +947,8 @@ ROM_START( sapizps3b ) ROM_LOAD("pkt1.bin", 0x10000, 0x0800, CRC(ed5a2725) SHA1(3383c15f87f976400b8d0f31829e2a95236c4b6c)) ROM_END +} // Anonymous namespace + /* Driver */ diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp index 6db72556138..cb6741c166e 100644 --- a/src/mame/drivers/simple_st0016.cpp +++ b/src/mame/drivers/simple_st0016.cpp @@ -793,13 +793,13 @@ void st0016_state::init_mayjisn2() * *************************************/ -GAME( 1994, renju, 0, renju, renju, st0016_state, init_renju, ROT0, "Visco", "Renju Kizoku", MACHINE_NO_COCKTAIL) -GAME( 1996, nratechu, 0, st0016, nratechu, st0016_state, init_nratechu, ROT0, "Seta", "Neratte Chu", MACHINE_NO_COCKTAIL) -GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, st0016_state, init_mayjisn2, ROT0, "Seta", "Mayjinsen 2", MACHINE_NO_COCKTAIL) -GAME( 1995, koikois, 0, st0016, koikois, st0016_state, init_renju, ROT0, "Visco", "Koi Koi Shimasho", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL) -GAME( 2001, gostop, 0, st0016, gostop, st0016_state, init_renju, ROT0, "Visco", "Kankoku Hanafuda Go-Stop", MACHINE_NO_COCKTAIL) +GAME( 1994, renju, 0, renju, renju, st0016_state, init_renju, ROT0, "Visco", "Renju Kizoku", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 1996, nratechu, 0, st0016, nratechu, st0016_state, init_nratechu, ROT0, "Seta", "Neratte Chu", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, st0016_state, init_mayjisn2, ROT0, "Seta", "Mayjinsen 2", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 1995, koikois, 0, st0016, koikois, st0016_state, init_renju, ROT0, "Visco", "Koi Koi Shimasho", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, gostop, 0, st0016, gostop, st0016_state, init_renju, ROT0, "Visco", "Kankoku Hanafuda Go-Stop", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // Not working -GAME( 1994, mayjinsn, 0, mayjinsn, st0016, st0016_state, init_mayjinsn, ROT0, "Seta", "Mayjinsen", MACHINE_IMPERFECT_GRAPHICS|MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) -GAME( 1994, dcrown, 0, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 1)", MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text -GAME( 1994, dcrowna, dcrown, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 2)", MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) // the Insert Coin text has been translated to English and no (c) is uploaded +GAME( 1994, mayjinsn, 0, mayjinsn, st0016, st0016_state, init_mayjinsn, ROT0, "Seta", "Mayjinsen", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 1994, dcrown, 0, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 1)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text +GAME( 1994, dcrowna, dcrown, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 2)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // the Insert Coin text has been translated to English and no (c) is uploaded diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp index 47f968ac403..2060822cf4b 100644 --- a/src/mame/drivers/taito.cpp +++ b/src/mame/drivers/taito.cpp @@ -56,6 +56,8 @@ ToDO: #include "taito.lh" +namespace { + class taito_state : public genpin_class { public: @@ -76,7 +78,8 @@ public: void taito4(machine_config &config); void taito5(machine_config &config); - void init_taito(); +protected: + virtual void machine_start() override; private: uint8_t io_r(offs_t offset); @@ -98,8 +101,6 @@ private: uint8_t m_sndcmd; uint8_t m_votrax_cmd; uint8_t m_io[16]; - virtual void machine_reset() override; - virtual void machine_start() override { m_digits.resolve(); } required_device m_maincpu; required_device m_cpu2; required_device m_pia; @@ -326,12 +327,12 @@ WRITE_LINE_MEMBER( taito_state::votrax_request ) m_pia->ca1_w(state ? 0 : 1); } -void taito_state::machine_reset() +void taito_state::machine_start() { -} + m_digits.resolve(); -void taito_state::init_taito() -{ + m_out_offs = 0; + std::fill(std::begin(m_io), std::end(m_io), 0); } TIMER_DEVICE_CALLBACK_MEMBER( taito_state::timer_a ) @@ -1013,53 +1014,56 @@ ROM_START(mrblkz80) ROM_LOAD("mrb_s3.bin", 0x7000, 0x1000, CRC(276fb897) SHA1(b1a4323a4d921e3ae4beefaa04cd95e18cc33b9d)) ROM_END +} // Anonymous namespace + + // no sound -GAME(198?, taitest, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Taito Test Fixture", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) +GAME(198?, taitest, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Taito Test Fixture", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) // dac (sintetizador) -GAME(1979, shock, 0, shock, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Shock", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1980, obaoba, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Oba-Oba (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1980, obaoba1, obaoba, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Oba-Oba (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1980, obaobao, obaoba, shock, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Oba-Oba (old hardware)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1980, drakor, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Drakor", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1980, meteort, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Meteor (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1981, sureshop, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1981, cosmic, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cosmic", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1982, gemini2k, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Gemini 2000 (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, gemini2k1, gemini2k, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Gemini 2000 (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, vortexp, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Vortex (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1982, zarza, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Zarza (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, zarza1, zarza, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Zarza (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, sharkt, 0, taito2, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Shark (Taito)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, stest, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Speed Test", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1982, lunelle, 0, taito2, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Lunelle", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1980, rally, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Rally", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(1981, football, 0, shock, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Football", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1979, shock, 0, shock, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Shock", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1980, obaoba, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1980, obaoba1, obaoba, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1980, obaobao, obaoba, shock, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (old hardware)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1980, drakor, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Drakor", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1980, meteort, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Meteor (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1981, sureshop, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1981, cosmic, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cosmic", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1982, gemini2k, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 1)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, gemini2k1, gemini2k, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, vortexp, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Vortex (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1982, zarza, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Zarza (set 1)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, zarza1, zarza, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Zarza (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, sharkt, 0, taito2, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Shark (Taito)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, stest, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Speed Test", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1982, lunelle, 0, taito2, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Lunelle", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1980, rally, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Rally", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(1981, football, 0, shock, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Football", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // dac and vox (sintevox) -GAME(1981, fireact, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Fire Action", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1981, cavnegro, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1981, cavnegro1, cavnegro, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1981, cavnegro2, cavnegro, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 3)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1981, ladylukt, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Lady Luck (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME(198?, vegast, ladylukt, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Vegas (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME(1982, titan, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Titan (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME(1982, titan1, titan, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Titan (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME(1982, hawkman, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Hawkman (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, hawkman1, hawkman, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Hawkman (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1981, fireact, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Fire Action", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1981, cavnegro, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 1)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1981, cavnegro1, cavnegro, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1981, cavnegro2, cavnegro, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 3)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1981, ladylukt, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Lady Luck (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME(198?, vegast, ladylukt, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Vegas (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME(1982, titan, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Titan (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME(1982, titan1, titan, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Titan (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME(1982, hawkman, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 1)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, hawkman1, hawkman, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 2)", MACHINE_IS_SKELETON_MECHANICAL) // dac and ay -GAME(1982, snake, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Snake Machine", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -GAME(198?, voleybal, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Volley", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1984, mrblack, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Mr. Black (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, mrblack1, mrblack, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Mr. Black (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, sshuttle, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, sshuttle1, sshuttle, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(198?, polar, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Polar Explorer", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, snake, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Snake Machine", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +GAME(198?, voleybal, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Volley", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1984, mrblack, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 1)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1985, mrblack1, mrblack, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1985, sshuttle, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 1)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1985, sshuttle1, sshuttle, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 2)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(198?, polar, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Polar Explorer", MACHINE_IS_SKELETON_MECHANICAL) // dac, vox and ay -GAME(1982, gork, 0, taito6, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Gork", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -GAME(198?, fireactd, 0, taito6, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Fire Action Deluxe", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1982, gork, 0, taito6, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Gork", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) +GAME(198?, fireactd, 0, taito6, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Fire Action Deluxe", MACHINE_IS_SKELETON_MECHANICAL) // different hardware -GAME(198?, mrblkz80, mrblack, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", MACHINE_IS_SKELETON_MECHANICAL) +GAME(198?, mrblkz80, mrblack, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", MACHINE_IS_SKELETON_MECHANICAL) diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp index 514e1d37fd5..8499f937458 100644 --- a/src/mame/drivers/tandy1t.cpp +++ b/src/mame/drivers/tandy1t.cpp @@ -96,6 +96,9 @@ public: void t1000hx(machine_config &config); void t1000tx(machine_config &config); +protected: + virtual void machine_start() override; + private: required_device m_maincpu; @@ -125,8 +128,6 @@ private: void tandy1000_write_eeprom(uint8_t data); void tandy1000_set_bios_bank(); - void machine_start() override; - DECLARE_MACHINE_RESET(tandy1000rl); struct @@ -437,6 +438,8 @@ void tandy1000_state::machine_start() m_maincpu->space(AS_PROGRAM).install_readwrite_handler(m_ram->size() - (128*1024), 640*1024 - 1, read8sm_delegate(*this, FUNC(tandy1000_state::vram_r)), write8sm_delegate(*this, FUNC(tandy1000_state::vram_w)), 0xffff); subdevice("nvram")->set_base(m_eeprom_ee, sizeof(m_eeprom_ee)); + + m_eeprom_state = 0; } uint8_t tandy1000_state::tandy1000_bank_r(offs_t offset) diff --git a/src/mame/drivers/tk80bs.cpp b/src/mame/drivers/tk80bs.cpp index a5b0caa08f6..f050a94f56b 100644 --- a/src/mame/drivers/tk80bs.cpp +++ b/src/mame/drivers/tk80bs.cpp @@ -29,6 +29,9 @@ TODO: #include "emupal.h" #include "screen.h" + +namespace { + class tk80bs_state : public driver_device { public: @@ -43,9 +46,11 @@ public: void tk80bs(machine_config &config); +protected: + virtual void machine_start() override; + private: uint8_t ppi_custom_r(offs_t offse); - void machine_start() override; void ppi_custom_w(offs_t offset, uint8_t data); void kbd_put(u8 data); uint8_t port_a_r(); @@ -157,6 +162,8 @@ void tk80bs_state::kbd_put(u8 data) void tk80bs_state::machine_start() { save_item(NAME(m_term_data)); + + m_term_data = 0; } @@ -230,6 +237,9 @@ ROM_START( tk80bs ) ROM_LOAD( "font.rom", 0x0000, 0x1000, BAD_DUMP CRC(94d95199) SHA1(9fe741eab866b0c520d4108bccc6277172fa190c)) ROM_END +} // Anonymous namespace + + /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp index b0d98788273..63c90b8ef46 100644 --- a/src/mame/drivers/univac.cpp +++ b/src/mame/drivers/univac.cpp @@ -120,6 +120,8 @@ After entering the characters, press FCTN and CTRL PAGE keys again to save the s #define LOGNVRAM(...) LOGMASKED(LOG_NVRAM, __VA_ARGS__) +namespace { + class univac_state : public driver_device { public: @@ -158,6 +160,9 @@ public: void uts10(machine_config &config); void uts20(machine_config &config); +protected: + virtual void machine_start() override; + private: u8 ram_r(offs_t offset); u8 bank_r(offs_t offset); @@ -187,7 +192,6 @@ private: void mem_map(address_map &map); void uts10_io_map(address_map &map); void uts10_map(address_map &map); - virtual void machine_start() override; required_device m_maincpu; required_device m_nvram; @@ -482,6 +486,8 @@ void univac_state::machine_start() save_item(NAME(m_aux_dsr)); save_item(NAME(m_sio_wrdyb)); save_item(NAME(m_disp_mask)); + + m_disp_mask = 0; } uint32_t univac_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) @@ -672,6 +678,8 @@ ROM_START( uts20 ) ROM_LOAD( "chr_5565.bin", 0x0000, 0x0800, BAD_DUMP CRC(7d99744f) SHA1(2db330ca94a91f7b2ac2ac088ae9255f5bb0a7b4) ) ROM_END +} // Anonymous namespace + /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp index e900aaa0e81..ddf45de38f1 100644 --- a/src/mame/drivers/vegas.cpp +++ b/src/mame/drivers/vegas.cpp @@ -17,7 +17,7 @@ * CART Fury Championship Racing [250MHz RM7000, 32MB RAM, Durango + Denver + Voodoo 3, 16MB] Known bugs: - * not working yet + * Tournament Editions not working yet *************************************************************************** @@ -177,10 +177,10 @@ 4x MT48LC1M16AT RAM 1x 93clc46b label A-22911 config eeprom 1x texas instruments 8CA00YF (don't know what it is) - 1x motorolla MPC948 clock distribution chip + 1x motorola MPC948 clock distribution chip 100MHz crystal 1x CMDPCI646U2 IDE controller - 1x 7segment LED display (cycles IOASIC if you try to load a game that doesnt match the PIC, spins during normal play) + 1x 7segment LED display (cycles IOASIC if you try to load a game that doesn't match the PIC, spins during normal play) 1x 232ACBN serial port controller other misc 74xxx parts Boot ROM 1.7 @@ -291,6 +291,9 @@ #include "sf2049.lh" + +namespace { + /************************************* * * Debugging constants @@ -376,6 +379,10 @@ public: DECLARE_CUSTOM_INPUT_MEMBER(keypad_r); DECLARE_CUSTOM_INPUT_MEMBER(gearshift_r); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: static constexpr unsigned SYSTEM_CLOCK = 100000000; @@ -424,9 +431,6 @@ private: DECLARE_WRITE_LINE_MEMBER(duart_irq_cb); DECLARE_WRITE_LINE_MEMBER(vblank_assert); - virtual void machine_start() override; - virtual void machine_reset() override; - void update_sio_irqs(); DECLARE_WRITE_LINE_MEMBER(watchdog_reset); @@ -510,6 +514,8 @@ void vegas_state::machine_start() if (LOG_SIO) logerror("Did not find dcs2 sound board\n"); } + + m_cmos_unlocked = 0; } @@ -2627,6 +2633,7 @@ void vegas_state::init_cartfury() { } +} // Anonymous namespace /************************************* diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp index 79a6d83e7b7..bc170d3e473 100644 --- a/src/mame/drivers/videopkr.cpp +++ b/src/mame/drivers/videopkr.cpp @@ -264,7 +264,7 @@ * Add Tech. Notes for Baby board, a reworked and improved version on Video Poker hardware. * Fix some missing pulses on mechanical counters. - * Fix the bug on bookeeping mode (videodad & videocba). + * Fix the bug on bookkeeping mode (videodad & videocba). * Figure out the undocumented jumper. * Hopper simulation. * Switch to resnet system. @@ -296,6 +296,8 @@ #include "videopkr.lh" +namespace { + #define CPU_CLOCK (XTAL(6'000'000)) /* main cpu clock */ #define CPU_CLOCK_ALT (XTAL(8'000'000)) /* alternative main cpu clock for newer games */ #define SOUND_CLOCK (XTAL(8'000'000)) /* sound cpu clock */ @@ -307,6 +309,9 @@ class videopkr_state : public driver_device public: videopkr_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) + , m_data_ram(*this, "data_ram", 0x100, ENDIANNESS_LITTLE) + , m_video_ram(*this, "video_ram", 0x400, ENDIANNESS_LITTLE) + , m_color_ram(*this, "color_ram", 0x400, ENDIANNESS_LITTLE) , m_maincpu(*this, "maincpu") , m_soundcpu(*this, "soundcpu") , m_gfxdecode(*this, "gfxdecode") @@ -322,6 +327,10 @@ public: void fortune1(machine_config &config); void bpoker(machine_config &config); +protected: + virtual void machine_start() override; + virtual void video_start() override; + private: uint8_t videopkr_io_r(offs_t offset); void videopkr_io_w(offs_t offset, uint8_t data); @@ -357,12 +366,9 @@ private: void i8751_io_port(address_map &map); void i8751_map(address_map &map); - virtual void machine_start() override; - virtual void video_start() override; - - uint8_t m_data_ram[0x100]; - uint8_t m_video_ram[0x0400]; - uint8_t m_color_ram[0x0400]; + memory_share_creator m_data_ram; + memory_share_creator m_video_ram; + memory_share_creator m_color_ram; uint16_t m_p1; uint16_t m_p2; uint8_t m_t0_latch; @@ -1212,6 +1218,11 @@ void videopkr_state::machine_start() m_p1 = 0xff; m_ant_cio = 0; m_count0 = 0; + m_count1 = 0; + m_count2 = 0; + m_count3 = 0; + m_count4 = 0; + m_ant_jckp = 0; subdevice("nvram")->set_base(m_data_ram, sizeof(m_data_ram)); } @@ -1567,6 +1578,9 @@ ROM_START( fortune1 ) ROM_LOAD( "3140-cap8.b8", 0x0000, 0x0100, CRC(09abf5f1) SHA1(f2d6b4f2f08b47b93728dafb50576d5ca859255f) ) ROM_END +} // Anonymous namespace + + /************************* * Game Drivers * *************************/ diff --git a/src/mame/drivers/votrpss.cpp b/src/mame/drivers/votrpss.cpp index d9e8f521bd8..ae4a7bc088f 100644 --- a/src/mame/drivers/votrpss.cpp +++ b/src/mame/drivers/votrpss.cpp @@ -11,7 +11,7 @@ Main xtal is 8MHz AY-3-8910 and i8253 clock is running at 2 MHz (xtal/4) -Z80A is runing at 4MHz (xtal/2) +Z80A is running at 4MHz (xtal/2) clock dividers also generate the system reset signals for the 8251 and and a periodic IRQ at 122Hz (xtal/65536) I8253: @@ -375,6 +375,9 @@ BUT, at least on the revision C 1872 CPU pcb, they are both tied directly to VCC #include "machine/terminal.h" #include "speaker.h" + +namespace { + class votrpss_state : public driver_device { public: @@ -387,6 +390,9 @@ public: void votrpss(machine_config &config); +protected: + virtual void machine_start() override; + private: void kbd_put(u8 data); uint8_t ppi_pa_r(); @@ -406,7 +412,7 @@ private: uint8_t m_porta; uint8_t m_portb; uint8_t m_portc; - virtual void machine_start() override; + required_device m_maincpu; required_device m_terminal; required_device m_ppi; @@ -477,6 +483,11 @@ void votrpss_state::machine_start() save_item(NAME(m_porta)); save_item(NAME(m_portb)); save_item(NAME(m_portc)); + + m_term_data = 0; + m_porta = 0; + m_portb = 0; + m_portc = 0; } TIMER_DEVICE_CALLBACK_MEMBER( votrpss_state::irq_timer ) @@ -618,6 +629,7 @@ ROM_START(votrpss) ROM_END +} // Anonymous namespace /****************************************************************************** diff --git a/src/mame/includes/cischeat.h b/src/mame/includes/cischeat.h index ad2e1a54047..506a63e1580 100644 --- a/src/mame/includes/cischeat.h +++ b/src/mame/includes/cischeat.h @@ -113,7 +113,7 @@ public: void scudhamm_map(address_map &map); protected: - virtual void machine_start() override { m_leds.resolve(); } + virtual void machine_start() override { m_leds.resolve(); m_scudhamm_motor_command = 0; } virtual void video_start() override; optional_device_array m_tmap; @@ -121,7 +121,6 @@ protected: optional_shared_ptr_array m_roadram; optional_shared_ptr m_f1gpstr2_ioready; - uint16_t *m_objectram; uint16_t m_active_layers; int m_prev; @@ -129,7 +128,9 @@ protected: int m_ip_select; uint16_t m_wildplt_output; uint8_t m_drawmode_table[16]; - int m_debugsprites; +#ifdef MAME_DEBUG + int m_debugsprites = 0; +#endif int m_show_unknown; uint16_t *m_spriteram; diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h index 03674c0c374..01d5e7ce927 100644 --- a/src/mame/includes/m72.h +++ b/src/mame/includes/m72.h @@ -60,12 +60,16 @@ public: m_fg_tilemap(nullptr), m_bg_tilemap(nullptr), m_bg_tilemap_large(nullptr), + m_video_off(0), m_fg_source(0), m_bg_source(0), m_m81_b_b_j3(*this, "JumperJ3"), m_m82_rowscroll(0), m_m82_tmcontrol(0) - { } + { + m_scrollx[0] = m_scrollx[1] = 0; + m_scrolly[0] = m_scrolly[1] = 0; + } void m72_base(machine_config &config); void m72_audio_chips(machine_config &config); diff --git a/src/mame/includes/rm380z.h b/src/mame/includes/rm380z.h index dcf493fa1f2..3791f53975a 100644 --- a/src/mame/includes/rm380z.h +++ b/src/mame/includes/rm380z.h @@ -68,6 +68,10 @@ public: void init_rm380z34e(); void init_rm480z(); +protected: + virtual void machine_reset() override; + virtual void machine_start() override; + private: void put_point(int charnum,int x,int y,int col); void init_graphic_chars(); @@ -80,9 +84,6 @@ private: int writenum; - virtual void machine_reset() override; - virtual void machine_start() override; - uint8_t m_port0; uint8_t m_port0_mask; uint8_t m_port0_kbd; @@ -123,10 +124,6 @@ private: uint8_t videoram_read(offs_t offset); void videoram_write(offs_t offset, uint8_t data); - uint8_t hiram[0x1000]; - uint8_t hiram_read(offs_t offset); - void hiram_write(offs_t offset, uint8_t data); - uint8_t rm380z_portlow_r(); void rm380z_portlow_w(offs_t offset, uint8_t data); uint8_t rm380z_porthi_r(); diff --git a/src/mame/machine/kaypro.cpp b/src/mame/machine/kaypro.cpp index 70239ecbbc1..67ae03a66a2 100644 --- a/src/mame/machine/kaypro.cpp +++ b/src/mame/machine/kaypro.cpp @@ -236,6 +236,8 @@ void kaypro_state::machine_start() save_item(NAME(m_fdc_rq)); save_item(NAME(m_system_port)); save_item(NAME(m_mc6845_video_address)); + + m_framecnt = 0; } void kaypro_state::machine_reset() diff --git a/src/mame/machine/rm380z.cpp b/src/mame/machine/rm380z.cpp index 0b9a41ec5c0..4d8d57a1405 100644 --- a/src/mame/machine/rm380z.cpp +++ b/src/mame/machine/rm380z.cpp @@ -128,16 +128,6 @@ uint8_t rm380z_state::port_read_1b00(offs_t offset) return port_read(offset+0xfc); } -uint8_t rm380z_state::hiram_read(offs_t offset) -{ - return hiram[offset]; -} - -void rm380z_state::hiram_write(offs_t offset, uint8_t data) -{ - hiram[offset]=data; -} - uint8_t rm380z_state::rm380z_portlow_r() { return 0xff; diff --git a/src/mame/machine/vsnes.cpp b/src/mame/machine/vsnes.cpp index 4654ba5a0e7..cc45f2517f2 100644 --- a/src/mame/machine/vsnes.cpp +++ b/src/mame/machine/vsnes.cpp @@ -911,6 +911,8 @@ void vsnes_state::init_supxevs() m_maincpu->space(AS_PROGRAM).install_read_handler(0x5678, 0x5678, read8smo_delegate(*this, FUNC(vsnes_state::supxevs_read_prot_2_r))); m_maincpu->space(AS_PROGRAM).install_read_handler(0x578f, 0x578f, read8smo_delegate(*this, FUNC(vsnes_state::supxevs_read_prot_3_r))); m_maincpu->space(AS_PROGRAM).install_read_handler(0x5567, 0x5567, read8smo_delegate(*this, FUNC(vsnes_state::supxevs_read_prot_4_r))); + + m_supxevs_prot_index = 0; } /* Vs. TKO Boxing */ diff --git a/src/mame/video/williams.cpp b/src/mame/video/williams.cpp index 4e879a20daa..8a7d4155153 100644 --- a/src/mame/video/williams.cpp +++ b/src/mame/video/williams.cpp @@ -667,6 +667,7 @@ void blaster_state::video_control_w(u8 data) void williams_state::blitter_init(int blitter_config, const uint8_t *remap_prom) { + std::fill(std::begin(m_blitterram), std::end(m_blitterram), 0); static const uint8_t dummy_table[] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }; /* by default, there is no clipping window - this will be touched only by games that have one */