NES260: a new NES emulator for Xilinx KV260 FPGA board

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
fenzo
Posts: 1
Joined: Sun Jul 24, 2022 12:31 am

NES260: a new NES emulator for Xilinx KV260 FPGA board

Post by fenzo »

Hi all,

I've ported fpganes (authored by Ludvig Strigeus) to Xilinx's latest KV260 FPGA board. Initial code and binaries are at,

https://github.com/zf3/nes260

KV260 is pretty powerful (basically Xilinx ZU5EV) and relatively affordable ($199). It is probably an overkill for emulating NES. But I think it has much potential for FPGA game emulation. Hopefully this code could be helpful for people who wants to use this board or similar Xilinx MPSoC boards to emulate more advanced consoles. I haven't seen much open source emulator code on Xilinx Zynq MPSoC, which is quite different from Zynq 7000 or Intel's Cyclone V used by Mister. So let me know if this is useful to the community. The code is GPL licensed, as the original fpganes code.

Current status:
- Most small games (<64KB) I tested work, like Super Mario Bros, Adventure Island, Gradius, Battle City.
- Catridge ROM, internal RAM and VRAM are stored in on-chip UltraRAM. The chip has 2304KB of UltraRAM.
- Video works well through HDMI at 1080p. The chip supports HDMI output natively. So I only had to figure out a way to program the live video interface.
- Audio through HDMI is not there. It is currently done through a separate PMod module (IceSugar PMod Audio).
- Game loading and controller is handled through a python GUI on PC.

I've also made a demo video: https://www.youtube.com/watch?v=p09k8FfFO0Q

Thanks a lot to the nesdev community for building the super informative Wiki and preserving computing history.

Image
Post Reply