A NES emulator written in Go.
Getting and running
sdl2 for rendering and input processing. It may be necessary to install it beforehand. On macOS, using homebrew:
$ brew install sdl2
Other systems/package managers should provide similar
libsdl2 packages. Then use the
$ go get github.com/rbaron/awesomenes $ awesomenes MY_ROM.nes
Games that use the mapper 0 (NROM) mostly work, although without audio so far. Games that use mapper 4 (mmc3) should work with some eventual glitches.
- Donkey Kong (NROM)
- Super Mario Bros. (NROM)
- Super Mario Bros. 2 (mmc3)
- Super Mario Bros. 3 (mmc3, with some glitches)
Keyboard (controller 1)
Arrow keys -> NES arrows A -> NES A S -> NES B Enter -> NES start Right shift -> NES select
Nintendo Switch Joycon (controller 1)
Directional -> NES arrows Down arrow -> NES A Right arrow -> NES B SL -> NES select SR -> NES start
All the information used to build this emulator was found on the awesome nesdev wiki.