Nintendo Entertainment System emulators

From Emulation General Wiki
Revision as of 06:35, 28 July 2014 by Swarhog (talk | contribs)
Jump to navigation Jump to search
The Nintendo Entertainment System (NES)

The Nintendo Entertainment System (NES) is an 8-bit, 3rd 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.

Emulators

PC
Name OS Version FDS Libretro Core Accuracy Recommended
Nestopia Windows, Linux 1.45 Very High
puNES Windows, Linux SVN Very High
Nintendulator Windows SVN Very High
BizHawk Windows 1.7.3 Very High
nemulator Windows 3.3 High
FCEUX Multi-platform 2.2.2 Mid
FCEUmm Multi-platform 98.13mm Mid
higan Windows, Linux, OS X 0.94 ✓ (as bNESv0.83) Mid
FakeNES GT Windows, Linux, Mac, MS-DOS 0.59 b3 Mid
QuickNES Multi-platform v1 Low
Jnes Windows 1.1.1 Windows Low
NESticle Windows, DOS x.xx DOS
0.42 Windows
Low
MESS Multi-platform 0.154 Low
Consoles
Name Operating System(s) Latest Version FDS Libretro Core Accuracy Recommended
NesterJ* PlayStation Portable 1.13 beta 2/AoEX ?
Nestopia** PS3, 360, Wii 1.44 Mid
FCEUX Wii, Gamecube 2.2.1
3.3.2
Mid

*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).

Mobile
Name Operating System(s) Latest Version FDS Libretro Core Accuracy Recommended
Jnes Android 1.3.6.31 Android Low
Nestopia* Android, iOS 1.44 High

**Only available on mobile as a libretro core (e.g. RetroArch).


Comparisons

  • PuNES is the most accurate NES emulator according to tests.[1] These test ROMs used for determining accuracy in tests unfortunately, don't test everything that matters for accurate emulation (and in some cases, test stuff that doesn't matter for emulating any games). So just because an emulator has high ratings doesn't mean it is free of issues.
  • Nestopia has a high ranking in those same tests.[1] 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.
  • 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. Version 2.2.2 is promised to have brought improvements from Bizhawk, a more accurate emulator, but it is unknown how much is fixed.

There are many NES emulators not listed here, as this system has more emulators than any other system and it would take pages to list all of them, plus new ones are started all of the time. It's best to just list the ones that are well known and stand out in some way.

Emulation Issues

Overscan

Example of faulty visuals that are exposed due to crop overscan not working. Note the blank blue area to the left and the green garbage on the right.

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

Name Alternate name Description
YUV Canonical Based of the standard method of NTSC decoding.
RGB PlayChoice-10 PPU palette.
Sony CXA2025AS Consumer Based on an actual NTSC decoder found in real TVs.
? Alternate It's a mystery.
Mega Man 9 Palette used in Mega Man 9

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.

NES emulators are similarly afflicted by this issue, as they each have their own algorithms for generating the NES color palette, meaning they all have slightly to wildly varying palettes. As such, there isn't really a "true" NES color palette, and which emulator has the "best" palette often comes down to preference, or whichever looks closest to how the real console looks on a user's own particular TV. Emulators such as Nestopia have the ability for the user to edit the color palette to their liking.

Some arcade machines based on the NES hardware, such as the PlayChoice-10 and the Versus series of cabinets, did generate a native RGB signal, however. The colors on these cabinets tend to be very vibrant and saturated, giving games a very distinct look compared to how they would look on the real console. Nestopia gives the user the choice to use the RGB palette featured in these cabinets, though it is not usually considered to be the definitive or "real" NES palette.

Resources

  • Nesdev Wiki - mmhm. yeah. mmhm. I know some of these words. (A place for all your NES programming needs)

References