From 6edc4f9681d53a71c2638a140d2305a4599323e4 Mon Sep 17 00:00:00 2001 From: ClawGrip Date: Sun, 3 Apr 2022 02:37:05 +0200 Subject: [PATCH] vendetta.cpp: Add brute-forced PLD dumps to Vendetta and clones, add notes for vendetta2pw [Buenrip, Recreativas.org] (#9493) --- src/mame/drivers/vendetta.cpp | 85 ++++++++++++++++++++++++++++++----- 1 file changed, 74 insertions(+), 11 deletions(-) diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp index 7674982d867..1a3ffbc88fb 100644 --- a/src/mame/drivers/vendetta.cpp +++ b/src/mame/drivers/vendetta.cpp @@ -687,6 +687,10 @@ ROM_START( vendetta ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendettar ) @@ -711,6 +715,10 @@ ROM_START( vendettar ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendettar.nv", 0x0000, 0x080, CRC(ec3f0449) SHA1(da35b98cd10bfabe9df3ede05462fabeb0e01ca9) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendettaz ) @@ -735,6 +743,10 @@ ROM_START( vendettaz ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendettaun ) @@ -759,8 +771,31 @@ ROM_START( vendettaun ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END +/* +This set has also been found with a different ROM layout, using three daughter boards: + 27c512.5f 081b02 IDENTICAL + 27c020.17c 081w01.17c IDENTICAL + 1d-3-daughter-board-27c040.bin 081a03 [1/2] IDENTICAL + 1d-2-daughter-board-27c040.bin 081a03 [2/2] IDENTICAL + 8-yellow-sticker-daughter-board-27c040.bin 081a04 [even] IDENTICAL + 4-yellow-sticker-daughter-board-27c040.bin 081a05 [even] IDENTICAL + 27c020.17j 081a09 [even] IDENTICAL + 6-yellow-sticker-daughter-board-27c040.bin 081a06 [even] IDENTICAL + 27c020.16j 081a08 [even] IDENTICAL + 2-yellow-sticker-daughter-board-27c040.bin 081a07 [even] IDENTICAL + 27c020.17h 081a09 [odd] IDENTICAL + 3-yellow-sticker-daughter-board-27c040.bin 081a05 [odd] IDENTICAL + 7-yellow-sticker-daughter-board-27c040.bin 081a04 [odd] IDENTICAL + 5-yellow-sticker-daughter-board-27c040.bin 081a06 [odd] IDENTICAL + 1-yellow-sticker-daughter-board-27c040.bin 081a07 [odd] IDENTICAL + 27c020.16h 081a08 [odd] IDENTICAL +*/ ROM_START( vendetta2pw ) ROM_REGION( 0x40000, "maincpu", 0 ) // code + banked ROMs ROM_LOAD( "081w01.17c", 0x00000, 0x40000, CRC(cee57132) SHA1(8b6413877e127511daa76278910c2ee3247d613a) ) @@ -783,6 +818,10 @@ ROM_START( vendetta2pw ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendetta2peba ) @@ -807,6 +846,10 @@ ROM_START( vendetta2peba ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendetta2pun ) @@ -831,6 +874,10 @@ ROM_START( vendetta2pun ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendetta2pu ) @@ -855,6 +902,10 @@ ROM_START( vendetta2pu ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendetta2pd ) @@ -879,6 +930,10 @@ ROM_START( vendetta2pd ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendetta.nv", 0x0000, 0x080, CRC(fbac4e30) SHA1(d3ff3a392550d9b06400b9292a44bdac7ba5c801) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendettan ) @@ -903,6 +958,10 @@ ROM_START( vendettan ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendettaj.nv", 0x0000, 0x080, CRC(3550a54e) SHA1(370cd40a12c471b3b6690ecbdde9c7979bc2a652) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END ROM_START( vendetta2pp ) @@ -927,6 +986,10 @@ ROM_START( vendetta2pp ) ROM_REGION( 0x80, "eeprom", 0 ) // default EEPROM to prevent game booting upside down with error ROM_LOAD( "vendettaj.nv", 0x0000, 0x080, CRC(3550a54e) SHA1(370cd40a12c471b3b6690ecbdde9c7979bc2a652) ) + + ROM_REGION( 0x22e, "plds", 0 ) + ROM_LOAD( "p1-pal16l8acn.17e", 0x000, 0x117, BAD_DUMP CRC(eae70da3) SHA1(2707ff413ea1fdc4e483f437f44a40042aa41d4e) ) // Bruteforced + ROM_LOAD( "p2-pal16l8acn.14e", 0x117, 0x117, BAD_DUMP CRC(b84abb7d) SHA1(c3744771c486a4db0d5a067100318f8f076c1aa2) ) // Bruteforced ROM_END @@ -989,16 +1052,16 @@ ROM_END ***************************************************************************/ -GAME( 1991, vendetta, 0, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 4 Players, ver. T)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, vendettar, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (US, 4 Players, ver. R)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, vendettaz, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (Asia, 4 Players, ver. Z)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, vendettaun, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 4 Players, ver. ?)", MACHINE_SUPPORTS_SAVE ) // program ROM labeled as 1 -GAME( 1991, vendetta2pw, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 2 Players, ver. W)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, vendetta2peba,vendetta,vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 2 Players, ver. EB-A?)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, vendetta2pun,vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 2 Players, ver. ?)", MACHINE_SUPPORTS_SAVE ) // program ROM labeled as 1 -GAME( 1991, vendetta2pu, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (Asia, 2 Players, ver. U)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, vendetta2pd, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (Asia, 2 Players, ver. D)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendetta, 0, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 4 Players, ver. T)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendettar, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (US, 4 Players, ver. R)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendettaz, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (Asia, 4 Players, ver. Z)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendettaun, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 4 Players, ver. ?)", MACHINE_SUPPORTS_SAVE ) // program ROM labeled as 1 +GAME( 1991, vendetta2pw, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 2 Players, ver. W)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendetta2peba,vendetta,vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 2 Players, ver. EB-A?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendetta2pun,vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (World, 2 Players, ver. ?)", MACHINE_SUPPORTS_SAVE ) // program ROM labeled as 1 +GAME( 1991, vendetta2pu, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (Asia, 2 Players, ver. U)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, vendetta2pd, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Vendetta (Asia, 2 Players, ver. D)", MACHINE_SUPPORTS_SAVE ) GAME( 1991, vendettan, vendetta, vendetta, vendet4p, vendetta_state, empty_init, ROT0, "Konami", "Crime Fighters 2 (Japan, 4 Players, ver. N)", MACHINE_SUPPORTS_SAVE ) GAME( 1991, vendetta2pp, vendetta, vendetta, vendetta, vendetta_state, empty_init, ROT0, "Konami", "Crime Fighters 2 (Japan, 2 Players, ver. P)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, esckids, 0, esckids, esckids, vendetta_state, empty_init, ROT0, "Konami", "Escape Kids (Asia, 4 Players)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, esckidsj, esckids, esckids, esckidsj, vendetta_state, empty_init, ROT0, "Konami", "Escape Kids (Japan, 2 Players)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, esckids, 0, esckids, esckids, vendetta_state, empty_init, ROT0, "Konami", "Escape Kids (Asia, 4 Players)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, esckidsj, esckids, esckids, esckidsj, vendetta_state, empty_init, ROT0, "Konami", "Escape Kids (Japan, 2 Players)", MACHINE_SUPPORTS_SAVE )