Not satisfied with the sprites in your NES game? This guide will show you how to hack the ROM from a Nintendo Entertainment System* (NES) game to make your favorite games even better by allowing you to change the sprites and graphics within the game! Change the main character to your own creation! Or simplify the game into a mediative floating cloud paradise. The power is in your hands!
*The NES is a popular gaming system from the 80's.
What's a ROM Anyway?
ROM stands for "Read Only Memory" and is a file that contains data from a read only memory chip such as a video game cartridge. ROM files are often run in video game emulators to play the games they are copied from. But if ROM means read only memory, how can we write over it to add our own sprites? That's where the hacking comes in :)
Hacking ROMs is nothing new. Some famous examples include Cory Arcangel's Super Mario Clouds, a mod of the original 1985 Super Mario Bros. that features just the clouds from the game.
Arcangel also hacked a mod of F1 Racer to feature just the road and landscape. Peaceful!
* Images by Cory Arcangel
In order to hack these games, Arcangel had to dig into the game cartridge and do some soldering and other wizardy.
Fortunately we now have NES files that can be edited on a computer so no NES cartridge soldering is necessary!
A more action-packed example comes from Kenna W, who decided to swap out Link for Zelda in the classic Legend of Zelda:
For me, I played my first Zelda game when I was pretty young, and at the time, I thought the game did star Princess Zelda. I figured I'd get to play as a magical battle princess that saved her kingdom. The game was fun, but I was bummed out that I never got to play as Zelda. But like I said, I'm an adult now. There's no one to stop me from eating candy before bed and there's nothing standing in the way of me creating the games I want to play.
In addition to playing these cool mods on computer emulators, we can also play them remotely on a handheld gaming device like the PyGamer. We can store quite a few NES ROMs on the PyGamer (as well as other boards with Adafruit Arcada support) to have our choice of a multitude of classics and mods where ever we go!
Prerequisite Guides:
- A great overview of pixel art, and methods of how to create your own sprites.
- If you plan to run any NES ROMs on hardware, looking through this guide before continuing would be a good idea. This guide will show you how to port and play NES ROMs on boards with Arcada support such as the PyGamer, PyBadge, and PyBadge LC
Parts
Play your new games on (in theory) any board with Arcada support - but we recommend ones that have a gamepad + buttons:
Text editor powered by tinymce.