From af4ecf61f45a359f9e6ac8b2274dcb16bec2f62f Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 11 Oct 2017 18:24:38 -0400 Subject: taito_l.cpp: Separate raimais configuration; unify video (nw) --- src/mame/drivers/taito_l.cpp | 112 +++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 69 deletions(-) diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp index ec47b4d87f6..526f35a2b6b 100644 --- a/src/mame/drivers/taito_l.cpp +++ b/src/mame/drivers/taito_l.cpp @@ -1528,6 +1528,25 @@ WRITE8_MEMBER(fhawk_state::portA_w) } +static MACHINE_CONFIG_START( l_system_video ) + MCFG_SCREEN_ADD("screen", 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, 2*8, 30*8-1) + MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol)) + MCFG_SCREEN_PALETTE("palette") + + MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l) + MCFG_PALETTE_ADD("palette", 256) + + MCFG_VIDEO_START_OVERRIDE(taitol_state, taito_l) + + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", taitol_state, vbl_interrupt, "screen", 0, 1) +MACHINE_CONFIG_END + + static MACHINE_CONFIG_START( fhawk ) /* basic machine hardware */ @@ -1535,8 +1554,6 @@ static MACHINE_CONFIG_START( fhawk ) MCFG_CPU_PROGRAM_MAP(fhawk_map) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(taitol_state, irq_callback) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", taitol_state, vbl_interrupt, "screen", 0, 1) - MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/3) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(fhawk_3_map) @@ -1558,19 +1575,7 @@ static MACHINE_CONFIG_START( fhawk ) MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) /* video hardware */ - MCFG_SCREEN_ADD("screen", 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, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol)) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l) - MCFG_PALETTE_ADD("palette", 256) - - MCFG_VIDEO_START_OVERRIDE(taitol_state, taito_l) + MCFG_FRAGMENT_ADD(l_system_video) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -1615,19 +1620,21 @@ MACHINE_CONFIG_END -static MACHINE_CONFIG_DERIVED( raimais, fhawk ) +static MACHINE_CONFIG_START( raimais ) - /* basic machine hardware */ - MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_ADD("maincpu", Z80, 13330560/2) // needs verification from pin122 of TC0090LVC MCFG_CPU_PROGRAM_MAP(raimais_map) + MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(taitol_state, irq_callback) - MCFG_CPU_MODIFY("audiocpu") + MCFG_CPU_ADD("audiocpu", Z80, 12000000/3) // not verified MCFG_CPU_PROGRAM_MAP(raimais_3_map) - MCFG_CPU_MODIFY("slave") + MCFG_CPU_ADD("slave", Z80, 12000000/3) // not verified MCFG_CPU_PROGRAM_MAP(raimais_2_map) + MCFG_CPU_VBLANK_INT_DRIVER("screen", taitol_state, irq0_line_hold) + + MCFG_QUANTUM_PERFECT_CPU("maincpu") - MCFG_DEVICE_REMOVE("tc0220ioc") MCFG_DEVICE_ADD("tc0040ioc", TC0040IOC, 0) MCFG_TC0040IOC_READ_0_CB(IOPORT("DSWA")) MCFG_TC0040IOC_READ_1_CB(IOPORT("DSWB")) @@ -1638,17 +1645,24 @@ static MACHINE_CONFIG_DERIVED( raimais, fhawk ) MCFG_DEVICE_ADD("dpram", MB8421, 0) - MCFG_DEVICE_REMOVE("ciu") - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("slave") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) + MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) + + /* video hardware */ + MCFG_FRAGMENT_ADD(l_system_video) /* sound hardware */ - MCFG_SOUND_REPLACE("ymsnd", YM2610, XTAL_8MHz) /* verified on pcb (8Mhz OSC is also for the 2nd z80) */ + MCFG_SPEAKER_STANDARD_MONO("mono") + + MCFG_SOUND_ADD("ymsnd", YM2610, XTAL_8MHz) /* verified on pcb (8Mhz OSC is also for the 2nd z80) */ MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.25) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) + + MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) + MCFG_TC0140SYT_MASTER_CPU("slave") + MCFG_TC0140SYT_SLAVE_CPU("audiocpu") MACHINE_CONFIG_END @@ -1659,8 +1673,6 @@ static MACHINE_CONFIG_START( kurikint ) MCFG_CPU_PROGRAM_MAP(kurikint_map) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(taitol_state, irq_callback) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", taitol_state, vbl_interrupt, "screen", 0, 1) - MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/3) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(kurikint_2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", taitol_state, irq0_line_hold) @@ -1681,19 +1693,7 @@ static MACHINE_CONFIG_START( kurikint ) MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) /* video hardware */ - MCFG_SCREEN_ADD("screen", 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, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol)) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l) - MCFG_PALETTE_ADD("palette", 256) - - MCFG_VIDEO_START_OVERRIDE(taitol_state, taito_l) + MCFG_FRAGMENT_ADD(l_system_video) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -1712,25 +1712,12 @@ static MACHINE_CONFIG_START( plotting ) MCFG_CPU_ADD("maincpu", Z80, XTAL_13_33056MHz/2) /* verified freq on pin122 of TC0090LVC cpu */ MCFG_CPU_PROGRAM_MAP(plotting_map) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(taitol_state, irq_callback) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", taitol_state, vbl_interrupt, "screen", 0, 1) MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) /* video hardware */ - MCFG_SCREEN_ADD("screen", 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, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol)) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l) - MCFG_PALETTE_ADD("palette", 256) - - MCFG_VIDEO_START_OVERRIDE(taitol_state, taito_l) + MCFG_FRAGMENT_ADD(l_system_video) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -1841,7 +1828,6 @@ static MACHINE_CONFIG_START( evilston ) MCFG_CPU_ADD("maincpu", Z80, XTAL_13_33056MHz/2) /* not verified */ MCFG_CPU_PROGRAM_MAP(evilston_map) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(taitol_state, irq_callback) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", taitol_state, vbl_interrupt, "screen", 0, 1) MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/3) /* not verified */ MCFG_CPU_PROGRAM_MAP(evilston_2_map) @@ -1864,19 +1850,7 @@ static MACHINE_CONFIG_START( evilston ) MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) /* video hardware */ - MCFG_SCREEN_ADD("screen", 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, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol)) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l) - MCFG_PALETTE_ADD("palette", 256) - - MCFG_VIDEO_START_OVERRIDE(taitol_state, taito_l) + MCFG_FRAGMENT_ADD(l_system_video) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") -- cgit v1.2.3