Code Monkey home page Code Monkey logo

simplenes's Introduction

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 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.
  • Contra
  • Adventure Island
  • Ninja Gaiden
  • Wrecking Crew
  • Megaman and Megaman 2
  • Mario Bros.
  • Donky Kong and Donkey Kong Jr.
  • Battle City
  • Paperboy
  • Legend of Zelda
  • Pacman
  • Tennis
  • Excitebike

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)

Screenshots

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

Videos

YouTube Playlist

Download

Executables:

Windows 32-bit Linux 64-bit

ROMs available here for testing.

Compiling

You 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/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

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

simplenes's People

Contributors

amhndu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.