summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/psikyo4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/psikyo4.cpp')
-rw-r--r--src/mame/drivers/psikyo4.cpp84
1 files changed, 40 insertions, 44 deletions
diff --git a/src/mame/drivers/psikyo4.cpp b/src/mame/drivers/psikyo4.cpp
index 0701e399a8b..95b83cbbd28 100644
--- a/src/mame/drivers/psikyo4.cpp
+++ b/src/mame/drivers/psikyo4.cpp
@@ -598,64 +598,60 @@ void psikyo4_state::machine_reset()
m_oldbrt[1] = -1;
}
-MACHINE_CONFIG_START(psikyo4_state::ps4big)
-
+void psikyo4_state::ps4big(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", SH2, 57272700/2)
- MCFG_DEVICE_PROGRAM_MAP(ps4_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", psikyo4_state, interrupt)
+ SH2(config, m_maincpu, 57272700/2);
+ m_maincpu->set_addrmap(AS_PROGRAM, &psikyo4_state::ps4_map);
+ m_maincpu->set_vblank_int("lscreen", FUNC(psikyo4_state::interrupt));
- EEPROM_93C56_8BIT(config, "eeprom").default_value(0);
+ EEPROM_93C56_8BIT(config, m_eeprom).default_value(0);
/* video hardware */
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "lpalette", gfx_ps4)
- MCFG_PALETTE_ADD("lpalette", (0x2000/4) + 1) /* palette + clear colour */
- MCFG_PALETTE_ADD("rpalette", (0x2000/4) + 1)
+ GFXDECODE(config, m_gfxdecode, m_palette[0], gfx_ps4);
+ PALETTE(config, m_palette[0], (0x2000/4) + 1); /* palette + clear colour */
+ PALETTE(config, m_palette[1], (0x2000/4) + 1);
config.set_default_layout(layout_dualhsxs);
- MCFG_SCREEN_ADD("lscreen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(40*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(psikyo4_state, screen_update<0>)
- MCFG_SCREEN_PALETTE("lpalette")
-
- MCFG_SCREEN_ADD("rscreen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(40*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(psikyo4_state, screen_update<1>)
- MCFG_SCREEN_PALETTE("rpalette")
+ SCREEN(config, m_lscreen, SCREEN_TYPE_RASTER);
+ m_lscreen->set_refresh_hz(60);
+ m_lscreen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_lscreen->set_size(40*8, 32*8);
+ m_lscreen->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
+ m_lscreen->set_screen_update(FUNC(psikyo4_state::screen_update<0>));
+ m_lscreen->set_palette(m_palette[0]);
+
+ SCREEN(config, m_rscreen, SCREEN_TYPE_RASTER);
+ m_rscreen->set_refresh_hz(60);
+ m_rscreen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_rscreen->set_size(40*8, 32*8);
+ m_rscreen->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
+ m_rscreen->set_screen_update(FUNC(psikyo4_state::screen_update<1>));
+ m_rscreen->set_palette(m_palette[1]);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("ymf", YMF278B, 57272700/2)
- MCFG_DEVICE_ADDRESS_MAP(0, ps4_ymf_map)
- MCFG_YMF278B_IRQ_HANDLER(INPUTLINE("maincpu", 12))
- MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) // Output for each screen
- MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
- MCFG_SOUND_ROUTE(3, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(4, "rspeaker", 1.0)
- MCFG_SOUND_ROUTE(5, "lspeaker", 1.0)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(psikyo4_state::ps4small)
- ps4big(config);
-
- /* basic machine hardware */
+ ymf278b_device &ymf(YMF278B(config, "ymf", 57272700/2));
+ ymf.set_addrmap(0, &psikyo4_state::ps4_ymf_map);
+ ymf.irq_handler().set_inputline("maincpu", 12);
+ ymf.add_route(0, "rspeaker", 1.0); // Output for each screen
+ ymf.add_route(1, "lspeaker", 1.0);
+ ymf.add_route(2, "rspeaker", 1.0);
+ ymf.add_route(3, "lspeaker", 1.0);
+ ymf.add_route(4, "rspeaker", 1.0);
+ ymf.add_route(5, "lspeaker", 1.0);
+}
- MCFG_SCREEN_MODIFY("lscreen")
- MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
+void psikyo4_state::ps4small(machine_config &config)
+{
+ ps4big(config);
- MCFG_SCREEN_MODIFY("rscreen")
- MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
-MACHINE_CONFIG_END
+ m_lscreen->set_visarea(0*8, 40*8-1, 0*8, 30*8-1);
+ m_rscreen->set_visarea(0*8, 40*8-1, 0*8, 30*8-1);
+}