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
ACI Learning: Internal Audit, Cybersecurity, and IT Training Icon
ACI Learning: Internal Audit, Cybersecurity, and IT Training

Proven skill building for every aspect of your support or IT team.

Traditional training doesn't equip employees with the practical skills they need to drive business success. ACI Learning provides hands-on IT and cybersecurity training designed to build real-world, on-the-job skills. Our outcome-based programs empower employees with certification prep, industry-recognized credentials, and flexible learning options. With expert-led video training, labs, and scalable solutions, we help businesses, individuals, governments, and academic institutions develop a skilled workforce, align with business goals, and stay ahead in a rapidly evolving digital world.
Learn More
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