summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/magic10.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/magic10.cpp')
-rw-r--r--src/mame/drivers/magic10.cpp71
1 files changed, 34 insertions, 37 deletions
diff --git a/src/mame/drivers/magic10.cpp b/src/mame/drivers/magic10.cpp
index 9195fff8044..c67df432427 100644
--- a/src/mame/drivers/magic10.cpp
+++ b/src/mame/drivers/magic10.cpp
@@ -736,22 +736,23 @@ GFXDECODE_END
* Machine Drivers *
****************************/
-MACHINE_CONFIG_START(magic10_state::magic10)
+void magic10_state::magic10(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68000, CPU_CLOCK) // 10 MHz.
- MCFG_DEVICE_PROGRAM_MAP(magic10_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", magic10_state, irq1_line_hold)
+ M68000(config, m_maincpu, CPU_CLOCK); // 10 MHz.
+ m_maincpu->set_addrmap(AS_PROGRAM, &magic10_state::magic10_map);
+ m_maincpu->set_vblank_int("screen", FUNC(magic10_state::irq1_line_hold));
// 1FILL is required by vanilla magic10 at least (otherwise gameplay won't work properly)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(64*8, 64*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 2*8, 32*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(magic10_state, screen_update_magic10)
- 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(64*8, 64*8);
+ screen.set_visarea(0*8, 44*8-1, 2*8, 32*8-1);
+ screen.set_screen_update(FUNC(magic10_state::screen_update_magic10));
+ screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBRG_444, 256);
@@ -759,55 +760,51 @@ MACHINE_CONFIG_START(magic10_state::magic10)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) /* clock frequency & pin 7 not verified */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */
+}
-MACHINE_CONFIG_START(magic10_state::magic10a)
+void magic10_state::magic10a(machine_config &config)
+{
magic10(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(magic10a_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &magic10_state::magic10a_map);
+}
-MACHINE_CONFIG_START(magic10_state::magic102)
+void magic10_state::magic102(machine_config &config)
+{
magic10(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(magic102_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &magic10_state::magic102_map);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_visarea(0*8, 48*8-1, 0*8, 30*8-1);
+}
-MACHINE_CONFIG_START(magic10_state::hotslot)
+void magic10_state::hotslot(machine_config &config)
+{
magic10(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(hotslot_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &magic10_state::hotslot_map);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 2*8, 32*8-1)
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_visarea(8*8, 56*8-1, 2*8, 32*8-1);
+}
-MACHINE_CONFIG_START(magic10_state::sgsafari)
+void magic10_state::sgsafari(machine_config &config)
+{
magic10(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(sgsafari_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", magic10_state, irq2_line_hold) /* L1 interrupts */
+ m_maincpu->set_addrmap(AS_PROGRAM, &magic10_state::sgsafari_map);
+ m_maincpu->set_vblank_int("screen", FUNC(magic10_state::irq2_line_hold)); /* L1 interrupts */
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_visarea(0*8, 44*8-1, 0*8, 30*8-1);
+}
/****************************