From 35dd85a748e47eb3c9410924febca2afe41a9ae3 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 13 Jan 2017 17:10:48 +1100 Subject: [PATCH] arkanoid bootlegs use P3 MCUs, remove crud from puzznic bootleg (nw) --- src/mame/drivers/arkanoid.cpp | 78 +++++++++++++----------- src/mame/drivers/taito_l.cpp | 2 - src/mame/machine/taito68705interface.cpp | 2 +- src/mame/machine/taito68705interface.h | 2 +- 4 files changed, 44 insertions(+), 40 deletions(-) diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp index 38ca3f9e00b..f124f2f3ff0 100644 --- a/src/mame/drivers/arkanoid.cpp +++ b/src/mame/drivers/arkanoid.cpp @@ -1325,6 +1325,22 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.66) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( p3mcu, arkanoid ) + + /* unprotected MCU */ + MCFG_DEVICE_REPLACE("mcu", ARKANOID_68705P3, XTAL_12MHz/4) + MCFG_ARKANOID_MCU_PORTB_R_CB(IOPORT("MUX")) +MACHINE_CONFIG_END + +static MACHINE_CONFIG_DERIVED( bootleg, arkanoid ) + + /* basic machine hardware */ + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_PROGRAM_MAP(bootleg_map) + + MCFG_DEVICE_REMOVE("mcu") +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( hexa, arkanoid_state ) @@ -1367,16 +1383,6 @@ static MACHINE_CONFIG_DERIVED( hexaa, hexa ) MACHINE_CONFIG_END -static MACHINE_CONFIG_DERIVED( bootleg, arkanoid ) - - /* basic machine hardware */ - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_PROGRAM_MAP(bootleg_map) - - MCFG_DEVICE_REMOVE("mcu") -MACHINE_CONFIG_END - - static MACHINE_CONFIG_START( brixian, arkanoid_state ) /* basic machine hardware */ @@ -2109,34 +2115,34 @@ DRIVER_INIT_MEMBER(arkanoid_state,brixian) /* Game Drivers */ // original sets of Arkanoid -// YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY,FULLNAME,FLAGS -GAME( 1986, arkanoid, 0, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World, older)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, newer)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan, newer)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkanoidja, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan, newer w/level select)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", MACHINE_SUPPORTS_SAVE ) +// YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY,FULLNAME,FLAGS +GAME( 1986, arkanoid, 0, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World, older)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, newer)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj, driver_device, 0, ROT90, "Taito Corporation", "Arkanoid (Japan, newer)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoidja, arkanoid, arkanoid, arkanoidj, driver_device, 0, ROT90, "Taito Corporation", "Arkanoid (Japan, newer w/level select)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj, driver_device, 0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", MACHINE_SUPPORTS_SAVE ) // bootlegs of Arkanoid -GAME( 1986, arkanoidjbl, arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkanoidjbl2,arkanoid, arkanoid, arkanoidj, driver_device,0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, ark1ball, arkanoid, arkanoid, ark1ball, driver_device, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) -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( 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, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoidjbl, arkanoid, p3mcu, arkanoidj, driver_device, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkanoidjbl2,arkanoid, p3mcu, arkanoidj, driver_device, 0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, ark1ball, arkanoid, p3mcu, ark1ball, driver_device, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkanoid_state, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkanoid_state, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) +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( 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, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, driver_device, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", MACHINE_SUPPORTS_SAVE ) // Other games -GAME( 1987, arkatour, 0, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, arkatour, 0, arkanoid, arkanoid, driver_device, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", MACHINE_SUPPORTS_SAVE ) +GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", MACHINE_SUPPORTS_SAVE ) -GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) -GAME( 199?, hexaa, hexa, hexaa, hexa, arkanoid_state, hexaa, ROT0, "D.R. Korea", "Hexa (with 2xZ80, protected)", MACHINE_NOT_WORKING ) +GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 199?, hexaa, hexa, hexaa, hexa, arkanoid_state, hexaa, ROT0, "D.R. Korea", "Hexa (with 2xZ80, protected)", MACHINE_NOT_WORKING ) -GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, brixian, ROT0, "Cheil Computer System", "Brixian", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, brixian, ROT0, "Cheil Computer System", "Brixian", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp index f46ed2eb43a..994a69b1d02 100644 --- a/src/mame/drivers/taito_l.cpp +++ b/src/mame/drivers/taito_l.cpp @@ -779,8 +779,6 @@ static ADDRESS_MAP_START( puzznici_map, AS_PROGRAM, 8, taitol_1cpu_state ) COMMON_BANKS_MAP COMMON_SINGLE_MAP AM_RANGE(0xa800, 0xa800) AM_READNOP // Watchdog - AM_RANGE(0xb000, 0xb7ff) AM_RAM // Wrong, used to overcome protection -// AM_RANGE(0xb800, 0xb800) AM_READWRITE(mcu_data_r, mcu_data_w) AM_RANGE(0xb801, 0xb801) AM_READ(mcu_control_r) // AM_RANGE(0xb801, 0xb801) AM_WRITE(mcu_control_w) AM_RANGE(0xbc00, 0xbc00) AM_WRITENOP // Control register, function unknown diff --git a/src/mame/machine/taito68705interface.cpp b/src/mame/machine/taito68705interface.cpp index 6988a4d5b04..d84d1cf142d 100644 --- a/src/mame/machine/taito68705interface.cpp +++ b/src/mame/machine/taito68705interface.cpp @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Ernesto Corvi, Nicola Salmoria, David Haywood +// copyright-holders:Ernesto Corvi, Nicola Salmoria, David Haywood, Vas Crabb #include "emu.h" #include "machine/taito68705interface.h" diff --git a/src/mame/machine/taito68705interface.h b/src/mame/machine/taito68705interface.h index 3eec87757ca..462e85e4f7a 100644 --- a/src/mame/machine/taito68705interface.h +++ b/src/mame/machine/taito68705interface.h @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Ernesto Corvi, Nicola Salmoria, David Haywood +// copyright-holders:Ernesto Corvi, Nicola Salmoria, David Haywood, Vas Crabb #include "cpu/m6805/m68705.h"