This is one of the best gamer marriage proposals I have ever seen, from the work on the romhack to the graphic on the label. Kudos.
The gamer in question is Redditor 005c; he decided that he wanted to propose to my girlfriend but wanted to make it truly special.
His partner loves video games, with her favorite titles being among the iconic Legend of Zelda franchise. Incorporating her love for Link and co into the proposal wasn’t just an idea, it was a necessity.
005c is a PhD student studying computer science and decided to use those computer skills to reprogram one of the Legend of Zelda games to ask her to marry him.
005c found an active community who created and reproduced NES games, regularly creating and distributing new NES ROMs and cartridges, as well as reproducing old games with new translations or mods. He chose The Legend of Zelda because there were an abundance of translations, mods, and cartridge reproductions, showing that it was a title that could easily be modified.
First, he had to reprogram the game, then write the game to a chip and solder the chip onto the cartridge’s circuit board. Reprogramming the game was accomplished by modifying a ROM (the read only memory contained within a video game cartridge or disk), which are readily available online having been ripped off of the official Nintendo hardware.
After much experimentation, 005c decided to use a combination of three tools: DungeonMaster, ZeldaTech, and the FCEUX emulator’s hex editor.
oo5c explained, “DungeonMaster and Zelda Tech are two tools created by the same author around 8 to 10 years ago that edit the dungeons and overworld of the original legend of zelda respectively. These tools are quite powerful, and can be used to change enemy placement, item placement, level mapping, shop locations, and more. I used these tools to implement my the basic design.”
“I used the FCEUX hex editor to implement detailed changes. The FCEUX hex editor allows you to see the ROM and RAM of the game simultaneously while it is playing in the FCEUX emulator. Using the hex editor, you can change just about any aspect of the game within the confines of its memory.”
“I used the hex editor to patch up some of the buggy stuff caused by my ZeldaTech and DungeonMaster modifications such as loading incorrect sprites for some monsters, monster bounding issues on some modified stages, and other small issues. I also found it easier to edit text in the hex editor.”
005c went through a substantial amount of effort to modify the game. He wanted the game to be difficult but fun, and beatable with a bit of effort.
Then, it was time to write in the proposal.
oo5c explained, “in the final chamber I wanted to ask her to marry me. The only ways I could think to do that were to execute the credit sequence and modify the credit text, or place an old man in the room and have him say what I’m thinking. The problem with both of these options is that I was limited to how much I could write by how much memory is allocated to both the old man and the title sequence to display their text.”
“Old Men on the other hand are not given memory per se, they are allowed to say a number of statements, which are held in ROM and are a fixed length of characters, and the lengths vary between statements. The longest statement which can be referenced from a dungeon had just enough characters for me to say ‘ITS DANGEROUS TO GO ALONE. WILL YOU MARRY ME?’ I figured that would get the point across nicely, despite the missing apostrophe which was removed for space reasons.”
After soldering and checking the game worked, it was time to create a cartridge. 005c’s friend created a logo based upon the original cartridge label, featuring the iconic Triforce and a ring.
After all that effort, did she say yes? You’ll have to read the thread on Imgur to find out! There’s a ton of additional information on the work that went into the project, with lots of photos and screenshots. Overall, I have to say that this proposal completely upstaged mine.
Well done on the great work, 005c! And best wishes for the future from all at GrownGaming.