Back to Index | Back to Tutorials


Copy/Region Protection Cracking Tutorial

Region fixes shouldn't be neccesary with the most recent release.

This is a tutorial for fixing games that display messages like this:

This is usually found in games that are copy protected (ie 'Super Metroid (JU).smc') or are for a PAL region (ie 'any_rom (E).smc').

You can post and request fixes in the Fixes & Speed Hacks thread.

How To Crack Games

Step 1) Try enabling the 'SRAM' checkbox in the SNES Advance builder. This fixes 'Super Metroid (JU).smc'.

Step 2) Download ucon64.

Step 3a) If your rom is PAL (E), then from the command line type: ucon64 -f rom.smc. It should patch one or more patterns, and output a backup file named rom.bak.

Step 3b) If your rom is copy protected and the SRAM toggle didn't fix it, try: ucon64 -k rom.smc . This will patch the rom and output rom.bak.

Step 4) At this point, you could just build SNES Advance with the cracked ROM and it should work. If you'd rather make a patch that goes in snesadvance.dat, simply do a hex compare of rom.smc and rom.bak.

In this example ('Mega lo Mania (E)'), there is only one difference: at address 0x1001C, 0xD0 (Branch Not Equal) has been replaced with 0x80 (Branch Always).

Step 5a) If the ROM has no SMC header ('Mega lo Mania (E).smc' does not), the patch is the ADDRESS=CHANGE, in this case 1001C=80.

Step 5b) If the ROM has a SMC header, simply subtract 512 bytes (0x200) from the address. (ADDRESS-0x200)=80 would be (0x1001C-0x200)=80 resulting in FE1C=80.

Step 6) Add the patch (or patches) to the end of the appropriate line in snesadvance.dat.

4F83ACA9|Mega lo Mania (E)|2|0|0|0|0|0|1001C=80

Put that in your snesadvance.dat and smoke it, I mean play it.

-sephiroth2k


Back to Top | Back to Index | Back to Tutorials