arkanoid, tehkanwc: More PSG substitution (nw)

This commit is contained in:
AJR 2017-06-15 14:50:25 -04:00
parent 35c4f0f9d7
commit 410384f497
2 changed files with 32 additions and 8 deletions

View File

@ -44,6 +44,10 @@
above $F000. For these addresses it is vital to read zero values, or else the
player will die for no reason.
Some bootleg boards substitute an AY-3-8910A for the YM2149. Since the clock
divider of the GI PSG cannot be configured, this effectively doubles the
pitch of music and sound effects on actual hardware!
Measured Clocks:
Z80 - 5997077Hz (6Mhz)
MC68705 - 2998533Hz (3Mhz)
@ -1389,6 +1393,14 @@ static MACHINE_CONFIG_DERIVED( bootleg, arkanoid )
MCFG_DEVICE_REMOVE("mcu")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( aysnd, bootleg )
MCFG_SOUND_ADD("aysnd", AY8910, XTAL_12MHz/4)
MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT)
MCFG_AY8910_PORT_A_READ_CB(IOPORT("UNUSED"))
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW"))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.66)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( hexa )
@ -2209,11 +2221,11 @@ GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock
GAME( 1986, arkbloc2, arkanoid, bootleg, arkangc, arkanoid_state, arkbloc2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arkbloc3, arkanoid, bootleg, block2, arkanoid_state, block2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // Both these sets (arkblock3, block2) have an extra unknown rom
GAME( 1986, block2, arkanoid, bootleg, block2, arkanoid_state, block2, ROT90, "bootleg (S.P.A. Co.)", "Block 2 (S.P.A. Co. bootleg)", MACHINE_SUPPORTS_SAVE ) // and scrambled gfx roms with 'space invader' themed gfx
GAME( 1986, arkgcbl, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arkgcbla, arkanoid, bootleg, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arkgcbl, arkanoid, aysnd, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arkgcbla, arkanoid, aysnd, arkgcbl, arkanoid_state, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, paddle2, arkanoid, bootleg, paddle2, arkanoid_state, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arkatayt, arkanoid, aysnd, arkatayt, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, arktayt2, arkanoid, aysnd, arktayt2, arkanoid_state, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", MACHINE_SUPPORTS_SAVE )
// Other games
GAME( 1987, arkatour, 0, arkanoid, arkanoid, arkanoid_state, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", MACHINE_SUPPORTS_SAVE )

View File

@ -669,12 +669,12 @@ static MACHINE_CONFIG_START( tehkanwc )
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
MCFG_SOUND_ADD("ay1", AY8910, 18432000/12)
MCFG_SOUND_ADD("ay1", YM2149, 18432000/12)
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(tehkanwc_state, portA_w))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(tehkanwc_state, portB_w))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MCFG_SOUND_ADD("ay2", AY8910, 18432000/12)
MCFG_SOUND_ADD("ay2", YM2149, 18432000/12)
MCFG_AY8910_PORT_A_READ_CB(READ8(tehkanwc_state, portA_r))
MCFG_AY8910_PORT_B_READ_CB(READ8(tehkanwc_state, portB_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
@ -685,6 +685,18 @@ static MACHINE_CONFIG_START( tehkanwc )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED(tehkanwcb, tehkanwc)
MCFG_SOUND_REPLACE("ay1", AY8910, 18432000/12)
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(tehkanwc_state, portA_w))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(tehkanwc_state, portB_w))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MCFG_SOUND_REPLACE("ay2", AY8910, 18432000/12)
MCFG_AY8910_PORT_A_READ_CB(READ8(tehkanwc_state, portA_r))
MCFG_AY8910_PORT_B_READ_CB(READ8(tehkanwc_state, portB_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(tehkanwc_state,teedoff)
{
@ -929,8 +941,8 @@ ROM_END
GAME( 1985, tehkanwc, 0, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "Tehkan", "Tehkan World Cup (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1985, tehkanwcb, tehkanwc, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "Tehkan", "Tehkan World Cup (set 2, bootleg?)", MACHINE_SUPPORTS_SAVE )
GAME( 1985, tehkanwcc, tehkanwc, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "bootleg", "Tehkan World Cup (set 3, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // aka 'World Cup 85', different inputs?
GAME( 1985, tehkanwcb, tehkanwc, tehkanwcb, tehkanwc, tehkanwc_state, 0, ROT0, "Tehkan", "Tehkan World Cup (set 2, bootleg?)", MACHINE_SUPPORTS_SAVE )
GAME( 1985, tehkanwcc, tehkanwc, tehkanwcb, tehkanwc, tehkanwc_state, 0, ROT0, "bootleg", "Tehkan World Cup (set 3, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // aka 'World Cup 85', different inputs?
GAME( 1985, tehkanwcd, tehkanwc, tehkanwc, tehkanwc, tehkanwc_state, 0, ROT0, "Tehkan", "Tehkan World Cup (set 4, earlier?)", MACHINE_SUPPORTS_SAVE )
GAMEL(1985, gridiron, 0, tehkanwc, gridiron, tehkanwc_state, 0, ROT0, "Tehkan", "Gridiron Fight", MACHINE_SUPPORTS_SAVE, layout_gridiron )
GAME( 1986, teedoff, 0, tehkanwc, teedoff, tehkanwc_state, teedoff, ROT90, "Tecmo", "Tee'd Off (Japan)", MACHINE_SUPPORTS_SAVE )