Nintendo Entertainment System emulators

From Emulation General Wiki
Jump to: navigation, search
The Nintendo Entertainment System (NES)
The Nintendo Entertainment System (NES) is an 8-bit, third-generation console released in 1983 in Japan, where it was known as the Famicom.

The Famicom Disk System (FDS) is a Japan-only add-on which played special versions of games. It featured an extra FM sound channel, which allowed for richer sounds and music than is possible on the regular console.

Emulation for the NES is robust, with several high quality emulators for various systems.


Name Operating System(s) Latest Version FDS Libretro Core Accuracy Recommended
Mesen Windows, Linux 0.9.0 Cycle
Nestopia UE Windows, Linux 1.47 Cycle
puNES Windows, Linux 0.100 Cycle
Nintendulator Windows 0.975 Beta Cycle
3DNES Windows, Mac, Linux v1.2 ?
BizHawk Windows 1.12.1 Cycle
MyNes Windows, Linux 6 ?
cxNES Windows, Linux 0.3.3 ?
FakeNES GT Windows, Linux, Mac, MS-DOS 0.59 b3 Mid
FCEUX Multi-platform 2.2.3 Mid
FCEUmm Multi-platform 98.13mm Mid
HDNes Windows Git Low
higan Windows, Linux, OS X 0.102 ✓ (as bnes v0.83) Cycle
Jnes Windows 1.1.1 Low
MESS Multi-platform 0.186 Mid
nemulator Windows 4.2 High
nesemu2 Linux GitHub Cycle
NESticle Windows, DOS x.xx DOS
0.42 Windows
QuickNES Multi-platform v1 Low
RockNES Windows 5.4.1 ?
VirtuaNES Windows 0.97 Low
NesterJ* PlayStation Portable 1.13 beta 2/AoEX Mid
Virtual Console Wii, 3DS, Wii U varies per system Minimal
Nestopia** PS3, 360, Wii 1.44 Mid
FCEUX Wii, Gamecube 2.2.1
Nestopia*** Android, iOS 1.44 High
Jnes Android Android Low
Nostalgia.NES Android 1.12.2

* AoEX is based on NesterJ 1.12 Plus 0.61 RM, so it includes features like rewind mode, cheat codes support, rotated/mirrored screen, sepia palette, support to rare mappers (the pirate bootleg FF7 works on it), etc, but its compatibility is inferior to 1.13 beta 2.
** Only available on consoles as a libretro core (e.g. RetroArch).
*** Only available on mobile as a libretro core (e.g. RetroArch).


  • Mesen is the most accurate NES emulator according to tests.[1] It should be the emulator of choice for those who desire the utmost accuracy. Mesen is also very user-friendly and supports a lot of features that other emulators are missing such as: netplay, auto-updating, has good filters built in, loads both .zip, goodmerged files, etc. PuNES has a few mappers that Mesen doesn't support yet.
  • PuNES is the second most accurate NES emulator according to the same tests.[2] That's not to say that it will generate an absolutely perfect experience compared to actual hardware. PuNES also supports rewinding in games. PuNES has some mappers that Mesen doesn't support yet. Mesen has quite a few mappers that PuNES doesn't support yet.
  • Nestopia has a high ranking in those same tests.[2] Nestopia has issues with The Young Indiana Jones Chronicles and doesn't display the status bar in Mickey's Safari in Letterland correctly among other problems. Nestopia Undead Edition (abv. Nestopia UE) is a fork of Nestopia meant to keep it alive and fixes the aforementioned bugs. This is generally the recommended standalone version. The libretro core for Nestopia is the Undead Edition in libretro form.
  • Nintendulator and MyNes have a high ranking in those same tests.[2]
  • FCEUX scores fairly low in the same tests, despite being a recommended emulator on TAS Videos. The New PPU is more accurate than the Old PPU, however. The emulator is still useful, though, thanks to its robust Lua scripting features and incorporating FCEUmm into its feature set.
  • VirtuaNES scores very low in the same tests, but it supports several obscure peripherals that are not supported on other emulators.
  • For official emulation, use Virtual Console. It is very accurate and has the backing of many of the developers, including Nintendo, Capcom, Square Enix and Namco. The Wii has a significantly larger library of NES games to choose from than the 3DS or Wii U, especially from third-party publishers.

There are many NES emulators not listed here, as the NES has more emulators than any other system, plus new ones are started all of the time. Only the ones that are well known or stand out in some way will be listed.

Emulation Issues[edit]


Example of faulty visuals that are exposed when no overscan is cropped. Note the blank blue area to the left and the green garbage on the right. On NTSC CRT TVs, these areas may or may not be visible
Several NES games need the overscan to be cropped to look proper. There is however, seemingly no standard level of overcropping. Many games seem to require different levels of overcropping. SMB3 requires a lot of cropping, however the same level of cropping will obscure of the letters in the status bar in Castlevania games. It did not seem that there was standardization until the next generation of consoles.

Color Palette[edit]

Main article: Famicom Color Palette

Unlike consoles like the SNES, which natively generate the image in pure RGB, the Famicom normally generates and outputs an encoded NTSC video signal, which must then be decoded by the TV's built-in NTSC decoder. This means the resulting color palette often varies depending on the display's decoder. This is why NES games appear to have different colors on different TV sets. Famicom emulators have a variety of different palettes to choose from.


There were many accessories released for the NES but Emulation General will only cover accessories that are truly different data streams other than the basic controller (input data stream). For example, the Power Glove is just a really complicated NES controller to convert motion into d-pad, select, start, a, and b button commands. Same goes for R.O.B. for Stack-up and Gyromite because it was just the second player. Strangely, the Famicom has a lot more hardware to emulate than the NES.[3]


This accessory was very common. It's a light gun. It was used for many games, such as Duck Hunt, Wild Gunman, and Hogan's Alley, just for three examples. When the trigger is pulled, the screen for 1-2 frames flashed black with a white rectangle (the target to shoot at). If the gun detected it was pointing at the white, it told the game to register a hit. Real hardware, this was very hit or miss, and plugged into controller slot 2. It mainly worked with old CRT TVs. Newer TVs will not register with the Zapper. Many emulators support this accessory with 100% accuracy hit detection, usually with a mouse click (PC), tap (for mobile), remote (Wii ports of NES emulators), or faked pointers using a controller.

Arkanoid/Vaus Controller[edit]

This controller was a controller released by Taito with one button to "fire" and a dial to control back and forth movement. Arkanoid is the only NES game to utilize this controller, but it is optional. Mesen supports this controller.

Miracle Piano Teaching System[edit]

By the Software Toolworks, the Miracle Piano Teaching System used an electronic piano keyboard as input. It is unknown if any emulator supports this feature.

Family Trainer/Family Fun Fitness/Power Pad[edit]

This accessory is very different from a standard controller of eight buttons. It was designed to be a controller where you need to use your feet, typically by running in place on numbered circles to represent button presses. It plugs into controller slot 2 and is 12 different buttons. Notable games, such as Stadium Events/World Class Track Meet and Athletic World, utilize this accessory. Trying to use a standard controller anyways won't work. Despite being less accurate than puNES or Mesen, FCEUX supports this controller.

NES Four Score/NES Satellite/4-Players Adaptor[edit]

This accessory turned the standard two controller ports into four controller ports by plugging into both ports. A few games utilize this capability, such as LJN's A Nightmare on Elm Street. Many emulators support this feature by having an option between switching between 2-player and 4-player mode or just enabling/disabling Player 3 and Player 4's controller.


Technically not a peripheral because it was physically part of each model 1 Famicom, on the second player's controller is a microphone and volume slider instead of having start and select buttons. One noteworthy game that makes use of it is the Japanese Legend of Zelda. Pols Voice, an enemy, is destroyed if the player makes a loud sound into the microphone. Another game to make use of the microphone is Takeshi no Chōsenjō (Takeshi's Challenge). VirtuaNES supports this, activated by 'M' key on default settings.

Karaoke Studio[edit]

Separate from the built-in microphone, Bandai made Karaoke Studio, which is a special game cartridge that has a microphone attached to it. It is unknown if any emulator supports this.

Famicom Disk System[edit]

A Japan-only peripheral using the disk format instead of cartridges, with unique games made for it, some of which were later ported to the regular NES/Famicom cartridge format with significant downgrades (especially the loss of enhanced FDS hardware audio). This accessory made it possible to save game data, but only for the game contained on each of the disks.

You'll need the fdsbios file to emulate games made for this peripheral. Switching disk sides will require using "Eject/Insert Disk", "Switch Disk Side", then "Eject/Insert Disk" again.

It's interesting to note there are two versions of this BIOS; Nintendo's peripheral and Sharp's Twin Famicom. The only difference is Nintendo's displays Nintendo while Sharp's displays Famicom when the hardware is first booted. Other than that, they function identically.

Famicom Keyboard[edit]

One game used a keyboard to program in BASIC on a Famicom and that was Family BASIC. VirtuaNES supports this keyboard.

Data Recorder[edit]

The Data Recorder is a related accessory to the Famicom Keyboard. Only three games and one accessory supported the Data Recorder; Excitebike, Mach Rider, Wrecking Crew, and Family BASIC. These games sent an analog audio stream through the keyboard to a cassette tape deck, but any device capable of analog audio recording/playback can work with it. The "sound" is really just 0s and 1s to represent the data the games are trying to write. VirtuaNES supports this accessory, controlled from "Tape" menu.

ASCII Turbo File[edit]

Different from battery back-ups and the FDS, ASCII Corperation (based in Japan) created their own method to save data with the ASCII Turbo File. VirtuaNES supports this.

Oeka Kids tablet[edit]

This accessory was a tablet for the Famicom games Oeka Kids: Anpanman no Hiragana Daisuki and Oeka Kids: Anpanman to Oekaki Shiyou!!.[4] Mesen supports this accessory.

CompuTrainer Pro[edit]

This accessory is very rare and was only used in the unlicensed game RacerMate Challenge II. No known emulator supports it. [5]

Hardware Variants[edit]

VS System[edit]

An arcade system based on the NES released for the US. Most emulators have an option to let you "Insert Coin(s)".

ROMs made with VS System in mind played in the emulator's NES mode, or playing a NES ROM in the emulator's VS mode, will cause the colors to be totally garbled. This is either an issue with the emulator's configuration or the ROM's iNES header.

Famicom Box[edit]

Also re-released later as Sharp's FamicomStation. It's a bulky metal cube with a slot to insert money and tons of locks, which was distributed in select hotels and stores. It can hold at once up to 15 select Famicom releases, which much more lockout chips and pins with different behavior than usual, and support for only mapper 0 games. It also has unique boot screen for both models.

Neither the cartridges nor the BIOS have been dumped or tested if they work with an emulator, unlike with the Super Famicom Box which had its BIOS and most ROMs dumped.


A pirate NES Famicom clone which was sold in Russia and Eastern Europe, with the blueprint reused for other Famiclones. Here's a link to a CC-subtitled Kinaman video for more details. It's a very quirky NTSC NES optimized for 50Hz, with other changes from the official PAL NES - though those differences break compatibility of Dendy-specific releases with most emulators.

MESS supports this console, and some other emulators (such as Mesen, puNES and FCEUX) introduced support for it in r3134, with the already included support for iNES 2.0 ROM headers (which include the option to mark a ROM region as PAL Dendy). The carts themselves can be played as long as the emulator supports broken cards.

Setting the "Family Keyboard" under "Input" might be needed for some of these Famiclones.


  • Nesdev Wiki - A place for all your NES programming, and NES emulator programming needs.
  • Nesdev Forum - Discussion of NES Wii Virtual Console accuracy.