All Projects → amhndu → Simplenes

amhndu / Simplenes

Licence: gpl-3.0
An NES emulator in C++

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to Simplenes

awesome-emu-resources
A curated list of emulator development resources
Stars: ✭ 26 (-99.11%)
Mutual labels:  emulator, nes-emulator
Mednes
A cycle-accurate, cross-platform NES emulator written in C++
Stars: ✭ 189 (-93.52%)
Mutual labels:  nes-emulator, emulator
SaltyNES
A NES emulator in WebAssembly
Stars: ✭ 69 (-97.63%)
Mutual labels:  emulator, nes-emulator
Nesicide
Integrated Development Environment for the 8-bit Nintendo Entertainment System
Stars: ✭ 244 (-91.63%)
Mutual labels:  nes-emulator, emulator
Gbemu
A Gameboy emulator in modern C++
Stars: ✭ 149 (-94.89%)
Mutual labels:  sfml, emulator
Gearnes
NES / Famicom emulator for iOS, Mac, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 23 (-99.21%)
Mutual labels:  emulator, nes-emulator
Anese
Another NES Emulator - written for fun & learning - first implementation of wideNES
Stars: ✭ 323 (-88.92%)
Mutual labels:  nes-emulator, emulator
js-nes-emulator
NES emulator in javascript.
Stars: ✭ 12 (-99.59%)
Mutual labels:  emulator, nes-emulator
Nes Rust
NES emulator written in Rust + WASM
Stars: ✭ 141 (-95.16%)
Mutual labels:  nes-emulator, emulator
Nes.swift
An NES emulator written in Swift
Stars: ✭ 103 (-96.47%)
Mutual labels:  nes-emulator, emulator
Stepfc
Make FC(NES) Emulator Step-by-Step 一步一步模拟红白机
Stars: ✭ 223 (-92.35%)
Mutual labels:  nes-emulator, emulator
Nsfplay
Nintendo NES sound file NSF music player
Stars: ✭ 155 (-94.68%)
Mutual labels:  nes-emulator, emulator
speljongen
gameboy emulator written in c++
Stars: ✭ 15 (-99.49%)
Mutual labels:  emulator, sfml
Rustynes
👾 An NES emulator by Rust and WebAssembly
Stars: ✭ 399 (-86.31%)
Mutual labels:  nes-emulator, emulator
Xamarines
🕹️📱Cross-Platform Nintendo Emulator using Xamarin and .Net Standard!
Stars: ✭ 153 (-94.75%)
Mutual labels:  nes-emulator, emulator
Flownes
🎮 An NES emulator written in ES2015+ with flowtype
Stars: ✭ 160 (-94.51%)
Mutual labels:  nes-emulator, emulator
Pcjs
The original IBM PC and other machine emulations in JavaScript
Stars: ✭ 171 (-94.13%)
Mutual labels:  emulator
Ioredis Mock
Emulates ioredis by performing all operations in-memory.
Stars: ✭ 181 (-93.79%)
Mutual labels:  emulator
Mapgen Viewer
Map generator based on Voronoi Diagram and Perlin noise
Stars: ✭ 169 (-94.2%)
Mutual labels:  sfml
Metroboy
MetroBoy - A playable, circuit-level simulation of an entire Game Boy
Stars: ✭ 169 (-94.2%)
Mutual labels:  emulator

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

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].