nesgoemu is a Nintendo Entertainment System (NES) emulator. It allows you to play your favorite classic NES games directly on your computer.
- Native Golang: Built entirely in Golang, ensuring a clean and maintainable codebase and making it easy to build and portable across platforms.
- Lightweight: No CGO dependency, resulting in a smaller binary size and faster build times.
- Flexible Interface: Runs without or with a SDL based user interface for streamlined usage.
- Advanced Debugging: Supports outputting of CPU traces and undocumented 6502 CPU opcodes for in-depth analysis.
Your system needs to have a recent Golang version installed.
Check GUI installation to set up the GUI dependencies.
Installation Options:
- Stable Version:
go install github.com/retroenv/nesgoemu@latest
This installs the latest stable version and places the nesgoemu
binary in your system's GOPATH/bin directory.
- Development Version:
The latest development version can be installed using:
git clone https://github.com/retroenv/nesgoemu.git
cd nesgoemu
go install .
This builds and install the emulator from the latest code in the development branch.
Emulate a ROM:
nesgoemu <your_rom_file.nes>
usage: nesgoemu [options] <file to emulate>
-a string
listening address for the debug server to use (default "127.0.0.1:8080")
-c console mode, disable GUI
-d start built-in webserver for debug mode
-e int
entrypoint to start the CPU (default -1)
-s int
stop execution at address (default -1)
-t print CPU tracing