summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/eolith.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/eolith.cpp')
-rw-r--r--src/mame/drivers/eolith.cpp63
1 files changed, 32 insertions, 31 deletions
diff --git a/src/mame/drivers/eolith.cpp b/src/mame/drivers/eolith.cpp
index 4ce6fcd539e..98a936e4a41 100644
--- a/src/mame/drivers/eolith.cpp
+++ b/src/mame/drivers/eolith.cpp
@@ -537,10 +537,11 @@ INPUT_PORTS_END
*
*************************************/
-MACHINE_CONFIG_START(eolith_state::eolith45)
- MCFG_DEVICE_ADD("maincpu", E132N, 45000000) /* 45 MHz */
- MCFG_DEVICE_PROGRAM_MAP(eolith_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", eolith_state, eolith_speedup, "screen", 0, 1)
+void eolith_state::eolith45(machine_config &config)
+{
+ E132N(config, m_maincpu, 45000000); /* 45 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &eolith_state::eolith_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(eolith_state::eolith_speedup), "screen", 0, 1);
/* Sound CPU */
I8032(config, m_soundcpu, XTAL(12'000'000));
@@ -560,15 +561,15 @@ MACHINE_CONFIG_START(eolith_state::eolith45)
// MCFG_QUANTUM_TIME(attotime::from_hz(6000))
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(512, 262)
- MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
- MCFG_SCREEN_UPDATE_DRIVER(eolith_state, screen_update_eolith)
- MCFG_SCREEN_PALETTE("palette")
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ m_screen->set_size(512, 262);
+ m_screen->set_visarea(0, 319, 0, 239);
+ m_screen->set_screen_update(FUNC(eolith_state::screen_update_eolith));
+ m_screen->set_palette(m_palette);
- MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette")
+ PALETTE(config, m_palette, 32768).set_init("palette", FUNC(palette_device::palette_init_RRRRRGGGGGBBBBB));
MCFG_VIDEO_START_OVERRIDE(eolith_state,eolith)
@@ -578,31 +579,31 @@ MACHINE_CONFIG_START(eolith_state::eolith45)
GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_soundcpu, MCS51_INT0_LINE);
- MCFG_DEVICE_ADD("qs1000", QS1000, XTAL(24'000'000))
- MCFG_QS1000_EXTERNAL_ROM(true)
- MCFG_QS1000_IN_P1_CB(READ8(*this, eolith_state, qs1000_p1_r))
- MCFG_QS1000_OUT_P1_CB(WRITE8(*this, eolith_state, qs1000_p1_w))
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-MACHINE_CONFIG_END
+ qs1000_device &qs1000(QS1000(config, "qs1000", XTAL(24'000'000)));
+ qs1000.set_external_rom(true);
+ qs1000.p1_in().set(FUNC(eolith_state::qs1000_p1_r));
+ qs1000.p1_out().set(FUNC(eolith_state::qs1000_p1_w));
+ qs1000.add_route(0, "lspeaker", 1.0);
+ qs1000.add_route(1, "rspeaker", 1.0);
+}
-MACHINE_CONFIG_START(eolith_state::eolith50)
+void eolith_state::eolith50(machine_config &config)
+{
eolith45(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_CLOCK(50000000) /* 50 MHz */
-MACHINE_CONFIG_END
+ m_maincpu->set_clock(50000000); /* 50 MHz */
+}
-MACHINE_CONFIG_START(eolith_state::ironfort)
+void eolith_state::ironfort(machine_config &config)
+{
eolith45(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_CLOCK(44900000) /* Normally 45MHz??? but PCB actually had a 44.9MHz OSC, so it's value is used */
-MACHINE_CONFIG_END
+ m_maincpu->set_clock(44900000); /* Normally 45MHz??? but PCB actually had a 44.9MHz OSC, so it's value is used */
+}
-MACHINE_CONFIG_START(eolith_state::hidctch3)
+void eolith_state::hidctch3(machine_config &config)
+{
eolith50(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(hidctch3_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &eolith_state::hidctch3_map);
+}
/*************************************