πŸ“Ί Nintendo Entertainment System emulator written in C#.
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dotNES Commenting out Direct3D was unintended Sep 17, 2017
.gitignore Add very basic savefile support Sep 7, 2017
.travis.yml Create .travis.yml Aug 20, 2017
LICENSE Let's clarify licensing Sep 17, 2017
README.md Add note regarding lack of APU support Sep 11, 2018
dotNES.sln Implement nametable shifting when scrolling Aug 11, 2017

README.md

Emulator.NES Linux Build Status Windows Build Status

A C# emulator for Nintendo Entertainment System (NES) hardware.

Running

You can pick up the latest build from AppVeyor. Simply drag & drop an NES ROM file into it to start. Right click the window for options.

Emulator.NES will render video with OpenGL or Direct3D, depending on your platform. A slower software-only renderer is also included for systems that support neither.

Controls

Controls are currently hardcoded.

  • A/S β€” A/B
  • Arrow Keys β€” Up/Down/Left/Right
  • Enter β€” Start
  • Right Shift β€” Select

Compatibility

For a list of games known to be playable, visit the wiki page.

Currently, the following mappers are implemented:

These mappers theoretically provide support for ~90% of all games ever published, largely according to this list and NesCartDB. Whether a game runs or not is more dependent on how well the CPU and PPU support it.

The APU is currently not implemented, which means no games output audio.

Compilation

Emulator.NES uses C# 7 language features, so requires a compiler that supports them.

Windows

Visual Studio 2017 is sufficient to compile.

Linux

msbuild from Mono should be used to build, but the version included in most distro repositories is not new enough to have C# 7 support (or may not have msbuild). Instead, install a Mono version directly from the Mono site.

Then, to compile:

$ nuget update -self
$ nuget restore
$ msbuild /property:Configuration=Release dotNES.sln

More Title Screens

Title screens are pretty, so below are some more title screens of games running in Emulator.NES.