From 3a7c7781f560657d94a5133862ff9633ca3ea98d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Sat, 17 Mar 2012 17:49:40 +0000 Subject: [PATCH] undo invadpt2br encryption, reason to believe the scrambling was done post-dump since haze found out the piranha(pacman hw) romdump on that same Taito do Brasil treasure romdisk to have exactly the same weird encryption on the same offset. --- src/mame/drivers/8080bw.c | 43 ++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/src/mame/drivers/8080bw.c b/src/mame/drivers/8080bw.c index df064476c04..716e410e8c2 100644 --- a/src/mame/drivers/8080bw.c +++ b/src/mame/drivers/8080bw.c @@ -402,29 +402,6 @@ static MACHINE_CONFIG_DERIVED_CLASS( invadpt2, mw8080bw_root, _8080bw_state ) MACHINE_CONFIG_END -static DRIVER_INIT( invadpt2br ) -{ - UINT8 *rom = machine.region("maincpu")->base(); - int offs; - - // simple encryption on rom pv01 0x4fc-0x5fb - // (with additional mask on 4-byte parts below) - for (offs = 0x4fc; offs < 0x5fc; offs++) - rom[offs] ^= 0x6c; - - // 0x4fc + 1 * 0x56 - for (offs = 0x54e; offs < 0x552; offs++) - rom[offs] ^= 0x03; - - // 0x4fc + 2 * 0x56 - for (offs = 0x5a4; offs < 0x5a8; offs++) - rom[offs] ^= 0x01; - - // 0x4fc + 3 * 0x56 - for (offs = 0x5fa; offs < 0x5fc; offs++) - rom[offs] ^= 0x02; -} - /*******************************************************/ /* */ /* Space Wars (Sanritsu) */ @@ -2664,7 +2641,23 @@ ROM_END ROM_START( invadpt2br ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "br_pv01", 0x0000, 0x0800, CRC(2931a033) SHA1(b04ccde4a4a04b37aa65edc4af4e53a8c1f03dfe) ) + ROM_LOAD( "pv01", 0x0000, 0x0800, CRC(7288a511) SHA1(ff617872784c28ed03591aefa9f0519e5651701f) ) + /* pv01 had weird encryption applied to it, very likely to have been done post-dump. */ +// for (offs = 0x4fc; offs < 0x5fc; offs++) +// rom[offs] ^= 0x6c; + + // 0x4fc + 1 * 0x56 +// for (offs = 0x54e; offs < 0x552; offs++) +// rom[offs] ^= 0x03; + + // 0x4fc + 2 * 0x56 +// for (offs = 0x5a4; offs < 0x5a8; offs++) +// rom[offs] ^= 0x01; + + // 0x4fc + 3 * 0x56 +// for (offs = 0x5fa; offs < 0x5fc; offs++) +// rom[offs] ^= 0x02; + ROM_LOAD( "br_pv02", 0x0800, 0x0800, CRC(420c7c35) SHA1(b51265f4d9e5a8cf9d53099a97cadd25ea0b34ce) ) ROM_LOAD( "br_pv03", 0x1000, 0x0800, CRC(dffd04b9) SHA1(d51a0f27e90b0a49cf2d57ec82a863dcae9f3ea4) ) ROM_LOAD( "br_pv04", 0x1800, 0x0800, CRC(b0626aff) SHA1(b7de6c21030732bd0479228f057ca4c87b913b0a) ) @@ -3439,7 +3432,7 @@ GAME( 1978, lrescuem, lrescue, lrescue, lrescue, 0, ROT270, "bootleg (Model R GAME( 1979, grescue, lrescue, lrescue, lrescue, 0, ROT270, "Taito (Universal license?)", "Galaxy Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, desterth, lrescue, lrescue, invrvnge, 0, ROT270, "bootleg", "Destination Earth", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1979, invadpt2, 0, invadpt2, invadpt2, 0, ROT270, "Taito", "Space Invaders Part II (Taito)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) -GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, invadpt2br, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) +GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, 0, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) GAME( 1980, invaddlx, invadpt2, invaders, invadpt2, 0, ROT270, "Taito (Midway license)", "Space Invaders Deluxe", GAME_SUPPORTS_SAVE ) GAME( 1980, vortex, 0, vortex, vortex, vortex, ROT270, "Zilec Electronics", "Vortex", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* Encrypted 8080/IO */ GAME( 1979, cosmo, 0, cosmo, cosmo, 0, ROT90, "TDS & Mints", "Cosmo", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )