> Hey guys, > > I've got a super-rare Victory PCB by Comsoft (NOT Exidy's game also called Victory) > which is a Galaxian PCB conversion that has a resin encased security module, and I > was wondering what techniques there are to remove the encasement so I can scan the > PCB foil pattern and have any custom chips inside dumped? I've already tried heating > it with a heat gun and using an Xacto knife but whatever the substance is is still > too hard after heating to make that practical, I barely made a dent. I also imagine > heating it in boiling water like I've seen done by others wouldn't work any better as > I already heated it pretty hot with air. > > Any suggestions? The game has been dumped and is already supported by MAME, but > whatever encryption method on the encased custom chip I understand isn't entirely > understood and I'd like to do whatever I can to preserve this rare bird. I'd like to > have enough documented and preserved to make it so if someone was inclined (unlikely) > to etch the security PCB and burn the chips they could also convert a Galaxian PCB to > be this game, or more importantly repair an existing damaged one. Also the board is > not working and overall pretty screwed up, so I'd like to make sure anything custom > and irreplaceable is preserved before I start screwing around and trying to resurrect > it, thus risking the chance of losing them. It seems to me I've heard paint stripper > works sometimes but I've also seen that stuff do a number on the PCB's fiberglass > resin too.
the original set runs in MAME. The decryption function is simple. I don't think there's any point in you sacrificing your PCB. The only weird thing with the game is that the bootleg had a 5th ROM and the original did not, but it's probably just a leftover, the game does not read any data from it.
Code:
void galaxian_state::decode_victoryc() { uint8_t *src = memregion("maincpu")->base(); size_t length = memregion("maincpu")->bytes();
for (int i = 0;i < length;i++) { if (i & 0x80) src[i] ^= 0x80; if (i & 0x20) src[i] ^= 0x04; if (i & 0x04) src[i] ^= 0x40; if (i & 0x01) src[i] ^= 0x08;
src[i] = bitswap<8>(src[i], 6, 3, 5, 4, 2, 7, 1, 0); } }
|