If you’re a fan of video games, you’ve likely heard of the Metroid franchise. Released for the NES in 1986 by Nintendo, Metroid set a new standard for 2-D exploration in video games with its expansive power-up system, well-hidden secrets, and polished platforming controls. Due to its popularity, Metroid has been rereleased multiple times: as an unlockable in Metroid Prime, an unlockable in the remake Metroid: Zero Mission, a standalone game on the Game Boy Advance, the Wii Virtual Console, and the 3DS Virtual Console.
You play as Samus Aran, an armored bounty hunter who has infiltrated the base of the dreaded Space Pirates on Planet Zebes. Samus must defeat the leaders of the Space Pirates: the dinosaur Kraid, the dragon and memetic badass of the series Ridley, and the AI construct Mother Brain. Additionally, Samus must find a way to defeat the Metroids, which are nearly-indestructible parasites that threaten all life. Yes, this was a plot written in the 80’s.
Since the NES Metroid cartridge did not have the ability to save games, and the game itself took awhile to complete, Nintendo developed a password system to allow players to continue at a later time. Upon death, the player received a 24-character alphanumeric password that could be entered to restore all items the player has unlocked and remember which bosses the player has defeated. Most of these passwords were gibberish that required a pen-and-paper to write down and remember.
One password, however, is more memorable, and much more sinister.
The Password is Always Swordfish
Even before the days of the internet and personal computing, players found passwords with unique properties.
is essentially the debug mode for the game, with all items unlocked, infinite health, and infinite health for Samus.
Another, more revealing password is the Justin Bailey password:
This password starts the game with most unlockables obtained, but more notably, it changes Samus’s sprite from an armored powersuit to a bikini swimsuit.
One password, discovered over 20 years later, long after the Metroid password system had been completely reverse-engineered, does not grant you all items. This password just crashes and resets the game:
On a NES and various other rereleases, inputting that code will cause the game to either simply reset or transform the game into a glitched wonderland:
But what happens when you enter the password on an emulated Virtual Console, where the game environment is sandboxed? In the case of the 3DS Virtual Console, the 3DS completely crashes:
Rated E for Everyone?
You may be asking “did someone at Nintendo actually program a consequence for profanity in the game? Is the glitching and crashing a punishment for the perverse player?” In truth, the password is merely a coincidence.
As mentioned earlier, the password algorithm for Metroid has been reverse-engineered, and you can actually download a program to both generate and interpret such passwords here.
The profane password is indeed a legitimate password (in which Ridley is already defeated, ironically enough). But why does it crash the game? The Metroid Password Format Guide explains the secret:
There are five valid start locations. They are specified using bits 64-66. To start in Brinstar, all the bits should be off. Norfair, Kraid’s Lair, and Ridley’s Lair can be specified by turning their bit on and leaving the others off. Tourian is specified by turning on Norfair and Kraid’s Lair simultaneously. Any other combination of these three bits is invalid and will cause Metroid to reset.
The reset bit is part of the start location. There are 16 possible values, but only 5 valid ones. Turning on the reset bit will produce and invalid start location and cause Metroid to reset. This is why it is called it is called the reset bit, because it guarantees an invalid password.
For the profane password, the reset bit is turned on, so it will always cause a reset. And that’s why the weird behavior happens.
If you manually disable the reset bit using this tool in order to make the password valid, the new password becomes:
Not as catchy, unfortunately.
In fact, the Justin Bailey password is also a completely coincidental password. Sometimes, passwords can just do very unexpected things.
I am currently looking for a job in data analysis/software engineering in San Francisco. If you liked this post and have a lead, feel free to shoot me an email.
Since I currently do not have a full-time salary to subsidize my machine learning/deep learning/software/hardware needs for these blog posts, I have set up a Patreon, and any monetary contributions to the Patreon are appreciated and will be put to good creative use.