Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Xyene/Emulator.NES
📺 Nintendo Entertainment System emulator written in C#.
https://github.com/Xyene/Emulator.NES
csharp emulator famicom famicom-emulator nes nes-emulator
Last synced: 3 months ago
JSON representation
📺 Nintendo Entertainment System emulator written in C#.
- Host: GitHub
- URL: https://github.com/Xyene/Emulator.NES
- Owner: Xyene
- License: gpl-3.0
- Created: 2017-07-27T16:59:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-14T08:58:37.000Z (about 6 years ago)
- Last Synced: 2024-05-30T05:57:43.217Z (5 months ago)
- Topics: csharp, emulator, famicom, famicom-emulator, nes, nes-emulator
- Language: C#
- Homepage:
- Size: 337 KB
- Stars: 161
- Watchers: 8
- Forks: 44
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Emulator.NES [![Linux Build Status](https://travis-ci.org/Xyene/Emulator.NES.svg?branch=master)](https://travis-ci.org/Xyene/Emulator.NES) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/gup13j6tw463siny?svg=true)](https://ci.appveyor.com/project/Xyene/emulator-nes)
A C# emulator for Nintendo Entertainment System (NES) hardware.
![](http://i.imgur.com/aef0cM9.png)
![](http://i.imgur.com/OjrvRmz.png)
![](http://i.imgur.com/OKPWHhP.png)
![](http://i.imgur.com/cga8ku8.png)
![](http://i.imgur.com/Xyfp0AZ.png)
![](http://i.imgur.com/9lBMzz8.png)## Running
You can pick up the latest build [from AppVeyor](https://ci.appveyor.com/project/Xyene/emulator-nes/build/artifacts).
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](https://github.com/Xyene/Emulator.NES/wiki/Games-Known-to-Work).Currently, the following mappers are implemented:
* 0 - [NROM](http://bootgod.dyndns.org:7777/search.php?ines=0)
* 1 - [MMC1](http://bootgod.dyndns.org:7777/search.php?ines=1)
* 2 - [UxROM](http://bootgod.dyndns.org:7777/search.php?ines=2)
* 3 - [CNROM](http://bootgod.dyndns.org:7777/search.php?ines=3)
* 4 - [MMC3](http://bootgod.dyndns.org:7777/search.php?ines=4)
* 7 - [AxROM](http://bootgod.dyndns.org:7777/search.php?ines=7)
* 9 - [MMC2](http://bootgod.dyndns.org:7777/search.php?ines=9) (*Mike Tyson's Punch-Out!!*)
* 10 - [MMC4](http://bootgod.dyndns.org:7777/search.php?ines=10)
* 11 - [Color Dreams](http://bootgod.dyndns.org:7777/search.php?ines=11)
* 66 - [GxROM](http://bootgod.dyndns.org:7777/search.php?ines=66)
* 71 - [Camerica](http://bootgod.dyndns.org:7777/search.php?ines=71)
* 79 - [NINA-003-006](http://bootgod.dyndns.org:7777/search.php?ines=79)
* 94 - [*Senjou no Ookami*](http://bootgod.dyndns.org:7777/search.php?ines=94)
* 140 - [Jaleco](http://bootgod.dyndns.org:7777/search.php?ines=140)
* 155 - [MMC1A](http://bootgod.dyndns.org:7777/search.php?ines=155)
* 180 - [*Crazy Climber*](http://bootgod.dyndns.org:7777/search.php?ines=180)
* 206 - [DxROM](http://bootgod.dyndns.org:7777/search.php?ines=206)These mappers theoretically provide support for ~90% of all games ever published, largely according to [this list](http://tuxnes.sourceforge.net/nesmapper.txt) and [NesCartDB](http://bootgod.dyndns.org:7777).
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](http://www.mono-project.com/download/#download-lin).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.![](http://i.imgur.com/9nF1RF0.png)
![](https://i.imgur.com/mFTLSVo.png)
![](http://i.imgur.com/ot4FOwH.png)
![](https://i.imgur.com/4MXMFnw.png)
![](http://i.imgur.com/KGrhRwt.png)
![](http://i.imgur.com/aMmF3dM.png)
![](http://i.imgur.com/elm1Vpx.png)
![](http://i.imgur.com/T5k2ctD.png)
![](https://i.imgur.com/iLn7Puq.png)
![](https://i.imgur.com/nQYxowh.png)
![](https://i.imgur.com/8BArNlT.png)
![](https://i.imgur.com/g0UsJDz.png)