summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/airbustr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/airbustr.cpp')
-rw-r--r--src/mame/drivers/airbustr.cpp57
1 files changed, 29 insertions, 28 deletions
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index 7e779e622ce..88294b4bdc4 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -562,38 +562,38 @@ void airbustr_state::machine_reset()
/* Machine Driver */
-void airbustr_state::airbustr(machine_config &config)
-{
+MACHINE_CONFIG_START(airbustr_state::airbustr)
+
/* basic machine hardware */
- Z80(config, m_master, XTAL(12'000'000)/2); /* verified on pcb */
- m_master->set_addrmap(AS_PROGRAM, &airbustr_state::master_map);
- m_master->set_addrmap(AS_IO, &airbustr_state::master_io_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(airbustr_state::airbustr_scanline), "screen", 0, 1);
-
- Z80(config, m_slave, XTAL(12'000'000)/2); /* verified on pcb */
- m_slave->set_addrmap(AS_PROGRAM, &airbustr_state::slave_map);
- m_slave->set_addrmap(AS_IO, &airbustr_state::slave_io_map);
- m_slave->set_vblank_int("screen", FUNC(airbustr_state::slave_interrupt)); /* nmi signal from master cpu */
-
- Z80(config, m_audiocpu, XTAL(12'000'000)/2); /* verified on pcb */
- m_audiocpu->set_addrmap(AS_PROGRAM, &airbustr_state::sound_map);
- m_audiocpu->set_addrmap(AS_IO, &airbustr_state::sound_io_map);
- m_audiocpu->set_vblank_int("screen", FUNC(airbustr_state::irq0_line_hold)); // nmi are caused by sub cpu writing a sound command
-
- config.m_minimum_quantum = attotime::from_hz(6000); // Palette RAM is filled by sub cpu with data supplied by main cpu
+ MCFG_DEVICE_ADD("master", Z80, XTAL(12'000'000)/2) /* verified on pcb */
+ MCFG_DEVICE_PROGRAM_MAP(master_map)
+ MCFG_DEVICE_IO_MAP(master_io_map)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", airbustr_state, airbustr_scanline, "screen", 0, 1)
+
+ MCFG_DEVICE_ADD("slave", Z80, XTAL(12'000'000)/2) /* verified on pcb */
+ MCFG_DEVICE_PROGRAM_MAP(slave_map)
+ MCFG_DEVICE_IO_MAP(slave_io_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", airbustr_state, slave_interrupt) /* nmi signal from master cpu */
+
+ MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(12'000'000)/2) /* verified on pcb */
+ MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ MCFG_DEVICE_IO_MAP(sound_io_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", airbustr_state, irq0_line_hold) // nmi are caused by sub cpu writing a sound command
+
+ MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // Palette RAM is filled by sub cpu with data supplied by main cpu
// Maybe a high value is safer in order to avoid glitches
WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_seconds(3)); /* a guess, and certainly wrong */
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(57.4);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0, 32*8-1, 2*8, 30*8-1);
- m_screen->set_screen_update(FUNC(airbustr_state::screen_update));
- m_screen->screen_vblank().set(FUNC(airbustr_state::screen_vblank));
- m_screen->set_palette(m_palette);
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(57.4)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MCFG_SCREEN_SIZE(32*8, 32*8)
+ MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(airbustr_state, screen_update)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, airbustr_state, screen_vblank))
+ MCFG_SCREEN_PALETTE(m_palette)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_airbustr);
PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 768);
@@ -618,8 +618,9 @@ void airbustr_state::airbustr(machine_config &config)
ymsnd.add_route(2, "mono", 0.25);
ymsnd.add_route(3, "mono", 0.50);
- OKIM6295(config, "oki", XTAL(12'000'000)/4, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.80); /* verified on pcb */
-}
+ MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/4, okim6295_device::PIN7_LOW) /* verified on pcb */
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
+MACHINE_CONFIG_END
void airbustr_state::airbustrb(machine_config &config)
{