diff options
Diffstat (limited to 'src/mame/drivers/supduck.cpp')
-rw-r--r-- | src/mame/drivers/supduck.cpp | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/src/mame/drivers/supduck.cpp b/src/mame/drivers/supduck.cpp index 5a18c908aa1..c34cb79c02d 100644 --- a/src/mame/drivers/supduck.cpp +++ b/src/mame/drivers/supduck.cpp @@ -443,29 +443,30 @@ void supduck_state::machine_reset() MACHINE_CONFIG_START(supduck_state::supduck) + /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(8'000'000)); /* Verified on PCB */ - m_maincpu->set_addrmap(AS_PROGRAM, &supduck_state::main_map); - m_maincpu->set_vblank_int("screen", FUNC(supduck_state::irq2_line_hold)); // 2 & 4? + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(8'000'000)) /* Verified on PCB */ + MCFG_DEVICE_PROGRAM_MAP(main_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", supduck_state, irq2_line_hold) // 2 & 4? - Z80(config, m_audiocpu, XTAL(8'000'000)/4); /* 2MHz - verified on PCB */ - m_audiocpu->set_addrmap(AS_PROGRAM, &supduck_state::sound_map); + MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000)/4) /* 2MHz - verified on PCB */ + MCFG_DEVICE_PROGRAM_MAP(sound_map) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); - screen.set_screen_update(FUNC(supduck_state::screen_update)); - screen.set_size(32*8, 32*8); - screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); - screen.set_palette(m_palette); - screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) + MCFG_SCREEN_UPDATE_DRIVER(supduck_state, screen_update) + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising)) - BUFFERED_SPRITERAM16(config, m_spriteram); + MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_supduck); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_supduck) - TIGEROAD_SPRITE(config, m_spritegen, 0); + MCFG_DEVICE_ADD("spritegen", TIGEROAD_SPRITE, 0) MCFG_PALETTE_ADD("palette", 0x800/2) MCFG_PALETTE_FORMAT(xRGBRRRRGGGGBBBB_bit4) @@ -475,12 +476,14 @@ MACHINE_CONFIG_START(supduck_state::supduck) GENERIC_LATCH_8(config, m_soundlatch); - okim6295_device &oki(OKIM6295(config, "oki", XTAL(8'000'000)/8, okim6295_device::PIN7_HIGH)); // 1MHz - Verified on PCB, pin 7 not verified - oki.add_route(ALL_OUTPUTS, "mono", 1.0); - oki.set_addrmap(0, &supduck_state::oki_map); + MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(8'000'000)/8, okim6295_device::PIN7_HIGH) // 1MHz - Verified on PCB, pin 7 not verified + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MCFG_DEVICE_ADDRESS_MAP(0, oki_map) + MACHINE_CONFIG_END + /*************************************************************************** Game driver(s) |