Forget emulating older gaming hardware on modern computers – this hacker has got a SNES game running on an unmodified NES.
Tom “Tom7” Murphy is the man behind the wizardry. Tom7 details his process in two YouTube videos and his solution is ingenious. While the NES hardware is unmodified, the cartridge running the reserve-emulation is heavily modified. It features a heavily customized circuit board with a compact, multi-core Raspberry Pi 3 attached. The Pi essentially replaces the PPU portion of the cartridge, connecting to the NES via a custom-coded EEPROM chip. Only the CIC “copyright” chip from the original cartridge remains unmodified to get around the console’s lockout chip.
The power of a Raspberry Pi lets Murphy go above and beyond what a standard NES cartridge is capable of, but the Raspberry Pi has too much latency to effectively “stream” tile-by-tile graphical instructions to the NES’ cartridge CPU; it takes too long for the Pi to discharge the instructions to the NES that the NES has moved on to the next part of its read-write cycle. To compensate, Murphy used a one-cycle delay, essentially predicting where the PPU would write to next and sending data to that location ahead of time. While the process works, it does result in persistent flickering and graphical noise evident throughout his video.
There are other issues, too. The NES console cannot handle all of the 56,000+ colors possible on a Super NES, so the Raspberry Pi chooses the nearest available NES-safe color using a lookup table. The NES controller also doesn’t have enough buttons to simulate all Super NES inputs. The reverse emulation also doesn’t currently support Super NES audio.
All in all, it’s a pretty cool experiment and displays Tom7’s ingenuity with classic gaming hardware. Sadly, the results – at this time – are not as impressive as the concept.
Thank you for reading! If you liked this article, please follow and like us:
Did you enjoy this article? Please help us to spread the word :)
You can adjust all of your cookie settings by navigating the tabs on the left-hand side.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.
3rd Party Cookies
This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.
Keeping this cookie enabled helps us to improve our website.
Please enable Strictly Necessary Cookies first so that we can save your preferences!