Modified Contra Cart & Ring
This is how I did it. In short, I bought Contra, dumped the ROM, hex edited the file, flashed it to a new ROM chip and soldered it all back together. Took some work but worth it. I changed player names to ours and also changed the ending text to ask her once she beat the game. She said yes! And to the purists who cringe when they see a hacked up cart... relax, it was for a good cause! ;-)
It starts. I needed an excuse to buy some new tools anyway!
I used this cart as a test because it was broken already. Note how many chips I went through already up top! It was a learning experience for sure.
HEX to ASCII
The modified contra code is seen here in hexadecimal on the left and its (almost) ASCII representation on the right. You can see the ending screen text and the credits. That file is loaded and ready to be flashed to the EPROM chip that is loaded (you can see it in the 'Device Location' section on the right). A new NES cartridge is just 28 solder points away!
The flash (GQ-4X from mcumall)
Yay, now I can program my own computer chips! This guy takes the game code, sends it down the USB cable and writes to the chip with the game code. I'm not entirely sure how it all works, something to do with timing, light and electrical impulses. And probably magic. Regardless, what comes out is a crispy new NES game, whoo-hoo! ;-)
Go progress bar GO!
Flashing a newly edited ROM file to a crispy new EPROM chip. It's fairly uneventful. I don't know, I guess I expected lightning bolts or something.
Contra Title Screen
I decided to personalize it a bit and changed Player 1 & 2 to our names. Gives a new meaning to the term 'in-game' (hur-hur!)
Level Loading (does this count as a loading screen??)
This hex edit shows that the names were changed to reflect who was really playing the game. Later on in the game when the scores get higher, the numbers for the score actually swap places with the last letters in the name. Surprisingly this didn't mess anything up!
Plays just like Contra!
By hex editing only the text of the game (and keeping it within bounds of the original), the game plays just like normal.
Ending proposal and my attempt at gamer romance...
This is what it's all about. She played through the game, beat it and I replaced the normal ending text with this. Since its an old game, there is limited memory to work with, thus the short almost haiku-like structure. There is also no question mark character anywhere in the game so I went with the ellipsis. I could have made one and replaced another character with it but it was more involved and I didnt have the time. Maybe in the re-release when we renew our vows in 20 years ;-)
The happy couple.