diff options
author | 2018-12-25 20:55:27 +0100 | |
---|---|---|
committer | 2018-12-25 20:56:14 +0100 | |
commit | 186740c33fbb5a170f039ec8078cfcf144c43ea2 (patch) | |
tree | 6f1b547967075025a05f5967487d04bd22f8a5e0 | |
parent | 95538b9da8cdb85687784ad723d1a4efb2d631a1 (diff) |
spkrdev: Removed MCFG macros, nw
-rw-r--r-- | src/devices/bus/ecbbus/grip.cpp | 35 | ||||
-rw-r--r-- | src/devices/bus/vtech/ioexp/ioexp.h | 23 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/floppy.cpp | 11 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/memexp.h | 38 | ||||
-rw-r--r-- | src/devices/sound/spkrdev.h | 3 | ||||
-rw-r--r-- | src/devices/video/hlcd0515.h | 4 | ||||
-rw-r--r-- | src/devices/video/mc6847.h | 11 | ||||
-rw-r--r-- | src/mame/drivers/apogee.cpp | 50 | ||||
-rw-r--r-- | src/mame/drivers/hh_sm510.cpp | 1700 | ||||
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 868 | ||||
-rw-r--r-- | src/mame/drivers/hh_ucom4.cpp | 412 | ||||
-rw-r--r-- | src/mame/drivers/pokemini.cpp | 41 | ||||
-rw-r--r-- | src/mame/drivers/vtech1.cpp | 66 | ||||
-rw-r--r-- | src/mame/drivers/vtech2.cpp | 2 |
14 files changed, 1680 insertions, 1584 deletions
diff --git a/src/devices/bus/ecbbus/grip.cpp b/src/devices/bus/ecbbus/grip.cpp index 655710cd0d5..9449ece9339 100644 --- a/src/devices/bus/ecbbus/grip.cpp +++ b/src/devices/bus/ecbbus/grip.cpp @@ -405,7 +405,8 @@ void ecb_grip21_device::kb_w(uint8_t data) //------------------------------------------------- -MACHINE_CONFIG_START(ecb_grip21_device::device_add_mconfig) +void ecb_grip21_device::device_add_mconfig(machine_config &config) +{ // basic machine hardware z80_device& z80(Z80(config, Z80_TAG, XTAL(16'000'000)/4)); z80.set_daisy_config(grip_daisy_chain); @@ -413,20 +414,21 @@ MACHINE_CONFIG_START(ecb_grip21_device::device_add_mconfig) z80.set_addrmap(AS_IO, &ecb_grip21_device::grip_io); // video hardware - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::white()) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate - MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update) - MCFG_SCREEN_SIZE(640, 480) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER)); + screen.set_color(rgb_t::white()); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update)); + screen.set_size(640, 480); + screen.set_visarea(0, 640-1, 0, 480-1); - MCFG_PALETTE_ADD_MONOCHROME("palette") + PALETTE(config, "palette", 2).set_init("palette", FUNC(palette_device::palette_init_monochrome)); // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND, 0) - MCFG_SPEAKER_LEVELS(4, speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); // devices MC6845(config, m_crtc, XTAL(16'000'000)/4); @@ -452,15 +454,16 @@ MACHINE_CONFIG_START(ecb_grip21_device::device_add_mconfig) m_sti->out_tco_cb().set(m_sti, FUNC(z80sti_device::tc_w)); m_sti->out_tdo_cb().set(m_sti, FUNC(z80sti_device::tc_w)); - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, ecb_grip21_device, write_centronics_busy)) - MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, ecb_grip21_device, write_centronics_fault)) + CENTRONICS(config, m_centronics, centronics_devices, "printer"); + m_centronics->busy_handler().set(FUNC(ecb_grip21_device::write_centronics_busy)); + m_centronics->fault_handler().set(FUNC(ecb_grip21_device::write_centronics_fault)); - MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) + output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out")); + m_centronics->set_output_latch(cent_data_out); generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0)); keyboard.set_keyboard_callback(FUNC(ecb_grip21_device::kb_w)); -MACHINE_CONFIG_END +} //************************************************************************** diff --git a/src/devices/bus/vtech/ioexp/ioexp.h b/src/devices/bus/vtech/ioexp/ioexp.h index 7b9e97a7e03..0c2a3d2d431 100644 --- a/src/devices/bus/vtech/ioexp/ioexp.h +++ b/src/devices/bus/vtech/ioexp/ioexp.h @@ -29,16 +29,8 @@ #pragma once - - -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_IOEXP_SLOT_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, VTECH_IOEXP_SLOT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(vtech_ioexp_slot_carts, nullptr, false) - +// include here so drivers don't need to +#include "carts.h" //************************************************************************** // TYPE DEFINITIONS @@ -51,6 +43,14 @@ class vtech_ioexp_slot_device : public device_t, public device_slot_interface friend class device_vtech_ioexp_interface; public: // construction/destruction + vtech_ioexp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner) + : vtech_ioexp_slot_device(mconfig, tag, owner, (uint32_t)0) + { + option_reset(); + vtech_ioexp_slot_carts(*this); + set_default_option(nullptr); + set_fixed(false); + } vtech_ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~vtech_ioexp_slot_device(); @@ -84,7 +84,4 @@ protected: // device type definition DECLARE_DEVICE_TYPE(VTECH_IOEXP_SLOT, vtech_ioexp_slot_device) -// include here so drivers don't need to -#include "carts.h" - #endif // MAME_BUS_VTECH_IOEXP_IOEXP_H diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp index 0ceda834853..bf7a3175594 100644 --- a/src/devices/bus/vtech/memexp/floppy.cpp +++ b/src/devices/bus/vtech/memexp/floppy.cpp @@ -50,11 +50,12 @@ static void laser_floppies(device_slot_interface &device) device.option_add("525", FLOPPY_525_SSSD); } -MACHINE_CONFIG_START(vtech_floppy_controller_device::device_add_mconfig) - MCFG_MEMEXP_SLOT_ADD("mem") - MCFG_FLOPPY_DRIVE_ADD("0", laser_floppies, "525", floppy_image_device::default_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("1", laser_floppies, "525", floppy_image_device::default_floppy_formats) -MACHINE_CONFIG_END +void vtech_floppy_controller_device::device_add_mconfig(machine_config &config) +{ + VTECH_MEMEXP_SLOT(config, m_memexp); + FLOPPY_CONNECTOR(config, m_floppy0, laser_floppies, "525", floppy_image_device::default_floppy_formats); + FLOPPY_CONNECTOR(config, m_floppy1, laser_floppies, "525", floppy_image_device::default_floppy_formats); +} //************************************************************************** diff --git a/src/devices/bus/vtech/memexp/memexp.h b/src/devices/bus/vtech/memexp/memexp.h index 87bde42bf5d..097036bfd92 100644 --- a/src/devices/bus/vtech/memexp/memexp.h +++ b/src/devices/bus/vtech/memexp/memexp.h @@ -36,25 +36,8 @@ #pragma once - - -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_MEMEXP_SLOT_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, VTECH_MEMEXP_SLOT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(vtech_memexp_carts, nullptr, false) - -#define MCFG_MEMEXP_SLOT_INT_HANDLER(_devcb) \ - downcast<vtech_memexp_device &>(*device).set_int_handler(DEVCB_##_devcb); - -#define MCFG_MEMEXP_SLOT_NMI_HANDLER(_devcb) \ - downcast<vtech_memexp_device &>(*device).set_nmi_handler(DEVCB_##_devcb); - -#define MCFG_MEMEXP_SLOT_RESET_HANDLER(_devcb) \ - downcast<vtech_memexp_device &>(*device).set_reset_handler(DEVCB_##_devcb); - +// include here so drivers don't need to +#include "carts.h" //************************************************************************** // TYPE DEFINITIONS @@ -67,6 +50,14 @@ class vtech_memexp_slot_device : public device_t, public device_slot_interface friend class device_vtech_memexp_interface; public: // construction/destruction + vtech_memexp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner) + : vtech_memexp_slot_device(mconfig, tag, owner, (uint32_t)0) + { + option_reset(); + vtech_memexp_carts(*this); + set_default_option(nullptr); + set_fixed(false); + } vtech_memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~vtech_memexp_slot_device(); @@ -74,9 +65,9 @@ public: void set_io_space(address_space *io); // callbacks - template <class Object> devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_reset_handler(Object &&cb) { return m_reset_handler.set_callback(std::forward<Object>(cb)); } + auto int_handler() { return m_int_handler.bind(); } + auto nmi_handler() { return m_nmi_handler.bind(); } + auto reset_handler() { return m_reset_handler.bind(); } // called from cart device DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); } @@ -117,7 +108,4 @@ protected: // device type definition DECLARE_DEVICE_TYPE(VTECH_MEMEXP_SLOT, vtech_memexp_slot_device) -// include here so drivers don't need to -#include "carts.h" - #endif // MAME_BUS_VTECH_MEMEXP_MEMEXP_H diff --git a/src/devices/sound/spkrdev.h b/src/devices/sound/spkrdev.h index 3d5f70477c2..7542d943793 100644 --- a/src/devices/sound/spkrdev.h +++ b/src/devices/sound/spkrdev.h @@ -13,9 +13,6 @@ #pragma once -#define MCFG_SPEAKER_LEVELS(_num, _levels) \ - downcast<speaker_sound_device &>(*device).set_levels(_num, _levels); - class speaker_sound_device : public device_t, public device_sound_interface { diff --git a/src/devices/video/hlcd0515.h b/src/devices/video/hlcd0515.h index 51d7c8380ae..5fb094d0c24 100644 --- a/src/devices/video/hlcd0515.h +++ b/src/devices/video/hlcd0515.h @@ -56,8 +56,8 @@ public: hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); // configuration helpers - template <typename Object> devcb_base &set_write_cols_callback(Object &&cb) { return m_write_cols.set_callback(std::forward<Object>(cb)); } - template <typename Object> devcb_base &set_write_data_callback(Object &&cb) { return m_write_data.set_callback(std::forward<Object>(cb)); } + auto write_cols() { return m_write_cols.bind(); } + auto write_data() { return m_write_data.bind(); } DECLARE_WRITE_LINE_MEMBER(write_clock); DECLARE_WRITE_LINE_MEMBER(write_cs); diff --git a/src/devices/video/mc6847.h b/src/devices/video/mc6847.h index 763ef0c65f5..32d2c519f18 100644 --- a/src/devices/video/mc6847.h +++ b/src/devices/video/mc6847.h @@ -524,6 +524,17 @@ public: updating is complete, end_update() */ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + template <typename T, typename U> + static void add_pal_screen(machine_config &config, T &&screen_tag, U &&mc_tag) + { + screen_device &screen(SCREEN(config, std::forward<T>(screen_tag), SCREEN_TYPE_RASTER)); + screen.set_screen_update(std::forward<U>(mc_tag), FUNC(mc6847_base_device::screen_update)); + screen.set_refresh_hz(50); + screen.set_size(320, 243); + screen.set_visarea(0, 320-1, 1, 241-1); + screen.set_vblank_time(0); + } + // mode changing operations DECLARE_WRITE_LINE_MEMBER( ag_w ) { change_mode(MODE_AG, state); } DECLARE_WRITE_LINE_MEMBER( gm2_w ) { change_mode(MODE_GM2, state); } diff --git a/src/mame/drivers/apogee.cpp b/src/mame/drivers/apogee.cpp index 02fad5ec953..4d12d4af250 100644 --- a/src/mame/drivers/apogee.cpp +++ b/src/mame/drivers/apogee.cpp @@ -215,10 +215,11 @@ GFXDECODE_END /* Machine driver */ -MACHINE_CONFIG_START(apogee_state::apogee) +void apogee_state::apogee(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", I8080, XTAL(16'000'000) / 9) - MCFG_DEVICE_PROGRAM_MAP(apogee_mem) + I8080(config, m_maincpu, XTAL(16'000'000) / 9); + m_maincpu->set_addrmap(AS_PROGRAM, &apogee_state::apogee_mem); pit8253_device &pit8253(PIT8253(config, "pit8253", 0)); pit8253.set_clk<0>(XTAL(16'000'000)/9); @@ -236,27 +237,26 @@ MACHINE_CONFIG_START(apogee_state::apogee) //MCFG_DEVICE_ADD("ppi8255_2", I8255, 0) - MCFG_DEVICE_ADD("i8275", I8275, XTAL(16'000'000) / 12) - MCFG_I8275_CHARACTER_WIDTH(6) - MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(apogee_state, display_pixels) - MCFG_I8275_DRQ_CALLBACK(WRITELINE(m_dma8257, i8257_device, dreq2_w)) + i8275_device &i8275(I8275(config, "i8275", XTAL(16'000'000) / 12)); + i8275.set_character_width(6); + i8275.set_display_callback(FUNC(apogee_state::display_pixels)); + i8275.drq_wr_callback().set(m_dma8257, FUNC(i8257_device::dreq2_w)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_UPDATE_DEVICE("i8275", i8275_device, screen_update) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(78*6, 30*10) - MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_screen_update("i8275", FUNC(i8275_device::screen_update)); + screen.set_refresh_hz(50); + screen.set_size(78*6, 30*10); + screen.set_visarea(0, 78*6-1, 0, 30*10-1); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_apogee) - MCFG_PALETTE_ADD("palette", 3) - MCFG_PALETTE_INIT_OWNER(apogee_state,radio86) + GFXDECODE(config, "gfxdecode", m_palette, gfx_apogee); + PALETTE(config, m_palette, 3).set_init(FUNC(apogee_state::palette_init_radio86)); SPEAKER(config, "mono").front_center(); - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) + WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25); + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.75); I8257(config, m_dma8257, XTAL(16'000'000) / 9); m_dma8257->out_hrq_cb().set(FUNC(radio86_state::hrq_w)); @@ -265,13 +265,13 @@ MACHINE_CONFIG_START(apogee_state::apogee) m_dma8257->out_iow_cb<2>().set("i8275", FUNC(i8275_device::dack_w)); m_dma8257->set_reverse_rw_mode(1); - MCFG_CASSETTE_ADD( "cassette" ) - MCFG_CASSETTE_FORMATS(rka_cassette_formats) - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED) - MCFG_CASSETTE_INTERFACE("apogee_cass") + CASSETTE(config, m_cassette); + m_cassette->set_formats(rka_cassette_formats); + m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED)); + m_cassette->set_interface("apogee_cass"); - MCFG_SOFTWARE_LIST_ADD("cass_list","apogee") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "cass_list").set_original("apogee"); +} /* ROM definition */ ROM_START( apogee ) diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp index c70c6e8ba80..117122fb6d9 100644 --- a/src/mame/drivers/hh_sm510.cpp +++ b/src/mame/drivers/hh_sm510.cpp @@ -279,8 +279,8 @@ static INPUT_PORTS_START( kdribble ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kdribble_state::kdribble) - +void kdribble_state::kdribble(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -290,18 +290,18 @@ MACHINE_CONFIG_START(kdribble_state::kdribble) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1524, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1524-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1524, 1080); + screen.set_visarea(0, 1524-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -351,8 +351,8 @@ static INPUT_PORTS_START( ktopgun ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(ktopgun_state::ktopgun) - +void ktopgun_state::ktopgun(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -362,18 +362,19 @@ MACHINE_CONFIG_START(ktopgun_state::ktopgun) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1515, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1515-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1515, 1080); + screen.set_visarea(0, 1515-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -425,8 +426,8 @@ static INPUT_PORTS_START( kcontra ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kcontra_state::kcontra) - +void kcontra_state::kcontra(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -435,18 +436,19 @@ MACHINE_CONFIG_START(kcontra_state::kcontra) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1505, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1505-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1505, 1080); + screen.set_visarea(0, 1505-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -497,8 +499,8 @@ static INPUT_PORTS_START( ktmnt ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(ktmnt_state::ktmnt) - +void ktmnt_state::ktmnt(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -507,18 +509,19 @@ MACHINE_CONFIG_START(ktmnt_state::ktmnt) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1505, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1505-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1505, 1080); + screen.set_visarea(0, 1505-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -566,8 +569,8 @@ static INPUT_PORTS_START( kgradius ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kgradius_state::kgradius) - +void kgradius_state::kgradius(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -576,18 +579,19 @@ MACHINE_CONFIG_START(kgradius_state::kgradius) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1420, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1420-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1420, 1080); + screen.set_visarea(0, 1420-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -633,8 +637,8 @@ static INPUT_PORTS_START( kloneran ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kloneran_state::kloneran) - +void kloneran_state::kloneran(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -643,18 +647,19 @@ MACHINE_CONFIG_START(kloneran_state::kloneran) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1497, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1497-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1497, 1080); + screen.set_visarea(0, 1497-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -704,8 +709,8 @@ static INPUT_PORTS_START( kblades ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kblades_state::kblades) - +void kblades_state::kblades(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -714,17 +719,18 @@ MACHINE_CONFIG_START(kblades_state::kblades) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1516, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1516-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1516, 1080); + screen.set_visarea(0, 1516-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -776,8 +782,8 @@ static INPUT_PORTS_START( knfl ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(knfl_state::knfl) - +void knfl_state::knfl(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -786,17 +792,18 @@ MACHINE_CONFIG_START(knfl_state::knfl) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1449, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1449-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1449, 1080); + screen.set_visarea(0, 1449-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -847,8 +854,8 @@ static INPUT_PORTS_START( kbilly ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kbilly_state::kbilly) - +void kbilly_state::kbilly(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -857,17 +864,18 @@ MACHINE_CONFIG_START(kbilly_state::kbilly) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1490, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1490-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1490, 1080); + screen.set_visarea(0, 1490-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -912,8 +920,8 @@ static INPUT_PORTS_START( kbucky ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kbucky_state::kbucky) - +void kbucky_state::kbucky(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -922,17 +930,18 @@ MACHINE_CONFIG_START(kbucky_state::kbucky) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1490, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1490-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1490, 1080); + screen.set_visarea(0, 1490-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -981,8 +990,8 @@ static INPUT_PORTS_START( kgarfld ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("All Clear") INPUT_PORTS_END -MACHINE_CONFIG_START(kgarfld_state::kgarfld) - +void kgarfld_state::kgarfld(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -991,17 +1000,18 @@ MACHINE_CONFIG_START(kgarfld_state::kgarfld) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1500, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1500-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1500, 1080); + screen.set_visarea(0, 1500-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1073,8 +1083,8 @@ static INPUT_PORTS_START( exospace ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_mmouse_state::gnw_mmouse) - +void gnw_mmouse_state::gnw_mmouse(machine_config &config) +{ /* basic machine hardware */ SM5A(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // ? @@ -1084,29 +1094,31 @@ MACHINE_CONFIG_START(gnw_mmouse_state::gnw_mmouse) m_maincpu->read_ba().set_ioport("BA"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1711, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1711-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1711, 1080); + screen.set_visarea(0, 1711-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} -MACHINE_CONFIG_START(gnw_mmouse_state::gnw_egg) +void gnw_mmouse_state::gnw_egg(machine_config &config) +{ gnw_mmouse(config); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(1694, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1694-1, 0, 1080-1) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_size(1694, 1080); + subdevice<screen_device>("screen")->set_visarea(0, 1694-1, 0, 1080-1); +} -MACHINE_CONFIG_START(gnw_mmouse_state::nupogodi) +void gnw_mmouse_state::nupogodi(machine_config &config) +{ gnw_mmouse(config); /* basic machine hardware */ @@ -1118,19 +1130,18 @@ MACHINE_CONFIG_START(gnw_mmouse_state::nupogodi) m_maincpu->read_ba().set_ioport("BA"); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(1715, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1715-1, 0, 1080-1) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_size(1715, 1080); + subdevice<screen_device>("screen")->set_visarea(0, 1715-1, 0, 1080-1); +} -MACHINE_CONFIG_START(gnw_mmouse_state::exospace) +void gnw_mmouse_state::exospace(machine_config &config) +{ nupogodi(config); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(1756, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1756-1, 0, 1080-1) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_size(1756, 1080); + subdevice<screen_device>("screen")->set_visarea(0, 1756-1, 0, 1080-1); +} @@ -1186,8 +1197,8 @@ static INPUT_PORTS_START( gnw_opanic ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_opanic_state::gnw_opanic) - +void gnw_opanic_state::gnw_opanic(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1199,24 +1210,26 @@ MACHINE_CONFIG_START(gnw_opanic_state::gnw_opanic) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_top", "svg_top") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1292/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1292/2-1) - - MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1230/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1230/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG)); + screen_top.set_svg_region("svg_top"); + screen_top.set_refresh_hz(50); + screen_top.set_size(1920/2, 1292/2); + screen_top.set_visarea(0, 1920/2-1, 0, 1292/2-1); + + screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG)); + screen_bottom.set_svg_region("svg_bottom"); + screen_bottom.set_refresh_hz(50); + screen_bottom.set_size(1920/2, 1230/2); + screen_bottom.set_visarea(0, 1920/2-1, 0, 1230/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1271,8 +1284,8 @@ static INPUT_PORTS_START( gnw_dkong ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_dkong_state::gnw_dkong) - +void gnw_dkong_state::gnw_dkong(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1283,24 +1296,26 @@ MACHINE_CONFIG_START(gnw_dkong_state::gnw_dkong) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_top", "svg_top") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1266/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1266/2-1) - - MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1266/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1266/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG)); + screen_top.set_svg_region("svg_top"); + screen_top.set_refresh_hz(50); + screen_top.set_size(1920/2, 1266/2); + screen_top.set_visarea(0, 1920/2-1, 0, 1266/2-1); + + screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG)); + screen_bottom.set_svg_region("svg_bottom"); + screen_bottom.set_refresh_hz(50); + screen_bottom.set_size(1920/2, 1266/2); + screen_bottom.set_visarea(0, 1920/2-1, 0, 1266/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1351,8 +1366,8 @@ static INPUT_PORTS_START( gnw_mickdon ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_mickdon_state::gnw_mickdon) - +void gnw_mickdon_state::gnw_mickdon(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1363,24 +1378,26 @@ MACHINE_CONFIG_START(gnw_mickdon_state::gnw_mickdon) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_top", "svg_top") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1281/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1281/2-1) - - MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1236/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1236/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG)); + screen_top.set_svg_region("svg_top"); + screen_top.set_refresh_hz(50); + screen_top.set_size(1920/2, 1281/2); + screen_top.set_visarea(0, 1920/2-1, 0, 1281/2-1); + + screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG)); + screen_bottom.set_svg_region("svg_bottom"); + screen_bottom.set_refresh_hz(50); + screen_bottom.set_size(1920/2, 1236/2); + screen_bottom.set_visarea(0, 1920/2-1, 0, 1236/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1440,8 +1457,8 @@ static INPUT_PORTS_START( gnw_ghouse ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_ghouse_state::gnw_ghouse) - +void gnw_ghouse_state::gnw_ghouse(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1453,24 +1470,26 @@ MACHINE_CONFIG_START(gnw_ghouse_state::gnw_ghouse) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_top", "svg_top") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1303/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1303/2-1) - - MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1274/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1274/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG)); + screen_top.set_svg_region("svg_top"); + screen_top.set_refresh_hz(50); + screen_top.set_size(1920/2, 1303/2); + screen_top.set_visarea(0, 1920/2-1, 0, 1303/2-1); + + screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG)); + screen_bottom.set_svg_region("svg_bottom"); + screen_bottom.set_refresh_hz(50); + screen_bottom.set_size(1920/2, 1274/2); + screen_bottom.set_visarea(0, 1920/2-1, 0, 1274/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1525,8 +1544,8 @@ static INPUT_PORTS_START( gnw_dkong2 ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_dkong2_state::gnw_dkong2) - +void gnw_dkong2_state::gnw_dkong2(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1537,24 +1556,26 @@ MACHINE_CONFIG_START(gnw_dkong2_state::gnw_dkong2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_top", "svg_top") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1241/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1241/2-1) - - MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1237/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1237/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG)); + screen_top.set_svg_region("svg_top"); + screen_top.set_refresh_hz(50); + screen_top.set_size(1920/2, 1241/2); + screen_top.set_visarea(0, 1920/2-1, 0, 1241/2-1); + + screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG)); + screen_bottom.set_svg_region("svg_top"); + screen_bottom.set_refresh_hz(50); + screen_bottom.set_size(1920/2, 1237/2); + screen_bottom.set_visarea(0, 1920/2-1, 0, 1237/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1610,8 +1631,8 @@ static INPUT_PORTS_START( gnw_mario ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_mario_state::gnw_mario) - +void gnw_mario_state::gnw_mario(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1623,24 +1644,26 @@ MACHINE_CONFIG_START(gnw_mario_state::gnw_mario) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_left", "svg_left") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(2258/2, 1440/2) - MCFG_SCREEN_VISIBLE_AREA(0, 2258/2-1, 0, 1440/2-1) - - MCFG_SCREEN_SVG_ADD("screen_right", "svg_right") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(2261/2, 1440/2) - MCFG_SCREEN_VISIBLE_AREA(0, 2261/2-1, 0, 1440/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_left(SCREEN(config, "screen_left", SCREEN_TYPE_SVG)); + screen_left.set_svg_region("svg_left"); + screen_left.set_refresh_hz(50); + screen_left.set_size(2258/2, 1440/2); + screen_left.set_visarea(0, 2258/2-1, 0, 1440/2-1); + + screen_device &screen_right(SCREEN(config, "screen_right", SCREEN_TYPE_SVG)); + screen_right.set_svg_region("svg_right"); + screen_right.set_refresh_hz(50); + screen_right.set_size(2261/2, 1440/2); + screen_right.set_visarea(0, 2261/2-1, 0, 1440/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualh); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1696,8 +1719,8 @@ static INPUT_PORTS_START( gnw_squish ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_squish_state::gnw_squish) - +void gnw_squish_state::gnw_squish(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1709,24 +1732,26 @@ MACHINE_CONFIG_START(gnw_squish_state::gnw_squish) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen_top", "svg_top") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1285/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1285/2-1) - - MCFG_SCREEN_SVG_ADD("screen_bottom", "svg_bottom") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920/2, 1287/2) - MCFG_SCREEN_VISIBLE_AREA(0, 1920/2-1, 0, 1287/2-1) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG)); + screen_top.set_svg_region("svg_top"); + screen_top.set_refresh_hz(50); + screen_top.set_size(1920/2, 1285/2); + screen_top.set_visarea(0, 1920/2-1, 0, 1285/2-1); + + screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG)); + screen_bottom.set_svg_region("svg_bottom"); + screen_bottom.set_refresh_hz(50); + screen_bottom.set_size(1920/2, 1287/2); + screen_bottom.set_visarea(0, 1920/2-1, 0, 1287/2-1); + + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gnw_dualv); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1788,8 +1813,8 @@ static INPUT_PORTS_START( gnw_dkjr ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_dkjr_state::gnw_dkjr) - +void gnw_dkjr_state::gnw_dkjr(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1801,18 +1826,19 @@ MACHINE_CONFIG_START(gnw_dkjr_state::gnw_dkjr) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1647, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1647-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1647, 1080); + screen.set_visarea(0, 1647-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1869,8 +1895,8 @@ static INPUT_PORTS_START( gnw_mariocm ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_mariocm_state::gnw_mariocm) - +void gnw_mariocm_state::gnw_mariocm(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1882,18 +1908,19 @@ MACHINE_CONFIG_START(gnw_mariocm_state::gnw_mariocm) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1647, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1647-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1647, 1080); + screen.set_visarea(0, 1647-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1944,8 +1971,8 @@ static INPUT_PORTS_START( gnw_tfish ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_tfish_state::gnw_tfish) - +void gnw_tfish_state::gnw_tfish(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -1956,18 +1983,19 @@ MACHINE_CONFIG_START(gnw_tfish_state::gnw_tfish) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1572, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1572-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1572, 1080); + screen.set_visarea(0, 1572-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2027,8 +2055,8 @@ static INPUT_PORTS_START( gnw_smb ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_smb_state::gnw_smb) - +void gnw_smb_state::gnw_smb(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -2038,18 +2066,19 @@ MACHINE_CONFIG_START(gnw_smb_state::gnw_smb) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1677, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1677-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1677, 1080); + screen.set_visarea(0, 1677-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2108,8 +2137,8 @@ static INPUT_PORTS_START( gnw_climber ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_climber_state::gnw_climber) - +void gnw_climber_state::gnw_climber(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -2119,18 +2148,19 @@ MACHINE_CONFIG_START(gnw_climber_state::gnw_climber) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1677, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1677-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1677, 1080); + screen.set_visarea(0, 1677-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2209,8 +2239,8 @@ static INPUT_PORTS_START( gnw_boxing ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(gnw_boxing_state::gnw_boxing) - +void gnw_boxing_state::gnw_boxing(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -2221,18 +2251,19 @@ MACHINE_CONFIG_START(gnw_boxing_state::gnw_boxing) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 524) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 524-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 524); + screen.set_visarea(0, 1920-1, 0, 524-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2318,8 +2349,8 @@ static INPUT_PORTS_START( trobhood ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Money") INPUT_PORTS_END -MACHINE_CONFIG_START(tgaunt_state::tgaunt) - +void tgaunt_state::tgaunt(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -2331,27 +2362,28 @@ MACHINE_CONFIG_START(tgaunt_state::tgaunt) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1425, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1425-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1425, 1080); + screen.set_visarea(0, 1425-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} -MACHINE_CONFIG_START(tgaunt_state::trobhood) +void tgaunt_state::trobhood(machine_config &config) +{ tgaunt(config); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(1468, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1468-1, 0, 1080-1) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_size(1468, 1080); + subdevice<screen_device>("screen")->set_visarea(0, 1468-1, 0, 1080-1); +} @@ -2420,8 +2452,8 @@ static INPUT_PORTS_START( tddragon ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tddragon_state::tddragon) - +void tddragon_state::tddragon(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed @@ -2433,18 +2465,19 @@ MACHINE_CONFIG_START(tddragon_state::tddragon) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1467, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1467-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1467, 1080); + screen.set_visarea(0, 1467-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2514,8 +2547,8 @@ static INPUT_PORTS_START( tkarnov ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tkarnov_state::tkarnov) - +void tkarnov_state::tkarnov(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -2527,18 +2560,19 @@ MACHINE_CONFIG_START(tkarnov_state::tkarnov) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1477, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1477-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1477, 1080); + screen.set_visarea(0, 1477-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2607,8 +2641,8 @@ static INPUT_PORTS_START( tvindictr ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tvindictr_state::tvindictr) - +void tvindictr_state::tvindictr(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -2620,18 +2654,19 @@ MACHINE_CONFIG_START(tvindictr_state::tvindictr) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1459, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1459-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1459, 1080); + screen.set_visarea(0, 1459-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2723,8 +2758,8 @@ void tgaiden_state::machine_start() m_led_out.resolve(); } -MACHINE_CONFIG_START(tgaiden_state::tgaiden) - +void tgaiden_state::tgaiden(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -2736,18 +2771,19 @@ MACHINE_CONFIG_START(tgaiden_state::tgaiden) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 1080); + screen.set_visarea(0, 1920-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2812,8 +2848,8 @@ static INPUT_PORTS_START( tbatman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tbatman_state::tbatman) - +void tbatman_state::tbatman(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -2825,18 +2861,19 @@ MACHINE_CONFIG_START(tbatman_state::tbatman) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1442, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1442-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1442, 1080); + screen.set_visarea(0, 1442-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2905,8 +2942,8 @@ static INPUT_PORTS_START( tsharr2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsharr2_state::tsharr2) - +void tsharr2_state::tsharr2(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed @@ -2918,18 +2955,19 @@ MACHINE_CONFIG_START(tsharr2_state::tsharr2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1493, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1493-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1493, 1080); + screen.set_visarea(0, 1493-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2995,8 +3033,8 @@ static INPUT_PORTS_START( tstrider ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tstrider_state::tstrider) - +void tstrider_state::tstrider(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3008,18 +3046,19 @@ MACHINE_CONFIG_START(tstrider_state::tstrider) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1479, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1479-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1479, 1080); + screen.set_visarea(0, 1479-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3089,8 +3128,8 @@ static INPUT_PORTS_START( tgoldnaxe ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tgoldnaxe_state::tgoldnaxe) - +void tgoldnaxe_state::tgoldnaxe(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3102,18 +3141,19 @@ MACHINE_CONFIG_START(tgoldnaxe_state::tgoldnaxe) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1456, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1456-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1456, 1080); + screen.set_visarea(0, 1456-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3200,8 +3240,8 @@ static INPUT_PORTS_START( trockteer ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Fire Left") INPUT_PORTS_END -MACHINE_CONFIG_START(trobocop2_state::trobocop2) - +void trobocop2_state::trobocop2(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3213,27 +3253,28 @@ MACHINE_CONFIG_START(trobocop2_state::trobocop2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1487, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1487-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1487, 1080); + screen.set_visarea(0, 1487-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} -MACHINE_CONFIG_START(trobocop2_state::trockteer) +void trobocop2_state::trockteer(machine_config &config) +{ trobocop2(config); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(1463, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1463-1, 0, 1080-1) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_size(1463, 1080); + subdevice<screen_device>("screen")->set_visarea(0, 1463-1, 0, 1080-1); +} @@ -3307,8 +3348,8 @@ static INPUT_PORTS_START( taltbeast ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(taltbeast_state::taltbeast) - +void taltbeast_state::taltbeast(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed @@ -3320,18 +3361,19 @@ MACHINE_CONFIG_START(taltbeast_state::taltbeast) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1455, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1455-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1455, 1080); + screen.set_visarea(0, 1455-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3401,8 +3443,8 @@ static INPUT_PORTS_START( tsf2010 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsf2010_state::tsf2010) - +void tsf2010_state::tsf2010(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3414,18 +3456,19 @@ MACHINE_CONFIG_START(tsf2010_state::tsf2010) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1465, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1465-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1465, 1080); + screen.set_visarea(0, 1465-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3491,8 +3534,8 @@ static INPUT_PORTS_START( tswampt ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tswampt_state::tswampt) - +void tswampt_state::tswampt(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3504,18 +3547,19 @@ MACHINE_CONFIG_START(tswampt_state::tswampt) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1450, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1450-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1450, 1080); + screen.set_visarea(0, 1450-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3585,8 +3629,8 @@ static INPUT_PORTS_START( tspidman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tspidman_state::tspidman) - +void tspidman_state::tspidman(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3598,18 +3642,19 @@ MACHINE_CONFIG_START(tspidman_state::tspidman) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1440, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1440-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1440, 1080); + screen.set_visarea(0, 1440-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3679,8 +3724,8 @@ static INPUT_PORTS_START( txmen ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(txmen_state::txmen) - +void txmen_state::txmen(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3692,18 +3737,19 @@ MACHINE_CONFIG_START(txmen_state::txmen) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1467, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1467-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1467, 1080); + screen.set_visarea(0, 1467-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3773,8 +3819,8 @@ static INPUT_PORTS_START( tddragon3 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tddragon3_state::tddragon3) - +void tddragon3_state::tddragon3(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3786,18 +3832,19 @@ MACHINE_CONFIG_START(tddragon3_state::tddragon3) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1514, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1514-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1514, 1080); + screen.set_visarea(0, 1514-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3867,8 +3914,8 @@ static INPUT_PORTS_START( tflash ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tflash_state::tflash) - +void tflash_state::tflash(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -3880,18 +3927,19 @@ MACHINE_CONFIG_START(tflash_state::tflash) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1444, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1444-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1444, 1080); + screen.set_visarea(0, 1444-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3962,8 +4010,8 @@ static INPUT_PORTS_START( tmchammer ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tmchammer_state::tmchammer) - +void tmchammer_state::tmchammer(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -3974,18 +4022,19 @@ MACHINE_CONFIG_START(tmchammer_state::tmchammer) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1471, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1471-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1471, 1080); + screen.set_visarea(0, 1471-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4055,8 +4104,8 @@ static INPUT_PORTS_START( tbtoads ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tbtoads_state::tbtoads) - +void tbtoads_state::tbtoads(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4068,18 +4117,19 @@ MACHINE_CONFIG_START(tbtoads_state::tbtoads) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1454, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1454-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1454, 1080); + screen.set_visarea(0, 1454-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4149,8 +4199,8 @@ static INPUT_PORTS_START( thook ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(thook_state::thook) - +void thook_state::thook(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4162,18 +4212,19 @@ MACHINE_CONFIG_START(thook_state::thook) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1489, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1489-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1489, 1080); + screen.set_visarea(0, 1489-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4242,8 +4293,8 @@ static INPUT_PORTS_START( tbttf ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tbttf_state::tbttf) - +void tbttf_state::tbttf(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4255,18 +4306,19 @@ MACHINE_CONFIG_START(tbttf_state::tbttf) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1466, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1466-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1466, 1080); + screen.set_visarea(0, 1466-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4338,8 +4390,8 @@ static INPUT_PORTS_START( taddams ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(taddams_state::taddams) - +void taddams_state::taddams(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4351,18 +4403,19 @@ MACHINE_CONFIG_START(taddams_state::taddams) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1464, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1464-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1464, 1080); + screen.set_visarea(0, 1464-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4432,8 +4485,8 @@ static INPUT_PORTS_START( thalone ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(thalone_state::thalone) - +void thalone_state::thalone(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4445,18 +4498,19 @@ MACHINE_CONFIG_START(thalone_state::thalone) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1448, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1448-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1448, 1080); + screen.set_visarea(0, 1448-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4522,8 +4576,8 @@ static INPUT_PORTS_START( txmenpx ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(txmenpx_state::txmenpx) - +void txmenpx_state::txmenpx(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4535,18 +4589,19 @@ MACHINE_CONFIG_START(txmenpx_state::txmenpx) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1464, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1464-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1464, 1080); + screen.set_visarea(0, 1464-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4616,8 +4671,8 @@ static INPUT_PORTS_START( thalone2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(thalone2_state::thalone2) - +void thalone2_state::thalone2(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4629,18 +4684,19 @@ MACHINE_CONFIG_START(thalone2_state::thalone2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1454, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1454-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1454, 1080); + screen.set_visarea(0, 1454-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4705,8 +4761,8 @@ static INPUT_PORTS_START( tsonic ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsonic_state::tsonic) - +void tsonic_state::tsonic(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -4717,18 +4773,19 @@ MACHINE_CONFIG_START(tsonic_state::tsonic) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1517, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1517-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1517, 1080); + screen.set_visarea(0, 1517-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, piezo2bit_r1_120k_s1_39k) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4798,8 +4855,8 @@ static INPUT_PORTS_START( trobocop3 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(trobocop3_state::trobocop3) - +void trobocop3_state::trobocop3(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4811,18 +4868,19 @@ MACHINE_CONFIG_START(trobocop3_state::trobocop3) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1464, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1464-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1464, 1080); + screen.set_visarea(0, 1464-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4888,8 +4946,8 @@ static INPUT_PORTS_START( tdummies ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tdummies_state::tdummies) - +void tdummies_state::tdummies(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4901,18 +4959,19 @@ MACHINE_CONFIG_START(tdummies_state::tdummies) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1441, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1441-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1441, 1080); + screen.set_visarea(0, 1441-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4982,8 +5041,8 @@ static INPUT_PORTS_START( tsfight2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsfight2_state::tsfight2) - +void tsfight2_state::tsfight2(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -4995,18 +5054,19 @@ MACHINE_CONFIG_START(tsfight2_state::tsfight2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1444, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1444-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1444, 1080); + screen.set_visarea(0, 1444-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5076,8 +5136,8 @@ static INPUT_PORTS_START( twworld ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(twworld_state::twworld) - +void twworld_state::twworld(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5089,18 +5149,19 @@ MACHINE_CONFIG_START(twworld_state::twworld) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1429, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1429-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1429, 1080); + screen.set_visarea(0, 1429-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5166,8 +5227,8 @@ static INPUT_PORTS_START( tjpark ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tjpark_state::tjpark) - +void tjpark_state::tjpark(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5179,18 +5240,19 @@ MACHINE_CONFIG_START(tjpark_state::tjpark) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1454, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1454-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1454, 1080); + screen.set_visarea(0, 1454-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5255,8 +5317,8 @@ static INPUT_PORTS_START( tsonic2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsonic2_state::tsonic2) - +void tsonic2_state::tsonic2(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -5267,18 +5329,19 @@ MACHINE_CONFIG_START(tsonic2_state::tsonic2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1475, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1475-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1475, 1080); + screen.set_visarea(0, 1475-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, piezo2bit_r1_120k_s1_39k) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5353,8 +5416,8 @@ static INPUT_PORTS_START( tsddragon ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsddragon_state::tsddragon) - +void tsddragon_state::tsddragon(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5366,18 +5429,19 @@ MACHINE_CONFIG_START(tsddragon_state::tsddragon) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1503, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1503-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1503, 1080); + screen.set_visarea(0, 1503-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5448,8 +5512,8 @@ static INPUT_PORTS_START( tdennis ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tdennis_state::tdennis) - +void tdennis_state::tdennis(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5461,18 +5525,19 @@ MACHINE_CONFIG_START(tdennis_state::tdennis) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1467, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1467-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1467, 1080); + screen.set_visarea(0, 1467-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5546,8 +5611,8 @@ static INPUT_PORTS_START( tnmarebc ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tnmarebc_state::tnmarebc) - +void tnmarebc_state::tnmarebc(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5559,18 +5624,19 @@ MACHINE_CONFIG_START(tnmarebc_state::tnmarebc) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1456, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1456-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1456, 1080); + screen.set_visarea(0, 1456-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5640,8 +5706,8 @@ static INPUT_PORTS_START( ttransf2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(ttransf2_state::ttransf2) - +void ttransf2_state::ttransf2(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5653,18 +5719,19 @@ MACHINE_CONFIG_START(ttransf2_state::ttransf2) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1476, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1476-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1476, 1080); + screen.set_visarea(0, 1476-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5730,8 +5797,8 @@ static INPUT_PORTS_START( topaliens ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(topaliens_state::topaliens) - +void topaliens_state::topaliens(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5743,18 +5810,19 @@ MACHINE_CONFIG_START(topaliens_state::topaliens) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1450, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1450-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1450, 1080); + screen.set_visarea(0, 1450-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5825,8 +5893,8 @@ static INPUT_PORTS_START( tmkombat ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tmkombat_state::tmkombat) - +void tmkombat_state::tmkombat(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5838,18 +5906,19 @@ MACHINE_CONFIG_START(tmkombat_state::tmkombat) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1468, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1468-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1468, 1080); + screen.set_visarea(0, 1468-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5919,8 +5988,8 @@ static INPUT_PORTS_START( tshadow ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tshadow_state::tshadow) - +void tshadow_state::tshadow(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -5932,18 +6001,19 @@ MACHINE_CONFIG_START(tshadow_state::tshadow) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1484, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1484-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1484, 1080); + screen.set_visarea(0, 1484-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6013,8 +6083,8 @@ static INPUT_PORTS_START( tskelwarr ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tskelwarr_state::tskelwarr) - +void tskelwarr_state::tskelwarr(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6026,18 +6096,19 @@ MACHINE_CONFIG_START(tskelwarr_state::tskelwarr) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1444, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1444-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1444, 1080); + screen.set_visarea(0, 1444-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6108,8 +6179,8 @@ static INPUT_PORTS_START( tbatfor ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tbatfor_state::tbatfor) - +void tbatfor_state::tbatfor(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6121,18 +6192,19 @@ MACHINE_CONFIG_START(tbatfor_state::tbatfor) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1493, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1493-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1493, 1080); + screen.set_visarea(0, 1493-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6203,8 +6275,8 @@ static INPUT_PORTS_START( tjdredd ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tjdredd_state::tjdredd) - +void tjdredd_state::tjdredd(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6216,18 +6288,19 @@ MACHINE_CONFIG_START(tjdredd_state::tjdredd) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1444, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1444-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1444, 1080); + screen.set_visarea(0, 1444-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6298,8 +6371,8 @@ static INPUT_PORTS_START( tapollo13 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tapollo13_state::tapollo13) - +void tapollo13_state::tapollo13(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6311,18 +6384,19 @@ MACHINE_CONFIG_START(tapollo13_state::tapollo13) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1467, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1467-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1467, 1080); + screen.set_visarea(0, 1467-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6393,8 +6467,8 @@ static INPUT_PORTS_START( tgoldeye ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tgoldeye_state::tgoldeye) - +void tgoldeye_state::tgoldeye(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6406,18 +6480,19 @@ MACHINE_CONFIG_START(tgoldeye_state::tgoldeye) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1461, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1461-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1461, 1080); + screen.set_visarea(0, 1461-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6483,8 +6558,8 @@ static INPUT_PORTS_START( tinday ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tinday_state::tinday) - +void tinday_state::tinday(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6496,18 +6571,19 @@ MACHINE_CONFIG_START(tinday_state::tinday) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1463, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1463-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1463, 1080); + screen.set_visarea(0, 1463-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6573,8 +6649,8 @@ static INPUT_PORTS_START( tsjam ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tsjam_state::tsjam) - +void tsjam_state::tsjam(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); // no external XTAL m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); @@ -6586,18 +6662,19 @@ MACHINE_CONFIG_START(tsjam_state::tsjam) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1421, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1421-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1421, 1080); + screen.set_visarea(0, 1421-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6663,8 +6740,8 @@ static INPUT_PORTS_START( tbatmana ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") INPUT_PORTS_END -MACHINE_CONFIG_START(tbatmana_state::tbatmana) - +void tbatmana_state::tbatmana(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -6675,18 +6752,19 @@ MACHINE_CONFIG_START(tbatmana_state::tbatmana) m_maincpu->read_b().set_ioport("B"); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1478, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1478-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1478, 1080); + screen.set_visarea(0, 1478-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, piezo2bit_r1_120k_s1_39k) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6766,8 +6844,8 @@ static INPUT_PORTS_START( tigarden ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_VOLUME_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Sound") INPUT_PORTS_END -MACHINE_CONFIG_START(tigarden_state::tigarden) - +void tigarden_state::tigarden(machine_config &config) +{ /* basic machine hardware */ SM510(config, m_maincpu); m_maincpu->set_r_mask_option(2); // confirmed @@ -6777,18 +6855,19 @@ MACHINE_CONFIG_START(tigarden_state::tigarden) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1515, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 1515-1, 0, 1080-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1515, 1080); + screen.set_visarea(0, 1515-1, 0, 1080-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6866,8 +6945,8 @@ static INPUT_PORTS_START( nummunch ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_POWER_ON ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) INPUT_PORTS_END -MACHINE_CONFIG_START(nummunch_state::nummunch) - +void nummunch_state::nummunch(machine_config &config) +{ /* basic machine hardware */ SM511(config, m_maincpu); m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w)); @@ -6876,18 +6955,19 @@ MACHINE_CONFIG_START(nummunch_state::nummunch) m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 875) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 875-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 875); + screen.set_visarea(0, 1920-1, 0, 875-1); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_sm510_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 11fdf0425e9..710ae7de841 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -529,23 +529,23 @@ INPUT_PORTS_END static const s16 matchnum_speaker_levels[4] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(matchnum_state::matchnum) - +void matchnum_state::matchnum(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 325000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(matchnum_state::read_k)); m_maincpu->r().set(FUNC(matchnum_state::write_r)); m_maincpu->o().set(FUNC(matchnum_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_matchnum); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, matchnum_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, matchnum_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -629,23 +629,23 @@ INPUT_PORTS_END static const s16 arrball_speaker_levels[4] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(arrball_state::arrball) - +void arrball_state::arrball(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 325000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(arrball_state::read_k)); m_maincpu->r().set(FUNC(arrball_state::write_r)); m_maincpu->o().set(FUNC(arrball_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_arrball); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, arrball_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, arrball_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -809,8 +809,8 @@ static const u16 mathmagi_output_pla[0x20] = lA+lF+lE+lD+lC // G }; -MACHINE_CONFIG_START(mathmagi_state::mathmagi) - +void mathmagi_state::mathmagi(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 175000); // approximation - RC osc. R=68K, C=82pF m_maincpu->set_output_pla(mathmagi_output_pla); @@ -818,11 +818,11 @@ MACHINE_CONFIG_START(mathmagi_state::mathmagi) m_maincpu->r().set(FUNC(mathmagi_state::write_r)); m_maincpu->o().set(FUNC(mathmagi_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_mathmagi); /* no sound! */ -MACHINE_CONFIG_END +} @@ -1042,22 +1042,22 @@ static INPUT_PORTS_START( amaztron ) PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(amaztron_state::amaztron) - +void amaztron_state::amaztron(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 300000); // approximation - RC osc. R=33K?, C=100pF m_maincpu->k().set(FUNC(amaztron_state::read_k)); m_maincpu->r().set(FUNC(amaztron_state::write_r)); m_maincpu->o().set(FUNC(amaztron_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_amaztron); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1219,8 +1219,8 @@ static const u16 zodiac_output_pla[0x20] = lB+lC+lD+lE+lF // U }; -MACHINE_CONFIG_START(zodiac_state::zodiac) - +void zodiac_state::zodiac(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 500000); // approximation - RC osc. R=18K, C=100pF m_maincpu->set_output_pla(zodiac_output_pla); @@ -1228,14 +1228,14 @@ MACHINE_CONFIG_START(zodiac_state::zodiac) m_maincpu->r().set(FUNC(zodiac_state::write_r)); m_maincpu->o().set(FUNC(zodiac_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_zodiac); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1335,22 +1335,22 @@ static INPUT_PORTS_START( cqback ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY INPUT_PORTS_END -MACHINE_CONFIG_START(cqback_state::cqback) - +void cqback_state::cqback(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 310000); // approximation - RC osc. R=33K, C=100pF m_maincpu->k().set(FUNC(cqback_state::read_k)); m_maincpu->r().set(FUNC(cqback_state::write_r)); m_maincpu->o().set(FUNC(cqback_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cqback); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1453,22 +1453,22 @@ static INPUT_PORTS_START( h2hfootb ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY INPUT_PORTS_END -MACHINE_CONFIG_START(h2hfootb_state::h2hfootb) - +void h2hfootb_state::h2hfootb(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 310000); // approximation - RC osc. R=39K, C=100pF m_maincpu->k().set(FUNC(h2hfootb_state::read_k)); m_maincpu->r().set(FUNC(h2hfootb_state::write_r)); m_maincpu->o().set(FUNC(h2hfootb_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_h2hfootb); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1594,24 +1594,24 @@ void h2hhockey_state::machine_start() save_item(NAME(m_cap)); } -MACHINE_CONFIG_START(h2hhockey_state::h2hhockey) - +void h2hhockey_state::h2hhockey(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 375000); // approximation - RC osc. R=43K, C=100pF m_maincpu->k().set(FUNC(h2hhockey_state::read_k)); m_maincpu->r().set(FUNC(h2hhockey_state::write_r)); m_maincpu->o().set(FUNC(h2hhockey_state::write_o)); - MCFG_TIMER_DRIVER_ADD("cap_empty", h2hhockey_state, cap_empty_callback) + TIMER(config, "cap_empty").configure_generic(FUNC(h2hhockey_state::cap_empty_callback)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_h2hhockey); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1735,22 +1735,22 @@ void h2hbaseb_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(h2hbaseb_state::h2hbaseb) - +void h2hbaseb_state::h2hbaseb(machine_config &config) +{ /* basic machine hardware */ TMS1170(config, m_maincpu, 350000); // see set_clock m_maincpu->k().set(FUNC(h2hbaseb_state::read_k)); m_maincpu->r().set(FUNC(h2hbaseb_state::write_r)); m_maincpu->o().set(FUNC(h2hbaseb_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_h2hbaseb); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1847,22 +1847,22 @@ static INPUT_PORTS_START( h2hboxing ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Block") INPUT_PORTS_END -MACHINE_CONFIG_START(h2hboxing_state::h2hboxing) - +void h2hboxing_state::h2hboxing(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 350000); // approximation - RC osc. R=39K, C=100pF m_maincpu->k().set(FUNC(h2hboxing_state::read_k)); m_maincpu->r().set(FUNC(h2hboxing_state::write_r)); m_maincpu->o().set(FUNC(h2hboxing_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_h2hboxing); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2018,28 +2018,28 @@ void quizwizc_state::machine_start() save_item(NAME(m_pinout)); } -MACHINE_CONFIG_START(quizwizc_state::quizwizc) - +void quizwizc_state::quizwizc(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 300000); // approximation - RC osc. R=43K, C=100pF m_maincpu->k().set(FUNC(quizwizc_state::read_k)); m_maincpu->r().set(FUNC(quizwizc_state::write_r)); m_maincpu->o().set(FUNC(quizwizc_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_quizwizc); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); /* cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "quizwiz_cart") - MCFG_GENERIC_MANDATORY - MCFG_GENERIC_LOAD(quizwizc_state, cartridge) - MCFG_SOFTWARE_LIST_ADD("cart_list", "quizwiz") -MACHINE_CONFIG_END + generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "quizwiz_cart")); + cartslot.set_must_be_loaded(true); + cartslot.set_device_load(device_image_load_delegate(&quizwizc_state::device_image_load_cartridge, this)); + SOFTWARE_LIST(config, "cart_list").set_original("quizwiz"); +} @@ -2194,28 +2194,29 @@ void tc4_state::machine_start() save_item(NAME(m_pinout)); } -MACHINE_CONFIG_START(tc4_state::tc4) - +void tc4_state::tc4(machine_config &config) +{ /* basic machine hardware */ TMS1400(config, m_maincpu, 450000); // approximation - RC osc. R=27.3K, C=100pF m_maincpu->k().set(FUNC(tc4_state::read_k)); m_maincpu->r().set(FUNC(tc4_state::write_r)); m_maincpu->o().set(FUNC(tc4_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tc4); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); /* cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "tc4_cart") - MCFG_GENERIC_MANDATORY // system won't power on without cartridge - MCFG_GENERIC_LOAD(tc4_state, cartridge) - MCFG_SOFTWARE_LIST_ADD("cart_list", "tc4") -MACHINE_CONFIG_END + generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "tc4_cart")); + cartslot.set_must_be_loaded(true); // system won't power on without cartridge + cartslot.set_device_load(device_image_load_delegate(&tc4_state::device_image_load_cartridge, this)); + + SOFTWARE_LIST(config, "cart_list").set_original("tc4"); +} @@ -2309,22 +2310,22 @@ static INPUT_PORTS_START( cnbaskb ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(cnbaskb_state::cnbaskb) - +void cnbaskb_state::cnbaskb(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 400000); // approximation - RC osc. R=39K, C=47pF m_maincpu->k().set(FUNC(cnbaskb_state::read_k)); m_maincpu->r().set(FUNC(cnbaskb_state::write_r)); m_maincpu->o().set(FUNC(cnbaskb_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cnbaskb); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2422,22 +2423,22 @@ static INPUT_PORTS_START( cmsport ) PORT_CONFSETTING( 0x08, "2" ) // professional INPUT_PORTS_END -MACHINE_CONFIG_START(cmsport_state::cmsport) - +void cmsport_state::cmsport(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 375000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(cmsport_state::read_k)); m_maincpu->r().set(FUNC(cmsport_state::write_r)); m_maincpu->o().set(FUNC(cmsport_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cmsport); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2548,23 +2549,23 @@ INPUT_PORTS_END static const s16 cnfball_speaker_levels[4] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(cnfball_state::cnfball) - +void cnfball_state::cnfball(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 400000); // approximation - RC osc. R=39K, C=47pF m_maincpu->k().set(FUNC(cnfball_state::read_k)); m_maincpu->r().set(FUNC(cnfball_state::write_r)); m_maincpu->o().set(FUNC(cnfball_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cnfball); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, cnfball_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, cnfball_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2674,8 +2675,8 @@ static const u16 cnfball2_output_pla[0x20] = 0, 0, 0, 0, 0, 0, 0, 0 }; -MACHINE_CONFIG_START(cnfball2_state::cnfball2) - +void cnfball2_state::cnfball2(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 375000); // approximation - RC osc. R=47K, C=47pF m_maincpu->set_output_pla(cnfball2_output_pla); @@ -2683,14 +2684,14 @@ MACHINE_CONFIG_START(cnfball2_state::cnfball2) m_maincpu->r().set(FUNC(cnfball2_state::write_r)); m_maincpu->o().set(FUNC(cnfball2_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cnfball2); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2816,22 +2817,22 @@ INPUT_CHANGED_MEMBER(eleciq_state::reset_button) m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); } -MACHINE_CONFIG_START(eleciq_state::eleciq) - +void eleciq_state::eleciq(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 325000); // approximation - RC osc. R=47K, C=50pF m_maincpu->k().set(FUNC(eleciq_state::read_k)); m_maincpu->r().set(FUNC(eleciq_state::write_r)); m_maincpu->o().set(FUNC(eleciq_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_eleciq); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2921,22 +2922,22 @@ static INPUT_PORTS_START( esoccer ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL INPUT_PORTS_END -MACHINE_CONFIG_START(esoccer_state::esoccer) - +void esoccer_state::esoccer(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 350000); // approximation - RC osc. R=47K, C=33pF m_maincpu->k().set(FUNC(esoccer_state::read_k)); m_maincpu->r().set(FUNC(esoccer_state::write_r)); m_maincpu->o().set(FUNC(esoccer_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_esoccer); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3055,22 +3056,22 @@ static INPUT_PORTS_START( ebball ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Batter") INPUT_PORTS_END -MACHINE_CONFIG_START(ebball_state::ebball) - +void ebball_state::ebball(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 375000); // approximation - RC osc. R=43K, C=47pF m_maincpu->k().set(FUNC(ebball_state::read_k)); m_maincpu->r().set(FUNC(ebball_state::write_r)); m_maincpu->o().set(FUNC(ebball_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ebball); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3178,22 +3179,22 @@ static INPUT_PORTS_START( ebball2 ) PORT_BIT( 0x0a, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(ebball2_state::ebball2) - +void ebball2_state::ebball2(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 350000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(ebball2_state::read_k)); m_maincpu->r().set(FUNC(ebball2_state::write_r)); m_maincpu->o().set(FUNC(ebball2_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ebball2); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3358,22 +3359,22 @@ void ebball3_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(ebball3_state::ebball3) - +void ebball3_state::ebball3(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 340000); // see set_clock m_maincpu->k().set(FUNC(ebball3_state::read_k)); m_maincpu->r().set(FUNC(ebball3_state::write_r)); m_maincpu->o().set(FUNC(ebball3_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ebball3); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3469,22 +3470,22 @@ static INPUT_PORTS_START( esbattle ) PORT_CONFSETTING( 0x00, "2" ) // Manual INPUT_PORTS_END -MACHINE_CONFIG_START(esbattle_state::esbattle) - +void esbattle_state::esbattle(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 425000); // approximation - RC osc. R=47K, C=33pF m_maincpu->k().set(FUNC(esbattle_state::read_k)); m_maincpu->r().set(FUNC(esbattle_state::write_r)); m_maincpu->o().set(FUNC(esbattle_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_esbattle); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3578,8 +3579,8 @@ void einvader_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(einvader_state::einvader) - +void einvader_state::einvader(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 320000); // see set_clock m_maincpu->k().set_ioport("IN.0"); @@ -3587,18 +3588,19 @@ MACHINE_CONFIG_START(einvader_state::einvader) m_maincpu->o().set(FUNC(einvader_state::write_o)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(939, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 939-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(939, 1080); + screen.set_visarea(0, 939-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_einvader); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3698,22 +3700,22 @@ static INPUT_PORTS_START( efootb4 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(efootb4_state::efootb4) - +void efootb4_state::efootb4(machine_config &config) +{ /* basic machine hardware */ TMS1670(config, m_maincpu, 475000); // approximation - RC osc. R=42K, C=47pF m_maincpu->k().set(FUNC(efootb4_state::read_k)); m_maincpu->r().set(FUNC(efootb4_state::write_r)); m_maincpu->o().set(FUNC(efootb4_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_efootb4); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3819,22 +3821,22 @@ static INPUT_PORTS_START( ebaskb2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY INPUT_PORTS_END -MACHINE_CONFIG_START(ebaskb2_state::ebaskb2) - +void ebaskb2_state::ebaskb2(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 360000); // approximation - RC osc. R=33K, C=82pF m_maincpu->k().set(FUNC(ebaskb2_state::read_k)); m_maincpu->r().set(FUNC(ebaskb2_state::write_r)); m_maincpu->o().set(FUNC(ebaskb2_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ebaskb2); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -3958,22 +3960,22 @@ void raisedvl_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(raisedvl_state::raisedvl) - +void raisedvl_state::raisedvl(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 350000); // see set_clock m_maincpu->k().set(FUNC(raisedvl_state::read_k)); m_maincpu->r().set(FUNC(raisedvl_state::write_r)); m_maincpu->o().set(FUNC(raisedvl_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_raisedvl); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4089,22 +4091,22 @@ INPUT_CHANGED_MEMBER(f2pbball_state::reset_button) m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); } -MACHINE_CONFIG_START(f2pbball_state::f2pbball) - +void f2pbball_state::f2pbball(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 325000); // approximation - RC osc. R=51K, C=39pF m_maincpu->k().set(FUNC(f2pbball_state::read_k)); m_maincpu->r().set(FUNC(f2pbball_state::write_r)); m_maincpu->o().set(FUNC(f2pbball_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_f2pbball); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4226,22 +4228,22 @@ void f3in1_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(f3in1_state::f3in1) - +void f3in1_state::f3in1(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 300000); // see set_clock m_maincpu->k().set(FUNC(f3in1_state::read_k)); m_maincpu->r().set(FUNC(f3in1_state::write_r)); m_maincpu->o().set(FUNC(f3in1_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_f3in1); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4371,22 +4373,22 @@ void gpoker_state::machine_reset() m_beeper->set_state(0); } -MACHINE_CONFIG_START(gpoker_state::gpoker) - +void gpoker_state::gpoker(machine_config &config) +{ /* basic machine hardware */ TMS1370(config, m_maincpu, 350000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(gpoker_state::read_k)); m_maincpu->r().set(FUNC(gpoker_state::write_r)); m_maincpu->o().set(FUNC(gpoker_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gpoker); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("beeper", BEEP, 2405) // astable multivibrator - C1 and C2 are 0.003uF, R1 and R4 are 1K, R2 and R3 are 100K - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + BEEP(config, m_beeper, 2405); // astable multivibrator - C1 and C2 are 0.003uF, R1 and R4 are 1K, R2 and R3 are 100K + m_beeper->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4484,22 +4486,22 @@ static INPUT_PORTS_START( gjackpot ) PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(gjackpot_state::gjackpot) - +void gjackpot_state::gjackpot(machine_config &config) +{ /* basic machine hardware */ TMS1670(config, m_maincpu, 450000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(gpoker_state::read_k)); m_maincpu->r().set(FUNC(gjackpot_state::write_r)); m_maincpu->o().set(FUNC(gpoker_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_gjackpot); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("beeper", BEEP, 2405) // see gpoker - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + BEEP(config, m_beeper, 2405); // see gpoker + m_beeper->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4589,8 +4591,8 @@ static INPUT_PORTS_START( ginv1000 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) INPUT_PORTS_END -MACHINE_CONFIG_START(ginv1000_state::ginv1000) - +void ginv1000_state::ginv1000(machine_config &config) +{ /* basic machine hardware */ TMS1370(config, m_maincpu, 340000); // approximation m_maincpu->k().set(FUNC(ginv1000_state::read_k)); @@ -4598,17 +4600,18 @@ MACHINE_CONFIG_START(ginv1000_state::ginv1000) m_maincpu->o().set(FUNC(ginv1000_state::write_o)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(226, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 226-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(226, 1080); + screen.set_visarea(0, 226-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4718,8 +4721,8 @@ void ginv2000_state::machine_reset() m_expander->write_ms(1); // Vss } -MACHINE_CONFIG_START(ginv2000_state::ginv2000) - +void ginv2000_state::ginv2000(machine_config &config) +{ /* basic machine hardware */ TMS1370(config, m_maincpu, 425000); // approximation - RC osc. R=36K, C=47pF m_maincpu->k().set(FUNC(ginv2000_state::read_k)); @@ -4733,17 +4736,18 @@ MACHINE_CONFIG_START(ginv2000_state::ginv2000) m_expander->write_port7_callback().set(FUNC(ginv2000_state::expander_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(364, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 364-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(364, 1080); + screen.set_visarea(0, 364-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4866,22 +4870,22 @@ static INPUT_PORTS_START( fxmcr165 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("Address Set") INPUT_PORTS_END -MACHINE_CONFIG_START(fxmcr165_state::fxmcr165) - +void fxmcr165_state::fxmcr165(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 400_kHz_XTAL); m_maincpu->k().set(FUNC(fxmcr165_state::read_k)); m_maincpu->r().set(FUNC(fxmcr165_state::write_r)); m_maincpu->o().set(FUNC(fxmcr165_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_fxmcr165); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -4994,8 +4998,8 @@ INPUT_PORTS_END static const s16 elecdet_speaker_levels[4] = { 0, 0x3fff, 0x3fff, 0x7fff }; -MACHINE_CONFIG_START(elecdet_state::elecdet) - +void elecdet_state::elecdet(machine_config &config) +{ /* basic machine hardware */ TMS0980(config, m_maincpu, 425000); // approximation m_maincpu->k().set(FUNC(elecdet_state::read_k)); @@ -5003,15 +5007,15 @@ MACHINE_CONFIG_START(elecdet_state::elecdet) m_maincpu->o().set(FUNC(elecdet_state::write_o)); m_maincpu->power_off().set(FUNC(hh_tms1k_state::auto_power_off)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_elecdet); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, elecdet_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, elecdet_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5122,22 +5126,22 @@ static INPUT_PORTS_START( starwbc ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right") INPUT_PORTS_END -MACHINE_CONFIG_START(starwbc_state::starwbc) - +void starwbc_state::starwbc(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 325000); // approximation - RC osc. R=51K, C=47pF m_maincpu->k().set(FUNC(starwbc_state::read_k)); m_maincpu->r().set(FUNC(starwbc_state::write_r)); m_maincpu->o().set(FUNC(starwbc_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_starwbc); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5249,19 +5253,19 @@ static INPUT_PORTS_START( astro ) PORT_CONFSETTING( 0x08, "Astro" ) INPUT_PORTS_END -MACHINE_CONFIG_START(astro_state::astro) - +void astro_state::astro(machine_config &config) +{ /* basic machine hardware */ TMS1470(config, m_maincpu, 450000); // approximation - RC osc. R=4.7K, C=33pF m_maincpu->k().set(FUNC(astro_state::read_k)); m_maincpu->r().set(FUNC(astro_state::write_r)); m_maincpu->o().set(FUNC(astro_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_astro); /* no sound! */ -MACHINE_CONFIG_END +} @@ -5414,8 +5418,8 @@ static const u16 elecbowl_output_pla[0x20] = 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f }; -MACHINE_CONFIG_START(elecbowl_state::elecbowl) - +void elecbowl_state::elecbowl(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 350000); // approximation - RC osc. R=33K, C=100pF m_maincpu->set_output_pla(elecbowl_output_pla); @@ -5423,14 +5427,14 @@ MACHINE_CONFIG_START(elecbowl_state::elecbowl) m_maincpu->r().set(FUNC(elecbowl_state::write_r)); m_maincpu->o().set(FUNC(elecbowl_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_elecbowl); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5571,21 +5575,21 @@ static INPUT_PORTS_START( horseran ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7") INPUT_PORTS_END -MACHINE_CONFIG_START(horseran_state::horseran) - +void horseran_state::horseran(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 300000); // approximation - RC osc. R=56K, C=47pF m_maincpu->k().set(FUNC(horseran_state::read_k)); m_maincpu->r().set(FUNC(horseran_state::write_r)); /* video hardware */ - MCFG_DEVICE_ADD("lcd", HLCD0569, 1100) // C=0.022uF - MCFG_HLCD0515_WRITE_COLS_CB(WRITE32(*this, horseran_state, lcd_output_w)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + HLCD0569(config, m_lcd, 1100); // C=0.022uF + m_lcd->write_cols().set(FUNC(horseran_state::lcd_output_w)); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_horseran); /* no sound! */ -MACHINE_CONFIG_END +} @@ -5750,8 +5754,8 @@ static INPUT_PORTS_START( mdndclab ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Dragon Attacks / Dragon Wakes") INPUT_PORTS_END -MACHINE_CONFIG_START(mdndclab_state::mdndclab) - +void mdndclab_state::mdndclab(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 475000); // approximation - RC osc. R=27K, C=100pF m_maincpu->k().set(FUNC(mdndclab_state::read_k)); @@ -5763,9 +5767,9 @@ MACHINE_CONFIG_START(mdndclab_state::mdndclab) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -5854,19 +5858,19 @@ static INPUT_PORTS_START( comp4 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") INPUT_PORTS_END -MACHINE_CONFIG_START(comp4_state::comp4) - +void comp4_state::comp4(machine_config &config) +{ /* basic machine hardware */ TMS0970(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(comp4_state::read_k)); m_maincpu->r().set(FUNC(comp4_state::write_r)); m_maincpu->o().set(FUNC(comp4_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_comp4); /* no sound! */ -MACHINE_CONFIG_END +} @@ -6004,20 +6008,20 @@ static INPUT_PORTS_START( bship ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_NAME("P2 Clear Last Entry") INPUT_PORTS_END -MACHINE_CONFIG_START(bship_state::bship) - +void bship_state::bship(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 200000); // approximation - RC osc. R=100K, C=47pF m_maincpu->k().set(FUNC(bship_state::read_k)); m_maincpu->r().set(FUNC(bship_state::write_r)); m_maincpu->o().set(FUNC(bship_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_bship); /* sound hardware */ // TODO -MACHINE_CONFIG_END +} @@ -6225,21 +6229,21 @@ static INPUT_PORTS_START( simon ) PORT_CONFSETTING( 0x01, "4" ) INPUT_PORTS_END -MACHINE_CONFIG_START(simon_state::simon) - +void simon_state::simon(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 350000); // approximation - RC osc. R=33K, C=100pF m_maincpu->k().set(FUNC(simon_state::read_k)); m_maincpu->r().set(FUNC(simon_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_simon); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6366,21 +6370,21 @@ void ssimon_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(ssimon_state::ssimon) - +void ssimon_state::ssimon(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 275000); // see set_clock m_maincpu->k().set(FUNC(ssimon_state::read_k)); m_maincpu->r().set(FUNC(ssimon_state::write_r)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ssimon); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6546,24 +6550,24 @@ void bigtrak_state::machine_start() static const s16 bigtrak_speaker_levels[8] = { 0, 0x7fff/3, 0x7fff/3, 0x7fff/3*2, 0x7fff/3, 0x7fff/3*2, 0x7fff/3*2, 0x7fff }; -MACHINE_CONFIG_START(bigtrak_state::bigtrak) - +void bigtrak_state::bigtrak(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 200000); // approximation - RC osc. R=83K, C=100pF m_maincpu->k().set(FUNC(bigtrak_state::read_k)); m_maincpu->r().set(FUNC(bigtrak_state::write_r)); m_maincpu->o().set(FUNC(bigtrak_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("gearbox", bigtrak_state, gearbox_sim_tick, attotime::from_msec(1)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "gearbox").configure_periodic(FUNC(bigtrak_state::gearbox_sim_tick), attotime::from_msec(1)); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_bigtrak); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(8, bigtrak_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(8, bigtrak_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6779,23 +6783,23 @@ void mbdtower_state::machine_start() save_item(NAME(m_sensor_blind)); } -MACHINE_CONFIG_START(mbdtower_state::mbdtower) - +void mbdtower_state::mbdtower(machine_config &config) +{ /* basic machine hardware */ TMS1400(config, m_maincpu, 425000); // approximation - RC osc. R=43K, C=56pF m_maincpu->k().set(FUNC(mbdtower_state::read_k)); m_maincpu->r().set(FUNC(mbdtower_state::write_r)); m_maincpu->o().set(FUNC(mbdtower_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("tower_motor", mbdtower_state, motor_sim_tick, attotime::from_msec(3500/0x80)) // ~3.5sec for a full rotation - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "tower_motor").configure_periodic(FUNC(mbdtower_state::motor_sim_tick), attotime::from_msec(3500/0x80)); // ~3.5sec for a full rotation + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_mbdtower); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -6890,23 +6894,23 @@ INPUT_PORTS_END static const s16 arcmania_speaker_levels[8] = { 0, 0x7fff/3, 0x7fff/3, 0x7fff/3*2, 0x7fff/3, 0x7fff/3*2, 0x7fff/3*2, 0x7fff }; -MACHINE_CONFIG_START(arcmania_state::arcmania) - +void arcmania_state::arcmania(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 250000); // approximation - RC osc. R=56K, C=100pF m_maincpu->k().set(FUNC(arcmania_state::read_k)); m_maincpu->r().set(FUNC(arcmania_state::write_r)); m_maincpu->o().set(FUNC(arcmania_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_arcmania); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(8, arcmania_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(8, arcmania_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7009,19 +7013,19 @@ static INPUT_PORTS_START( cnsector ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("Teach Mode") INPUT_PORTS_END -MACHINE_CONFIG_START(cnsector_state::cnsector) - +void cnsector_state::cnsector(machine_config &config) +{ /* basic machine hardware */ TMS0970(config, m_maincpu, 250000); // approximation m_maincpu->k().set(FUNC(cnsector_state::read_k)); m_maincpu->r().set(FUNC(cnsector_state::write_r)); m_maincpu->o().set(FUNC(cnsector_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_cnsector); /* no sound! */ -MACHINE_CONFIG_END +} @@ -7123,23 +7127,23 @@ INPUT_PORTS_END static const s16 merlin_speaker_levels[8] = { 0, 0x7fff/3, 0x7fff/3, 0x7fff/3*2, 0x7fff/3, 0x7fff/3*2, 0x7fff/3*2, 0x7fff }; -MACHINE_CONFIG_START(merlin_state::merlin) - +void merlin_state::merlin(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 350000); // approximation - RC osc. R=33K, C=100pF m_maincpu->k().set(FUNC(merlin_state::read_k)); m_maincpu->r().set(FUNC(merlin_state::write_r)); m_maincpu->o().set(FUNC(merlin_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_merlin); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(8, merlin_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(8, merlin_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7188,23 +7192,23 @@ static INPUT_PORTS_START( mmerlin ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("Score") // instead of Hit Me INPUT_PORTS_END -MACHINE_CONFIG_START(mmerlin_state::mmerlin) - +void mmerlin_state::mmerlin(machine_config &config) +{ /* basic machine hardware */ TMS1400(config, m_maincpu, 425000); // approximation - RC osc. R=30K, C=100pF m_maincpu->k().set(FUNC(mmerlin_state::read_k)); m_maincpu->r().set(FUNC(mmerlin_state::write_r)); m_maincpu->o().set(FUNC(mmerlin_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_mmerlin); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(8, merlin_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(8, merlin_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7304,8 +7308,8 @@ INPUT_PORTS_END static const s16 stopthief_speaker_levels[7] = { 0, 0x7fff/6, 0x7fff/5, 0x7fff/4, 0x7fff/3, 0x7fff/2, 0x7fff }; -MACHINE_CONFIG_START(stopthief_state::stopthief) - +void stopthief_state::stopthief(machine_config &config) +{ /* basic machine hardware */ TMS0980(config, m_maincpu, 425000); // approximation m_maincpu->k().set(FUNC(stopthief_state::read_k)); @@ -7313,15 +7317,15 @@ MACHINE_CONFIG_START(stopthief_state::stopthief) m_maincpu->o().set(FUNC(stopthief_state::write_o)); m_maincpu->power_off().set(FUNC(hh_tms1k_state::auto_power_off)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_stopthief); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(7, stopthief_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(7, stopthief_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7418,22 +7422,22 @@ static INPUT_PORTS_START( bankshot ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(bankshot_state::bankshot) - +void bankshot_state::bankshot(machine_config &config) +{ /* basic machine hardware */ TMS1400(config, m_maincpu, 475000); // approximation - RC osc. R=24K, C=100pF m_maincpu->k().set(FUNC(bankshot_state::read_k)); m_maincpu->r().set(FUNC(bankshot_state::write_r)); m_maincpu->o().set(FUNC(bankshot_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_bankshot); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7535,22 +7539,22 @@ static INPUT_PORTS_START( splitsec ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(splitsec_state::splitsec) - +void splitsec_state::splitsec(machine_config &config) +{ /* basic machine hardware */ TMS1400(config, m_maincpu, 475000); // approximation - RC osc. R=24K, C=100pF m_maincpu->k().set(FUNC(splitsec_state::read_k)); m_maincpu->r().set(FUNC(splitsec_state::write_r)); m_maincpu->o().set(FUNC(splitsec_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_splitsec); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7653,23 +7657,23 @@ static const s16 lostreas_speaker_levels[16] = 0x7fff/8, 0x7fff/7, 0x7fff/6, 0x7fff/5, 0x7fff/4, 0x7fff/3, 0x7fff/2, 0x7fff/1 }; -MACHINE_CONFIG_START(lostreas_state::lostreas) - +void lostreas_state::lostreas(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 425000); // approximation - RC osc. R=39K, C=47pF m_maincpu->k().set(FUNC(lostreas_state::read_k)); m_maincpu->r().set(FUNC(lostreas_state::write_r)); m_maincpu->o().set(FUNC(lostreas_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_lostreas); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(16, lostreas_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(16, lostreas_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7774,8 +7778,8 @@ static const u16 alphie_output_pla[0x20] = 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }; -MACHINE_CONFIG_START(alphie_state::alphie) - +void alphie_state::alphie(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 350000); // approximation m_maincpu->set_output_pla(alphie_output_pla); @@ -7783,15 +7787,15 @@ MACHINE_CONFIG_START(alphie_state::alphie) m_maincpu->r().set(FUNC(alphie_state::write_r)); m_maincpu->o().set(FUNC(alphie_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("arm_position", alphie_state, show_arm_position, attotime::from_msec(50)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "arm_position").configure_periodic(FUNC(alphie_state::show_arm_position), attotime::from_msec(50)); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_alphie); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7885,22 +7889,22 @@ static INPUT_PORTS_START( tcfball ) PORT_CONFSETTING( 0x08, "2" ) // professional INPUT_PORTS_END -MACHINE_CONFIG_START(tcfball_state::tcfball) - +void tcfball_state::tcfball(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 375000); // approximation - RC osc. R=56K, C=24pF m_maincpu->k().set(FUNC(tcfball_state::read_k)); m_maincpu->r().set(FUNC(tcfball_state::write_r)); m_maincpu->o().set(FUNC(tcfball_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tcfball); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -7950,8 +7954,8 @@ static const u16 tcfballa_output_pla[0x20] = 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -MACHINE_CONFIG_START(tcfballa_state::tcfballa) - +void tcfballa_state::tcfballa(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 375000); // approximation - RC osc. R=47K, C=50pF m_maincpu->set_output_pla(tcfballa_output_pla); @@ -7959,14 +7963,14 @@ MACHINE_CONFIG_START(tcfballa_state::tcfballa) m_maincpu->r().set(FUNC(tcfballa_state::write_r)); m_maincpu->o().set(FUNC(tcfballa_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tcfballa); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -8114,8 +8118,8 @@ static const u16 tandy12_output_pla[0x20] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -MACHINE_CONFIG_START(tandy12_state::tandy12) - +void tandy12_state::tandy12(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 400000); // approximation - RC osc. R=39K, C=47pF m_maincpu->set_output_pla(tandy12_output_pla); @@ -8123,14 +8127,14 @@ MACHINE_CONFIG_START(tandy12_state::tandy12) m_maincpu->r().set(FUNC(tandy12_state::write_r)); m_maincpu->o().set(FUNC(tandy12_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tandy12); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -8223,22 +8227,22 @@ static INPUT_PORTS_START( monkeysee ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME(".") INPUT_PORTS_END -MACHINE_CONFIG_START(monkeysee_state::monkeysee) - +void monkeysee_state::monkeysee(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 250000); // approximation - RC osc. R=68K, C=47pF m_maincpu->k().set(FUNC(monkeysee_state::read_k)); m_maincpu->r().set(FUNC(monkeysee_state::write_r)); m_maincpu->o().set(FUNC(monkeysee_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_monkeysee); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -8372,22 +8376,22 @@ static INPUT_PORTS_START( speechp ) PORT_CONFSETTING( 0x00, DEF_STR( Normal ) ) INPUT_PORTS_END -MACHINE_CONFIG_START(speechp_state::speechp) - +void speechp_state::speechp(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 400000); // approximation - RC osc. R=39K, C=47pF m_maincpu->k().set(FUNC(speechp_state::read_k)); m_maincpu->r().set(FUNC(speechp_state::write_r)); m_maincpu->o().set(FUNC(speechp_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_speechp); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speech", S14001A, 25000) // approximation - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) -MACHINE_CONFIG_END + S14001A(config, m_speech, 25000); // approximation + m_speech->add_route(ALL_OUTPUTS, "mono", 0.75); +} @@ -8454,19 +8458,19 @@ static INPUT_PORTS_START( timaze ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY INPUT_PORTS_END -MACHINE_CONFIG_START(timaze_state::timaze) - +void timaze_state::timaze(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 200000); // approximation - RC osc. R=80K, C=27pF m_maincpu->k().set(FUNC(timaze_state::read_k)); m_maincpu->r().set(FUNC(timaze_state::write_r)); m_maincpu->o().set(FUNC(timaze_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_timaze); /* no sound! */ -MACHINE_CONFIG_END +} @@ -8556,23 +8560,23 @@ INPUT_PORTS_END static const s16 copycat_speaker_levels[4] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(copycat_state::copycat) - +void copycat_state::copycat(machine_config &config) +{ /* basic machine hardware */ TMS1000(config, m_maincpu, 320000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(copycat_state::read_k)); m_maincpu->r().set(FUNC(copycat_state::write_r)); m_maincpu->o().set(FUNC(copycat_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_copycat); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, copycat_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, copycat_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -8632,23 +8636,23 @@ static INPUT_PORTS_START( copycatm2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Green Button") INPUT_PORTS_END -MACHINE_CONFIG_START(copycatm2_state::copycatm2) - +void copycatm2_state::copycatm2(machine_config &config) +{ /* basic machine hardware */ TMS1730(config, m_maincpu, 275000); // approximation - RC osc. R=100K, C=47pF m_maincpu->k().set_ioport("IN.0"); m_maincpu->r().set(FUNC(copycatm2_state::write_r)); m_maincpu->o().set(FUNC(copycatm2_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_copycatm2); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, copycat_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, copycat_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -8703,23 +8707,23 @@ static INPUT_PORTS_START( ditto ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Red Button") INPUT_PORTS_END -MACHINE_CONFIG_START(ditto_state::ditto) - +void ditto_state::ditto(machine_config &config) +{ /* basic machine hardware */ TMS1730(config, m_maincpu, 275000); // approximation - RC osc. R=100K, C=47pF m_maincpu->k().set_ioport("IN.0"); m_maincpu->r().set(FUNC(ditto_state::write_r)); m_maincpu->o().set(FUNC(ditto_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ditto); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, copycat_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, copycat_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -8819,22 +8823,22 @@ static INPUT_PORTS_START( ss7in1 ) PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(ss7in1_state::ss7in1) - +void ss7in1_state::ss7in1(machine_config &config) +{ /* basic machine hardware */ TMS1400(config, m_maincpu, 450000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(ss7in1_state::read_k)); m_maincpu->r().set(FUNC(ss7in1_state::write_r)); m_maincpu->o().set(FUNC(ss7in1_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_7in1ss); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -9012,8 +9016,8 @@ void tbreakup_state::machine_start() save_item(NAME(m_exp_port)); } -MACHINE_CONFIG_START(tbreakup_state::tbreakup) - +void tbreakup_state::tbreakup(machine_config &config) +{ /* basic machine hardware */ TMS1040(config, m_maincpu, 325000); // see set_clock m_maincpu->k().set(FUNC(tbreakup_state::read_k)); @@ -9029,14 +9033,14 @@ MACHINE_CONFIG_START(tbreakup_state::tbreakup) m_expander->write_port6_callback().set(FUNC(tbreakup_state::expander_w)); m_expander->write_port7_callback().set(FUNC(tbreakup_state::expander_w)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tbreakup); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -9145,22 +9149,22 @@ INPUT_CHANGED_MEMBER(phpball_state::flipper_button) prepare_display(); } -MACHINE_CONFIG_START(phpball_state::phpball) - +void phpball_state::phpball(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 375000); // approximation - RC osc. R=47K, C=47pF m_maincpu->k().set(FUNC(phpball_state::read_k)); m_maincpu->r().set(FUNC(phpball_state::write_r)); m_maincpu->o().set(FUNC(phpball_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_hh_tms1k_test); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -9280,8 +9284,8 @@ static const u16 ssports4_output_pla[0x20] = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }; -MACHINE_CONFIG_START(ssports4_state::ssports4) - +void ssports4_state::ssports4(machine_config &config) +{ /* basic machine hardware */ TMS1100(config, m_maincpu, 375000); // approximation - RC osc. R=47K, C=47pF m_maincpu->set_output_pla(ssports4_output_pla); @@ -9289,14 +9293,14 @@ MACHINE_CONFIG_START(ssports4_state::ssports4) m_maincpu->r().set(FUNC(ssports4_state::write_r)); m_maincpu->o().set(FUNC(ssports4_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_ssports4); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -9450,22 +9454,22 @@ void xl25_state::machine_reset() update_halt(); } -MACHINE_CONFIG_START(xl25_state::xl25) - +void xl25_state::xl25(machine_config &config) +{ /* basic machine hardware */ TMS1000C(config, m_maincpu, 300000); // approximation - RC osc. R=5.6K, C=47pF m_maincpu->k().set(FUNC(xl25_state::read_k)); m_maincpu->r().set(FUNC(xl25_state::write_r)); m_maincpu->o().set(FUNC(xl25_state::write_o)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_xl25); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp index 4000f0d1975..cff4c17c542 100644 --- a/src/mame/drivers/hh_ucom4.cpp +++ b/src/mame/drivers/hh_ucom4.cpp @@ -328,8 +328,8 @@ INPUT_PORTS_END static const s16 ufombs_speaker_levels[] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(ufombs_state::ufombs) - +void ufombs_state::ufombs(machine_config &config) +{ /* basic machine hardware */ NEC_D552(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set_ioport("IN.0"); @@ -343,18 +343,19 @@ MACHINE_CONFIG_START(ufombs_state::ufombs) m_maincpu->write_i().set(FUNC(ufombs_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(243, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 243-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(243, 1080); + screen.set_visarea(0, 243-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, ufombs_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, ufombs_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -474,8 +475,8 @@ INPUT_PORTS_END static const s16 ssfball_speaker_levels[] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(ssfball_state::ssfball) - +void ssfball_state::ssfball(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set_ioport("IN.3"); @@ -489,18 +490,19 @@ MACHINE_CONFIG_START(ssfball_state::ssfball) m_maincpu->write_i().set(FUNC(ssfball_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 482) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 482-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 482); + screen.set_visarea(0, 1920-1, 0, 482-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, ssfball_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, ssfball_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -601,8 +603,8 @@ static INPUT_PORTS_START( bmsoccer ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Shoot") INPUT_PORTS_END -MACHINE_CONFIG_START(bmsoccer_state::bmsoccer) - +void bmsoccer_state::bmsoccer(machine_config &config) +{ /* basic machine hardware */ NEC_D552(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set(FUNC(bmsoccer_state::input_a_r)); @@ -616,17 +618,18 @@ MACHINE_CONFIG_START(bmsoccer_state::bmsoccer) m_maincpu->write_i().set(FUNC(bmsoccer_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(271, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 271-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(271, 1080); + screen.set_visarea(0, 271-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -708,8 +711,8 @@ static INPUT_PORTS_START( bmsafari ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY INPUT_PORTS_END -MACHINE_CONFIG_START(bmsafari_state::bmsafari) - +void bmsafari_state::bmsafari(machine_config &config) +{ /* basic machine hardware */ NEC_D552(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set_ioport("IN.0"); @@ -722,17 +725,18 @@ MACHINE_CONFIG_START(bmsafari_state::bmsafari) m_maincpu->write_i().set(FUNC(bmsafari_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(248, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 248-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(248, 1080); + screen.set_visarea(0, 248-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -857,8 +861,8 @@ INPUT_PORTS_END static const s16 splasfgt_speaker_levels[] = { 0, 0x7fff, -0x8000, 0 }; -MACHINE_CONFIG_START(splasfgt_state::splasfgt) - +void splasfgt_state::splasfgt(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set_ioport("IN.4"); @@ -872,18 +876,19 @@ MACHINE_CONFIG_START(splasfgt_state::splasfgt) m_maincpu->write_i().set(FUNC(splasfgt_state::grid_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 476) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 476-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 476); + screen.set_visarea(0, 1920-1, 0, 476-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, splasfgt_speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(4, splasfgt_speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -960,8 +965,8 @@ static INPUT_PORTS_START( bcclimbr ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT ) INPUT_PORTS_END -MACHINE_CONFIG_START(bcclimbr_state::bcclimbr) - +void bcclimbr_state::bcclimbr(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -975,17 +980,18 @@ MACHINE_CONFIG_START(bcclimbr_state::bcclimbr) m_maincpu->write_i().set(FUNC(bcclimbr_state::grid_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(310, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 310-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(310, 1080); + screen.set_visarea(0, 310-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1082,8 +1088,8 @@ static INPUT_PORTS_START( tactix ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(tactix_state::tactix) - +void tactix_state::tactix(machine_config &config) +{ /* basic machine hardware */ NEC_D557L(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set(FUNC(tactix_state::input_r)); @@ -1093,14 +1099,14 @@ MACHINE_CONFIG_START(tactix_state::tactix) m_maincpu->write_f().set(FUNC(tactix_state::leds_w)); m_maincpu->write_g().set(FUNC(tactix_state::speaker_w)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_tactix); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1176,8 +1182,8 @@ static INPUT_PORTS_START( invspace ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(invspace_state::invspace) - +void invspace_state::invspace(machine_config &config) +{ /* basic machine hardware */ NEC_D552(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -1191,17 +1197,18 @@ MACHINE_CONFIG_START(invspace_state::invspace) m_maincpu->write_i().set(FUNC(invspace_state::grid_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(289, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 289-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(289, 1080); + screen.set_visarea(0, 289-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1291,8 +1298,8 @@ static INPUT_PORTS_START( efball ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY INPUT_PORTS_END -MACHINE_CONFIG_START(efball_state::efball) - +void efball_state::efball(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -1305,14 +1312,14 @@ MACHINE_CONFIG_START(efball_state::efball) m_maincpu->write_h().set(FUNC(efball_state::grid_w)); m_maincpu->write_i().set(FUNC(efball_state::plate_w)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_efball); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1391,8 +1398,8 @@ static INPUT_PORTS_START( galaxy2 ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(galaxy2_state::galaxy2) - +void galaxy2_state::galaxy2(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -1406,26 +1413,27 @@ MACHINE_CONFIG_START(galaxy2_state::galaxy2) m_maincpu->write_i().set(FUNC(galaxy2_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(304, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 304-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(304, 1080); + screen.set_visarea(0, 304-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} -MACHINE_CONFIG_START(galaxy2_state::galaxy2b) +void galaxy2_state::galaxy2b(machine_config &config) +{ galaxy2(config); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(306, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 306-1, 0, 1080-1) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_size(306, 1080); + subdevice<screen_device>("screen")->set_visarea(0, 306-1, 0, 1080-1); +} @@ -1509,8 +1517,8 @@ static INPUT_PORTS_START( astrocmd ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) INPUT_PORTS_END -MACHINE_CONFIG_START(astrocmd_state::astrocmd) - +void astrocmd_state::astrocmd(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -1524,17 +1532,18 @@ MACHINE_CONFIG_START(astrocmd_state::astrocmd) m_maincpu->write_i().set(FUNC(astrocmd_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 525) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 525-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 525); + screen.set_visarea(0, 1920-1, 0, 525-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1604,8 +1613,8 @@ static INPUT_PORTS_START( edracula ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) INPUT_PORTS_END -MACHINE_CONFIG_START(edracula_state::edracula) - +void edracula_state::edracula(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -1619,17 +1628,18 @@ MACHINE_CONFIG_START(edracula_state::edracula) m_maincpu->write_i().set(FUNC(edracula_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 526) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 526-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 526); + screen.set_visarea(0, 1920-1, 0, 526-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1691,8 +1701,8 @@ static INPUT_PORTS_START( mcompgin ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(mcompgin_state::mcompgin) - +void mcompgin_state::mcompgin(machine_config &config) +{ /* basic machine hardware */ NEC_D650(config, m_maincpu, 400_kHz_XTAL); // TDK FCR400K m_maincpu->read_a().set_ioport("IN.0"); @@ -1700,13 +1710,13 @@ MACHINE_CONFIG_START(mcompgin_state::mcompgin) m_maincpu->write_e().set(FUNC(mcompgin_state::lcd_w)); /* video hardware */ - MCFG_DEVICE_ADD("lcd", HLCD0530, 500) // C=0.01uF - MCFG_HLCD0515_WRITE_COLS_CB(WRITE32(*this, mcompgin_state, lcd_output_w)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + HLCD0530(config, m_lcd, 500); // C=0.01uF + m_lcd->write_cols().set(FUNC(mcompgin_state::lcd_output_w)); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_mcompgin); /* no sound! */ -MACHINE_CONFIG_END +} @@ -1788,8 +1798,8 @@ static INPUT_PORTS_START( mvbfree ) PORT_CONFSETTING( 0x08, "3" ) INPUT_PORTS_END -MACHINE_CONFIG_START(mvbfree_state::mvbfree) - +void mvbfree_state::mvbfree(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set_ioport("IN.0"); @@ -1802,14 +1812,14 @@ MACHINE_CONFIG_START(mvbfree_state::mvbfree) m_maincpu->write_h().set(FUNC(mvbfree_state::grid_w)); m_maincpu->write_i().set(FUNC(mvbfree_state::speaker_w)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_mvbfree); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1907,8 +1917,8 @@ static INPUT_PORTS_START( grobot9 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_V) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_ucom4_state, single_interrupt_line, nullptr) PORT_NAME("Start-Pitch") INPUT_PORTS_END -MACHINE_CONFIG_START(grobot9_state::grobot9) - +void grobot9_state::grobot9(machine_config &config) +{ /* basic machine hardware */ NEC_D557L(config, m_maincpu, 160000); // approximation m_maincpu->read_a().set(FUNC(grobot9_state::input_r)); @@ -1917,14 +1927,14 @@ MACHINE_CONFIG_START(grobot9_state::grobot9) m_maincpu->write_e().set(FUNC(grobot9_state::lamps_w)); m_maincpu->write_f().set(FUNC(grobot9_state::lamps_w)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); config.set_default_layout(layout_grobot9); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -1997,8 +2007,8 @@ static INPUT_PORTS_START( tccombat ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY INPUT_PORTS_END -MACHINE_CONFIG_START(tccombat_state::tccombat) - +void tccombat_state::tccombat(machine_config &config) +{ /* basic machine hardware */ NEC_D552(config, m_maincpu, 400000); // approximation m_maincpu->read_a().set_ioport("IN.0"); @@ -2011,17 +2021,18 @@ MACHINE_CONFIG_START(tccombat_state::tccombat) m_maincpu->write_i().set(FUNC(tccombat_state::grid_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(300, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 300-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(300, 1080); + screen.set_visarea(0, 300-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2153,8 +2164,8 @@ void tmtennis_state::machine_reset() set_clock(); } -MACHINE_CONFIG_START(tmtennis_state::tmtennis) - +void tmtennis_state::tmtennis(machine_config &config) +{ /* basic machine hardware */ NEC_D552(config, m_maincpu, 360000); // see set_clock m_maincpu->read_a().set(FUNC(tmtennis_state::input_r)); @@ -2168,17 +2179,18 @@ MACHINE_CONFIG_START(tmtennis_state::tmtennis) m_maincpu->write_i().set(FUNC(tmtennis_state::grid_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 417) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 417-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 417); + screen.set_visarea(0, 1920-1, 0, 417-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2261,8 +2273,8 @@ static INPUT_PORTS_START( tmpacman ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(tmpacman_state::tmpacman) - +void tmpacman_state::tmpacman(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 430_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -2276,17 +2288,18 @@ MACHINE_CONFIG_START(tmpacman_state::tmpacman) m_maincpu->write_i().set(FUNC(tmpacman_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 508) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 508-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 508); + screen.set_visarea(0, 1920-1, 0, 508-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2363,8 +2376,8 @@ static INPUT_PORTS_START( tmscramb ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(tmscramb_state::tmscramb) - +void tmscramb_state::tmscramb(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -2378,17 +2391,18 @@ MACHINE_CONFIG_START(tmscramb_state::tmscramb) m_maincpu->write_i().set(FUNC(tmscramb_state::grid_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 556) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 556-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 556); + screen.set_visarea(0, 1920-1, 0, 556-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2462,8 +2476,8 @@ static INPUT_PORTS_START( tcaveman ) PORT_CONFSETTING( 0x08, "Professional" ) INPUT_PORTS_END -MACHINE_CONFIG_START(tcaveman_state::tcaveman) - +void tcaveman_state::tcaveman(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set_ioport("IN.0"); @@ -2476,17 +2490,18 @@ MACHINE_CONFIG_START(tcaveman_state::tcaveman) m_maincpu->write_i().set(FUNC(tcaveman_state::plate_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(1920, 559) - MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 559-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(1920, 559); + screen.set_visarea(0, 1920-1, 0, 559-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} @@ -2593,8 +2608,8 @@ static INPUT_PORTS_START( alnchase ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END -MACHINE_CONFIG_START(alnchase_state::alnchase) - +void alnchase_state::alnchase(machine_config &config) +{ /* basic machine hardware */ NEC_D553(config, m_maincpu, 400_kHz_XTAL); m_maincpu->read_a().set(FUNC(alnchase_state::input_r)); @@ -2608,17 +2623,18 @@ MACHINE_CONFIG_START(alnchase_state::alnchase) m_maincpu->write_i().set(FUNC(alnchase_state::output_w)); /* video hardware */ - MCFG_SCREEN_SVG_ADD("screen", "svg") - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_SIZE(365, 1080) - MCFG_SCREEN_VISIBLE_AREA(0, 365-1, 0, 1080-1) - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); + screen.set_svg_region("svg"); + screen.set_refresh_hz(50); + screen.set_size(365, 1080); + screen.set_visarea(0, 365-1, 0, 1080-1); + TIMER(config, "display_decay").configure_periodic(FUNC(hh_ucom4_state::display_decay_tick), attotime::from_msec(1)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} diff --git a/src/mame/drivers/pokemini.cpp b/src/mame/drivers/pokemini.cpp index 876bf19c340..45dd4a4837c 100644 --- a/src/mame/drivers/pokemini.cpp +++ b/src/mame/drivers/pokemini.cpp @@ -1760,40 +1760,39 @@ uint32_t pokemini_state::screen_update(screen_device &screen, bitmap_ind16 &bitm } -MACHINE_CONFIG_START(pokemini_state::pokemini) +void pokemini_state::pokemini(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", MINX, 4000000) - MCFG_DEVICE_PROGRAM_MAP(pokemini_mem_map) + MINX(config, m_maincpu, 4000000); + m_maincpu->set_addrmap(AS_PROGRAM, &pokemini_state::pokemini_mem_map); - MCFG_QUANTUM_TIME(attotime::from_hz(60)) + config.m_minimum_quantum = attotime::from_hz(60); - I2CMEM(config, "i2cmem", 0).set_data_size(0x2000); + I2CMEM(config, m_i2cmem, 0).set_data_size(0x2000); /* This still needs to be improved to actually match the hardware */ - MCFG_SCREEN_ADD("screen", LCD) - MCFG_SCREEN_UPDATE_DRIVER(pokemini_state, screen_update) - MCFG_SCREEN_SIZE( 96, 64 ) - MCFG_SCREEN_VISIBLE_AREA( 0, 95, 0, 63 ) - MCFG_SCREEN_REFRESH_RATE( 72 ) - MCFG_SCREEN_PALETTE("palette") + SCREEN(config, m_screen, SCREEN_TYPE_LCD); + m_screen->set_screen_update(FUNC(pokemini_state::screen_update)); + m_screen->set_size(96, 64); + m_screen->set_visarea(0, 95, 0, 63); + m_screen->set_refresh_hz(72); + m_screen->set_palette("palette"); - MCFG_PALETTE_ADD("palette", 4) - MCFG_PALETTE_INIT_OWNER(pokemini_state, pokemini) + PALETTE(config, "palette", 4).set_init(FUNC(pokemini_state::palette_init_pokemini)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(3, speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + SPEAKER_SOUND(config, m_speaker); + m_speaker->set_levels(3, speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.50); /* cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pokemini_cart") - MCFG_GENERIC_EXTENSIONS("bin,min") - MCFG_GENERIC_LOAD(pokemini_state, pokemini_cart) + generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "pokemini_cart", "bin,min")); + cartslot.set_device_load(device_image_load_delegate(&pokemini_state::device_image_load_pokemini_cart, this)); /* Software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list", "pokemini") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "cart_list").set_original("pokemini"); +} ROM_START( pokemini ) ROM_REGION( 0x200000, "maincpu", 0 ) diff --git a/src/mame/drivers/vtech1.cpp b/src/mame/drivers/vtech1.cpp index 6d9f22189fd..24ffbd671da 100644 --- a/src/mame/drivers/vtech1.cpp +++ b/src/mame/drivers/vtech1.cpp @@ -436,45 +436,44 @@ INPUT_PORTS_END static const int16_t speaker_levels[] = {-32768, 0, 32767, 0}; -MACHINE_CONFIG_START(vtech1_state::laser110) - +void vtech1_state::laser110(machine_config &config) +{ // basic machine hardware - MCFG_DEVICE_ADD("maincpu", Z80, VTECH1_CLK) /* 3.57950 MHz */ - MCFG_DEVICE_PROGRAM_MAP(laser110_mem) - MCFG_DEVICE_IO_MAP(vtech1_io) + Z80(config, m_maincpu, VTECH1_CLK); /* 3.57950 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &vtech1_state::laser110_mem); + m_maincpu->set_addrmap(AS_IO, &vtech1_state::vtech1_io); // video hardware - MCFG_SCREEN_MC6847_PAL_ADD("screen", "mc6847") - MC6847_PAL(config, m_mc6847, XTAL(4'433'619)); m_mc6847->fsync_wr_callback().set_inputline(m_maincpu, 0).invert(); m_mc6847->input_callback().set(FUNC(vtech1_state::mc6847_videoram_r)); m_mc6847->set_black_and_white(true); m_mc6847->set_get_fixed_mode(mc6847_pal_device::MODE_GM1); + mc6847_base_device::add_pal_screen(config, "screen", "mc6847"); // GM2 = GND, GM0 = GND, INTEXT = GND // other lines not connected // sound hardware SPEAKER(config, "mono").front_center(); - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SPEAKER_LEVELS(4, speaker_levels) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) + WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25); + SPEAKER_SOUND(config, m_speaker).set_levels(4, speaker_levels); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.75); // peripheral and memory expansion slots - MCFG_IOEXP_SLOT_ADD("io") - MCFG_MEMEXP_SLOT_ADD("mem") + VTECH_IOEXP_SLOT(config, m_ioexp); + VTECH_MEMEXP_SLOT(config, m_memexp); // snapshot - MCFG_SNAPSHOT_ADD("snapshot", vtech1_state, vtech1, "vz", 1.5) + snapshot_image_device &snapshot(SNAPSHOT(config, "snapshot", 0)); + snapshot.set_handler(snapquick_load_delegate(&SNAPSHOT_LOAD_NAME(vtech1_state, vtech1), this), "vz", 1.5); - MCFG_CASSETTE_ADD( "cassette" ) - MCFG_CASSETTE_FORMATS(vtech1_cassette_formats) - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY) - MCFG_CASSETTE_INTERFACE("vtech1_cass") + CASSETTE(config, m_cassette); + m_cassette->set_formats(vtech1_cassette_formats); + m_cassette->set_default_state((cassette_state)(CASSETTE_PLAY)); + m_cassette->set_interface("vtech1_cass"); - MCFG_SOFTWARE_LIST_ADD("cass_list", "vz_cass") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "cass_list").set_original("vz_cass"); +} void vtech1_state::laser200(machine_config &config) { @@ -487,23 +486,24 @@ void vtech1_state::laser200(machine_config &config) // other lines not connected } -MACHINE_CONFIG_START(vtech1_state::laser210) +void vtech1_state::laser210(machine_config &config) +{ laser200(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(laser210_mem) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &vtech1_state::laser210_mem); +} -MACHINE_CONFIG_START(vtech1_state::laser310) +void vtech1_state::laser310(machine_config &config) +{ laser200(config); - MCFG_DEVICE_REPLACE("maincpu", Z80, VZ300_XTAL1_CLK / 5) /* 3.546894 MHz */ - MCFG_DEVICE_PROGRAM_MAP(laser310_mem) - MCFG_DEVICE_IO_MAP(vtech1_io) -MACHINE_CONFIG_END + m_maincpu->set_clock(VZ300_XTAL1_CLK / 5); /* 3.546894 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &vtech1_state::laser310_mem); + m_maincpu->set_addrmap(AS_IO, &vtech1_state::vtech1_io); +} -MACHINE_CONFIG_START(vtech1_state::laser310h) +void vtech1_state::laser310h(machine_config &config) +{ laser310(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(vtech1_shrg_io) + m_maincpu->set_addrmap(AS_IO, &vtech1_state::vtech1_shrg_io); MC6847_PAL(config.replace(), m_mc6847, XTAL(4'433'619)); m_mc6847->fsync_wr_callback().set_inputline(m_maincpu, 0).invert(); @@ -511,7 +511,7 @@ MACHINE_CONFIG_START(vtech1_state::laser310h) m_mc6847->set_get_fixed_mode(mc6847_pal_device::MODE_GM1); // INTEXT = GND // other lines not connected -MACHINE_CONFIG_END +} /*************************************************************************** diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp index c0f44c4cb24..bbc00bca30c 100644 --- a/src/mame/drivers/vtech2.cpp +++ b/src/mame/drivers/vtech2.cpp @@ -522,7 +522,7 @@ MACHINE_CONFIG_START(vtech2_state::laser350) MCFG_CASSETTE_FORMATS(vtech2_cassette_formats) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY) - MCFG_IOEXP_SLOT_ADD("io") + VTECH_IOEXP_SLOT(config, "io"); /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "vtech_cart") |