Home

Awesome

SimpleNES

An NES emulator written in C++ for nothing but fun.

Roughly 40-50% of games should work (ie. games that use either no mapper or mappers 1, 2, 3 and experimental support for 4, 7, 66 and 11).

Examples of games that have been tested to run (but NOT limited to):

(USA/Japan or World versions only i.e. NTSC compatible)

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 6 Screenshot 6

Videos

YouTube Playlist

Compiling

You need:

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/FreeBSD:

$ 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

Running

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

Controller

Keybindings can be configured with keybindings.conf

Default keybindings:

Player 1

ButtonMapped to
StartReturn/Enter
SelectRight Shift
AJ
BK
UpW
DownS
LeftA
RightD

Player 2

ButtonMapped to
StartNumpad9
SelectNumpad8
ANumpad5
BNumpad6
UpUp
DownDown
LeftLeft
RightRight