GrooveStomp's NES Emulator
9de07668 — GrooveStomp 4 years ago
Foreground rendering works
85e49466 — GrooveStomp 4 years ago
Working input and fixed a bug in ADC()
8e7b4916 — GrooveStomp 4 years ago
Fix some more instances of referencing the wrong executable


browse  log 



You can also use your local clone with git send-email.

#GrooveStomp's NES Emulator

AGPLv3 license OLC-3 license

This NES emulator is based heavily off of the work done by OneLoneCoder ie., javidx9. I have written this emulator in C11 instead of the source C++17 used by javidx9.


While this software is licensed under AGPLv3, this software also retains the original license provided by OneLoneCoder. Note that AGPLv3 is a much more strict license than the OLC-3 license used by javidx9.



  • make
  • gcc
  • sdl2
  • doxygen (For documentation generation)

This is developed for Linux and no effort has been made to support it elsewhere.


There are four targets in the Makefile:

  • clean
  • debug
  • release
  • docs

The default target is release. release builds gsnes at release/gsnes. debug builds gsnes at debug/gsnes. docs builds the documentation with Doxygen.


For now the emulator is not configurable outside of modifying source directly. The NES rom to load is hardcoded into main.c.


  • a: Select
  • s: Start
  • z: B
  • x: A
  • left: Left
  • right: Right
  • up: Up
  • down: Down


NES Test Donkey Kong Ice Climber