summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/macrossp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/macrossp.cpp')
-rw-r--r--src/mame/drivers/macrossp.cpp65
1 files changed, 31 insertions, 34 deletions
diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp
index 14c5f7251e3..22a37781df7 100644
--- a/src/mame/drivers/macrossp.cpp
+++ b/src/mame/drivers/macrossp.cpp
@@ -541,30 +541,28 @@ void macrossp_state::machine_reset()
m_snd_toggle = 0;
}
-MACHINE_CONFIG_START(macrossp_state::macrossp)
-
+void macrossp_state::macrossp(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68EC020, 50000000/2) /* 25 MHz */
- MCFG_DEVICE_PROGRAM_MAP(macrossp_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", macrossp_state, irq3_line_hold) // there are others ...
-
- MCFG_DEVICE_ADD("audiocpu", M68000, 32000000/2) /* 16 MHz */
- MCFG_DEVICE_PROGRAM_MAP(macrossp_sound_map)
+ M68EC020(config, m_maincpu, 50000000/2); /* 25 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &macrossp_state::macrossp_map);
+ m_maincpu->set_vblank_int("screen", FUNC(macrossp_state::irq3_line_hold)); // there are others ...
+ M68000(config, m_audiocpu, 32000000/2); /* 16 MHz */
+ m_audiocpu->set_addrmap(AS_PROGRAM, &macrossp_state::macrossp_sound_map);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(32*16, 16*16)
- MCFG_SCREEN_VISIBLE_AREA(0*16, 24*16-1, 0*16, 15*16-1)
- MCFG_SCREEN_UPDATE_DRIVER(macrossp_state, screen_update_macrossp)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, macrossp_state, screen_vblank_macrossp))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(32*16, 16*16);
+ m_screen->set_visarea(0*16, 24*16-1, 0*16, 15*16-1);
+ m_screen->set_screen_update(FUNC(macrossp_state::screen_update_macrossp));
+ m_screen->screen_vblank().set(FUNC(macrossp_state::screen_vblank_macrossp));
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_macrossp)
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_macrossp);
- MCFG_PALETTE_ADD("palette", 4096)
- MCFG_PALETTE_FORMAT(RGBX)
+ PALETTE(config, m_palette, 4096).set_format(PALETTE_FORMAT_RGBX);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -572,23 +570,22 @@ MACHINE_CONFIG_START(macrossp_state::macrossp)
GENERIC_LATCH_16(config, m_soundlatch);
- MCFG_DEVICE_ADD("ensoniq", ES5506, 16000000)
- MCFG_ES5506_REGION0("ensoniq.0")
- MCFG_ES5506_REGION1("ensoniq.1")
- MCFG_ES5506_REGION2("ensoniq.2")
- MCFG_ES5506_REGION3("ensoniq.3")
- MCFG_ES5506_CHANNELS(1) /* channels */
- MCFG_ES5506_IRQ_CB(WRITELINE(*this, macrossp_state, irqhandler))
- MCFG_SOUND_ROUTE(0, "lspeaker", 0.1)
- MCFG_SOUND_ROUTE(1, "rspeaker", 0.1)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(macrossp_state::quizmoon)
- macrossp(config);
+ es5506_device &ensoniq(ES5506(config, "ensoniq", 16000000));
+ ensoniq.set_region0("ensoniq.0");
+ ensoniq.set_region1("ensoniq.1");
+ ensoniq.set_region2("ensoniq.2");
+ ensoniq.set_region3("ensoniq.3");
+ ensoniq.set_channels(1);
+ ensoniq.irq_cb().set(FUNC(macrossp_state::irqhandler));
+ ensoniq.add_route(0, "lspeaker", 0.1);
+ ensoniq.add_route(1, "rspeaker", 0.1);
+}
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VISIBLE_AREA(0, 24*16-1, 0*8, 14*16-1)
-MACHINE_CONFIG_END
+void macrossp_state::quizmoon(machine_config &config)
+{
+ macrossp(config);
+ m_screen->set_visarea(0, 24*16-1, 0*8, 14*16-1);
+}