summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/superchs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/superchs.cpp')
-rw-r--r--src/mame/drivers/superchs.cpp42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp
index 6e54657afc4..fd9604c16bf 100644
--- a/src/mame/drivers/superchs.cpp
+++ b/src/mame/drivers/superchs.cpp
@@ -223,16 +223,16 @@ GFXDECODE_END
MACHINE DRIVERS
***********************************************************/
-MACHINE_CONFIG_START(superchs_state::superchs)
-
+void superchs_state::superchs(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(40'000'000)/2) /* 20MHz - verified */
- MCFG_DEVICE_PROGRAM_MAP(superchs_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq2_line_hold)
+ M68EC020(config, m_maincpu, XTAL(40'000'000)/2); /* 20MHz - verified */
+ m_maincpu->set_addrmap(AS_PROGRAM, &superchs_state::superchs_map);
+ m_maincpu->set_vblank_int("screen", FUNC(superchs_state::irq2_line_hold));
- MCFG_DEVICE_ADD("sub", M68000, XTAL(32'000'000)/2) /* 16MHz - verified */
- MCFG_DEVICE_PROGRAM_MAP(superchs_cpub_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq4_line_hold)
+ M68000(config, m_subcpu, XTAL(32'000'000)/2); /* 16MHz - verified */
+ m_subcpu->set_addrmap(AS_PROGRAM, &superchs_state::superchs_cpub_map);
+ m_subcpu->set_vblank_int("screen", FUNC(superchs_state::irq4_line_hold));
config.m_minimum_quantum = attotime::from_hz(480); /* Need to interleave CPU 1 & 3 */
@@ -255,13 +255,13 @@ MACHINE_CONFIG_START(superchs_state::superchs)
// there are 'vibration' control bits somewhere!
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(40*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 32*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(superchs_state, screen_update_superchs)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(40*8, 32*8);
+ screen.set_visarea(0, 40*8-1, 2*8, 32*8-1);
+ screen.set_screen_update(FUNC(superchs_state::screen_update_superchs));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_superchs);
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 8192);
@@ -275,15 +275,15 @@ MACHINE_CONFIG_START(superchs_state::superchs)
/* sound hardware */
TAITO_EN(config, "taito_en", 0);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(superchs_state::chase3)
+void superchs_state::chase3(machine_config &config)
+{
superchs(config);
- MCFG_DEVICE_MODIFY("sub")
- MCFG_DEVICE_PROGRAM_MAP(chase3_cpub_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq4_line_hold)
-MACHINE_CONFIG_END
+ m_subcpu->set_addrmap(AS_PROGRAM, &superchs_state::chase3_cpub_map);
+ m_subcpu->set_vblank_int("screen", FUNC(superchs_state::irq4_line_hold));
+}
/***************************************************************************/