All Projects → jonthomasson → Spartan-Mini-NES

jonthomasson / Spartan-Mini-NES

Licence: other
An FPGA based handheld NES system built around the Spartan 6 and the Spartan Mini development board.

Programming Languages

Verilog
626 projects
lua
6591 projects
Propeller Spin
14 projects
C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
assembly
5116 projects

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.

enter image description here

enter image description here

enter image description here 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:

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:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].