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

You Might Also Like
One Platform. Total IT Insight. Start with PRTG Now Icon
One Platform. Total IT Insight. Start with PRTG Now

Rely on a single source of truth. PRTG unifies monitoring for all your systems, apps, and services.

Why settle for fragmented monitoring? PRTG consolidates everything - servers, VMs, network devices, cloud services, and more, into one powerful platform. Get real-time status, customizable alerts, and deep analytics to drive smarter decisions. Designed for complex environments, PRTG scales with your needs, supports team collaboration, and helps you prevent outages before they impact users. Take control of your IT landscape and deliver the uptime your business requires.
Start Your Free PRTG Trial
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