diff options
Diffstat (limited to 'src/mame/drivers/progolf.cpp')
-rw-r--r-- | src/mame/drivers/progolf.cpp | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/src/mame/drivers/progolf.cpp b/src/mame/drivers/progolf.cpp index e84624d7d4f..b40a1b5018e 100644 --- a/src/mame/drivers/progolf.cpp +++ b/src/mame/drivers/progolf.cpp @@ -418,30 +418,31 @@ void progolf_state::progolf_palette(palette_device &palette) const } } -MACHINE_CONFIG_START(progolf_state::progolf) +void progolf_state::progolf(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", DECO_222, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */ - MCFG_DEVICE_PROGRAM_MAP(main_cpu) + DECO_222(config, m_maincpu, 3000000/2); /* guess, 3 Mhz makes the game to behave worse? */ + m_maincpu->set_addrmap(AS_PROGRAM, &progolf_state::main_cpu); - MCFG_DEVICE_ADD("audiocpu", M6502, 500000) - MCFG_DEVICE_PROGRAM_MAP(sound_cpu) + M6502(config, m_audiocpu, 500000); + m_audiocpu->set_addrmap(AS_PROGRAM, &progolf_state::sound_cpu); - MCFG_QUANTUM_PERFECT_CPU("maincpu") + config.m_perfect_cpu_quantum = subtag("maincpu"); generic_latch_8_device &soundlatch(GENERIC_LATCH_8(config, "soundlatch")); soundlatch.data_pending_callback().set_inputline(m_audiocpu, 0); soundlatch.set_separate_acknowledge(true); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(57) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(3072)) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(progolf_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) - - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, m_palette, gfx_progolf) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(57); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(3072)); + screen.set_size(256, 256); + screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); + screen.set_screen_update(FUNC(progolf_state::screen_update)); + screen.set_palette(m_palette); + + GFXDECODE(config, m_gfxdecode, m_palette, gfx_progolf); PALETTE(config, m_palette, FUNC(progolf_state::progolf_palette), 32 * 3); mc6845_device &crtc(MC6845(config, "crtc", 3000000/4)); /* hand tuned to get ~57 fps */ @@ -455,14 +456,15 @@ MACHINE_CONFIG_START(progolf_state::progolf) AY8910(config, "ay1", 12000000/8).add_route(ALL_OUTPUTS, "mono", 0.23); AY8910(config, "ay2", 12000000/8).add_route(ALL_OUTPUTS, "mono", 0.23); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(progolf_state::progolfa) +void progolf_state::progolfa(machine_config &config) +{ progolf(config); - MCFG_DEVICE_REMOVE("maincpu") /* different encrypted cpu to progolf */ - MCFG_DEVICE_ADD("maincpu", DECO_CPU6, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */ - MCFG_DEVICE_PROGRAM_MAP(main_cpu) -MACHINE_CONFIG_END + /* different encrypted cpu to progolf */ + DECO_CPU6(config.replace(), m_maincpu, 3000000/2); /* guess, 3 Mhz makes the game to behave worse? */ + m_maincpu->set_addrmap(AS_PROGRAM, &progolf_state::main_cpu); +} ROM_START( progolf ) |