Skip to content
GrooveStomp's NES Emulator
C C++ Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs/screenshots
external
.doxygen.conf
.gitignore
LICENSE
LICENSE-OLC-3
Makefile
README.md
TODO
bus.c
bus.h
cart.c
cart.h
color.c
color.h
cpu.c
cpu.h
graphics.c
graphics.h
input.c
input.h
main.c
mapper.h
mapper000.c
mapper000.h
ppu.c
ppu.h
sprite.c
sprite.h
util.c
util.h

README.md

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.

License

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.

Development

Requirements

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

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

Building

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.

Using

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

Input

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

Screenshots

NES Test Donkey Kong Ice Climber

You can’t perform that action at this time.