GoNES: Yet Another NES Emulator Written in Go
Latest version: 0.3.0-beta
NOTE: This project is under active development.
Defects and bugs are expected.
What is this?
A cross-platform and portable NES emulator written Go.
Why choosing GoNES?
- For developers who want to learn how this emulator works: GoNES is optimized for code readability, not performance.
- Yes, cross-platform!
- Download and play: No runtime dependencies.
Installation
Prebuilt binaries
You can download a prebuilt binary.
Build from source
go get -d github.com/vfreex/gones
make
Usage
Start GoNES
Run gones from terminal:
gones <game>.nes
Or if you are using GUI, just drag your .NES file to gones binary file.

Then the game will start:

Default Keymap
First Player
| NES Key |
PC |
Mac |
| Start |
Enter |
↩ |
| Select |
Ctrl |
⌃ |
| ← |
Left |
← |
| → |
Right |
→ |
| ↑ |
Up |
↑ |
| ↓ |
Down |
↓ |
| A |
X |
X |
| B |
Z |
Z |