diff options
Diffstat (limited to 'src/mame/drivers/speedbal.cpp')
-rw-r--r-- | src/mame/drivers/speedbal.cpp | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/mame/drivers/speedbal.cpp b/src/mame/drivers/speedbal.cpp index a2937c9a869..6f849385d04 100644 --- a/src/mame/drivers/speedbal.cpp +++ b/src/mame/drivers/speedbal.cpp @@ -263,27 +263,27 @@ GFXDECODE_END -void speedbal_state::speedbal(machine_config &config) -{ +MACHINE_CONFIG_START(speedbal_state::speedbal) + /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(4'000'000)); // 4 MHz - m_maincpu->set_addrmap(AS_PROGRAM, &speedbal_state::main_cpu_map); - m_maincpu->set_addrmap(AS_IO, &speedbal_state::main_cpu_io_map); - m_maincpu->set_vblank_int("screen", FUNC(speedbal_state::irq0_line_hold)); + MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000)) // 4 MHz + MCFG_DEVICE_PROGRAM_MAP(main_cpu_map) + MCFG_DEVICE_IO_MAP(main_cpu_io_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", speedbal_state, irq0_line_hold) - z80_device &audiocpu(Z80(config, "audiocpu", XTAL(4'000'000))); // 4 MHz - audiocpu.set_addrmap(AS_PROGRAM, &speedbal_state::sound_cpu_map); - audiocpu.set_addrmap(AS_IO, &speedbal_state::sound_cpu_io_map); - audiocpu.set_periodic_int(FUNC(speedbal_state::irq0_line_hold), attotime::from_hz(1000/2)); // approximate? + MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(4'000'000)) // 4 MHz + MCFG_DEVICE_PROGRAM_MAP(sound_cpu_map) + MCFG_DEVICE_IO_MAP(sound_cpu_io_map) + MCFG_DEVICE_PERIODIC_INT_DRIVER(speedbal_state, irq0_line_hold, 1000/2) // approximate? /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(56.4); // measured - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_size(32*8, 32*8); - screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(speedbal_state::screen_update)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(56.4) // measured + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + MCFG_SCREEN_UPDATE_DRIVER(speedbal_state, screen_update) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, m_gfxdecode, m_palette, gfx_speedbal); PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 768).set_endianness(ENDIANNESS_BIG); @@ -291,8 +291,9 @@ void speedbal_state::speedbal(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - YM3812(config, "ymsnd", XTAL(4'000'000)).add_route(ALL_OUTPUTS, "mono", 1.0); // 4 MHz(?) -} + MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(4'000'000)) // 4 MHz(?) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END void speedbal_state::init_speedbal() |