summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author mooglyguy <therealmogminer@gmail.com>2018-12-25 20:55:27 +0100
committer mooglyguy <therealmogminer@gmail.com>2018-12-25 20:56:14 +0100
commit186740c33fbb5a170f039ec8078cfcf144c43ea2 (patch)
tree6f1b547967075025a05f5967487d04bd22f8a5e0
parent95538b9da8cdb85687784ad723d1a4efb2d631a1 (diff)
spkrdev: Removed MCFG macros, nw
-rw-r--r--src/devices/bus/ecbbus/grip.cpp35
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.h23
-rw-r--r--src/devices/bus/vtech/memexp/floppy.cpp11
-rw-r--r--src/devices/bus/vtech/memexp/memexp.h38
-rw-r--r--src/devices/sound/spkrdev.h3
-rw-r--r--src/devices/video/hlcd0515.h4
-rw-r--r--src/devices/video/mc6847.h11
-rw-r--r--src/mame/drivers/apogee.cpp50
-rw-r--r--src/mame/drivers/hh_sm510.cpp1700
-rw-r--r--src/mame/drivers/hh_tms1k.cpp868
-rw-r--r--src/mame/drivers/hh_ucom4.cpp412
-rw-r--r--src/mame/drivers/pokemini.cpp41
-rw-r--r--src/mame/drivers/vtech1.cpp66
-rw-r--r--src/mame/drivers/vtech2.cpp2
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 &cent_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")