NES emulator written entirely in Go, aimed at accurately reproducing classic Nintendo Entertainment System games in a modern, cross-platform environment. It reimplements the NES hardware in software, including CPU, PPU (graphics), and APU (audio), and then presents the output using OpenGL for video and PortAudio for sound. The emulator supports a menu mode where, if you point it at a directory instead of a single ROM, it scans all ROMs and shows a game selection screen with thumbnails fetched from an online database keyed by each ROM’s MD5 hash. Once a ROM is chosen, the emulator maps keyboard controls to NES inputs and also supports USB joysticks, letting you play with a gamepad instead of just the keyboard. Under the hood it implements several common NES cartridge mappers such as NROM, MMC1, UNROM, CNROM, MMC3, and AOROM, which together cover the majority of NES titles in circulation.

Features

  • Pure Go NES emulator with OpenGL graphics and PortAudio sound output
  • Command-line usage that accepts a single ROM or a directory of ROMs and shows a thumbnail-based game selection menu
  • Support for multiple NES cartridge mappers covering roughly 85% of commercial games
  • Keyboard and joystick input support with a clear default key mapping for NES controls
  • Easy installation via go get, automatically fetching dependencies and building the executable
  • Links to NES technical documentation and references for emulator developers and hardware enthusiasts

Project Samples

Project Activity

See All Activity >

Categories

Emulators

License

MIT License

Follow NES

NES Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of NES!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Emulators

Registered

2025-11-21