diff options
-rw-r--r-- | src/mame/drivers/bw12.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/calchase.cpp | 14 | ||||
-rw-r--r-- | src/mame/drivers/halleys.cpp | 11 | ||||
-rw-r--r-- | src/mame/drivers/mediagx.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/model2.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/namcos10.cpp | 14 | ||||
-rw-r--r-- | src/mame/drivers/s3.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/s4.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/seattle.cpp | 5 | ||||
-rw-r--r-- | src/mame/includes/arcadia.h | 26 | ||||
-rw-r--r-- | src/mame/includes/model2.h | 10 | ||||
-rw-r--r-- | src/mame/video/arcadia.cpp | 6 | ||||
-rw-r--r-- | src/mame/video/beathead.cpp | 2 |
13 files changed, 101 insertions, 24 deletions
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp index 7a45b119eb2..a13fa17be20 100644 --- a/src/mame/drivers/bw12.cpp +++ b/src/mame/drivers/bw12.cpp @@ -460,6 +460,8 @@ void bw12_state::machine_start() void bw12_state::machine_reset() { + m_key_stb = 0; + m_key_shift = 0; } static void bw12_floppies(device_slot_interface &device) diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp index ded34063bcb..d67a94fa8b5 100644 --- a/src/mame/drivers/calchase.cpp +++ b/src/mame/drivers/calchase.cpp @@ -145,6 +145,8 @@ something wrong in the disk geometry reported by calchase.chd (20,255,63) since #include "speaker.h" +namespace { + class calchase_state : public pcat_base_state { public: @@ -158,6 +160,10 @@ public: void init_calchase(); void init_hostinv(); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: std::unique_ptr<uint32_t[]> m_bios_ram; std::unique_ptr<uint32_t[]> m_bios_ext_ram; @@ -178,8 +184,6 @@ private: uint32_t calchase_idle_skip_r(); void calchase_idle_skip_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); - virtual void machine_start() override; - virtual void machine_reset() override; void intel82439tx_init(); void calchase_io(address_map &map); void calchase_map(address_map &map); @@ -619,6 +623,9 @@ void calchase_state::machine_start() m_nvram_data = std::make_unique<uint8_t[]>(0x800); subdevice<nvram_device>("nvram")->set_base(m_nvram_data.get(), 0x800); + + for (int i = 0; i < 4; i++) + std::fill(std::begin(m_piix4_config_reg[i]), std::end(m_piix4_config_reg[i]), 0); } void calchase_state::machine_reset() @@ -764,6 +771,9 @@ ROM_START( eggsplc ) DISK_IMAGE_READONLY( "eggsplc", 0, SHA1(fa38dd6b0d25cde644f68cf639768f137c607eb5) ) ROM_END +} // Anonymous namespace + + GAME( 1998, hostinv, 0, hostinv, calchase, calchase_state, init_hostinv, ROT0, "The Game Room", "Host Invaders", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1999, calchase, 0, calchase, calchase, calchase_state, init_calchase, ROT0, "The Game Room", "California Chase", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 2002, eggsplc, 0, calchase, calchase, calchase_state, init_hostinv, ROT0, "The Game Room", "Eggs Playing Chicken", 0 ) diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp index 18b653d6908..ac1f6c90997 100644 --- a/src/mame/drivers/halleys.cpp +++ b/src/mame/drivers/halleys.cpp @@ -174,6 +174,8 @@ Video sync 6 F Video sync Post 6 F Post #include "speaker.h" +namespace { + #define HALLEYS_DEBUG 0 @@ -235,6 +237,7 @@ public: void init_halleysp(); protected: + virtual void machine_start() override; virtual void machine_reset() override; virtual void video_start() override; @@ -1916,9 +1919,13 @@ INPUT_PORTS_END //************************************************************************** // Machine Definitions and Initializations -void halleys_state::machine_reset() +void halleys_state::machine_start() { m_mVectorType = 0; +} + +void halleys_state::machine_reset() +{ m_firq_level = 0; m_blitter_busy = 0; m_collision_count = 0; @@ -2270,6 +2277,8 @@ void halleys_state::init_halley87() init_common(); } +} // Anonymous namespace + //************************************************************************** // Game Definitions diff --git a/src/mame/drivers/mediagx.cpp b/src/mame/drivers/mediagx.cpp index 6e20ffb9e58..d6091fecb56 100644 --- a/src/mame/drivers/mediagx.cpp +++ b/src/mame/drivers/mediagx.cpp @@ -79,6 +79,9 @@ #include "screen.h" #include "speaker.h" + +namespace { + #define SPEEDUP_HACKS 1 class mediagx_state : public pcat_base_state @@ -912,6 +915,10 @@ void mediagx_state::mediagx(machine_config &config) void mediagx_state::init_mediagx() { m_frame_width = m_frame_height = 1; + m_parallel_pointer = 0; + std::fill(std::begin(m_disp_ctrl_reg), std::end(m_disp_ctrl_reg), 0); + std::fill(std::begin(m_biu_ctrl_reg), std::end(m_biu_ctrl_reg), 0); + std::fill(std::begin(m_speedup_hits), std::end(m_speedup_hits), 0); } #if SPEEDUP_HACKS @@ -1015,6 +1022,8 @@ ROM_START( a51site4a ) /* When dumped connected straight to IDE the cylinders we DISK_IMAGE( "a51site4-2_0", 0, SHA1(4de421e4d1708ecbdfb50730000814a1ea36a044) ) /* Stock drive, sticker on drive shows REV 2.0 and Test Mode screen shows the date September 11, 1998 */ ROM_END +} // Anonymous namespace + /*****************************************************************************/ diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp index b049f067f90..4b0272630ab 100644 --- a/src/mame/drivers/model2.cpp +++ b/src/mame/drivers/model2.cpp @@ -301,6 +301,13 @@ void model2_tgp_state::machine_reset() m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); } +void model2o_gtx_state::machine_reset() +{ + model2_tgp_state::machine_reset(); + + m_gtx_state = 0; +} + void model2a_state::machine_reset() { model2_tgp_state::machine_reset(); @@ -318,6 +325,9 @@ void model2b_state::machine_reset() m_copro_adsp->set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE); // clear FIFOOUT buffer full flag on SHARC m_copro_adsp->set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE); + + m_iop_data = 0; + m_iop_write_num = 0; } void model2c_state::machine_reset() diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp index 5aabe9b3387..306c43ed4be 100644 --- a/src/mame/drivers/namcos10.cpp +++ b/src/mame/drivers/namcos10.cpp @@ -415,6 +415,8 @@ earlier TK games, so it appears to be optional or is only used by the later TK51 #include "speaker.h" +namespace { + class namcos10_state : public driver_device { public: @@ -451,6 +453,9 @@ public: void init_chocovdr(); void init_konotako(); +protected: + virtual void machine_start() override; + private: // memm variant interface void crypto_switch_w(uint16_t data); @@ -516,6 +521,12 @@ private: }; +void namcos10_state::machine_start() +{ + nand_address = 0; +} + + void namcos10_state::namcos10_map(address_map &map) { map(0x1f500000, 0x1f501fff).ram().share("share3"); /* ram? stores block numbers */ @@ -1339,6 +1350,9 @@ ROM_START( pacmball ) ROM_LOAD( "k9f2808u0c.8d", 0x1080000, 0x1080000, CRC(f79d7199) SHA1(4ef9b758ee778e12f7fef717e063597299fb8219) ) ROM_END +} // Anonymous namespace + + GAME( 2000, mrdrilr2, 0, ns10_mrdrilr2, namcos10, namcos10_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // PORT_4WAY joysticks GAME( 2000, mrdrlr2a, mrdrilr2, ns10_mrdrilr2, namcos10, namcos10_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (World, DR22 Ver.A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // PORT_4WAY joysticks GAME( 2000, ptblank3, 0, namcos10_memn_exio, namcos10, namcos10_state, init_gunbalna, ROT0, "Namco", "Point Blank 3 (World, GNN2 Ver.A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // needs to hookup gun IO diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp index 1890924dd16..c8d53f57291 100644 --- a/src/mame/drivers/s3.cpp +++ b/src/mame/drivers/s3.cpp @@ -49,6 +49,8 @@ ToDo: #include "s3.lh" +namespace { + class s3_state : public genpin_class { public: @@ -71,6 +73,9 @@ public: DECLARE_INPUT_CHANGED_MEMBER(main_nmi); DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); +protected: + virtual void machine_start() override { m_digits.resolve(); m_strobe = 0; } + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -104,7 +109,6 @@ private: uint8_t m_switch_col; bool m_data_ok; bool m_chimes; - virtual void machine_start() override { m_digits.resolve(); } required_device<cpu_device> m_maincpu; optional_device<cpu_device> m_audiocpu; required_device<pia6821_device> m_pia22; @@ -602,6 +606,8 @@ ROM_START(pkrno_l1) ROM_LOAD("488_s0_pokerino.716", 0x0000, 0x0800, CRC(5de02e62) SHA1(f838439a731511a264e508a576ae7193d9fed1af)) ROM_END +} // Anonymous namespace + GAME( 1977, httip_l1, 0, s3, s3, s3_state, empty_init, ROT0, "Williams", "Hot Tip (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) GAME( 1977, lucky_l1, 0, s3, s3, s3_state, empty_init, ROT0, "Williams", "Lucky Seven (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) GAME( 1978, wldcp_l1, 0, s3a, s3, s3_state, empty_init, ROT0, "Williams", "World Cup (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp index a41a8c11e53..bad163eaba8 100644 --- a/src/mame/drivers/s4.cpp +++ b/src/mame/drivers/s4.cpp @@ -43,6 +43,8 @@ ToDo: #include "s4.lh" +namespace { + class s4_state : public genpin_class { public: @@ -65,6 +67,9 @@ public: DECLARE_INPUT_CHANGED_MEMBER(main_nmi); DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); +protected: + virtual void machine_start() override { m_digits.resolve(); m_strobe = 0; } + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -98,7 +103,6 @@ private: uint8_t m_switch_col; bool m_data_ok; bool m_chimes; - virtual void machine_start() override { m_digits.resolve(); } required_device<cpu_device> m_maincpu; optional_device<cpu_device> m_audiocpu; required_device<pia6821_device> m_pia22; @@ -713,6 +717,8 @@ ROM_START(tstrk_l1) ROM_LOAD("b_ic17.716", 0x1800, 0x0800, CRC(cfc2518a) SHA1(5e99e40dcb7e178137db8d7d7d6da82ba87130fa)) ROM_END +} // Anonymous namespace + GAME( 1979, flash_l2, 0, s4a, s4, s4_state, empty_init, ROT0, "Williams", "Flash (Williams, L-2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) GAME( 1979, flash_l1, flash_l2, s4a, s4, s4_state, empty_init, ROT0, "Williams", "Flash (Williams, L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp index ec3100dff10..c4bb2ccef9a 100644 --- a/src/mame/drivers/seattle.cpp +++ b/src/mame/drivers/seattle.cpp @@ -205,6 +205,9 @@ #include "hyprdriv.lh" #include "sfrush.lh" + +namespace { + /************************************* * * Debugging constants @@ -493,6 +496,7 @@ void seattle_state::machine_reset() m_wheel_force = 0; m_wheel_offset = 0; m_wheel_calibrated = false; + m_ethernet_irq_num = 0; // reset either the DCS2 board or the CAGE board if (m_dcs != nullptr) { @@ -2810,6 +2814,7 @@ void seattle_state::init_hyprdriv() } +} // Anonymous namespace /************************************* * diff --git a/src/mame/includes/arcadia.h b/src/mame/includes/arcadia.h index 935cf77dfcf..3354fb9fc5f 100644 --- a/src/mame/includes/arcadia.h +++ b/src/mame/includes/arcadia.h @@ -56,21 +56,8 @@ public: void arcadia(machine_config &config); protected: - DECLARE_READ_LINE_MEMBER(vsync_r); - uint8_t video_r(offs_t offset); - void video_w(offs_t offset, uint8_t data); - virtual void machine_start() override; virtual void video_start() override; - void palette_init(palette_device &palette) const; - uint32_t screen_update_arcadia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(video_line); - void arcadia_mem(address_map &map); - - void draw_char(uint8_t *ch, int charcode, int y, int x); - void vh_draw_line(int y, uint8_t chars1[16]); - int sprite_collision(int n1, int n2); - void draw_sprites(); private: int m_line; @@ -135,6 +122,19 @@ private: required_device<gfxdecode_device> m_gfxdecode; required_device<palette_device> m_palette; required_device<screen_device> m_screen; + + DECLARE_READ_LINE_MEMBER(vsync_r); + uint8_t video_r(offs_t offset); + void video_w(offs_t offset, uint8_t data); + void palette_init(palette_device &palette) const; + uint32_t screen_update_arcadia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + INTERRUPT_GEN_MEMBER(video_line); + void arcadia_mem(address_map &map); + + void draw_char(uint8_t *ch, int charcode, int y, int x); + void vh_draw_line(int y, uint8_t chars1[16]); + int sprite_collision(int n1, int n2); + void draw_sprites(); }; #endif // MAME_INCLUDES_ARCADIA_H diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h index 54a34e01327..9a0deff5935 100644 --- a/src/mame/includes/model2.h +++ b/src/mame/includes/model2.h @@ -141,8 +141,6 @@ protected: u8 m_driveio_comm_data; int m_iop_write_num; u32 m_iop_data; - int m_geo_iop_write_num; - u32 m_geo_iop_data; u32 m_geo_read_start_address; u32 m_geo_write_start_address; @@ -441,12 +439,16 @@ public: : model2o_state(mconfig, type, tag) {} - u8 gtx_r(offs_t offset); void daytona_gtx(machine_config &config); - void model2o_gtx_mem(address_map &map); + +protected: + virtual void machine_reset() override; private: int m_gtx_state; + + u8 gtx_r(offs_t offset); + void model2o_gtx_mem(address_map &map); }; /***************************** diff --git a/src/mame/video/arcadia.cpp b/src/mame/video/arcadia.cpp index 8940bdbc8ae..46bb94bd90e 100644 --- a/src/mame/video/arcadia.cpp +++ b/src/mame/video/arcadia.cpp @@ -288,9 +288,8 @@ static const uint8_t chars[0x40][8]={ void arcadia_state::video_start() { - int i; memcpy(&m_chars, chars, sizeof(chars)); - for (i=0; i<0x40; i++) + for (int i=0; i<0x40; i++) { m_rectangle[i][0]=0; m_rectangle[i][4]=0; @@ -309,6 +308,9 @@ void arcadia_state::video_start() int height = m_screen->height(); m_bitmap = std::make_unique<bitmap_ind16>(width, height); } + + m_line = 0; + std::fill(std::begin(m_reg.d.pal), std::end(m_reg.d.pal), 0); } uint8_t arcadia_state::video_r(offs_t offset) diff --git a/src/mame/video/beathead.cpp b/src/mame/video/beathead.cpp index 42598de2481..33e3c822bf1 100644 --- a/src/mame/video/beathead.cpp +++ b/src/mame/video/beathead.cpp @@ -24,6 +24,8 @@ void beathead_state::video_start() save_item(NAME(m_hsyncram_offset)); save_item(NAME(m_hsyncram_start)); save_item(NAME(m_hsyncram)); + + m_hsyncram_offset = 0; } |