Open source FPGA projects for retro gaming and computing.
FPGA Gaming Cores
Complete console implementations for Sipeed Tang FPGA boards.
- NESTang - Nintendo Entertainment System for Tang Primer 25K, Nano 20K and Primer 20K. My first FPGA gaming project.
- SNESTang - Super Nintendo Entertainment System for Tang FPGAs. Features a RISC-V softcore for menu system.
- TangCore - Unified FPGA gaming distribution for Tang boards. Includes NES, SNES, GBA, Genesis and SMS cores with easy core switching.
- GBATang - Game Boy Advance for Sipeed Tang boards.
- MDTang - Sega Mega Drive / Genesis for Tang boards.
- NanoSPC - SNES SPC music player for Tang Nano 20K.
- SMSTang - Sega Master System for Tang FPGAs.
x86 CPU Cores
FPGA implementations of classic Intel processors.
- 486Tang - 80486 on the Sipeed Tang Console 138K. First ao486 port to non-Altera FPGA.
- z8086 - 8086 FPGA core running the original Intel microcode.
- z86 - A pipelined 80286-class FPGA softcore CPU. (Incomplete)
- ao486-sim - Educational whole-system simulation of the ao486 CPU core and PC architecture.
- 8086 Microcode Browser - Interactive Intel 8086 microcode viewer.
USB & Interfaces
- usb_hid_host - Compact USB HID host FPGA core supporting keyboards, mice and gamepads. Pure Verilog, no CPU needed.
- usb_host_pmod - Dual-socket USB host PMOD module hardware design.
Memory Controllers
- DDR3 controller for Tang Primer 20K - DDR3-800 controller with low latency for Gowin GW2A-18C.
- SDRAM controller for Tang Nano 20K - Simple SDRAM controller with example code. Great starting point.
- DDR3 Frame Buffer - DDR3 frame buffer in Verilog for Gowin FPGA.
Other
- 3dfx Voodoo Demos - Self-contained 3dfx Voodoo 1 (SST-1) demos on Mac/Linux.
- Dieshots - High-resolution processor die photographs.