From b8f4bb43f7075013c85c4cdfae37ac6c5c08376c Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 7 Feb 2022 19:07:07 +0100 Subject: New working clones ------------------ Defend the Terra Attack on the Red UFO (bootleg, set 3) [Guru] Sauro (set 3) [Jorge Silva] --- src/mame/drivers/blackt96.cpp | 2 +- src/mame/drivers/funworld.cpp | 3 +++ src/mame/drivers/galaxian.cpp | 57 ++++++++++++++++++++++++++++--------------- src/mame/drivers/sauro.cpp | 45 +++++++++++++++++++++++++++++----- src/mame/includes/sauro.h | 4 +-- src/mame/mame.lst | 4 ++- 6 files changed, 86 insertions(+), 29 deletions(-) diff --git a/src/mame/drivers/blackt96.cpp b/src/mame/drivers/blackt96.cpp index 4c038a31012..161532f0d8e 100644 --- a/src/mame/drivers/blackt96.cpp +++ b/src/mame/drivers/blackt96.cpp @@ -533,7 +533,7 @@ ROM_START( blackt96 ) ROM_LOAD16_BYTE( "3", 0x00001, 0x40000, CRC(fc2c1d79) SHA1(742478237819af16d3fd66039283202b3c07eedd) ) ROM_LOAD16_BYTE( "4", 0x00000, 0x40000, CRC(caff5b4a) SHA1(9a388cbb07211fa66f27082a8a5b847168c86a4f) ) - ROM_REGION( 0x80000, "audiocpu", 0 ) // PIC16c57 Code + ROM_REGION( 0x2000, "audiocpu", 0 ) // PIC16c57 Code ROM_LOAD( "pic16c57.bin", 0x00000, 0x2000, CRC(6053ba2f) SHA1(5dd28ddff17555de0e8574b78ff9e71204c503d3) ) ROM_REGION( 0x080000, "oki1", 0 ) // Samples diff --git a/src/mame/drivers/funworld.cpp b/src/mame/drivers/funworld.cpp index 2ff30eb1ee1..6af3d2d1b7a 100644 --- a/src/mame/drivers/funworld.cpp +++ b/src/mame/drivers/funworld.cpp @@ -7702,6 +7702,9 @@ ROM_START( royalcrd_nes ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "me2.bin", 0x0000, 0x10000, CRC(2144efab) SHA1(47fef8e0d2b05869e667731fdaf535722b9a8f19)) // this is one (or more?) Royal Card programs, with (c)1991 TAB Austria in them + ROM_REGION( 0x2000, "pic16c57", 0 ) + ROM_LOAD( "pic.bin", 0x0000, 0x2000, NO_DUMP ) + ROM_REGION( 0x20000, "gfx1", 0 ) // these are (encrypted?) GFX ROMS ROM_LOAD( "me3.bin", 0x00000, 0x10000, CRC(398a6f7c) SHA1(126048c75ab5df421f9dd2e39c6b68e15bf54f38) ) ROM_LOAD( "me4.bin", 0x10000, 0x10000, CRC(6f84222a) SHA1(eee8e46d464211914cb99d15fd9f7dd4aa009664) ) diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index c54cfe037d6..12ed01959e0 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -141,29 +141,29 @@ Notes about 'Space Battle' by Hoei : The main board is based on Galaxian with the following changes... 1. Adjustable 555 sound circuit has been removed. - 2. Two additional noise circuits have been added similar to the 'hit' noise - but using different vertical counts. - 3. Six paged graphic roms are supported on board. - 4. Different memory map. - 5. 2K of ram. - 6. Sockets for upto 26K of rom. - 7. Socket for connecting speech synthesis board. + 2. Two additional noise circuits have been added similar to the 'hit' noise + but using different vertical counts. + 3. Six paged graphic roms are supported on board. + 4. Different memory map. + 5. 2K of ram. + 6. Sockets for upto 26K of rom. + 7. Socket for connecting speech synthesis board. Roms from two boards have been dumped. The graphics roms are the same. The game roms differ as follows: Set 1 Rom A contains a 16bit checksum at address 0x64/0x65. - Rom I contains a 16bit checksum at address 0x7fe/0x7ff - No other roms from this set contain a checksum. - Set 2 Rom A does not contain a valid checksum. - Roms B, C, E, F, G, H, and I contain a 16bit checksum at 0x7fe/0x7ff - Rom D contains a 16bit checksum at address 0x5e3/0x534 - Rom D contains inline code for one subroutine rather than calling the - routine. It also has a check a for condition which can't happen - removed. - Rom G checks the TEST button input on power up and calls 0x5800 if it - is active. We do not have a dump of this (test ?) rom. - At no point are the checksums validated. - From a game point of view both rom sets function exactly the same. + Rom I contains a 16bit checksum at address 0x7fe/0x7ff + No other roms from this set contain a checksum. + Set 2 Rom A does not contain a valid checksum. + Roms B, C, E, F, G, H, and I contain a 16bit checksum at 0x7fe/0x7ff + Rom D contains a 16bit checksum at address 0x5e3/0x534 + Rom D contains inline code for one subroutine rather than calling the + routine. It also has a check a for condition which can't happen + removed. + Rom G checks the TEST button input on power up and calls 0x5800 if it + is active. We do not have a dump of this (test ?) rom. + At no point are the checksums validated. + From a game point of view both rom sets function exactly the same. Interestingly, the overlapped 4764 ROM is actually from sstrangr2 (aka Super Space Stranger, marketed by Hoei), That's on completely different hardware. @@ -10292,6 +10292,24 @@ ROM_START( redufob2 ) ROM_LOAD( "5049.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) ROM_END +ROM_START( redufob3 ) // this bootleg has 0x3800 of program ROMs like the original. It seems to be halfway between the original and redufob2 + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "1.rom1", 0x0000, 0x0800, CRC(ad9930d3) SHA1(63a892670e40257539a79e12caabe341509dc73e) ) + ROM_LOAD( "2.rom2", 0x0800, 0x0800, CRC(65d1792d) SHA1(f644c8999584f6368a5fa235a92b89d13e1cd9e2) ) + ROM_LOAD( "3.rom3", 0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) ) + ROM_LOAD( "4.rom4", 0x1800, 0x0800, CRC(d801b80d) SHA1(b76173fcb022b3c443e1731e13d92212ff43408d) ) + ROM_LOAD( "5.rom5", 0x2000, 0x0800, CRC(f1e46275) SHA1(9e08dbaae4f0f944cc9613090c60000bf2eeb869) ) + ROM_LOAD( "6.rom6", 0x2800, 0x0800, CRC(98513f8a) SHA1(5a9fdf8e50ce70e25399730aa5f4fe8854a70992) ) + ROM_LOAD( "7.rom7", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "gfx.1h", 0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) ) + ROM_LOAD( "gfx.1k", 0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "82s123.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + ROM_START( exodus ) ROM_REGION( 0x4000, "maincpu", 0 ) ROM_LOAD( "exodus1.bin", 0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) ) @@ -15561,6 +15579,7 @@ GAME( 1981, spactrai, warofbug, spactrai, spactrai, galaxian_state, init_ GAME( 1981, redufo, 0, galaxian, redufo, galaxian_state, init_nolock, ROT270, "Artic", "Defend the Terra Attack on the Red UFO", MACHINE_SUPPORTS_SAVE ) // is this the original? GAME( 1981, redufob, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) // rev A? GAME( 1981, redufob2, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, redufob3, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) GAME( 19??, exodus, redufo, galaxian, redufo, galaxian_state, init_nolock, ROT90, "bootleg? (Subelectro)", "Exodus (bootleg?)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, tdpgal, 0, galaxian, tdpgal, galaxian_state, init_nolock, ROT90, "Design Labs / Thomas Automatics", "Triple Draw Poker", MACHINE_SUPPORTS_SAVE ) GAME( 1979, kamakazi3, galaxian, galaxian, superg, galaxian_state, init_nolock, ROT90, "hack", "Kamakazi III ('Super Galaxians' hack)", MACHINE_SUPPORTS_SAVE ) // Hack of a hack (superg) diff --git a/src/mame/drivers/sauro.cpp b/src/mame/drivers/sauro.cpp index d0d5a215aee..ed68f23bb1a 100644 --- a/src/mame/drivers/sauro.cpp +++ b/src/mame/drivers/sauro.cpp @@ -224,7 +224,7 @@ void sauro_state::sauro_sound_map(address_map &map) } -void sauro_state::saurob_sound_map(address_map &map) +void sauro_state::saurobl_sound_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram(); @@ -333,7 +333,7 @@ static INPUT_PORTS_START( trckydoca ) INPUT_PORTS_END -static INPUT_PORTS_START( saurob ) +static INPUT_PORTS_START( saurobl ) PORT_START("P1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) @@ -527,11 +527,11 @@ void sauro_state::sauro(machine_config &config) m_sp0256->add_route(ALL_OUTPUTS, "mono", 1.0); } -void sauro_state::saurob(machine_config &config) +void sauro_state::saurobl(machine_config &config) { sauro(config); - subdevice("audiocpu")->set_addrmap(AS_PROGRAM, &sauro_state::saurob_sound_map); + subdevice("audiocpu")->set_addrmap(AS_PROGRAM, &sauro_state::saurobl_sound_map); // Sound hardware config.device_remove("speech"); @@ -607,6 +607,38 @@ ROM_START( sauroa ) ROM_LOAD( "sp0256-al2.bin", 0x1000, 0x0800, CRC(b504ac15) SHA1(e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc) ) ROM_END +ROM_START( saurob ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2 tecfri", 0x00000, 0x8000, CRC(961567c7) SHA1(08008381b1f74ec452c4eca821b66ddcdf32e4d5) ) + ROM_LOAD( "1 tecfri", 0x08000, 0x8000, CRC(6b564429) SHA1(202bb9fa511a689f97980e01298900aca55ea84b) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "3 tecfri", 0x00000, 0x8000, CRC(3eca1c5c) SHA1(0a16ddfbc3bb948023456f1c9a32593cbca5d9b0) ) + + ROM_REGION( 0x10000, "gfx1", 0 ) + ROM_LOAD( "6 tecfri", 0x00000, 0x8000, CRC(4b77cb0f) SHA1(7b9cb2dca561d81390106c1a5c0533dcecaf6f1a) ) + ROM_LOAD( "7 tecfri", 0x08000, 0x8000, CRC(187da060) SHA1(1df156e58379bb39acade02aabab6ff1cb7cc288) ) + + ROM_REGION( 0x10000, "gfx2", 0 ) + ROM_LOAD( "4 tecfri", 0x00000, 0x8000, CRC(9b617cda) SHA1(ce26b84ad5ecd6185ae218520e9972645bbf09ad) ) + ROM_LOAD( "5 tecfri", 0x08000, 0x8000, CRC(a6e2640d) SHA1(346ffcf62e27ce8134f4e5e0dbcf11f110e19e04) ) + + ROM_REGION( 0x20000, "gfx3", 0 ) + ROM_LOAD( "8 tecfri", 0x00000, 0x8000, CRC(e08b5d5e) SHA1(eaaeaa08b19c034ab2a2140f887edffca5f441b9) ) + ROM_LOAD( "9 tecfri", 0x08000, 0x8000, CRC(7c707195) SHA1(0529f6808b0cec3e12ca51bee189841d21577786) ) + ROM_LOAD( "10 tecfri", 0x10000, 0x8000, CRC(c93380d1) SHA1(fc9655cc94c2d2058f83eb341be7e7856a08194f) ) + ROM_LOAD( "11 tecfri", 0x18000, 0x8000, CRC(f47982a8) SHA1(cbaeac272c015d9439f151cfb3449082f11a57a1) ) + + ROM_REGION( 0x0c00, "proms", 0 ) + ROM_LOAD( "82s137-3.bin", 0x0000, 0x0400, CRC(d52c4cd0) SHA1(27d6126b46616c06b55d8018c97f6c3d7805ae9e) ) // Red component + ROM_LOAD( "82s137-2.bin", 0x0400, 0x0400, CRC(c3e96d5d) SHA1(3f6f21526a4357e4a9a9d56a6f4ef5911af2d120) ) // Green component + ROM_LOAD( "82s137-1.bin", 0x0800, 0x0400, CRC(bdfcf00c) SHA1(9faf4d7f8959b64faa535c9945eec59c774a3760) ) // Blue component + + ROM_REGION( 0x10000, "speech", 0 ) + // SP0256 mask ROM + ROM_LOAD( "sp0256-al2.bin", 0x1000, 0x0800, CRC(b504ac15) SHA1(e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc) ) +ROM_END + ROM_START( saurop ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "s2.3k", 0x00000, 0x8000, CRC(79846222) SHA1(59ccfbaad0251f771c0fd624d00d93a50bca67d8) ) @@ -720,7 +752,7 @@ Only ROMs 01, 02 & 03 are different to existing archive. Color PROMs match existing archive. One extra PROM was found near ROMs 6 & 7 (sauropr4.16h) */ -ROM_START( saurob ) +ROM_START( saurobl ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sauro02.7c", 0x00000, 0x8000, CRC(72026b9a) SHA1(538f6bffab5cb0f7609a5afaab4d839baf26a1a7) ) ROM_LOAD( "sauro01.6c", 0x08000, 0x8000, CRC(4ff12c25) SHA1(e9f240d0476a821488006e7b28490e2e7c0c1819) ) @@ -813,9 +845,10 @@ void sauro_state::init_tecfri() GAME( 1987, sauro, 0, sauro, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri", "Sauro (set 1)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, sauroa, sauro, sauro, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri", "Sauro (set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, saurob, sauro, sauro, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri", "Sauro (set 3)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, saurop, sauro, sauro, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri (Philko license)", "Sauro (Philko license)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, saurorr, sauro, sauro, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri (Recreativos Real S.A. license)","Sauro (Recreativos Real S.A. license)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, saurob, sauro, saurob, saurob, sauro_state, init_tecfri, ROT0, "bootleg", "Sauro (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, saurobl, sauro, saurobl, saurobl, sauro_state, init_tecfri, ROT0, "bootleg", "Sauro (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, seawolft, sauro, sauro, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri", "Sea Wolf (Tecfri)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, trckydoc, 0, trckydoc, tecfri, sauro_state, init_tecfri, ROT0, "Tecfri", "Tricky Doc (set 1)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/sauro.h b/src/mame/includes/sauro.h index 6c13f8b95d1..d79f5f077b1 100644 --- a/src/mame/includes/sauro.h +++ b/src/mame/includes/sauro.h @@ -32,7 +32,7 @@ public: void trckydoc(machine_config &config); void tecfri(machine_config &config); void sauro(machine_config &config); - void saurob(machine_config &config); + void saurobl(machine_config &config); void init_tecfri(); @@ -92,7 +92,7 @@ private: void sauro_io_map(address_map &map); void sauro_map(address_map &map); void sauro_sound_map(address_map &map); - void saurob_sound_map(address_map &map); + void saurobl_sound_map(address_map &map); void trckydoc_map(address_map &map); }; diff --git a/src/mame/mame.lst b/src/mame/mame.lst index b090dcf9775..06be5d4d6e5 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14714,6 +14714,7 @@ quaak // bootleg redufo // (c) Artic redufob // bootleg redufob2 // bootleg +redufob3 // bootleg sbhoei // Hoei sbhoeia // Hoei scobra // GX316 (c) 1981 Konami @@ -37325,7 +37326,8 @@ vsaturn // JVC V-Saturn @source:sauro.cpp sauro // (c) 1987 sauroa // (c) 1987 -saurob // (c) 1987 bootleg +saurob // (c) 1987 +saurobl // (c) 1987 bootleg saurop // (c) 1987 saurorr // (c) 1987 seawolft // (c) 1987 Tecfri -- cgit v1.2.3