diff options
Diffstat (limited to 'src/mame/drivers/psikyosh.cpp')
-rw-r--r-- | src/mame/drivers/psikyosh.cpp | 64 |
1 files changed, 28 insertions, 36 deletions
diff --git a/src/mame/drivers/psikyosh.cpp b/src/mame/drivers/psikyosh.cpp index bb26dbe5b5c..123edf11b55 100644 --- a/src/mame/drivers/psikyosh.cpp +++ b/src/mame/drivers/psikyosh.cpp @@ -777,62 +777,54 @@ void psikyosh_state::machine_start() } -MACHINE_CONFIG_START(psikyosh_state::psikyo3v1) - +void psikyosh_state::psikyo3v1(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", SH2, MASTER_CLOCK/2) - MCFG_DEVICE_PROGRAM_MAP(ps3v1_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", psikyosh_state, psikyosh_interrupt) + SH2(config, m_maincpu, MASTER_CLOCK/2); + m_maincpu->set_addrmap(AS_PROGRAM, &psikyosh_state::ps3v1_map); + m_maincpu->set_vblank_int("screen", FUNC(psikyosh_state::psikyosh_interrupt)); WATCHDOG_TIMER(config, "watchdog"); - EEPROM_93C56_8BIT(config, "eeprom").default_value(0); + EEPROM_93C56_8BIT(config, m_eeprom).default_value(0); /* video hardware */ - MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM32) /* If using alpha */ + BUFFERED_SPRITERAM32(config, m_spriteram); /* If using alpha */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 28*8-1) - MCFG_SCREEN_UPDATE_DRIVER(psikyosh_state, screen_update_psikyosh) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram32_device, vblank_copy_rising)) - - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_psikyosh) - MCFG_PALETTE_ADD("palette", 0x5000/4) - MCFG_PALETTE_FORMAT(RGBX) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_size(64*8, 32*8); + m_screen->set_visarea(0, 40*8-1, 0, 28*8-1); + m_screen->set_screen_update(FUNC(psikyosh_state::screen_update_psikyosh)); + m_screen->screen_vblank().set("spriteram", FUNC(buffered_spriteram32_device::vblank_copy_rising)); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_psikyosh); + PALETTE(config, m_palette, 0x5000/4).set_format(PALETTE_FORMAT_RGBX); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymf", YMF278B, MASTER_CLOCK/2) - MCFG_YMF278B_IRQ_HANDLER(INPUTLINE("maincpu", 12)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_CONFIG_END + ymf278b_device &ymf(YMF278B(config, "ymf", MASTER_CLOCK/2)); + ymf.irq_handler().set_inputline("maincpu", 12); + ymf.add_route(ALL_OUTPUTS, "mono", 1.0); +} -MACHINE_CONFIG_START(psikyosh_state::psikyo5) +void psikyosh_state::psikyo5(machine_config &config) +{ psikyo3v1(config); + m_maincpu->set_addrmap(AS_PROGRAM, &psikyosh_state::ps5_map); +} - /* basic machine hardware */ - - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(ps5_map) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(psikyosh_state::psikyo5_240) +void psikyosh_state::psikyo5_240(machine_config &config) +{ psikyo3v1(config); - /* basic machine hardware */ - - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(ps5_map) + m_maincpu->set_addrmap(AS_PROGRAM, &psikyosh_state::ps5_map); /* Measured Hsync 16.165 KHz, Vsync 61.68 Hz */ /* Ideally this would be driven off the video register. However, it doesn't changeat runtime and MAME will pick a better screen resolution if it knows upfront */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/8, 443, 0, 40*8, 262, 0, 30*8) -MACHINE_CONFIG_END + m_screen->set_raw(MASTER_CLOCK/8, 443, 0, 40*8, 262, 0, 30*8); +} /* PS3 */ |