fpga_nes is an fpga-targeted Nintento Entertainment System emulator written in Verilog. It is currently under development, and is most notably missing support for mappers and the DMC sound channel. At this point, it runs most NROM games capably (e.g., Super Mario Brothers, Excitebike).
In addition, this project includes a C++ Windows application called NesDbg, which communicates with the FPGA over USB UART to load ROMs, run unit tests, readwrite memory, etc.
Hardware Setup:
- Nexys 3 Spartan-6 FPGA board. ($119 / $199)
- Micro-USB connection for FPGA power and programming.
- VGA display connection for NES video output.
- Micro-USB connection for communication between NES and NesDbg software.
- PmodBB Bread Board for a solderless joypad connection. ($20)
- NES Joypad Adapter to accept input from joypads. ($5)
- 2 NES Joypads to accept user input. (2 * $5)
- PmodAMP1 to amplify NES PWM audio output. ($20)
- Speaker to play the NES sound. ($6)
Development Environment:
- ISE 14.1 WebPack (free)
- Visual Studio 2010 Express (free)