Programmed with C++11 and the SFML library for graphics.
Roughly 40-50% of games should work (ie. games that use either no mapper or mappers 1, 2 or 3)..
Examples of games that have been tested to run (but NOT limited to):
(USA/Japan or World versions only i.e. NTSC compatible)
- Super Mario Bros.
- Adventure Island
- Ninja Gaiden
- Wrecking Crew
- Megaman and Megaman 2
- Mario Bros.
- Donky Kong and Donkey Kong Jr.
- Battle City
- Legend of Zelda
(Unlike the list above, these aren't tested. Some may or may not work)
ROMs available here for testing.
VideosHere's a playlist of SimpleNES in action!
CompilingYou need :
On any Linux distribution or macOS, these are the typical steps :
$ git clone https://github.com/amhndu/SimpleNES $ cd SimpleNES $ mkdir build/ cd build/ $ cmake -DCMAKE_BUILD_TYPE=Release .. $ make -j4 #Replace 4 with however many cores you have to spare
RunningJust pass the path to a .nes image like
$ ./SimpleNES ~/Games/SuperMarioBros.nesTo set size of the window,
$ ./SimpleNES -w 600 ~/Games/Contra.nesFor supported command line options, try
$ ./SimpleNES -h
ControllerKeybindings can be configured with keybindings.conf.
LicenseThis code is in public domain until an Open Source License is picked.
NES ROMs are subject to the respective studio's terms.