Changes

Jump to navigation Jump to search

Nintendo Entertainment System emulators

975 bytes added, 03:54, 26 November 2022
Emulators
==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].
<div style="max-width:100%; overflow:auto;">
{| class="wikitable" style="text-align:center;"
! scope="col"|Name
|[[Mesen]]
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/NovaSquirrel/Mesen-X/releases/ 2022-05-15] ([[Mesen#List_of_forks|Mesen X]]) <br/> [https://github.com/negativeExponent/libretro_builds/releases libretro core] ([[Mesen#List_of_forks|Mesen X]])<br /> [https://buildbot.libretro.com/nightly/ libretro core]<br/> [http://www.mesen.ca {{MesenVer}}]
|{{✓}}
|{{✓}}
|Cycle
|{{✓}}
|{{~}}<ref group=N>[https://github.com/libretro/Mesen/commits/master libretro core] and [https://github.com/NovaSquirrel/Mesen-X/ NovaSquirrel's fork] is still active.</ref>
|{{✓}}
|-
|[[puNES]]
|align=left|{{Icon|Windows|Linux|FreeBSD}}
|[https://github.com/punesemu/puNES/actions git]<br> [https://github.com/punesemu/puNES/releases {{PuNESVer}}]
|{{✓}}
|{{✗}}
|Cycle
|{{✓}}
|{{✓}}
|{{✓}}
|-
|[[Nestopia|Nestopia UE]]
|align=left|{{Icon|Windows|Linux|FreeBSD}}
|[https://buildbot.libretro.com/nightly/ libretro core] <br>[http://0ldsk00l.ca/nestopia/ {{NestopiaVer}}]
|{{✓}}
|{{✓}}
|{{✓}}
|-
|[[puNESBizHawk]]|align=left|{{Icon|Windows|Linux}}|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]|{{✓}}|{{✗}}|Cycle|{{✓}}|{{✓}}|{{~}}|-|[[Nintendulator]]|align=left|{{Icon|FreeBSDWindows}}|[http://unlicensed.games/libg/static.php?page=NintendulatorNRS 2022-09-12] (NintendulatorNRS)<br/>[http://www.qmtpro.com/~nes/nintendulator/#downloads 0.985 Beta]<br/>[https://github.com/punesemuquietust/puNES/releases {{PuNESVer}}nintendulator git]
|{{✓}}
|{{✗}}
|Cycle
|{{✓}}
|{{✓}}
|{{~}}
|-
|[[FCEUX]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Sol}}
|[http://www.fceux.com/web/download.html {{FCEUXVer}}]
|{{✓}}
|{{✗}}
|Mid
|{{✓}}
|{{✓}}
|{{~}}
|-
|[[3dSen]]
|{{✓}}
|{{~}}
|-
|[[Mesen#List_of_forks|Mesen X]]
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/NovaSquirrel/Mesen-X/releases/ 1.0.1]
|{{✓}}
|{{✗}}
|Cycle
|{{✓}}
|{{✓}}
|{{TBD}}
|-
|[[ares]]
|{{✗}}
|?
|{{✓}}
|{{✓}}
|{{✗}}
|-
|NintendulatorNRS
|align=left|{{Icon|Windows}}
|[http://unlicensed.games/libg/static.php?page=NintendulatorNRS 20220425]
|{{✓}}
|{{✗}}
|Cycle
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[[Nintendulator]]
|align=left|{{Icon|Windows}}
|[http://www.qmtpro.com/~nes/nintendulator/#downloads 0.985 Beta] [https://github.com/quietust/nintendulator git]
|{{✗}}
|{{✗}}
|Cycle
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[[BizHawkMetalNES]]|align=left|{{Icon|Windows|LinuxmacOS}}|[httphttps://tasvideosgithub.orgcom/BizHawkiaddis/ReleaseHistory.html {{BizHawkVer}}metalnes git]|{{}}
|{{✗}}
|CycleTransistor
|{{✓}}
|{{✓}}
|{{✗}}
|{{✗}}
|Cycle<ref group=N>[https://prilik.com/ANESE/#disclaimers The CPU is instruction-cycle accurate, but not sub-instruction cycle accurate (TODO ). While this inaccuracy doesn’t affect most games, there are some that that rely on sub-instruction level timings.]</ref>
|{{✓}}
|{{~}}
|{{✗}}
|High
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[[FCEUX]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Sol}}
|[http://www.fceux.com/web/download.html {{FCEUXVer}}]
|{{✓}}
|{{✗}}
|Mid
|{{✓}}
|{{✓}}
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[[VirtuaNES]]
|align=left|{{Icon|Windows}}
|[http://virtuanes.s1.xrea.com/ 0.97]
|{{~}}
|{{✗}}
|Low
|{{✓}}
|{{✗}}
|{{✗}}
|-
|{{✗}}
|{{✓}}
|Low
|{{✓}}
|{{✗}}
|{{✗}}
|-
|[[VirtuaNES]]
|align=left|{{Icon|Windows}}
|[http://virtuanes.s1.xrea.com/ 0.97]
|{{~}}
|{{✗}}
|Low
|{{✓}}
|Mid
|{{✗}}
|{{}}
|{{✓}}
|-
|{{✗}}
|{{✗}}
|{{}}
|-
|[https://hcs64.com/neon64.html Neon64]
|{{✓}}
|{{✗}}
|Low-Mid|{{✓}}
|{{✓}}
|{{✓}}
|{{✗}}
|-
|VirtuaNES for 3DS
|{{✓}}
|{{✗}}
|{{}}
|-
|nesDS
|{{✗}}
|}
</div>
<references group=N />
===Comparisons===
*[[Mesen]] is the most accurate 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. The standalone emulator has ceased development for unknown reasons, but the [https://github.com/libretro/Mesen libretro ] and [https://github.com/NovaSquirrel/Mesen-X NovaSquirrel's fork ] is still active.*[[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"/>. NintendulatorNRS is a fork of Nintendulator which has support for the Famicom Disk System, rare mappers, VRT chipsets, and many unlicensed and bootleg carts and systems.
*[[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.
* '''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, [https://github.com/NovaSquirrel/Mesen-X/commits/master/Core Mesen-X], FCEUX[https://github.com/punesemu/puNES/commits/master/src/core/mappers puNES], NintendulatorNRS, [https://github.com/0ldsk00l/nestopia/commits/master/source/core/board Nestopia UE]) 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".
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 Wii 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>
<div style="max-width:100%; overflow:auto;">
{| class="wikitable" style="text-align:center;"
! scope="col" style="width:200px;"|Name(s)
|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/>[[puNES]]<ref group=N name=microphone/><br/>[[VirtuaNES]]<ref group=N name=microphone/><br/>[[Virtual Console]]<ref group=N>Through an actual microphone.</ref>
|N/A
|-
|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/>[[puNES]]<br/>[[VirtuaNES]]
|N/A
|-
|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/>[[puNES]]<br/>[[VirtuaNES]]
|N/A
|-
|N/A
|}
</div>
<references group=N/>
Anonymous user

Navigation menu