Changes

Jump to navigation Jump to search

Nintendo Entertainment System emulators

15,176 bytes added, 15:12, 2 October 2019
Peripherals
{{Infobox console
|title = Nintendo Entertainment System
|logo = nes-t.png
|developer = [[:Nintendo]]
|type = [[:Category:Consoles|Home video game console]]
|generation = [[:Category:Third-generation video game consoles|Third generation]]
|release = 1983
|discontinued = 2003
|predecessor = [[First_and_Second_Generations_of_video_game_consoles|Color TV-Game]]
|successor = [[Super Nintendo emulators|SNES]]
|emulated = {{✓}}
}}
The '''[https://en.wikipedia.org/wiki/Nintendo_Entertainment_System Nintendo Entertainment System]''' (NES) is an 8-bit, third-generation console released on July 15, 1983 in Japan, where it was known as the '''Family Computer''' or '''Famicom''', and on October 18, 1985, it released in the US. It retailed for {{Inflation|USD|179.99|1985}}. It had a Ricoh 2A03 CPU at 1.79 MHz with 2KB of RAM.
<span style="font-sizeThe earliest games released on the Famicom suffered from significant hardware constraints due to the way the Famicom was designed:13px;">[[File:Nes.png|thumb|The Nintendo Entertainment System limited memory addressing (NES)]]The </span>'''[[gametech:Nintendo Entertainment System|Nintendo Entertainment System]]'''<span style="font-which meant games had a low maximum ROM size:13px;"> (NES) , how the graphics are loaded onscreen, just the native sound processing is an 8-bitavailable, 3rd generation console released in 1983 in Japanno saving... To solve this problem, where it was known as the </span>'''Famicom'''<span style="font-sizeNintendo came up with two solutions:13px;">.</span>
<span style="font-size:13px;">* The Famicom '''Family Computer Disk System ''' (FDS) </span>is , a Japan-only add-on which played special versions games from a semi-custom variant of gamesMitsumi's Quick Disk format. It featured an extra FM offered slightly higher data storage and slightly enhanced sound channelprocessing. It also had a microphone never found anywhere else. There were plans to release it in the US, however since the NES itself had its launch delayed to late 1985, which allowed and the mapper solution obsoleted it, the add-on was never exported and some of its exclusives were ported as regular cartridge releases.* '''Memory Management Controllers''' (MMC), also known colloquially as '''mappers'''. They solved every single problem above with bank switching for richer sounds much more data, onboard FM audio chips, and music than much more. Most games released after 1986 that really pushed the system to its limits used mappers. A similar solution was used for the Game Boy. Emulation for the NES is possible on the regular consolerobust, with many high-quality emulators for various systems.
Emulation for the NES is robust, with several high quality emulators for various systems.
==Emulators==
Like for [[Game Boy/Game Boy Color emulators|Game Boy/Color]], tons of NES emulators exist. For a list of open-source projects, see this [https://github.com/search?utf8=%E2%9C%93&q=nes+emulator&type=Repositories GitHub query].{| class="wikitable"|+PC|style="text-align:center;"
! scope="col"|Name
! scope="col"|OSOperating System(s)! scope="col"|Latest Version! scope="col"|[[gametechWikipedia:Famicom Family Computer Disk systemSystem|FDS]]
! scope="col"|[[libretro|Libretro Core]]
! scope="col"|[[Emulation Accuracy|Accuracy]]! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
|style!colspan="text8"|PC|-align|[[Mesen]]|Windows, Linux|[http:center;"//www.mesen.ca {{MesenVer}}]|{{✓}}|{{✓}}|Cycle|{{✓}}|{{✓}}|-|[[Nestopia|Nestopia UE]]|Windows, Linux, macOS, <br/>BSD|[http://0ldsk00l.ca/nestopia/ {{NestopiaVer}}]|{{✓}}|{{✓}}|Cycle|{{✓}}|{{✓}}|-|[[puNES]]|Windows, Linux|[https://github.com/punesemu/puNES/releases {{PuNESVer}}]|{{✓}}|{{✗}}|Cycle|{{✓}}|{{✓}}|-|[[Nintendulator]]|Windows|[http://www.qmtpro.com/~nes/nintendulator/#downloads 0.985 Beta]|{{✗}}|{{✗}}|Cycle|{{✓}}|{{✗}}|-|My Nes|Windows, Linux|[https://sourceforge.net/projects/mynes/ 7.5.7202]|{{✗}}|{{✗}}|Mid|{{✓}}|{{✗}}|-|[[BizHawk]]|Windows|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]|{{✓}}|{{✗}}|Cycle|{{✓}}|{{✗}}|-|[[higan]]|style="textWindows, Linux, macOS|[http://byuu.org/emulation/higan/ {{higanVer}}]|{{✓}}|{{✓}} <small>(as bsnes v083)</small>|Cycle|{{✓}}|{{✗}}|-|[https://fms.komkon.org/iNES/ iNES]|Multi-platform|[https://fms.komkon.org/iNES/ 5.7]|{{✓}}|{{✗}}|High|{{✓}}|{{✗}}|-|[https://prilik.com/ANESE/ ANESE]|Windows, Linux, macOS|[https://github.com/daniel5151/ANESE/releases 0.9.1]|{{✗}}|{{✗}}|Cycle|{{~}}|{{✗}}|-|[http://www.nesemu2.com/ nesemu2]|Linux|[https://github.com/holodnak/nesemu2 Git]|{{✗}}|{{✗}}|Cycle|{{✗}}|{{✗}}|-|[[nemulator]]|Windows|[http://nemulator.com/downloads.html 4.2]|{{✗}}|{{✗}}|High|{{✓}}|{{✗}}|-align|[[RockNES]]|Windows|[http:center;"//rocknes.web.fc2.com/ 5.54]|{{✓}}|{{✗}}|High|{{✓}}|{{✗}}|-|cxNES|Windows, Linux|style="text[https://github.com/perilsensitive/cxnes/releases 0.3.3]|{{✓}}|{{✗}}|Mid|{{✓}}|{{✗}}|-align|FakeNES GT|Windows, Linux, macOS, [[Intel CPUs|DOS]]|[[sourceforge:center;"projects/fakenes/|0.59 b3]]|{{✓}}|{{✗}}|Mid|{{✗}}|{{✗}}|-|[[FCEUX]]|Windows, Linux, macOS,<br/>Solaris, BSD|[http://0ldsk00lwww.fceux.cacom/web/nestopiadownload.html#downloads 12.2.3]|{{✓}}|{{✗}}|Mid|{{✓}}|{{✗}}|-|FCEUmm|Multi-platform|[https://sourceforge.net/projects/fceumm/ 98.13mm] (Windows)<br />[https://github.45com/libretro/libretro-fceumm Git](libretro)|{{✗}}|style="text{{✓}}|Mid|{{✓}}|{{✗}}|-|[[MAME]]|Multi-alignplatform|[http:center;"//www.mamedev.org/release.html {{MAMEVer}}]|{{✓}}|{{✓}}|Mid|{{}}|{{✗}}|-|[[HDNes]]|Windows|style[http://forums.nesdev.com/viewtopic.php?f="text3&t=9935#p109627 Git]|{{✗}}|{{✗}}|Low|{{✗}}|{{✗}}|-align|[[Jnes]]|Windows|[http:center;"//www.jabosoft.com/categories/3 1.2.1]|{{✓}}|{{✗}}|Low|{{}}|{{✗}}|style="text-align|[[NESticle]]|Windows 9x, [[Intel CPUs|DOS]]|[http://web.archive.org/web/20070227191851/http:center;"//www.zophar.net/NESticle/nestcxxx.zip x.xx] (DOS) <br /> [https://web.archive.org/web/20070116124329/http://www.zophar.net:80/NESticle/nestc042.zip 0.42] (Windows 9x)|{{✗}}|{{✗}}|Low|{{✗}}|{{✗}}|-|High[[QuickNES]]|style="textMulti-alignplatform|[https:center;"//web.archive.org/web/20180904003223/https://kode54.net/fb2k/QuickNES.zip 0.7.0b1] (Windows)<br />[https://github.com/libretro/QuickNES_Core Git] (libretro)|{{✗}}|{{}}|Low|{{✗}}|{{✗}}
|-
|style="text-align:center;"|[[puNESVirtuaNES]]|style="text-align:center;"|Windows, Linux|style="text-align:center;"|[http://wwwvirtuanes.emucrs1.xrea.com/search/label/puNES/ SVN0.97]|style="text-align:center;"|✓{{~}}|style="text-align:center;"|{{}}|style="text-align:center;"Low|Very High{{✗}}|style="text-align:center;"|✓{{✗}}
|-
|style="text-align[http:center;"|[[Nintendulator]//freezesms.emuunlim.com/ FreezeSMS]|style="text-align:center;"|Windows|style="text-align:center;"|[http://wwwfreezesms.emucremuunlim.com/search/label/Nintendulator/ SVNdownload.html 4.6]|style="text-align:center;"|✓{{✗}}|style="text-align:center;"|{{}}|style="text-align:center;"Low|Very High{{✗}}|style="text-align:center;"|✓{{✗}}
|-
|style="text-align[https://web.archive.org/web/20131022152846/http://www.dridus.com:center;"|[[BizHawk]80/~nyef/darcnes/ DarcNES]|style="textMulti-align:center;"|Windowsplatform|style="text-align[https://web.archive.org/web/20131031224033/http:center;"|1//www.5dridus.2com/~nyef/dn_bin/ 9b0401/9b0313]|style="text-align:center;"|✓{{✗}}|style="text-align:center;"|{{}}|style="text-align:center;"Low|Very High{{✗}}|style="text-align:center;"|{{}}
|-
|style="text-align:center;"|[[nemulator]]Nescala|style="text-align:center;"|WindowsmacOS, Linux|style="text-align:center;"|[httphttps://nemulatorgithub.com/downloads.php 3.3hywelandrews/nescala Git]|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"?|High{{✓}}|style="text-align:center;"|{{}}
|-
|style="text-align:center;"|[[FCEUX]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|3.3.2|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|Mid|style!colspan="text-align:center;8"|Consoles
|-
|style="text[[L-align:center;"CLASSICS|FCEUmmSwitch Online]]|style="text-align:center;"[[Nintendo Switch emulators|Multi-platformNintendo Switch]]|style="text-align:center;"|982.3.13mm0|style="text-align:center;"{{✓}}|{{}}|style="text-align:center;"High|{{}}|style="text-align:center;"|Mid|style="text-align:center;"|{{}}
|-
|style="text-align:center;"NesterJ*|[[higanPlayStation Portable emulators|PlayStation Portable]]|style="text[http://filetrip.net/psp-downloads/homebrew/download-nesterj-113-beta-align:center;"|Windows, Linux, OS X|style="text2-alignf27533.html 1.13 beta 2]<br />[http:center;"|0//filetrip.94|style="textnet/psp-downloads/homebrew/download-nesterj-112aoex-r3-align:center;"|✗f29028.html AoEX]|style="text-align:center;"|{{(as bNESv0.83)}}|style="text-align:center;"{{✗}}|Mid|style="text-align:center;"?|{{✓}}
|-
|style="text-align:center;"|FakeNES GT[[Virtual Console]]|style="text-align:center;"[[Wii emulators|WindowsWii]], Linux[[Nintendo 3DS emulators|Nintendo 3DS]], Mac, MS-DOS[[Wii U emulators|Wii U]]|style="text-align:center;"|[http://sourceforge.net/projects/fakenesN/ 0.59 b3]A|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"|Mid|style="text-align:center;"?|{{✓}}
|-
|style="text-align:center;"|QuickNESNestopia**|style="text-align:center;"[[PlayStation 3 emulators|Multi-platformPlayStation 3]], [[Xbox 360 emulators|style="text-align:center;"Xbox 360]], [[Wii emulators|v1Wii]]|style="text-align:center;"1.44|{{✓}}|style="text-align:center;"|{{}}|style="text-align:center;"Mid|Low?|style="text-align:center;"|✗{{✓}}
|-
|style="text-align:center;"|[[JnesFCEUX|FCE Ultra GX]]|style="text-align:center;"[[Wii emulators|Wii]], [[GameCube emulators|WindowsGameCube]]|style="text-align[https:center;"|1//github.com/dborth/fceugx/releases 3.13.1 Windows9]|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"Mid|Low?|style="text-align:center;"|✗{{✓}}
|-
|style="text-align[http:center;"//web.archive.org/web/20090227044416/http://imbnes.gamebase.ca imbNES]|[[NESticlePlayStation emulators|PlayStation]]|style="text-align[http:center;"|Windows, MS-DOS|style="text-align//web.archive.org/web/20090221132233/http:center;"|x//imbnes.gamebase.xx MS-DOS<br ca:80/>0downloads.html 1.3.42 Windows2]|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"?|Low{{✗}}|style="text-align:center;"|{{}}
|-
|style="text-align:center;"NESBox|[[MESSXbox One emulators|Xbox One]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|[httphttps://www.mamedevnesbox.orgcom/release.html 0.153v4]|style="text-align:center;"{{✗}}|{{✗}}|style="text-align:center;"?|{{}}|style="text-align:center;"|Low|style="text-align:center;"|{{|}{| class="wikitable"|+Consoles}
|-
! scope="col"|NameVirtuaNES for 3DS! scope="col"|Operating System(s)! scope="col"[[Nintendo 3DS emulators|Latest VersionNintendo 3DS]]! scope="col"|[[gametechhttps:Famicom Disk system|FDS]//github.com/bubble2k16/emus3ds/releases 1.02]! scope="col"|[[libretro{{✓}}|Libretro Core]]{{✗}}! scope="col"|[[Accuracy]]?! scope="col"|[[Recommended Emulators{{✓}}|Recommended]]{{✗}}
|-
|style="text-align:center;"|NesterJ*|style="text-align:center;"|[[PlayStation Portable]]|style="text-align:center;"|[http://filetrip.net/psp-downloads/homebrew/download-nesterj-113-beta-2-f27533.html 1.13 beta 2]/[http://filetrip.net/psp-downloads/homebrew/download-nesterj-112aoex-r3-f29028.html AoEX]|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|?|style!colspan="text-align:center;8"|Mobile
|-
|style="text-align:center;"|Nestopia***|style="text-align:center;"[[Android emulators|PS3Android]], 360, Wii[[IOS emulators|iOS]]|style="text-align:center;"|1.44|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"High|Mid?|style="text-align:center;"|{{}}
|-
|style="text-align:center;"|[[FCEUX]]GPFCE|style="text-align:center;"|WiiARM Devices <small>(GP2X, GamecubePandora)</small>|style="text-align[http:center;"|2//repo.2openpandora.1<br org/>3?page=detail&app=package.gpfce.notaz 0.381.20.r2]|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"|MidHigh|style="text-align:center;"|{{}}|{{✓}}<nowiki>*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.</nowiki> <nowiki>**</nowiki>Only available on consoles as a libretro core (e.g. [[RetroArch]]).{| class="wikitable"|+Mobile
|-
! scope="col"|NameNostalgia.NES! scope="col"|Operating System(s)! scope="col"[[Android emulators|Latest VersionAndroid]]! scope="col"|[[gametechhttps:Famicom Disk system|FDS]//play.google.com/store/apps/details?id=com.nostalgiaemulators.neslite 1.17.2]! scope="col"|[[libretro{{✓}}|Libretro Core]]{{✗}}! scope="col"|[[Accuracy]]High! scope="col"|[[Recommended Emulators{{✓}}|Recommended]]{{✗}}
|-
|style="text-align:center;"|[[Jnes]]|style="text-align:center;"[[Android emulators|Android]]|style[https://play.google.com/store/apps/details?id="text-align:center;"|com.jabosoft.silverarrow 1.31.62.31 Android11]|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"|Low|style="text-align:center;"{{✓}}|{{}}
|-
|style="text-align:center;"|Nestopia*
|style="text-align:center;"|Android, iOS
|style="text-align:center;"|1.44
|style="text-align:center;"|✓
|style="text-align:center;"|✓
|style="text-align:center;"|High
|style="text-align:center;"|✓
|}
<nowiki>*</nowiki> AoEX is based on NesterJ 1.12 Plus 0.61 RM, so it includes features like rewind, cheat code support, rotated/mirrored screen, sepia palette, support for rare mappers (the pirate bootleg FF7 works on it), etc. Its compatibility is inferior to 1.13 beta 2.<br><nowiki>**</nowiki> Only available on consoles as a libretro core (e.g. [[RetroArch]]).<br><nowiki>***</nowiki>Only available on mobile as a libretro core (e.g. [[RetroArch]]).
===Comparisons===
*[[Mesen]] is the most compatible NES emulator according to currently established NES test ROM suites.<ref name="mesentest">http://www.mesen.ca/TestResults.php</ref> 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; [[Texture_Packs|HD packs]], [[netplay]], auto-updating, [[Shaders and Filters|good built-in filters]], both .zip and [[GoodTools|goodmerged]] file loading, etc.
*[[puNES]] is the second most accurate NES/FDS emulator according to a separate test battery run by the TASVideos community.<ref name="nestas">http://tasvideos.org/EmulatorResources/NESAccuracyTests.html</ref> It should be noted that puNES used to have one mapper that Mesen didn't: 116, which allows games like Kart Fighter and Somari to be supported. This has since been added to Mesen.
*[[Nestopia]] also has a high ranking in those same tests.<ref name="nestas"/> Even so, 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 is a fork of Nestopia meant to keep it alive and fix the aforementioned bugs. This version is generally recommended over vanilla. Even the libretro core for Nestopia is in the Undead Edition.
*[[Nintendulator]] and My Nes also have a fairly high ranking in those tests.<ref name="nestas"/>
*[[FCEUX]] scores rather low in these tests, despite being a recommended emulator on TAS Videos. The New PPU is more accurate than the Old PPU, thankfully. The emulator is still useful, though, thanks to its robust Lua scripting and incorporating FCEUmm into its feature set.
*[[VirtuaNES]] also scores quite low in the tests, but in turn supports several obscure [[#Peripherals|peripherals]] that are not available on other emulators.
*For official emulation, there is Nintendo's own [[Virtual Console]] or [[L-CLASSICS|Nintendo Switch Online]]. 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 other NES emulators not listed here, as the NES has more emulators than any other system (new ones are started all the time). Only those that are well known or stand out in some way are covered here.
 
==Emulation issues==
===Mappers===
A key difference between many emulators nowadays is how many mappers they support.
* '''No Mapper:''' Supported on every emulator even official Nintendo emulators.
* '''Official Mappers''' (UNROM, AOROM, MMC1-6): Most emulators, as well as Nintendo's Virtual Console (but not their GBA emulators), will cover these.
* '''Third Party Mappers''' (Various: e.g. Konami's VRC6/VRC7) While officially licensed by Nintendo, they were not allowed outside Japan. As a result, for their Western releases, many games that took advantage of their features (advanced ROM mapping, extra sound channels) were reprogrammed significantly and shipped on the official mappers, often with simplified soundtracks. A lot of fan emulators worth their salt will cover these. With those, you cover the entire officially licensed library.
* '''Unlicensed Mappers:''' Mostly used by pirate cartridges, often long past the console's official commercial lifespan. Only the more accurate emulators (Mesen, FCEUX) will even bother covering them in a whack-a-mole quest for every new one discovered to this very day. If you're not interested in '''unlicensed''' Chinese or Russian bootlegs or newer unofficial NES demakes, it isn't a problem.
 
The NES ROM information isn't sufficient to describe the cartridge and emulate it, so emulators have to include the layout and behavior of these mappers in their code, while the ROM header tells the emulator which mapper to choose. So unlike with other consoles, no matter how accurate a given NES emulator will get, it will still never be able to run newly discovered ROM dumps from cartridges that used a so-far unknown mapper. Thus, Unlicensed NES support will be inevitably incomplete and a constant work-in-progress, hence claims some emulators are "inaccurate".
 
Related to this issue: This is why most emulators won't run unheadered NES ROMs. Newer versions of Nestopia can open those, but they're handled in a slightly different way: the information that would have been included in the iNES header is instead provided in emulator configuration files that get summoned as long as the ROM's hash matches exactly the No-Intro dump of that given game (which is inconvenient for romhacks).
 
===QD FDS Support===
Games dumped off the Famicom Disc System come into two major types:
 
* '''.fds format''': Most common format. Ubiquitous in ROM sets (GoodSets, No-Intro). Omits some checksum data.
* '''.qd format''' (stands for QuickDisk): Only ever used in official Nintendo re-releases. Almost identical to fds, but a full dump with checksum data. May omit padding.
* PuNES is The checksum data in question would be checked at BIOS startup to verify the integrity of the most accurate NES emulator according to tests.<ref name="nestas">http://tasvideos.org/EmulatorResources/NESAccuracyTests.html</ref> These test ROMs used for determining accuracy in tests unfortunately, don't test everything that matters for accurate emulation (image 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 whether it is free of issues.* Nestopia has a high ranking in those same tests.<ref name="nestas"/> Nestopia has issues was tampered with The Young Indiana Jones Chronicles and doesn't display the status bar , in Mickey's Safari in Letterland correctly among other problemswhich case it will throw an anti-piracy error.* FCEUX scores fairly low in the same testsAs of now, despite being a recommended emulator on TAS Videos. The New PPU is more accurate than no NES emulators support the Old PPU, however. Version 2.2.2 is promised to have brought improvements from Bizhawk, a alternate more accurate emulator, but it is unknown how much is fixed.* There are very many NES emulators not listed herecomplete dumps, 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. Itwell as fudging that check's best result to just list always return a negative. To emulate a .qd image, stripping the ones that are well known and stand out in some waychecksum data with a custom script is needed.[[Category:Consoles]]
==Emulation Issues==
===Overscan===
{{Main|Overscan}}
[[File:Retroarch_2013-08-16_06-32-24-62.png|thumb|250px|Example of faulty visuals that are exposed due to crop when no overscan not workingis 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 their overscan to be cropped to look proper. There Unfortunately, there is however, seemingly no standard level of overcropping. Many games seem to require different levels of overcroppingfor best results. For example, Super Mario Bros. SMB3 3 requires quite a lot bit of cropping, however , the same level of cropping will obscure of the letters in of the status bar in Castlevania games. It did not seem that there was standardization until the next generation of consoles.
===Color Palette===
{{Main|Famicom Color Palette}}
 
Unlike consoles such as the SNES, which natively generate their image in pure RGB, the Famicom normally generates and outputs an encoded NTSC video signal. This must then be decoded by the TV's built-in NTSC decoder, which means the resulting color palette often varies depending on the display's decoder. For this reason, NES games will appear to have different colors on different TV sets. To properly emulate this part of the NES experience, many Famicom emulators have a variety of different palettes to choose from.
 
The 3DS and Wii U versions of [[Virtual Console]] use extremely dark color palettes. This is apparently not an accuracy issue, but rather an anti-epilepsy measure. For the Nintendo Switch Online service, the games were directly edited to remove seizure-inducing patterns, allowing it to use a normal palette.
 
==Peripherals==
There were many accessories released for the NES but Emulation General only covers accessories that are truly differentiated data streams from the basic controller. For example, the Power Glove is in actuality just a really complicated NES controller, designed to convert motion into D-PAD, SELECT, START, A, and B button commands. The same goes for R.O.B. and his ''Stack-up'' and ''Gyromite'' games because he was really just the second player. Strangely, the Famicom has a lot more peripheral hardware to emulate than the NES.<ref>[[Wikipedia:List of Nintendo Entertainment System accessories|List of Nintendo Entertainment System accessories]]</ref>
{| class="wikitable" style="text-align:center;"! scope="col" style="width:200px;"|+ Name(s)! scope="col" style="width:300px;"|Description! scope="col" style="width:150px;"|Game(s)! scope="col" style="width:100px;text-align:center"|Support emulator(s)! scope="col" style="width:300px;"|Note|-!Zapper|An electronic light gun accessory that allowing players to aim at the display and shoot various objects that appear on the screen.|''[[Wikipedia:Duck Hunt|Duck Hunt]]''<br/>''[[Wikipedia:Wild Gunman|Wild Gunman]]''<br/>''[[Wikipedia:Hogan's Alley (video game)|Hogan's Alley]]''|Various|Emulated in the form of a mouse click (PC), tap (for mobile), remote ([[Wii emulators|Wii]] ports of NES emulators), or faked pointers using a controller.|-!Arkanoid/Vaus Controller|A specific game controller with one button to "fire" and a dial to control back and forth movement.|''[[Wikipedia:Arkanoid|Arkanoid]]''<br/>''[[Wikipedia:Arkanoid: Revenge of Doh|Arkanoid: Revenge of Doh]]''<br/>''[[Wikipedia:Chase H.Q.|Chase H.Q.]]''|Various|N/A|-!Power Pad<br/>Family Trainer<br/>Family Fun Fitness|A game controller that allows players stepping on a gray floor mat with 12 pressure-sensors embedded between flexible plastic to control gameplay.|''[[Wikipedia:Stadium Events|Stadium Events]]''<br/>''[[Wikipedia:Dance Aerobics|Dance Aerobics]]''<br/>''Athletic World''|[[FCEUX]]|N/A|-!NES Four Score<br/>NES Satellite<br/>4-Player Adaptor|A multitap accessory that allows players to enable up to 4-player gameplay using infrared wireless communication.|''[[Wikipedia:R.C. Pro-Am II|R.C. Pro-Am II]]''<br/>''[[Wikipedia:Bomberman II|Bomberman II]]''<ref group=N>Up to three players only.</ref><br/>''[[Wikipedia:Gauntlet II|Gauntlet II]]''<br/>''[[Wikipedia:Nintendo World Cup|Nintendo World Cup]]''<br/>''[[Wikipedia:A Nightmare on Elm Street (franchise)#Video games|A Nightmare on Elm Street]]''|Various|Emulated by having an option to switch between 2-player and 4-player mode or just enabling/disabling Player 3 and Player 4's controller.|-!Family Computer Disk System|''See above''|''[[Wikipedia:The Legend of Zelda (video game)|Legend of Zelda: The Hyrule Fantasy]]''<br/>''[[Wikipedia:Zelda II: The Adventure of Link|Zelda II: The Adventure of Link]]''<br/>''[[Wikipedia:Metroid|Metroid]]''<br/>''[[Wikipedia:Kid Icarus|Light Mythology: Palutena's Mirror]]''<br/>''[[Wikipedia:Castlevania (1986 video game)|Akumajō Dracula]]''<br/>''[[Wikipedia:Ice Hockey (1988 video game)|Ice Hockey]]''|Various|BIOS file (which can be found [[Emulator_Files#NES_.2F_Famicom|here]]) is required for FDS emulation. Note that there's two versions of the BIOS: the one that comes with FDS and another one that comes with Sharp's [[Wikipedia:Twin Famicom|Twin Famicom]]. They function identically despite showing different intro during first boot.|-!Microphone|A Japan-exclusive built-in feature in the original Player 2 Famicom controller that allows players to use external sound source (e.g. player's voice) as input.|''[[Wikipedia:The Legend of Zelda (video game)|Legend of Zelda: The Hyrule Fantasy]]''<br/>''[[Wikipedia:Kid Icarus|Light Mythology: Palutena's Mirror]]''<br/>''[[Wikipedia:The Legend of Zelda (video game)|Kaiketsu Yanchamaru]]''|[[Mesen]]<ref group=N name=microphone>Cheated by pressing any specific key ("M" by default).</ref><br/>[[VirtuaNES]]<ref group=N name=microphone/><br/>[[Virtual Console]]<ref group=N>Through an actual microphone.</ref>|N/A|-!Family BASIC|A Japan-exclusive peripheral that includes a enchanced dialect of [[Wikipedia:BASIC|BASIC]] programming language that allow users to create programs in Famicom. It comes with a special designed cartridge, keyboard, and the Data Recorder.|''Family BASIC''|[[Mesen]]<br/>[[Nestopia|Nestopia UE]]<br/>[[FCEUX]]<br/>[[VirtuaNES]]|N/A|-!Famicom Data Recorder|A Japan-exclusive compact cassette tape data interface as an addition to the Family BASIC to save data from BASIC programs created by users.|''Family BASIC''|[[Mesen]]<br/>[[Nestopia|Nestopia UE]]<br/>[[VirtuaNES]]|N/A
|-
! scope="col"Famicom 3D System|NameA Japan-exclusive active shutter glasses headset which allowed compatible games to display a stereoscopic image for 3D experience.! scope="col"|Alternate name''[[Wikipedia:List of Mario racing games#Famicom Grand Prix II: 3D Hot Rally|Famicom Grand Prix II: 3D Hot Rally]]''<br/>''[[Wikipedia:Rad Racer|Highway Star]]''<br/>''[[Wikipedia:Falsion|Falsion]]''! scope="col"|Description[[RetroArch]]|[https://github.com/libretro/glsl-shaders/tree/master/stereoscopic-3d GLSL shaders] is needed for RetroArch to simulate the 3D experience with [[Virtual Reality|VR]] headset, 3D TV, 3D projector or Android phone with cardboard.
|-
!Miracle Piano Teaching System|style="text-align:center;"|YUVAn accessory that used an electronic MIDI keyboard as input.|style="text-align''[[Wikipedia:center;"Miracle Piano Teaching System|CanonicalMiracle Piano Teaching System]]''|style="text-align:center;"N/A|Based of the standard method of NTSC decoding.N/A
|-
!ASCII TurboFile<br/>ASCII TurboFile II|style="textA Japan-alignexclusive external storage devices for saving game positions on Famicom.|''[[Wikipedia:Wizardry:center;"Proving Grounds of the Mad Overlord|RGBWizardry: Proving Grounds of the Mad Overlord]]''<br/>''[[Wikipedia:Wizardry II: The Knight of Diamonds|Wizardry II: The Knight of Diamonds]]''<br/>''[[Wikipedia:River City Ransom|style="text-alignDowntown Nekketsu Monogatari]]''<br/>''[[Wikipedia:Miracle Warriors:center;"Seal of the Dark Lord|Haja no Fūin]]''|style="text-align:center;"[[VirtuaNES]]|PlayChoice-10 PPU palette. N/A
|-
!Oeka Kids Tablet|style="textA Japan-alignexclusive drawing tablet for the Famicom ''Oeka Kids'' series.<ref>[https:center;"//web.archive.org/web/20160927112920/http://www.ne.jp/asahi/oroti/famicom/ish15.html ファミコンの周辺機器が大集合! ザ☆周辺機器ズ 15] (Archived)</ref>|Sony CXA2025AS ''Oeka Kids: Anpanman no Hiragana Daisuki''<br/>''Oeka Kids: Anpanman to Oekaki Shiyou!!''|style="text-align:center;"[[Mesen]]<br/>[[Nestopia|ConsumerNestopia UE]]<br/>[[FCEUX]]<br/>[[puNES]]<br/>[[VirtuaNES]]|style="text-align:center;"|Based on an actual NTSC decoder found in real TVs. N/A
|-
!RacerMate CompuTrainer Pro|style="text-alignA rare series of peripherals for the game ''RacerMate Challenge II''. It comes with a interface box, a bike trainer as well as a handlebar display.<ref>[http://www.nesmuseum.com/racermate.html NES Museum:center;"RacerMate Challenge II]</ref>|?''RacerMate Challenge II''|style="text-align:center;"|AlternateN/A|style="text-align:center;"|It's a mystery. N/A
|-
!Game Genie|style="textA pass-align:center;"through devices that attached between a cartridge and the console, allowing the player to manipulate various aspects of games and access unused assets and functions by temporarily modify game data.|Various|[[https:FCEUX]]<ref group=N name=gamegenie>Cheat authentically by using a Game Genie ROM.</ref><br/docs.google.com/viewer?a>[[puNES]]<ref group=v&pidN name=sites&srcid=ZGVmYXVsdGRvbWFpbnxpbnNlY3RkdWVsfGd4OjUyNmRmMDIzMzA3ZTQyN2U Mega Man 9]gamegenie/>|style="text-align:center;"||style="text-align:center;"|Palette used in Mega Man 9Most emulators have a GUI to manage cheats and don't rely on real hardware cheating devices.
|-
!Family Computer Network System<br/>Famicom Modem
|A Japan-exclusive network peripheral that allowed users to connect to a Nintendo server which provided extra content such as jokes, news, game tips, weather forecasts, horse betting and downloadable content via dial-up modem.
|N/A
|N/A
|N/A
|}
<references group=N/>
 
==Hardware Variants==
===VS. System===
An arcade system based on the NES released for the US. It was released in two different cabinet variations: '''Vs. UniSystem''' and '''Vs. DualSystem''', which the later have double chipsets on the PCB and is capable of handling two different programs or simply two separate copies of a single program simultaneously.
 
Most emulators support games in Vs. UniSystem cabinet by setting up different DIP switches. But for games in Vs. DualSystem cabinet, [[MAME]] is the only choice.
 
Since most VS. System games have palettes differ from the standard RGB NES palette, roms made with VS. System which are accidentally played in the emulator's NES mode (or vice-versa) will cause the colors to be totally garbled. This can occur when there is an issue with the emulator's configuration or the ROM's iNES header.
 
===Famicom Box===
Also re-released later as Sharp's FamicomStation. The hybrid NES/Famicom arcade box [http://famicomworld.com/system/other/famicombox/ Nintendo Famicom Box] is a bulky metal cube, with a slot to insert money and secured with tons of locks. The hotel would set the amount of time you could play on one token, and choose the games available. You can see it in action in season 18 of [http://www.gamingcx.com/ Game Center CX]. It was distributed in select hotels and stores and can hold up to 15 select Famicom releases at once, and had many more hardware lockout chips and pins with different behavior than usual (it also only supported cartridges using memory mapper 0). Sports a unique boot screen for both models released.
Unlike consoles like Neither the SNES, which natively generate cartridges nor the image in pure RGBBIOS has been dumped or tested with an emulator, unlike the Super Famicom normally generates and outputs an encoded NTSC video signal, Box (which must then be decoded by the TVhas had both its BIOS'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 setsand most of its ROMs dumped).
===Dendy===A pirate NES emulators are similarly afflicted by this issueFamicom clone which was sold in Russia and Eastern Europe, as they each have their own algorithms with the blueprint later reused for generating the NES color palette, meaning they all have slightly other Famiclones. Here's [http://www.youtube.com/watch?v=kne6AKyYUuM a link] to wildly varying palettesa CC-subtitled Kinaman video for more details. As such, there isnIt't really s a "true" very quirky NTSC NES color paletteoptimized for 50Hz, and which emulator has with many other changes from the "best" palette official PAL NES as well- through these differences often comes down to preference, or whichever looks closest to how break the real console looks compatibility of Dendy-specific releases on a user's own particular TV. Emulators such as Nestopia have the ability for the user to edit the color palette to their likingmost emulators.
Some arcade machines based on the NES hardwareMESS supports this console, and some other emulators (such as the PlayChoice-10 and the Versus series of cabinetsMesen, did generate a native RGB signalpuNES, however. The colors on these cabinets tend to be very vibrant and saturatedFCEUX) introduced support for it in r3134, giving games a very distinct look compared to how they would look on along with the real consolealready included support for iNES 2. Nestopia gives the user 0 ROM headers (including the choice to use the RGB palette featured in these cabinets, though it is not usually considered option to mark a ROM region as PAL Dendy). The cartridges themselves can still be played as long as the definitive or "real" NES paletteemulator supports broken carts.
==NES Resources==*[http://wiki.nesdev.com/w/index.php/Nesdev_Wiki Nesdev Wiki] - mmhm. yeah. mmhm. I know some of these words. (A place for all your NES programming/NES emulator programming needs).*[http://forums.nesdev.com/viewtopic.php?t=2818 Nesdev Forum] - Discussion of NES Wii Virtual Console accuracy.
==References==
{{Reflist}}
 
{{Nintendo}}
{{Reflist}}
[[Category:Consoles]]
[[Category:Nintendo consoles]]
[[Category:Nintendo Entertainment System emulators|*]]
[[Category:Third-generation video game consoles]]
762
edits

Navigation menu