$ Go NES Emulator
A Nintendo Entertainment System (NES) emulator written in Go. This project brings classic 8-bit gaming to life with accurate CPU emulation, PPU graphics rendering, and support for multiple cartridge mappers.
### features
- - Ricoh 2A03 CPU — Complete emulation of the NES CPU with official and unofficial opcodes
- - PPU Graphics — Accurate rendering with sprite rendering, background layers, and scrolling
- - Mapper Support — Supports 6 major mappers covering ~72% of NES games
- - SDL2 Display — Smooth 60 FPS gameplay with SDL2 for cross-platform graphics
- - WASM Build — WebAssembly target for running in browsers
### supported mappers
The emulator supports the most common NES cartridge mappers:
- • Mapper 0 (NROM) — Super Mario Bros., Donkey Kong
- • Mapper 1 (MMC1) — Zelda, Metroid
- • Mapper 2 (UxROM) — Mega Man, Castlevania
- • Mapper 3 (CNROM) — Arkanoid
- • Mapper 4 (MMC3) — Super Mario Bros. 3, Mega Man 3-6
- • Mapper 7 (AxROM) — Battletoads
### controls
Arrow Keys — D-Pad X — A Button Z — B Button Enter — Start Right Shift — Select P — Pause/Resume R — Reset ESC — Quit ### learn more
Download pre-built binaries, read the documentation, and explore the source code.