summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/looping.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/looping.cpp')
-rw-r--r--src/mame/drivers/looping.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/mame/drivers/looping.cpp b/src/mame/drivers/looping.cpp
index 56cdd2ca1b3..3e9066dcf68 100644
--- a/src/mame/drivers/looping.cpp
+++ b/src/mame/drivers/looping.cpp
@@ -621,8 +621,8 @@ GFXDECODE_END
*
*************************************/
-MACHINE_CONFIG_START(looping_state::looping)
-
+void looping_state::looping(machine_config &config)
+{
// CPU TMS9995, standard variant; no line connections
TMS9995(config, m_maincpu, MAIN_CPU_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &looping_state::looping_map);
@@ -655,15 +655,14 @@ MACHINE_CONFIG_START(looping_state::looping)
WATCHDOG_TIMER(config, m_watchdog);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
- MCFG_SCREEN_UPDATE_DRIVER(looping_state, screen_update_looping)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
+ screen.set_screen_update(FUNC(looping_state::screen_update_looping));
+ screen.set_palette(m_palette);
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_looping)
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_looping);
- MCFG_PALETTE_ADD("palette", 32)
- MCFG_PALETTE_INIT_OWNER(looping_state, looping)
+ PALETTE(config, m_palette, 32).set_init(FUNC(looping_state::palette_init_looping));
ls259_device &videolatch(LS259(config, "videolatch")); // E2 on video board
videolatch.q_out_cb<1>().set(FUNC(looping_state::level2_irq_set));
@@ -679,13 +678,15 @@ MACHINE_CONFIG_START(looping_state::looping)
m_aysnd->port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read));
m_aysnd->add_route(ALL_OUTPUTS, "speaker", 0.2);
- MCFG_DEVICE_ADD("tms", TMS5220, TMS_CLOCK)
- MCFG_TMS52XX_IRQ_HANDLER(WRITELINE(*this, looping_state, looping_spcint))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
+ TMS5220(config, m_tms, TMS_CLOCK);
+ m_tms->irq_cb().set(FUNC(looping_state::looping_spcint));
+ m_tms->add_route(ALL_OUTPUTS, "speaker", 0.5);
- MCFG_DEVICE_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ DAC_2BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.15); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
ls259_device &sen0(LS259(config, "sen0")); // B3 on sound board
sen0.q_out_cb<0>().set(FUNC(looping_state::looping_souint_clr));
@@ -695,7 +696,7 @@ MACHINE_CONFIG_START(looping_state::looping)
sen1.q_out_cb<0>().set(FUNC(looping_state::ay_enable_w));
sen1.q_out_cb<1>().set(FUNC(looping_state::speech_enable_w));
sen1.q_out_cb<2>().set(FUNC(looping_state::ballon_enable_w));
-MACHINE_CONFIG_END
+}