summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/paradise.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/paradise.cpp')
-rw-r--r--src/mame/drivers/paradise.cpp86
1 files changed, 42 insertions, 44 deletions
diff --git a/src/mame/drivers/paradise.cpp b/src/mame/drivers/paradise.cpp
index 0db6858a5d7..4c73aef6164 100644
--- a/src/mame/drivers/paradise.cpp
+++ b/src/mame/drivers/paradise.cpp
@@ -731,23 +731,23 @@ INTERRUPT_GEN_MEMBER(paradise_state::irq)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
}
-MACHINE_CONFIG_START(paradise_state::paradise)
-
+void paradise_state::paradise(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* Z8400B - 6mhz Verified */
- MCFG_DEVICE_PROGRAM_MAP(paradise_map)
- MCFG_DEVICE_IO_MAP(paradise_io_map)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(paradise_state, irq, 4*54) /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */
+ Z80(config, m_maincpu, XTAL(12'000'000)/2); /* Z8400B - 6mhz Verified */
+ m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::paradise_map);
+ m_maincpu->set_addrmap(AS_IO, &paradise_state::paradise_io_map);
+ m_maincpu->set_periodic_int(FUNC(paradise_state::irq), attotime::from_hz(4*54)); /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(54) /* 54 verified */
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */ /* we're using PORT_VBLANK */)
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-1-16)
- MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_paradise)
- MCFG_SCREEN_PALETTE(m_palette)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(54); /* 54 verified */
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */ /* we're using PORT_VBLANK */);
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(0, 256-1, 0+16, 256-1-16);
+ m_screen->set_screen_update(FUNC(paradise_state::screen_update_paradise));
+ m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_paradise);
PALETTE(config, m_palette).set_entries(0x800 + 16);
@@ -756,62 +756,60 @@ MACHINE_CONFIG_START(paradise_state::paradise)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) /* verified on pcb */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+ OKIM6295(config, "oki1", XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); /* verified on pcb */
- MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) /* verified on pcb */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
-MACHINE_CONFIG_END
+ OKIM6295(config, m_oki2, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); /* verified on pcb */
+}
-MACHINE_CONFIG_START(paradise_state::tgtball)
+void paradise_state::tgtball(machine_config &config)
+{
paradise(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(tgtball_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::tgtball_map);
+}
-MACHINE_CONFIG_START(paradise_state::torus)
+void paradise_state::torus(machine_config &config)
+{
paradise(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(torus_map)
- MCFG_DEVICE_IO_MAP(torus_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::torus_map);
+ m_maincpu->set_addrmap(AS_IO, &paradise_state::torus_io_map);
- MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_torus)
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_torus)
+ m_gfxdecode->set_info(gfx_torus);
+ m_screen->set_screen_update(FUNC(paradise_state::screen_update_torus));
- MCFG_DEVICE_REMOVE("oki2")
-MACHINE_CONFIG_END
+ config.device_remove("oki2");
+}
-MACHINE_CONFIG_START(paradise_state::madball)
+void paradise_state::madball(machine_config &config)
+{
torus(config);
- MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_madball)
+ m_gfxdecode->set_info(gfx_madball);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_madball)
-MACHINE_CONFIG_END
+ m_screen->set_screen_update(FUNC(paradise_state::screen_update_madball));
+}
-MACHINE_CONFIG_START(paradise_state::penky)
+void paradise_state::penky(machine_config &config)
+{
paradise(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(torus_map)
- MCFG_DEVICE_IO_MAP(torus_io_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::torus_map);
+ m_maincpu->set_addrmap(AS_IO, &paradise_state::torus_io_map);
+}
-MACHINE_CONFIG_START(paradise_state::penkyi)
+void paradise_state::penkyi(machine_config &config)
+{
penky(config);
// TODO add ticket dispenser
- MCFG_DEVICE_REMOVE("oki2")
-MACHINE_CONFIG_END
+ config.device_remove("oki2");
+}
/***************************************************************************