SimpleNESGithub repoAn NES emulator written in C++ and SFML.
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)
Here's a big list of games that match the supported specs from SimpleNES. (Unlike the list above, these aren't tested. Some may or may not work)
ScreenshotsVideosPlaylist on YouTube:
https://www.youtube.com/playlist?list=PLiULt7qySWt2VbHTkvIt9kYPMPcWt01qNDownloadWindows 32-bitLinux 64-bitI don't have a Mac executable but I've tested an older version of the emulator and should work now too.
ROMs available
here for testingCompilingYou need:
* SFML 2.0+ development headers and library
* C++11 compliant compiler
* CMake build system
Compiling is straight forward with cmake, just run cmake on the project directory with CMAKE_BUILD_TYPE=Release
and you'll get Makefile or equivalent for your platform, with which you can compile the emulator
For e.g., on Linux/OS X:
$ 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
RunningI didn't bother with a GUI, the emulator can be launched from the terminal.
Just pass the path to a .nes image like
$ ./SimpleNES ~/Games/SuperMarioBros.nes
To set size of the window,
$ ./SimpleNES -w 600 ~/Games/Contra.nes
For supported command line options, try
$ ./SimpleNES -h
Keybindings can be configured with keybindings.conf
Default keybindings:
Player 1 Button | Mapped to
--------------|-------------
Start | Return/Enter
Select | Right Shift
A | J
B | K
Up | W
Down | S
Left | A
Right | D
Player 2 Button | Mapped to
--------------|-------------
Start | Numpad9
Select | Numpad8
A | Numpad5
B | Numpad6
Up | Up
Down | Down
Left | Left
Right | Right