May 14th, 2011 EarthBound, Uncommon Knowledge

A few years back I posted a page on Starmen.Net about EarthBound’s copy protection and posted a video about it on YouTube. Since then, they’ve really made the rounds, but not without a lot of people misinterpreting (or just not paying attention) to the info given. So I want to try to make things clearer here.

Super NES Copy Protection

Many Nintendo Super Famicom/Super NES games had some sort of copy protection in them – just from personal memory I know Super Metroid and Super Punch-out had copy protection that would go off on accident sometimes. I’m sure many others did too. In the case of MOTHER 2 (Japanese version of EarthBound), the programmers went the extra mile by including several layers of copy protection.

The really important thing to mention first is this:

This copy protection targets bootleg cartridges and cartridge copiers. ROMs are NOT affected, unless you’re using a crappy emulator or playing a ROM someone hacked as a prank.

How This Was Discovered

For years and years, EarthBound ROM hackers were confused as to why there were apparently two types of EarthBound ROMs out there. The only difference between them was a couple changed bytes. In 2007, Goplat, an especially skilled hacker, looked into those differences and saw that those bytes were different because software pirates (presumably in the mid 90s) had gone in and undone a bunch of anti-piracy mechanisms. That’s how we fans discovered the existence of these copy protection schemes.

Copy Protection Layer #1

The first layer in EarthBound’s protection is simple – it just makes sure you’re not running on a European/PAL system. If you are, it gives you this screen and freezes:





Copy Protection Layer #2

The first REAL line of defense against pirates happens when the system is turned on. It checks to make sure the cart only has 8 KB of SRAM, which is the part of memory that holds save games. Bootleg carts and cartridge copiers tend to have more (so that it’ll be easy to slap any game onto them), so if it notices that there’s more than 8 KB, the game will give you the following screen:



(Japanese version on left, North American version on right)

The game then freezes on this screen. There’s no way to get past it without hacking the game’s code, so for most average bootleggers this would be the end of the line.

Copy Protection Layer #3

Obviously, a pirate wouldn’t want to play or sell a game that doesn’t run, so the next logical step would be to simply reprogram the above check and keep it from happening. It’s easy, just alter a specific byte or two and voila!

The MOTHER 2/EarthBound programmers anticipated this, so they laid another trap: they look to see if the above check was disabled in any way or if it was skipped over. If the programming notices something isn’t right, it triggers its next defense mechanism and makes a LOT more random enemies appear for the entirety of the game. This was probably to make it much less enjoyable.

Here are some examples:

It’s not obvious if you haven’t played EarthBound much, but the enemies on the beach only appear very rarely, never this often. In fact, many players go through the game without even realizing these enemies even exist!

Likewise, outside the pyramid, it’s common to see a handful of enemies at any one time, but never quite this many.

Some places will even have weird enemies that don’t belong there! Here we see Spiteful Crows in the pyramid, but they don’t belong there at all, as you can tell from the glitchy background.

Copy Protection Layer #4

There are actually some other checks that are sprinkled throughout the game’s programming, but it’s not clear what they do yet, if anything. They appear to do the SRAM check again. We think they probably happen at various events throughout the game, like what happens with the EarthBound Zero NES ROM. But it isn’t 100% certain yet.

Copy Protection Layer #5

Having lots of enemies is annoying, but doesn’t make the game unplayable. So one final layer of protection was added to prevent pirates from fully enjoying the game – the game will freeze your game during the final battle with Giygas, delete all your save games, and then reset.

To get this to happen, you have to have defeated all the previous layers of copy protection, so it isn’t as if some random, innocent guy would have this happen to him. Random Innocent Guy would’ve been stopped at Layer #1 or Layer #2 and known something was up.

Also, the sound and graphics shown when the Giygas freeze happens is random each time. You can see that here.

Trying It Out

If you’re crazy and want to try the Giygas thing out for yourself, use the Game Genie code 2DE2-546E.

If you want to try out the “tons of enemies” mode without actually triggering any of the anti-piracy stuff, use the Game Genie codes listed here.

I Think This is Happening on My Game!

I get e-mails and private messages all the time from people saying they think their cartridge or ROM has the anti-piracy stuff enabled somehow.

Basically, unless you’re playing EarthBound on a bootleg cartridge, anything from Layer #3 or later will not happen by accident to a normal cartridge.

The only possible way is if cosmic rays from the other side of the universe messed with your cartridge in such a perfect way that it reprogrammed around the copy protection but left everything else intact. Sometimes, very rarely, old Super NES games accidentally show piracy warnings at boot-up, usually you can just reset the game and they’ll work fine after that. It’s possible this might happen with EarthBound, but it won’t cause the other things to trigger.

If you’re playing a ROM, then there’s always a slight chance someone pulled a prank and you downloaded a corrupt version of the ROM specifically hacked to make this stuff trigger. You can tell if you have the proper, clean version of the ROM by checking its MD5 checksum, which should be: ABE493B665F7467000BCF8C373B323FD If you don’t know what that means but want to check, look up MD5 checking programs on Google, it should be easy to figure out.

But in short, if you think your cart has the anti-piracy thing enabled (possibly because of the number of enemies), it’s almost 99.99999% the case that your cart is fine.

Summary

MOTHER 2 / EarthBound had anti-piracy protection that went several levels down, almost set up as a series of traps meant to snag pirates/bootleggers. I wonder if any other games at the time had this level of protection, and if they did, if they’ve been figured out yet. It took EarthBound fans 12 years to find this out, after all!