NESTang is a Nintendo Entertainment System emulator for the affordable Sipeed Tang Primer 20K FPGA board. The core logic comes from fpganes. I added DDR3 and HDMI interfaces and other things.
This is still a work in progress. Here's what works.
- Majority of games I tested work.
- 720p HDMI video and sound output.
- PC-side loader program for game loading and controller input.
- Cycle accurate emulation quality as we nearly recreated the NES circuits.
Needs a MiSTer SDRAM module. Similar to MiSTer, SDRAM is needed for its low access latency required by emulation.(v0.2 no longer needs SDRAM! 😃)
Interested? Here's what you need:
- Sipeed Tang Primer 20K with Lite Carrier Board. About $30.
- Muse-Lab HDMI PMod: aliexpress or taobao.
Now wire the HDMI module up following the wiring instructions.
Then it's time to enjoy some NES games,
- Download a NESTang release.
- Start Gowin Programmer, and program
nestang.fsto the board. If you see a colorful NES palette, then your setup is working. - Connect your game controller/controllers to your PC. I use a pair of old Xbox 360 controllers.
- Run
loader.exe -c COM4 game.nes(replace COM4 with your port number) to load the gamegame.nesand run it. - If it didn't work,
loader.exe -r game.neswill print messages from the core.
Hurrah! and enjoy.
See NESTang changes.md.
Here are what I may work on when I get time. No promise though. Suggestions and pull requests are welcome!
- A way to work without a PC.
- Support Tang Primer 20K dock when it comes out. The dock comes with HDMI on-board so we have an even cleaner setup.
- Support more games.
- An enclosure?
- Cheats support.
- Saves and loads.
- fpganes by Ludvig Strigeus.
- hdl-util/hdmi by Sameer Puri.
nand2mario 2022.9
