Back in February there was this whole deal on Twitter about the Konami Code, when the person who introduced the thing passed away, and I wondered if I was an asshole for being bothered by all of these people including the Konami PR guys posting the Code… with a start at the end.
Because the Code, as Kazuhisa Hashimoto originally introduced it, never included the start button. And I brought receipts! So here’s a quick rehash of what I wrote the day after.
This is part of the 6502 code for Contra, where it determines how many lives you should start the game with. As you can see the amount of lives is stored at address $32
and is set to either 2 or 29 depending on the value of address $24
, where it tracks if the Code had been entered.
This is a view of the actual memory of the NES, or at least the relevant part of it. The right half had been cut off for size in the original tweets, but none of the values we’re looking at are on that side anyway. Focus is on $24
, the Code flag, which is unset.
Entering the Code flips $24
to 1 when you press A. The only thing the start button does is… start the game. That includes running the code above to initialize the lives counter.
“But Kawa, what about Gradius?” you might ask. Well, you go start up Gradius and enter the code, and tell me what you see. You begin the game, press start to pause, enter the code, and press start to unpause. Don’t enter those button presses too quickly or you might not catch on and fool yourself! Turns out the options and such appear the moment you press A.
Here’s the RAM for Gradius during a pause. $33
tracks how far along the Code entry you are and ranges from zero up to nine. When it’s zero, the next button expected is up. When it’s nine, the next expected input is A. You finish, $33
equals ten, and your loadout changes on the spot:
Also the tracker is reset to zero so you can enter it again. Now, in Gradius you can freely make a mistake and try again because the tracker just resets to zero when you mistype. In Contra, the tracker ($3F
so it’s not visible in those screenshots) is set to 255 as a “lock” value when you mess up and you don’t get to try again.
But yeah, no start in the Konami Code. Your tattoo is now ruined.
↑↑↓↓←→←→ⒷⒶ