diff options
Diffstat (limited to 'src/mame/drivers/airbustr.cpp')
-rw-r--r-- | src/mame/drivers/airbustr.cpp | 57 |
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) { |