diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2020-11-24 13:58:48 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2020-11-24 13:58:48 +0100 |
commit | 37b00ebe8c7152feafb3c6e04df72e702d5dacca (patch) | |
tree | ffbbe7e33b96447973cc8a0553711944a1423460 | |
parent | 18f6a5be511ce3410f0ad3c01b47a470f56ad4ac (diff) |
various drivers: removed MACHINE_*_MEMBER and VIDEO_START_MEMBER macros
32 files changed, 191 insertions, 216 deletions
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp index e36b7ff2322..65e5de55745 100644 --- a/src/mame/drivers/airraid.cpp +++ b/src/mame/drivers/airraid.cpp @@ -59,7 +59,7 @@ Stephh's notes (based on the game Z80 code and some tests) : - Inputs notes : - * COINx don't work correcly : see "cshooter_coin_r" read handler. + * COINx don't work correctly : see "cshooter_coin_r" read handler. * In game, bits 3 and 4 of 0xc202 ("START") are tested, while bits 4 and 5 are tested in the "test mode". * Pressing STARTx while in game adds lives (depending on the @@ -159,6 +159,8 @@ Stephh's notes (based on the game Z80 code and some tests) : #include "speaker.h" +namespace { + class airraid_state : public driver_device { public: @@ -190,7 +192,6 @@ private: void cshooter_c500_w(uint8_t data); void cshooter_c700_w(uint8_t data); void bank_w(uint8_t data); - DECLARE_MACHINE_RESET(cshooter); TIMER_DEVICE_CALLBACK_MEMBER(cshooter_scanline); void airraid_map(address_map &map); @@ -214,11 +215,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(airraid_state::cshooter_scanline) m_maincpu->set_input_line_and_vector(0, HOLD_LINE,0xcf); /* Z80 - RST 08h */ } - -MACHINE_RESET_MEMBER(airraid_state,cshooter) -{ -} - void airraid_state::cshooter_c500_w(uint8_t data) { } @@ -628,6 +624,9 @@ void airraid_state::init_cshootere() } +} // Anonymous namespace + + // There's also an undumped International Games version GAME( 1987, cshooter, airraid, airraid_crypt, airraid, airraid_state, init_cshootere, ROT270, "Seibu Kaihatsu (J.K.H. license)", "Cross Shooter (Single PCB)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 1987, airraid, 0, airraid_crypt, airraid, airraid_state, init_cshootere, ROT270, "Seibu Kaihatsu", "Air Raid (Single PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp index a8968cae49b..4bccd3259f1 100644 --- a/src/mame/drivers/badlands.cpp +++ b/src/mame/drivers/badlands.cpp @@ -186,13 +186,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(badlands_state::sound_scanline) } -MACHINE_START_MEMBER(badlands_state,badlands) +void badlands_state::machine_start() { save_item(NAME(m_pedal_value)); } -MACHINE_RESET_MEMBER(badlands_state,badlands) +void badlands_state::machine_reset() { m_pedal_value[0] = m_pedal_value[1] = 0x80; @@ -432,9 +432,6 @@ void badlands_state::badlands(machine_config &config) m_audiocpu->set_addrmap(AS_PROGRAM, &badlands_state::audio_map); TIMER(config, "scantimer").configure_scanline(FUNC(badlands_state::sound_scanline), "screen", 0, 1); - MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands) - MCFG_MACHINE_RESET_OVERRIDE(badlands_state,badlands) - EEPROM_2816(config, "eeprom").lock_after_write(true); WATCHDOG_TIMER(config, "watchdog"); @@ -458,8 +455,6 @@ void badlands_state::badlands(machine_config &config) m_screen->set_screen_update(FUNC(badlands_state::screen_update_badlands)); m_screen->set_palette("palette"); - MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands) - /* sound hardware */ GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, m6502_device::NMI_LINE); diff --git a/src/mame/drivers/badlandsbl.cpp b/src/mame/drivers/badlandsbl.cpp index e828b3abf54..f2676871903 100644 --- a/src/mame/drivers/badlandsbl.cpp +++ b/src/mame/drivers/badlandsbl.cpp @@ -21,7 +21,7 @@ sound cpu: Z80 sound ics: YM2151 + 3012 - other ics: 28c16 2kx8 eeprom.Used to store bookeeping,settings etc. like original pcb. + other ics: 28c16 2kx8 eeprom. Used to store book-keeping, settings etc. like original pcb. Osc: 20 Mhz, 28 Mhz @@ -35,7 +35,7 @@ Note - This romset comes from a bootleg pcb produced by Playmark.This pcb was been modified to use as control standard joysticks instead of steering wheels.Game differences are: Copyright string removed. + This romset comes from a bootleg pcb produced by Playmark. This pcb was been modified to use as control standard joysticks instead of steering wheels. Game differences are: Copyright string removed. ***************************************************************************************/ @@ -231,8 +231,6 @@ void badlandsbl_state::badlandsb(machine_config &config) // config.m_perfect_cpu_quantum = subtag("maincpu"); - MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands) - EEPROM_2816(config, "eeprom").lock_after_write(true); /* video hardware */ @@ -241,7 +239,7 @@ void badlandsbl_state::badlandsb(machine_config &config) palette.set_format(palette_device::IRGB_1555, 256); palette.set_membits(8); - TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_ROWS, 64,32).set_info_callback(FUNC(badlands_state::get_playfield_tile_info)); + TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_ROWS, 64,32).set_info_callback(FUNC(badlandsbl_state::get_playfield_tile_info)); // ATARI_MOTION_OBJECTS(config, m_mob, 0, m_screen, badlands_state::s_mob_config); // m_mob->set_gfxdecode(m_gfxdecode); @@ -254,8 +252,6 @@ void badlandsbl_state::badlandsb(machine_config &config) m_screen->set_screen_update(FUNC(badlandsbl_state::screen_update_badlandsbl)); m_screen->set_palette("palette"); - MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands) - /* sound hardware */ SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/gridcomp.cpp b/src/mame/drivers/gridcomp.cpp index b74fb04018c..e09cfc3f85d 100644 --- a/src/mame/drivers/gridcomp.cpp +++ b/src/mame/drivers/gridcomp.cpp @@ -83,7 +83,6 @@ #include "softlist.h" #include "speaker.h" - //#define LOG_GENERAL (1U << 0) //defined in logmacro.h already #define LOG_KEYBOARD (1U << 1) #define LOG_DEBUG (1U << 2) @@ -96,6 +95,8 @@ #define LOGDBG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__) +namespace { + #define I80130_TAG "osp" class gridcomp_state : public driver_device @@ -122,7 +123,9 @@ public: void grid1109(machine_config &config); void grid1101(machine_config &config); - void init_gridcomp(); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; private: required_device<cpu_device> m_maincpu; @@ -134,9 +137,6 @@ private: required_device<ram_device> m_ram; required_device<tms9914_device> m_tms9914; - DECLARE_MACHINE_START(gridcomp); - DECLARE_MACHINE_RESET(gridcomp); - IRQ_CALLBACK_MEMBER(irq_callback); uint16_t grid_9ff0_r(offs_t offset); @@ -165,7 +165,7 @@ private: }; -uint16_t gridcomp_state::grid_9ff0_r(offs_t offset) +[[maybe_unused]] uint16_t gridcomp_state::grid_9ff0_r(offs_t offset) { uint16_t data = 0; @@ -276,12 +276,7 @@ uint32_t gridcomp_state::screen_update_113x(screen_device &screen, bitmap_ind16 return screen_update_generic(screen, bitmap, cliprect, 512); } - -void gridcomp_state::init_gridcomp() -{ -} - -MACHINE_START_MEMBER(gridcomp_state, gridcomp) +void gridcomp_state::machine_start() { address_space &program = m_maincpu->space(AS_PROGRAM); @@ -290,7 +285,7 @@ MACHINE_START_MEMBER(gridcomp_state, gridcomp) m_videoram = (uint16_t *)m_maincpu->space(AS_PROGRAM).get_write_ptr(0x400); } -MACHINE_RESET_MEMBER(gridcomp_state, gridcomp) +void gridcomp_state::machine_reset() { m_kbd_ready = false; } @@ -358,9 +353,6 @@ void gridcomp_state::grid1101(machine_config &config) m_maincpu->set_addrmap(AS_IO, &gridcomp_state::grid1101_io); m_maincpu->set_irq_acknowledge_callback(FUNC(gridcomp_state::irq_callback)); - MCFG_MACHINE_START_OVERRIDE(gridcomp_state, gridcomp) - MCFG_MACHINE_RESET_OVERRIDE(gridcomp_state, gridcomp) - I80130(config, m_osp, XTAL(15'000'000)/3); m_osp->irq().set_inputline("maincpu", 0); @@ -610,6 +602,8 @@ ROM_START( grid1139 ) ROMX_LOAD("1139odd.bin", 0x0001, 0x2000, CRC(13ed4bf0) SHA1(f7087f86dbbc911bee985125bccd2417e0374e8e), ROM_SKIP(1) | ROM_BIOS(0)) ROM_END +} // Anonymous namespace + /*************************************************************************** diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp index 7ebd29f7cca..c28fb906cfb 100644 --- a/src/mame/drivers/hornet.cpp +++ b/src/mame/drivers/hornet.cpp @@ -281,7 +281,7 @@ GFX PCB: GQ871 PWB(B)A (C) 1999 Konami ------------------------------------------ - There are no ROMs on the two GFX PCBs, all sockets are empty. They are loacted on the LAN PCB. + There are no ROMs on the two GFX PCBs, all sockets are empty. They are located on the LAN PCB. Prior to the game starting there is a message saying downloading data. @@ -365,6 +365,8 @@ #include "speaker.h" +namespace { + class hornet_state : public driver_device { public: @@ -411,6 +413,10 @@ public: void init_sscope(); void init_sscope2(); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: // TODO: Needs verification on real hardware static const int m_sound_timer_usec = 2800; @@ -474,9 +480,6 @@ private: uint8_t comm_eeprom_r(); void comm_eeprom_w(uint8_t data); - virtual void machine_start() override; - virtual void machine_reset() override; - DECLARE_MACHINE_RESET(hornet_2board); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update_rscreen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(sound_irq); @@ -1716,6 +1719,9 @@ ROM_START(terabrsta) ROM_LOAD( "m48t58y-70pc1", 0x000000, 0x002000, CRC(62fecb78) SHA1(09509be8a947cf2d38e12a6ea755ec0de4aa9bd4) ) ROM_END +} // Anonymous namespace + + /*************************************************************************/ GAME( 1998, gradius4, 0, hornet, gradius4, hornet_state, init_gradius4, ROT0, "Konami", "Gradius IV: Fukkatsu (ver JAC)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp index 6f1716edb11..7e0cc30028f 100644 --- a/src/mame/drivers/ksys573.cpp +++ b/src/mame/drivers/ksys573.cpp @@ -218,7 +218,7 @@ G: gun mania only, drives air soft gun (this game uses real BB bullet) 056879 - Konami 056879 custom IC (QFP120, @ 13E) MC44200FT - Motorola MC44200FT Triple 8-bit Video DAC (QFP44) 058232 - Konami 058232 custom ceramic IC (SIP14, @ 6C) - SM5877 - Nippon Precision Circuits SM5877 2-channel D/A convertor (SSOP24, @32D) + SM5877 - Nippon Precision Circuits SM5877 2-channel D/A converter (SSOP24, @32D) ADM485 - Analog Devices ADM485 low power EIA RS-485 transceiver (SOIC8, @ 20C) ADC0834 - National Semiconductor ADC0834 8-Bit Serial I/O A/D Converter with Multiplexer Option (SOIC14, @ 24D) @@ -240,7 +240,7 @@ G: gun mania only, drives air soft gun (this game uses real BB bullet) CR-587 drive dated March 1998. Note that the CR-587 will not read CDR discs ;-) - Auxillary Controls PCB + Auxiliary Controls PCB ---------------------- GE765-PWB(B)A (C)1998 KONAMI CO. LTD. @@ -370,6 +370,7 @@ G: gun mania only, drives air soft gun (this game uses real BB bullet) #include "screen.h" #include "speaker.h" + #define VERBOSE_LEVEL ( 0 ) #define ATAPI_CYCLES_PER_SECTOR ( 5000 ) // plenty of time to allow DMA setup etc. BIOS requires this be at least 2000, individual games may vary. @@ -504,11 +505,16 @@ public: DECLARE_WRITE_LINE_MEMBER( hyperbbc_lamp_strobe2 ); DECLARE_WRITE_LINE_MEMBER( hyperbbc_lamp_strobe3 ); - WRITE_LINE_MEMBER( h8_clk_w ); + DECLARE_WRITE_LINE_MEMBER( h8_clk_w ); double m_pad_position[ 6 ]; optional_ioport m_pads; +protected: + virtual void machine_start() override { m_lamps.resolve(); } + virtual void machine_reset() override; + virtual void driver_start() override; + private: uint16_t control_r(offs_t offset, uint16_t mem_mask = ~0); @@ -522,7 +528,6 @@ private: void gx700pwbf_io_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void gunmania_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); uint16_t gunmania_r(offs_t offset, uint16_t mem_mask = ~0); - DECLARE_MACHINE_RESET( konami573 ); DECLARE_WRITE_LINE_MEMBER( ata_interrupt ); TIMER_CALLBACK_MEMBER( atapi_xfer_end ); @@ -554,9 +559,6 @@ private: void konami573a_map(address_map &map); void konami573d_map(address_map &map); - virtual void machine_start() override { m_lamps.resolve(); } - virtual void driver_start() override; - required_ioport m_analog0; required_ioport m_analog1; required_ioport m_analog2; @@ -840,7 +842,7 @@ void ksys573_state::driver_start() save_item( NAME( m_control ) ); } -MACHINE_RESET_MEMBER( ksys573_state,konami573 ) +void ksys573_state::machine_reset() { update_disc(); @@ -2207,8 +2209,6 @@ void ksys573_state::konami573(machine_config &config) subdevice<ram_device>("maincpu:ram")->set_default_size("4M"); - MCFG_MACHINE_RESET_OVERRIDE(ksys573_state, konami573) - ATA_INTERFACE(config, m_ata, 0); m_ata->irq_handler().set(FUNC(ksys573_state::ata_interrupt)); m_ata->slot(0).option_add("cr589", CR589); @@ -5275,6 +5275,7 @@ ROM_START( strgchmp ) ROM_LOAD( "710uaa.22h", 0x000000, 0x002000, CRC(a3e93d49) SHA1(630daa1a02320433a068eb5214f6b30acc06df76) ) ROM_END + GAME( 1997, sys573, 0, konami573, konami573, ksys573_state, empty_init, ROT0, "Konami", "System 573 BIOS", MACHINE_IS_BIOS_ROOT ) GAME( 1997, strgchmp, sys573, konami573, hndlchmp, ksys573_state, empty_init, ROT0, "Konami", "Steering Champ (GQ710 VER. UAA)", MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/drivers/mc1502.cpp b/src/mame/drivers/mc1502.cpp index 5d1864cc337..3c91623c04c 100644 --- a/src/mame/drivers/mc1502.cpp +++ b/src/mame/drivers/mc1502.cpp @@ -180,7 +180,7 @@ void mc1502_state::init_mc1502() program.install_ram(0, m_ram->size() - 1, m_ram->pointer()); } -MACHINE_START_MEMBER(mc1502_state, mc1502) +void mc1502_state::machine_start() { /* Keyboard polling circuit holds IRQ1 high until a key is @@ -195,7 +195,7 @@ MACHINE_START_MEMBER(mc1502_state, mc1502) m_kbd.keyb_signal_timer->adjust(attotime::from_msec(20), 0, attotime::from_msec(20)); } -MACHINE_RESET_MEMBER(mc1502_state, mc1502) +void mc1502_state::machine_reset() { m_spkrdata = 0; m_pit_out2 = 1; @@ -240,9 +240,6 @@ void mc1502_state::mc1502(machine_config &config) m_maincpu->set_addrmap(AS_IO, &mc1502_state::mc1502_io); m_maincpu->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb)); - MCFG_MACHINE_START_OVERRIDE( mc1502_state, mc1502 ) - MCFG_MACHINE_RESET_OVERRIDE( mc1502_state, mc1502 ) - PIT8253(config, m_pit8253); m_pit8253->set_clk<0>(XTAL(16'000'000)/12); /* heartbeat IRQ */ m_pit8253->out_handler<0>().set(m_pic8259, FUNC(pic8259_device::ir0_w)); diff --git a/src/mame/drivers/namcofl.cpp b/src/mame/drivers/namcofl.cpp index bb9372accc8..cb9cbc1b551 100644 --- a/src/mame/drivers/namcofl.cpp +++ b/src/mame/drivers/namcofl.cpp @@ -496,7 +496,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcofl_state::mcu_irq2_cb) } -MACHINE_START_MEMBER(namcofl_state,namcofl) +void namcofl_state::machine_start() { m_raster_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcofl_state::raster_interrupt_callback),this)); m_network_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcofl_state::network_interrupt_callback),this)); @@ -504,7 +504,7 @@ MACHINE_START_MEMBER(namcofl_state,namcofl) } -MACHINE_RESET_MEMBER(namcofl_state,namcofl) +void namcofl_state::machine_reset() { m_network_interrupt_timer->adjust(m_screen->time_until_pos(m_screen->visible_area().max_y + 3)); m_vblank_interrupt_timer->adjust(m_screen->time_until_pos(m_screen->visible_area().max_y + 1)); @@ -544,8 +544,6 @@ void namcofl_state::namcofl(machine_config &config) TIMER(config, "mcu_irq0").configure_periodic(FUNC(namcofl_state::mcu_irq0_cb), attotime::from_hz(60)); TIMER(config, "mcu_irq2").configure_periodic(FUNC(namcofl_state::mcu_irq2_cb), attotime::from_hz(60)); - MCFG_MACHINE_START_OVERRIDE(namcofl_state,namcofl) - MCFG_MACHINE_RESET_OVERRIDE(namcofl_state,namcofl) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); @@ -578,8 +576,6 @@ void namcofl_state::namcofl(machine_config &config) NAMCO_C116(config, m_c116, 0); m_c116->enable_shadows(); - MCFG_VIDEO_START_OVERRIDE(namcofl_state,namcofl) - SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); c352_device &c352(C352(config, "c352", 48.384_MHz_XTAL/2, 288)); diff --git a/src/mame/drivers/nascom1.cpp b/src/mame/drivers/nascom1.cpp index c1c6282f77b..6f14e852191 100644 --- a/src/mame/drivers/nascom1.cpp +++ b/src/mame/drivers/nascom1.cpp @@ -45,6 +45,8 @@ Cassette (nascom2): #include "screen.h" +namespace { + //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -145,9 +147,11 @@ public: DECLARE_INPUT_CHANGED_MEMBER(cass_speed); +protected: + virtual void machine_reset() override; + private: TIMER_DEVICE_CALLBACK_MEMBER(nascom2_kansas_r); - DECLARE_MACHINE_RESET(nascom2); DECLARE_WRITE_LINE_MEMBER(nascom2_kansas_w); DECLARE_WRITE_LINE_MEMBER(ram_disable_w); DECLARE_WRITE_LINE_MEMBER(ram_disable_cpm_w); @@ -313,7 +317,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( nascom2_state::nascom2_kansas_r ) } // This stuff has never been connected up - what's it for? -DEVICE_IMAGE_LOAD_MEMBER( nascom_state::load_nascom1_cassette ) +[[maybe_unused]] DEVICE_IMAGE_LOAD_MEMBER( nascom_state::load_nascom1_cassette ) { m_tape_size = image.length(); m_tape_image = (uint8_t*)image.ptr(); @@ -325,7 +329,7 @@ DEVICE_IMAGE_LOAD_MEMBER( nascom_state::load_nascom1_cassette ) return image_init_result::PASS; } -DEVICE_IMAGE_UNLOAD_MEMBER( nascom_state::unload_nascom1_cassette ) +[[maybe_unused]] DEVICE_IMAGE_UNLOAD_MEMBER( nascom_state::unload_nascom1_cassette ) { m_tape_image = nullptr; m_tape_size = m_tape_index = 0; @@ -459,10 +463,8 @@ void nascom_state::machine_reset() m_hd6402->write_cs(1); } -MACHINE_RESET_MEMBER(nascom2_state, nascom2) +void nascom2_state::machine_reset() { - machine_reset(); - // nascom2: restore speed at machine start m_cass_speed = ioport("DSW0")->read(); @@ -839,8 +841,6 @@ void nascom2_state::nascom2(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &nascom2_state::nascom2_mem); m_maincpu->set_addrmap(AS_IO, &nascom2_state::nascom2_io); - MCFG_MACHINE_RESET_OVERRIDE(nascom2_state, nascom2 ) - // video hardware m_screen->set_size(48 * 8, 16 * 14); m_screen->set_visarea(0, 48 * 8 - 1, 0, 16 * 14 - 1); @@ -940,6 +940,8 @@ ROM_START( nascom2c ) ROM_LOAD("nasgra.ic54", 0x0800, 0x0800, CRC(2bc09d32) SHA1(d384297e9b02cbcb283c020da51b3032ff62b1ae)) ROM_END +} // Anonymous namespace + //************************************************************************** // GAME DRIVERS diff --git a/src/mame/drivers/phoenix.cpp b/src/mame/drivers/phoenix.cpp index 703e90a1fc0..58e8c6390b0 100644 --- a/src/mame/drivers/phoenix.cpp +++ b/src/mame/drivers/phoenix.cpp @@ -435,19 +435,12 @@ static GFXDECODE_START( gfx_pleiads ) GFXDECODE_END -MACHINE_RESET_MEMBER(phoenix_state,phoenix) -{ -} - - void phoenix_state::phoenix(machine_config &config) { /* basic machine hardware */ I8085A(config, m_maincpu, CPU_CLOCK); /* 2.75 MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &phoenix_state::phoenix_memory_map); - MCFG_MACHINE_RESET_OVERRIDE(phoenix_state,phoenix) - /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); @@ -457,8 +450,6 @@ void phoenix_state::phoenix(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_phoenix); PALETTE(config, m_palette, FUNC(phoenix_state::phoenix_palette), 256); - MCFG_VIDEO_START_OVERRIDE(phoenix_state,phoenix) - /* sound hardware */ SPEAKER(config, "mono").front_center(); @@ -510,8 +501,6 @@ void phoenix_state::survival(machine_config &config) maincpu.in_sid_func().set(FUNC(phoenix_state::survival_sid_callback)); maincpu.set_addrmap(AS_PROGRAM, &phoenix_state::survival_memory_map); - MCFG_MACHINE_RESET_OVERRIDE(phoenix_state,phoenix) - /* video hardware */ /* schematics fairly identical to phoenix, however the interesting @@ -525,8 +514,6 @@ void phoenix_state::survival(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_phoenix); PALETTE(config, m_palette, FUNC(phoenix_state::survival_palette), 256); - MCFG_VIDEO_START_OVERRIDE(phoenix_state,phoenix) - /* sound hardware */ SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/psx.cpp b/src/mame/drivers/psx.cpp index ba2e9ac0ac5..dd0aef1ad39 100644 --- a/src/mame/drivers/psx.cpp +++ b/src/mame/drivers/psx.cpp @@ -29,6 +29,9 @@ #include <zlib.h> + +namespace { + class psx1_state : public driver_device { public: @@ -46,7 +49,7 @@ public: void psu(machine_config &config); void psj(machine_config &config); -protected: +private: std::vector<uint8_t> m_exe_buffer; int m_cd_param_p; int m_cd_result_p; @@ -57,7 +60,6 @@ protected: uint8_t m_cd_io_status; uint8_t m_cd_param[8]; uint8_t m_cd_result[8]; - DECLARE_MACHINE_RESET(psx); inline void ATTR_PRINTF(3,4) verboselog( int n_level, const char *s_fmt, ... ); void psxexe_conv32(uint32_t *uint32); int load_psxexe(std::vector<uint8_t> buffer); @@ -74,7 +76,7 @@ protected: void psx_map(address_map &map); void subcpu_map(address_map &map); -private: + required_device<psx_parallel_slot_device> m_parallel; required_device<psxcd_device> m_psxcd; }; @@ -708,6 +710,9 @@ Version 4.3 E */ +} // Anonymous namespace + + // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS CONS( 1994, psj, 0, 0, psj, 0, psx1_state, empty_init, "Sony Computer Entertainment Inc", "Sony PlayStation (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) CONS( 1995, pse, psj, 0, pse, 0, psx1_state, empty_init, "Sony Computer Entertainment Inc", "Sony PlayStation (Europe)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp index cce8cc20b8f..14c61f5c2b8 100644 --- a/src/mame/drivers/s11.cpp +++ b/src/mame/drivers/s11.cpp @@ -188,7 +188,7 @@ void s11_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo } } -MACHINE_RESET_MEMBER( s11_state, s11 ) +void s11_state::machine_reset() { membank("bank0")->set_entry(0); membank("bank1")->set_entry(0); @@ -399,7 +399,6 @@ void s11_state::s11(machine_config &config) /* basic machine hardware */ M6802(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &s11_state::s11_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s11_state, s11) INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11_state::main_irq)); INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11_state::pia_irq)); diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp index 022f36bfab8..d76670df158 100644 --- a/src/mame/drivers/s11a.cpp +++ b/src/mame/drivers/s11a.cpp @@ -122,12 +122,6 @@ static INPUT_PORTS_START( s11a ) PORT_CONFSETTING( 0x10, "English" ) INPUT_PORTS_END - -MACHINE_RESET_MEMBER( s11a_state, s11a ) -{ - MACHINE_RESET_CALL_MEMBER(s11); -} - void s11a_state::dig0_w(uint8_t data) { data &= 0x7f; @@ -150,7 +144,6 @@ void s11a_state::s11a_base(machine_config &config) /* basic machine hardware */ M6808(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &s11_state::s11_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s11a_state, s11a) INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11_state::main_irq)); INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11_state::pia_irq)); diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp index 31c169ffa3b..80d4379367c 100644 --- a/src/mame/drivers/s11b.cpp +++ b/src/mame/drivers/s11b.cpp @@ -141,7 +141,7 @@ static INPUT_PORTS_START( s11b ) PORT_CONFSETTING( 0x10, "English" ) INPUT_PORTS_END -MACHINE_RESET_MEMBER( s11b_state, s11b ) +void s11b_state::machine_reset() { membank("bank0")->set_entry(0); membank("bank1")->set_entry(0); @@ -232,7 +232,6 @@ void s11b_state::s11b_base(machine_config &config) /* basic machine hardware */ M6808(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &s11_state::s11_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s11b_state, s11b) INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11_state::main_irq)); INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11_state::pia_irq)); diff --git a/src/mame/drivers/s11c.cpp b/src/mame/drivers/s11c.cpp index bbe95db10c6..b669a882231 100644 --- a/src/mame/drivers/s11c.cpp +++ b/src/mame/drivers/s11c.cpp @@ -153,15 +153,15 @@ void s11c_state::s11c(machine_config &config) m_pia28->readpa_handler().set(FUNC(s11_state::pia28_w7_r)); m_pia28->set_port_a_input_overrides_output_mask(0xff); m_pia28->writepa_handler().set(FUNC(s11a_state::dig0_w)); - m_pia28->writepb_handler().set(FUNC(s11b_state::dig1_w)); + m_pia28->writepb_handler().set(FUNC(s11c_state::dig1_w)); m_pia28->ca2_handler().set(FUNC(s11_state::pia28_ca2_w)); m_pia28->cb2_handler().set(FUNC(s11_state::pia28_cb2_w)); m_pia28->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<5>)); m_pia28->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<6>)); PIA6821(config, m_pia2c, 0); - m_pia2c->writepa_handler().set(FUNC(s11b_state::pia2c_pa_w)); - m_pia2c->writepb_handler().set(FUNC(s11b_state::pia2c_pb_w)); + m_pia2c->writepa_handler().set(FUNC(s11c_state::pia2c_pa_w)); + m_pia2c->writepb_handler().set(FUNC(s11c_state::pia2c_pb_w)); m_pia2c->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<7>)); m_pia2c->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<8>)); @@ -174,7 +174,7 @@ void s11c_state::s11c(machine_config &config) m_pia30->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<10>)); PIA6821(config, m_pia34, 0); - m_pia34->writepa_handler().set(FUNC(s11b_state::pia34_pa_w)); + m_pia34->writepa_handler().set(FUNC(s11c_state::pia34_pa_w)); m_pia34->writepb_handler().set(FUNC(s11b_state::pia34_pb_w)); m_pia34->cb2_handler().set(FUNC(s11b_state::pia34_cb2_w)); m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>)); diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp index 3ed8b6a7868..74dc6c70d29 100644 --- a/src/mame/drivers/s6a.cpp +++ b/src/mame/drivers/s6a.cpp @@ -51,6 +51,8 @@ ToDo: #include "s6a.lh" +namespace { + class s6a_state : public genpin_class { public: @@ -75,6 +77,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(main_nmi); DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); +protected: + virtual void machine_start() override { m_digits.resolve(); } + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -95,7 +101,6 @@ private: DECLARE_WRITE_LINE_MEMBER(pia30_ca2_w) { }; //ST4 DECLARE_WRITE_LINE_MEMBER(pia30_cb2_w) { }; //ST3 DECLARE_WRITE_LINE_MEMBER(pia_irq); - DECLARE_MACHINE_RESET(s6a); void s6a_audio_map(address_map &map); void s6a_main_map(address_map &map); @@ -105,9 +110,7 @@ private: uint8_t m_switch_col; bool m_data_ok; emu_timer* m_irq_timer; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; static const device_timer_id TIMER_IRQ = 0; - virtual void machine_start() override { m_digits.resolve(); } required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; required_device<hc55516_device> m_hc55516; @@ -387,10 +390,6 @@ void s6a_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo } } -MACHINE_RESET_MEMBER( s6a_state, s6a ) -{ -} - void s6a_state::init_s6a() { m_irq_timer = timer_alloc(TIMER_IRQ); @@ -402,7 +401,6 @@ void s6a_state::s6a(machine_config &config) /* basic machine hardware */ M6808(config, m_maincpu, 3580000); m_maincpu->set_addrmap(AS_PROGRAM, &s6a_state::s6a_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s6a_state, s6a) /* Video */ config.set_default_layout(layout_s6a); @@ -524,6 +522,8 @@ ROM_START(alpok_f6) ROM_LOAD("sound3.716", 0x4800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4)) ROM_END +} // Anonymous namespace + GAME( 1980, algar_l1, 0, s6a, s6a, s6a_state, init_s6a, ROT0, "Williams", "Algar (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) GAME( 1980, alpok_l6, 0, s6a, s6a, s6a_state, init_s6a, ROT0, "Williams", "Alien Poker (L-6)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp index c3f36070c4f..2a3fc8fa340 100644 --- a/src/mame/drivers/s7.cpp +++ b/src/mame/drivers/s7.cpp @@ -34,7 +34,7 @@ Game Outhole Tilt Notes Black Knight L Z C U To start, hold down LZC and press 1. Firepower II S D [D F] To start, hold down SD or DF and press 1. Defender rs I O To start, hold down IO and Right-Shift, then press 1. -Pharoah Right Up To start, hold down Right and Down, and press 1 +Pharaoh Right Up To start, hold down Right and Down, and press 1 Starlight S D To start, hold down SD and press 1. Cosmic Gunfight ; ' To start, press 1 then hold down quote and colon Thunderball Speech is mixed up @@ -46,7 +46,7 @@ Time Fantasy Up Q Works Varkon S \ X is 2-player start Jungle Lord X S Q May need to also press W to get outhole to work Joust Does something? Not a normal pinball -Hyperball Does something? Not a normal pinball +HyperBall Does something? Not a normal pinball ToDo: @@ -67,6 +67,8 @@ ToDo: #include "s7.lh" +namespace { + class s7_state : public genpin_class { public: @@ -93,6 +95,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); DECLARE_INPUT_CHANGED_MEMBER(diag_coin); +protected: + virtual void machine_start() override; + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -120,7 +126,6 @@ private: DECLARE_WRITE_LINE_MEMBER(pia30_ca2_w) { }; //ST4 DECLARE_WRITE_LINE_MEMBER(pia30_cb2_w) { }; //ST3 DECLARE_WRITE_LINE_MEMBER(pia_irq); - DECLARE_MACHINE_RESET(s7); void s7_audio_map(address_map &map); void s7_main_map(address_map &map); @@ -131,9 +136,7 @@ private: bool m_data_ok; bool m_memprotect; emu_timer* m_irq_timer; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; static const device_timer_id TIMER_IRQ = 0; - virtual void machine_start() override; required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; required_device<hc55516_device> m_hc55516; @@ -285,7 +288,7 @@ void s7_state::sol2_w(uint8_t data) m_pia21->ca1_w(BIT(data, 5)); } -void s7_state::sol3_w(uint8_t data) +[[maybe_unused]] void s7_state::sol3_w(uint8_t data) { if (BIT(data, 1)) m_samples->start(0, 6); // knocker @@ -429,10 +432,6 @@ void s7_state::machine_start() subdevice<nvram_device>("nvram")->set_base(m_nvram, sizeof(m_nvram)); } -MACHINE_RESET_MEMBER( s7_state, s7 ) -{ -} - void s7_state::init_s7() { m_irq_timer = timer_alloc(TIMER_IRQ); @@ -444,7 +443,6 @@ void s7_state::s7(machine_config &config) /* basic machine hardware */ M6808(config, m_maincpu, 3580000); m_maincpu->set_addrmap(AS_PROGRAM, &s7_state::s7_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s7_state, s7) /* Video */ config.set_default_layout(layout_s7); @@ -880,6 +878,7 @@ ROM_START(strlt_l1) ROM_LOAD("sound3.716", 0x4800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4)) ROM_END +} // Anonymous namespace GAME( 1980, bk_l4, 0, s7, s7, s7_state, init_s7, ROT0, "Williams", "Black Knight (L-4)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp index 24e46a53a8b..efbd1cd0fa2 100644 --- a/src/mame/drivers/s8.cpp +++ b/src/mame/drivers/s8.cpp @@ -34,7 +34,7 @@ Pennant Fever is a baseball game where you aim for targets at the top of the Gridiron, a conversion kit for Pennant Fever. Didn't get past the prototype stage. -Still Crazy, also only a prototype. See s8a.c for more. +Still Crazy, also only a prototype. See s8a.cpp for more. Break Street, another failed novelty, not much is known about it. Seems it features a break-dancing toy and a spinning disk. @@ -55,6 +55,8 @@ ToDo: #include "s8.lh" +namespace { + class s8_state : public genpin_class { public: @@ -78,6 +80,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(main_nmi); DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); +protected: + virtual void machine_start() override { m_digits.resolve(); } + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -96,7 +102,6 @@ private: DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; // comma3&4 DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; // comma1&2 DECLARE_WRITE_LINE_MEMBER(pia_irq); - DECLARE_MACHINE_RESET(s8); void s8_audio_map(address_map &map); void s8_main_map(address_map &map); @@ -106,9 +111,7 @@ private: uint8_t m_switch_col; bool m_data_ok; emu_timer* m_irq_timer; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; static const device_timer_id TIMER_IRQ = 0; - virtual void machine_start() override { m_digits.resolve(); } required_device<m6802_cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; required_device<pia6821_device> m_pias; @@ -313,10 +316,6 @@ void s8_state::device_timer(emu_timer &timer, device_timer_id id, int param, voi } } -MACHINE_RESET_MEMBER( s8_state, s8 ) -{ -} - void s8_state::init_s8() { m_irq_timer = timer_alloc(TIMER_IRQ); @@ -329,7 +328,6 @@ void s8_state::s8(machine_config &config) M6802(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_ram_enable(false); m_maincpu->set_addrmap(AS_PROGRAM, &s8_state::s8_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s8_state, s8) /* Video */ config.set_default_layout(layout_s8); @@ -409,6 +407,8 @@ ROM_START(pfevr_p3) ROM_LOAD("cpu_u49.128", 0x0000, 0x4000, CRC(b0161712) SHA1(5850f1f1f11e3ac9b9629cff2b26c4ad32436b55)) ROM_END +} // Anonymous namespace + GAME(1984, pfevr_l2, 0, s8, s8, s8_state, init_s8, ROT0, "Williams", "Pennant Fever (L-2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) GAME(1984, pfevr_p3, pfevr_l2, s8, s8, s8_state, init_s8, ROT0, "Williams", "Pennant Fever (P-3)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp index abf684b3204..d34aa1e0f8f 100644 --- a/src/mame/drivers/s8a.cpp +++ b/src/mame/drivers/s8a.cpp @@ -31,6 +31,8 @@ ToDo: #include "s8a.lh" +namespace { + class s8a_state : public genpin_class { public: @@ -54,6 +56,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(main_nmi); DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); +protected: + virtual void machine_start() override { m_digits.resolve(); } + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -72,7 +78,6 @@ private: DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; // comma3&4 DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; // comma1&2 DECLARE_WRITE_LINE_MEMBER(pia_irq); - DECLARE_MACHINE_RESET(s8a); void s8a_audio_map(address_map &map); void s8a_main_map(address_map &map); @@ -82,9 +87,7 @@ private: uint8_t m_switch_col; bool m_data_ok; emu_timer* m_irq_timer; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; static const device_timer_id TIMER_IRQ = 0; - virtual void machine_start() override { m_digits.resolve(); } required_device<m6802_cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; required_device<pia6821_device> m_pias; @@ -285,10 +288,6 @@ void s8a_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo } } -MACHINE_RESET_MEMBER( s8a_state, s8a ) -{ -} - void s8a_state::init_s8a() { m_irq_timer = timer_alloc(TIMER_IRQ); @@ -301,7 +300,6 @@ void s8a_state::s8a(machine_config &config) M6802(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_ram_enable(false); m_maincpu->set_addrmap(AS_PROGRAM, &s8a_state::s8a_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s8a_state, s8a) /* Video */ config.set_default_layout(layout_s8a); @@ -373,4 +371,6 @@ ROM_START(scrzy_l1) ROM_LOAD("ic49.bin", 0x0000, 0x4000, CRC(bcc8ccc4) SHA1(2312f9cc4f5a2dadfbfa61d13c31bb5838adf152) ) ROM_END +} // Anonymous namespace + GAME( 1984, scrzy_l1, 0, s8a, s8a, s8a_state, init_s8a, ROT0, "Williams", "Still Crazy", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp index 1aee5d79c89..1b0d8644b8a 100644 --- a/src/mame/drivers/s9.cpp +++ b/src/mame/drivers/s9.cpp @@ -41,6 +41,8 @@ ToDo: #include "s9.lh" +namespace { + class s9_state : public genpin_class { public: @@ -65,6 +67,10 @@ public: DECLARE_INPUT_CHANGED_MEMBER(main_nmi); DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); +protected: + virtual void machine_start() override { m_digits.resolve(); } + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + private: uint8_t sound_r(); void dig0_w(uint8_t data); @@ -83,7 +89,6 @@ private: DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; // comma3&4 DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; // comma1&2 DECLARE_WRITE_LINE_MEMBER(pia_irq); - DECLARE_MACHINE_RESET(s9); void s9_audio_map(address_map &map); void s9_main_map(address_map &map); @@ -93,9 +98,7 @@ private: uint8_t m_switch_col; bool m_data_ok; emu_timer* m_irq_timer; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; static const device_timer_id TIMER_IRQ = 0; - virtual void machine_start() override { m_digits.resolve(); } required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; required_device<hc55516_device> m_hc55516; @@ -319,10 +322,6 @@ void s9_state::device_timer(emu_timer &timer, device_timer_id id, int param, voi } } -MACHINE_RESET_MEMBER( s9_state, s9 ) -{ -} - void s9_state::init_s9() { m_irq_timer = timer_alloc(TIMER_IRQ); @@ -334,7 +333,6 @@ void s9_state::s9(machine_config &config) /* basic machine hardware */ M6808(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &s9_state::s9_main_map); - MCFG_MACHINE_RESET_OVERRIDE(s9_state, s9) /* Video */ config.set_default_layout(layout_s9); @@ -529,6 +527,8 @@ ROM_START(alcat_l7) ROM_REGION(0x8000, "audioroms", ROMREGION_ERASEFF) ROM_END +} // Anonymous namespace + GAME( 1983, ratrc_l1, 0, s9, s9, s9_state, init_s9, ROT0, "Williams", "Rat Race (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING) GAME( 1985, sorcr_l1, sorcr_l2, s9, s9, s9_state, init_s9, ROT0, "Williams", "Sorcerer (L-1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/stargame.cpp b/src/mame/drivers/stargame.cpp index e1fc78eb29e..30f1c4628ad 100644 --- a/src/mame/drivers/stargame.cpp +++ b/src/mame/drivers/stargame.cpp @@ -19,6 +19,8 @@ #include "machine/watchdog.h" +namespace { + class stargame_state : public genpin_class { public: @@ -31,9 +33,11 @@ public: void stargame(machine_config &config); +protected: + virtual void machine_reset() override; + private: void rint_w(uint8_t data); - DECLARE_MACHINE_RESET(stargame); void audiocpu_io(address_map &map); void audiocpu_map(address_map &map); @@ -91,7 +95,7 @@ void stargame_state::rint_w(uint8_t data) m_audiocpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE); } -MACHINE_RESET_MEMBER( stargame_state, stargame ) +void stargame_state::machine_reset() { m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // doesn't do anything? cpu should be stuck in reset until allowed to start by SRESET line } @@ -115,8 +119,6 @@ void stargame_state::stargame(machine_config &config) m_audiocpu->set_addrmap(AS_PROGRAM, &stargame_state::audiocpu_map); m_audiocpu->set_addrmap(AS_IO, &stargame_state::audiocpu_io); - MCFG_MACHINE_RESET_OVERRIDE(stargame_state, stargame) - /* video hardware */ //config.set_default_layout(); @@ -161,6 +163,8 @@ ROM_START(whtforce) ROM_LOAD("sound.bin", 0x0000, 0x4000, CRC(4b2a1580) SHA1(62133fd186b1aab4f5aecfbff8151ba416328021)) ROM_END +} // Anonymous namespace + GAME( 1986, spcship, 0, stargame, stargame, stargame_state, empty_init, ROT0, "Stargame", "Space Ship (Pinball)", MACHINE_IS_SKELETON_MECHANICAL ) GAME( 1987, whtforce, 0, stargame, stargame, stargame_state, empty_init, ROT0, "Stargame", "White Force", MACHINE_IS_SKELETON_MECHANICAL ) diff --git a/src/mame/drivers/vlc.cpp b/src/mame/drivers/vlc.cpp index 67b58ccfe2f..1e1bd860668 100644 --- a/src/mame/drivers/vlc.cpp +++ b/src/mame/drivers/vlc.cpp @@ -138,6 +138,8 @@ nevada TYPE2 : 64 45 51 06 32 02 31 31 #include "tilemap.h" +namespace { + #define MASTER_CLOCK XTAL(16'000'000) #define MASTER_CPU ((MASTER_CLOCK)/2) // 8mhz #define SOUND_CLOCK ((MASTER_CLOCK) /8) // 2mhz @@ -174,6 +176,7 @@ public: void init_nevada(); protected: + virtual void machine_start() override; virtual void video_start() override; private: @@ -211,8 +214,6 @@ private: void nevada_sec_w(uint16_t data); void vram_w(offs_t offset, uint16_t data); - DECLARE_MACHINE_START(nevada); - TILE_GET_INFO_MEMBER(get_bg_tile_info); void nevada_map(address_map &map); @@ -560,7 +561,7 @@ INPUT_PORTS_END * Machine start * *************************/ -MACHINE_START_MEMBER(nevada_state, nevada) +void nevada_state::machine_start() { m_nvram->set_base(m_ram62256, 0x1000); } @@ -579,8 +580,6 @@ void nevada_state::nevada(machine_config &config) WATCHDOG_TIMER(config, "watchdog").set_time(attotime::from_msec(150)); /* 150ms Ds1232 TD to Ground */ - MCFG_MACHINE_START_OVERRIDE(nevada_state, nevada) - NVRAM(config, "nvram").set_custom_handler(FUNC(nevada_state::nvram_init)); // video hardware @@ -673,6 +672,9 @@ void nevada_state::init_nevada() } /***************************************************************************/ +} // Anonymous namespace + + /************************* * Game Drivers * *************************/ diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h index bcf7d47311f..48e36f05434 100644 --- a/src/mame/includes/badlands.h +++ b/src/mame/includes/badlands.h @@ -37,24 +37,37 @@ public: : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_audiocpu(*this, "audiocpu") + , m_gfxdecode(*this, "gfxdecode") + , m_playfield_tilemap(*this, "playfield") + , m_screen(*this, "screen") , m_soundlatch(*this, "soundlatch") , m_mainlatch(*this, "mainlatch") , m_ymsnd(*this, "ymsnd") - , m_screen(*this, "screen") - , m_gfxdecode(*this, "gfxdecode") - , m_playfield_tilemap(*this, "playfield") , m_mob(*this, "mob") { } + void badlands(machine_config &config); + void init_badlands(); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + required_device<cpu_device> m_maincpu; - optional_device<cpu_device> m_audiocpu; + required_device<cpu_device> m_audiocpu; + required_device<gfxdecode_device> m_gfxdecode; + required_device<tilemap_device> m_playfield_tilemap; + required_device<screen_device> m_screen; + + TILE_GET_INFO_MEMBER(get_playfield_tile_info); + void video_int_ack_w(uint16_t data); + void badlands_pf_bank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + +private: optional_device<generic_latch_8_device> m_soundlatch; optional_device<generic_latch_8_device> m_mainlatch; optional_device<ym2151_device> m_ymsnd; - - required_device<screen_device> m_screen; - required_device<gfxdecode_device> m_gfxdecode; - required_device<tilemap_device> m_playfield_tilemap; optional_device<atari_motion_objects_device> m_mob; uint16_t sound_busy_r(); @@ -67,19 +80,11 @@ public: uint8_t audio_irqack_r(); void audio_irqack_w(uint8_t data); - void init_badlands(); - TILE_GET_INFO_MEMBER(get_playfield_tile_info); - DECLARE_MACHINE_START(badlands); - DECLARE_MACHINE_RESET(badlands); - DECLARE_VIDEO_START(badlands); uint32_t screen_update_badlands(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(vblank_int); - void video_int_ack_w(uint16_t data); TIMER_DEVICE_CALLBACK_MEMBER(sound_scanline); - void badlands_pf_bank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); static const atari_motion_objects_config s_mob_config; - void badlands(machine_config &config); void audio_map(address_map &map); void main_map(address_map &map); diff --git a/src/mame/includes/mc1502.h b/src/mame/includes/mc1502.h index 3e942f71bb1..14c263ea967 100644 --- a/src/mame/includes/mc1502.h +++ b/src/mame/includes/mc1502.h @@ -50,6 +50,10 @@ public: void fdc_config(device_t *device); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: required_device<cpu_device> m_maincpu; required_device<i8251_device> m_upd8251; @@ -64,9 +68,6 @@ private: required_device<ram_device> m_ram; required_ioport_array<12> m_kbdio; - DECLARE_MACHINE_START(mc1502); - DECLARE_MACHINE_RESET(mc1502); - TIMER_CALLBACK_MEMBER(keyb_signal_callback); struct { diff --git a/src/mame/includes/namcofl.h b/src/mame/includes/namcofl.h index 9f19ff35213..7b46f302754 100644 --- a/src/mame/includes/namcofl.h +++ b/src/mame/includes/namcofl.h @@ -38,6 +38,10 @@ public: void driver_init() override; +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + private: required_device<cpu_device> m_maincpu; required_device_array<address_map_bank_device, 2> m_mainbank; @@ -88,9 +92,6 @@ private: uint8_t dac1_r(); uint8_t dac0_r(); void spritebank_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); - DECLARE_MACHINE_START(namcofl); - DECLARE_MACHINE_RESET(namcofl); - DECLARE_VIDEO_START(namcofl); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(network_interrupt_callback); TIMER_CALLBACK_MEMBER(vblank_interrupt_callback); diff --git a/src/mame/includes/phoenix.h b/src/mame/includes/phoenix.h index 51c8c7e78a8..d0d7d9902ed 100644 --- a/src/mame/includes/phoenix.h +++ b/src/mame/includes/phoenix.h @@ -23,35 +23,22 @@ public: { } - void phoenix_videoram_w(offs_t offset, uint8_t data); - void phoenix_videoreg_w(uint8_t data); - void pleiads_videoreg_w(uint8_t data); - void phoenix_scroll_w(uint8_t data); - uint8_t survival_input_port_0_r(); DECLARE_CUSTOM_INPUT_MEMBER(player_input_r); DECLARE_READ_LINE_MEMBER(pleiads_protection_r); - void init_oneprom(); - void init_coindsw(); - void init_oneprom_coindsw(); - TILE_GET_INFO_MEMBER(get_fg_tile_info); - TILE_GET_INFO_MEMBER(get_bg_tile_info); - DECLARE_MACHINE_RESET(phoenix); - DECLARE_VIDEO_START(phoenix); - void phoenix_palette(palette_device &palette) const; - void survival_palette(palette_device &palette) const; - void pleiads_palette(palette_device &palette) const; - uint32_t screen_update_phoenix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint8_t survival_protection_r(); - DECLARE_READ_LINE_MEMBER(survival_sid_callback); void condor(machine_config &config); void phoenix(machine_config &config); void survival(machine_config &config); void pleiads(machine_config &config); - void phoenix_memory_map(address_map &map); - void pleiads_memory_map(address_map &map); - void survival_memory_map(address_map &map); + + void init_oneprom(); + void init_coindsw(); + void init_oneprom_coindsw(); + protected: + virtual void video_start() override; + +private: required_device<cpu_device> m_maincpu; optional_device<pleiads_sound_device> m_pleiads_custom; required_device<gfxdecode_device> m_gfxdecode; @@ -69,6 +56,23 @@ protected: int m_survival_sid_value; uint8_t m_survival_input_latches[2]; uint8_t m_survival_input_readc; + + void phoenix_videoram_w(offs_t offset, uint8_t data); + void phoenix_videoreg_w(uint8_t data); + void pleiads_videoreg_w(uint8_t data); + void phoenix_scroll_w(uint8_t data); + uint8_t survival_input_port_0_r(); + TILE_GET_INFO_MEMBER(get_fg_tile_info); + TILE_GET_INFO_MEMBER(get_bg_tile_info); + void phoenix_palette(palette_device &palette) const; + void survival_palette(palette_device &palette) const; + void pleiads_palette(palette_device &palette) const; + uint32_t screen_update_phoenix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint8_t survival_protection_r(); + DECLARE_READ_LINE_MEMBER(survival_sid_callback); + void phoenix_memory_map(address_map &map); + void pleiads_memory_map(address_map &map); + void survival_memory_map(address_map &map); }; diff --git a/src/mame/includes/s11.h b/src/mame/includes/s11.h index af42237c704..757c912153e 100644 --- a/src/mame/includes/s11.h +++ b/src/mame/includes/s11.h @@ -108,7 +108,9 @@ public: void s11_audio_map(address_map &map); protected: - DECLARE_MACHINE_RESET(s11); + virtual void machine_start() override { m_digits.resolve(); } + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void machine_reset() override; // devices required_device<cpu_device> m_maincpu; @@ -147,9 +149,6 @@ protected: static const device_timer_id TIMER_IRQ = 0; private: - virtual void machine_start() override { m_digits.resolve(); } - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - uint8_t m_sound_data; uint8_t m_strobe; uint8_t m_switch_col; diff --git a/src/mame/includes/s11a.h b/src/mame/includes/s11a.h index 524513be037..61e9878dd75 100644 --- a/src/mame/includes/s11a.h +++ b/src/mame/includes/s11a.h @@ -25,9 +25,6 @@ public: void init_s11a(); void dig0_w(uint8_t data); - -private: - DECLARE_MACHINE_RESET(s11a); }; #endif // MAME_INCLUDES_S11A_H diff --git a/src/mame/includes/s11b.h b/src/mame/includes/s11b.h index 213b530ef11..4436e812525 100644 --- a/src/mame/includes/s11b.h +++ b/src/mame/includes/s11b.h @@ -25,17 +25,16 @@ public: void init_s11b(); void init_s11b_invert(); +protected: + virtual void machine_reset() override; + void set_invert(bool inv) { m_invert = inv; } + void dig1_w(uint8_t data); void pia2c_pa_w(uint8_t data); void pia2c_pb_w(uint8_t data); void pia34_pa_w(uint8_t data); -protected: - void set_invert(bool inv) { m_invert = inv; } - private: - DECLARE_MACHINE_RESET(s11b); - bool m_invert; // later System 11B games start expecting inverted data to the display LED segments. }; diff --git a/src/mame/video/badlands.cpp b/src/mame/video/badlands.cpp index 27fd00abf7e..e3f32549ecd 100644 --- a/src/mame/video/badlands.cpp +++ b/src/mame/video/badlands.cpp @@ -68,7 +68,7 @@ const atari_motion_objects_config badlands_state::s_mob_config = 0, /* resulting value to indicate "special" */ }; -VIDEO_START_MEMBER(badlands_state,badlands) +void badlands_state::video_start() { /* save states */ save_item(NAME(m_playfield_tile_bank)); diff --git a/src/mame/video/namcofl.cpp b/src/mame/video/namcofl.cpp index 823eda54b37..2a78ad23e61 100644 --- a/src/mame/video/namcofl.cpp +++ b/src/mame/video/namcofl.cpp @@ -104,8 +104,3 @@ int namcofl_state::FLobjcode2tile(int code) return code; } - -VIDEO_START_MEMBER(namcofl_state,namcofl) -{ -} - diff --git a/src/mame/video/phoenix.cpp b/src/mame/video/phoenix.cpp index 4bb58d0d7c4..84c9787cedf 100644 --- a/src/mame/video/phoenix.cpp +++ b/src/mame/video/phoenix.cpp @@ -163,7 +163,7 @@ TILE_GET_INFO_MEMBER(phoenix_state::get_bg_tile_info) ***************************************************************************/ -VIDEO_START_MEMBER(phoenix_state,phoenix) +void phoenix_state::video_start() { m_videoram_pg[0] = std::make_unique<uint8_t[]>(0x1000); memset(m_videoram_pg[0].get(), 0x00, 0x1000 * sizeof(uint8_t)); |