I've been a fan of the original NES from childhood. To me it was a magical system, which captured my interest for the first time one Christmas morning. As an adult, I still have fond memories of that console. Part of the impetus for this project came from those childhood memories.
The Spartan Mini NES, as its name implies, has at its foundation a Spartan Mini FPGA board. The Spartan Mini is a development board I built around the Spartan 6 FPGA by Xilinx. To facilitate the transfer of games from the SD card to the FPGA, I'm using a Parallax Propeller, which is connected to the FPGA with a serial link.
At its heart, this project relies on the Spartan 6 FPGA by Xilinx. I'm using the TQFP 144 pin version for ease of soldering. To facilitate breaking out all of the pins and getting the project up and running quickly, I've used the Spartan Mini FPGA board, as well as the perfboard shield.
For the NES core I chose this one developed by Brian Bennett. I first prototyped the project as much as possible on a breadboard, working out the kinks in the design until it was ready to be wired onto perfboard.
Besides the Spartan Mini, the other components used for this build were:
- The Adafruit 40 Pin TFT Friend
- The Adafruit Mono 2.5W Class D Audio Amplifier - PAM8302
- The Adafruit Breadboard-Friendly PCB Mount Mini Speaker - 8 Ohm 0.2W
- The Parallax Propeller Mini
Here are the wiring diagrams I used to get the project all wired up.
Joypad:
Parallax Propeller and SD Card Interface:
TFT Display:
Audio Amplifier:
Power Supply: