FPGA NES Looks Sharp On Perfboard

FPGAs are wonderful things, packed with logic cells that can be reconfigured as your heart desires. They excel at signal processing, anything requiring speed, and recreating vintage hardware. In that vein, [Jon Thomasson] decided to bring back the original Nintendo Entertainment System, in perfboard form.

The build uses a Spartan 6 from Xilinx, which [Jon] uses in the form of his own development board design. The NES core is courtesy of code by [Brian Bennett], sourced from Github. Games are loaded from an SD card by a Parallax Propeller, which passes the data to the FPGA over a serial connection. Display is on a sharp 800×480 LCD, with the 4:3 video output of the NES being displayed in a pillarboxed fashion.

The project is assembled on perfboard, with a pleasing handheld formfactor. Control is via tactile pushbuttons in the classic NES layout. Current draw is approximately 400 mA, giving a runtime of around 5 hours when running off four AA batteries.

We’ve seen the venerable NES implemented on FPGA platforms before. As development boards get cheaper and devices get more capable, expect to see ever more complex systems being implemented. Video after the break.

4 thoughts on “FPGA NES Looks Sharp On Perfboard

  1. Yes, after spending weeks with Arduino IDE and PlatformIO trying to compile code for ESP32 in reasonable time and pouring over Espressif docs and Youtube videos for rather simple operations, I’m beginning to think that I just go back to FPGA development for anything remotely time-critical. Microcontrollers are becoming stupid complex to develop for, and Quartus (almost laughably) is an order of magnitude easier to use. Get a book by Pong P. Chu closest to your FPGA platform/language and you are good to go. The future should be in not relying on the bloated nature of today’s ‘micro’-controllers, but building your own from the ground up. You’ll spend the same time either way.

    1. It’s not always a matter of choosing the right tools for the job. Sometimes you just choose what you are familiar with as that could be the quickest (not the most optimal) solution.

Leave a Reply to HenryHCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.