Changes

Jump to navigation Jump to search

Nintendo Entertainment System emulators

3,418 bytes added, 19 June
m
no edit summary
|emulated = {{✓}}
}}
{{for|emulators that run on the Nintendo Entertainment System|Emulators on NES}}
The '''[https://en.wikipedia.org/wiki/Nintendo_Entertainment_System Nintendo Entertainment System]''' (NES) is an 8-bit, third-generation console originally released as the '''Family Computer''' or '''Famicom''', in Japan, on July 15, 1983. The Famicom retailed for ¥14800. The console would be redesigned as the NES and released on October 18, 1985 in North America. The NES retailed for {{Inflation|USD|179.99|1985}}. It had a Ricoh 2A03 CPU at 1.79 MHz with 2 KBs of RAM.
The earliest games released on the Famicom suffered from significant hardware constraints due to the way the Famicom was designed: limited memory addressing (which meant games had a small maximum ROM size), how the graphics were loaded onscreen, just the native sound processing was available, no saving... To solve this problem, Nintendo came up with two solutions:
* The '''Family Computer Disk System''' (FDS). A Japan-only [[#PeripheralsHardware features and accessories|add-on]] that played games from a semi-custom variant of Mitsumi's Quick Disk format. It offered slightly higher data storage and slightly enhanced sound processing. It also had a microphone never found anywhere else. There were plans to release it in the US; however, since the NES had its launch delayed to late 1985, and the mapper solution obsoleted it, the [[#PeripheralsHardware features and accessories|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|mappers]]'''. They solved every aforementioned problem with bank switching for much more data, onboard FM audio chips, and 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.
! scope="col"|[[#Hardware_variants|Hardware<br/>Variants]]
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|[[#PeripheralsHardware features and accessories|PeripheralsHardware features<br/>and accessories]]
! scope="col"|[[#Mappers|<small>Mappers Support<br/>Level</small>]]
! scope="col"|[[Emulation Accuracy|Accuracy]]
|[https://github.com/SourMesen/Mesen2#development-builds Dev builds]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<br/>[https://github.com/NovaSquirrel/Mesen-X/releases/ 2023-09-11] ([[Mesen#List_of_forks|Mesen X]])<br/>[https://github.com/SourMesen/Mesen/releases 0.9.9] (Mesen 1)
|{{~}}
|{{Y}}|{{Y}}
|[https://github.com/SourMesen/Mesen2/tree/master/Core/NES/Mappers Unlicensed]
|Cycle
|[https://github.com/punesemu/puNES#floppy_disk-work-in-progress-wip-builds- WIP builds]<br> [https://github.com/punesemu/puNES/releases {{PuNESVer}}]
|{{~}}
|{{Y}}|{{Y}}
|[https://github.com/punesemu/puNES#electric_plug-supported-mappers Unlicensed]
|Cycle
|{{~}}
|{{~}}
|{{Y}}
|[https://github.com/0ldsk00l/nestopia/commits/master/source/core/board Unlicensed]
|Cycle
|{{~}}
|{{~}}
|{{Y}}
|Unlicensed
|High
|{{~}}
|-
|[[BizHawk]]<br/><small>(QuickNES)(NESHawk)</small>
|align=left|{{Icon|Windows|Linux}}
|[https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev Builds]<br/>[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
|{{~}}
|?
|?<br/><small>[[BizHawk#Supported_systems|(Core dependent)]]</small>
|{{✓}}
|{{✓}}
|Transistor-level
|{{✓}}
|{{~}}
|{{✗}} (WIP)
|-
|jgenesis
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/jsgroth/jgenesis {{jgenesisVer}}]
|
|
|
|
|
|{{✓}}
|{{✓}}
|
|-
|[https://jsgroth.dev/jgnes jgnes]
|align=left|{{Icon|Windows|Linux|Web}}
|[https://github.com/jsgroth/jgnes git]
|{{✗}}|{{✗}}|{{✗}}
|Licensed
|Cycle-based
|?
|?
|{{N}}|{{N}}|{{N✗}}|-|[[rew.]]|align=left|{{Icon|Windows|Windows9x}}|[https://wikiwiki.jp/emulator/rew. rew12stx]|?|{{✗}}|?|?|?|?|{{✗}}|{{✗}}
|-
!colspan="11"|Mobile / ARM
===Comparisons===
*[[Mesen|Mesen]] is a [[Emulation_accuracy|cycle-accurate]] NES emulator. Also, it is very user-friendly and supports lots of [[#Enhancements|enhancements]], [[#PeripheralsHardware features and accessories|peripheralshardware features and accessories]], [[#Hardware_variants|variants]] and [[#Mappers|mappers]] that other emulators are missing. It also supports [[GoodTools|goodmerged]]. Latest versions require [https://dotnet.microsoft.com/en-us/download/dotnet .NET 6]. This is the most compatible NES emulator of the cycle-accurate variety.
*[[puNES]] is another [[Emulation_accuracy|cycle-accurate]] NES/FDS emulator. It is deemed as the second most compatible NES emulator of the cycle-accurate variety.
*[[Nintendulator]] also is a [[Emulation_accuracy|cycle-accurate]] NES/FDS emulator. NintendulatorNRS is a fork of Nintendulator that supports the Famicom Disk System, rare mappers, VRT chipsets, and many unlicensed and bootleg carts and systems.
*[[FCEUX]] is a [[Emulation_accuracy|highly-accurate]] NES/FDS emulator and it supports lots of [[#Mappers|unlicensed mappers]], on top of this it's a [https://tasvideos.org/EmulatorResources recommended emulator on TAS Videos]. The New PPU implementation is more [[Emulation_accuracy|accurate]] than the Old PPU implementation. The emulator is very useful; thanks to its robust Lua scripting and incorporating FCEUmm into its feature set. Included with BizHawk as NESHawk.
*BeesNES is aiming for [[Emulation_accuracy|subcycle accuracy]]. Currently it is a work-in-progress, but it is already including [[#Enhancements|enhancements]] like; [[NTSC_filters#NTSC-CRT_by_LMP88959_.28EMMIR.29|NTSC-CRT]], [https://github.com/L-Spiro/BeesNES#other-features debugger, disassembler, assembler and various TAS features].
|-
| [[Texture_packs#NES|Sprite Replacement]]
| {{Y}}[https://www.mesen.ca/docs/hdpacks.html *]| {{N}}| {{Y}}| {{N}}| {{N}}| {{N}}| {{N}}| {{N}}| {{N}}| {{N}}| {{N}}
|-
| rowspan=1 | Performance
| [[Overclocking#NES|Overclock]]
| {{Y}}[https://www.mesen.ca/docs/configuration/emulation.html#overclocking *]| {{Y}}| {{Y}}
|
|
|
|
| {{N}}
|-
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
| {{Y}}[https://www.mesen.ca/docs/debugging/scriptwindow.html *]| {{Y}}| {{N}}
|
|
|
| {{Y}}[https://docs.mamedev.org/plugins/inputmacro.html *]
|
|
|-
| Rewind
| {{Y}}[https://www.mesen.ca/docs/configuration/emulation.html#general-options *]| {{N}}| {{Y}}
|
|
| {{Y}}
|
|
|
|
| {{Y}}
|-
| Fast-Forward/Turbo Speed
| {{Y}}[https://www.mesen.ca/docs/configuration/emulation.html#general-options *]| {{Y}}| {{Y}}
|
|
| {{Y}}
|
|
|-
| Savestates
| {{Y}}| {{Y}}| {{Y}}
|
|
| {{Y}}
|
|
|
|
| {{Y}}
|-
| [https://tasvideos.org/Movies Movie recording/playback]
| {{Y}}[https://www.mesen.ca/docs/tools.html#movies *]| {{Y}}| {{Y}}
|
|
|
|
| {{N}}| {{N}}| {{N}}
|
|-
| rowspan=4 | Post-Processing
| [[Shaders_and_filters|Filters]]
| {{Y}}| {{Y}}| {{Y}}| {{Y}}| {{Y}}| {{Y}}| {{Y}}| {{Y}}
| {{?}}
| {{?}}
| {{Y}}
|-
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
| {{~}}<ref group=N2 name=RA></ref>
| {{~}}<ref group=N2 name=RA></ref>
| {{N}}
|
| {{Y}}
| {{~}}<ref group=N2 name=RA></ref>
|
| rowspan=6 | Quality of life
| Per-Game Profiles
| {{Y}}[https://www.mesen.ca/docs/configuration/video.html#overscan *]
| {{?}}
| {{Y}}
| {{?}}
| {{?}}
|-
| Command Line Options
| {{Y}}[https://www.mesen.ca/docs/gettingstarted.html#command-line-options *]
| {{?}}
| {{?}}
|-
| Built-in [[Cheats_and_patches|Cheat Manager]]
| {{Y}}[https://www.mesen.ca/docs/tools.html#cheats *]
| {{?}}
| {{Y}}
| {{?}}
| {{Y}}[https://old.reddit.com/r/emulation/comments/1ay6fm1/ares_v136_released/krslaki/ *]| {{Y}}| {{Y}}
| {{?}}
| {{?}}
|-
| [[Save_disk_space_for_ISOs|Streamable compression format]]
| {{Y}}[https://www.mesen.ca/docs/configuration/emulation.html *]
|
|
|
|
| {{Y}}| {{Y}}
| {{?}}
| {{?}}
| {{~}}<ref group=N2 name=RA></ref>
| {{~}}<ref group=N2 name=RA></ref>
| {{N}}| {{Y}}| {{Y}}
|
|
|
| {{Y}}
|-
| rowspan=1 | Controls
| [[Input_lag|Input lag-mitigating technique]]
| {{Y}}[https://www.mesen.ca/docs/configuration/emulation.html *]
|
|
|
|
| {{Y}}
|
| {{?}}
|
|-
| rowspan=4 5 | Misc| [[Netplay#NES|<abbr title="Should not be confused with Famicom Modem emulation, see #Peripherals Hardware features and accessories section for more information.">Netplay</abbr>]]| {{Y}}[https://www.mesen.ca/docs/tools.html#netplay *]| {{Y}}| {{N}}| {{Y}}
| {{X}}
| {{Y}}| {{N}}
| {{?}}
| {{?}}
| {{?}}
| {{Y}}|-| AI Service<br/><small>With the help of <abbr title="optical character recognition">OCR</abbr> and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.</small>| colspan=11 | Exclusive to [https://docs.libretro.com/guides/ai-service/ libretro cores] at the moment.
|-
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
| colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.
|-
| [https://retroachievements.org/gameList.php?c=7 RetroAchievements]
| {{~}}<ref group=N2 name=RA></ref>
| {{~}}<ref group=N2 name=RA></ref>
| {{N}}
| {{~}}<ref group=N2 name=RA></ref>
| {{N}}| {{Y}}| {{N}}| {{N}}| {{N}}| {{N}}| {{N}}
|-
| [[Wikipedia:Category:Debugging|Debug features]]
| {{Y}}[https://www.mesen.ca/docs/debugging.html *]| {{Y}}| {{N}}
| {{?}}
| {{?}}
| {{N}}| {{Y}}[https://docs.mamedev.org/debugger/index.html *]
| {{?}}
| {{?}}
| {{?}}
| {{N}}
|}
</div>
<references group=N2/>
==PeripheralsHardware features and accessories=={|class=wikitable style=text-align:center!Name!Mesen!Emulator 2!Emulator 3!Emulator 4!Emulator 5|-|Zapper Lightgun|{{✓}}|{{✓}}|{{✓}}|{{✓}}|{{✓}}|-|Power Pad Side A B|{{✓}}|||||-|Family Trainer Side A B|{{✓}}|||||-|Arkanoid Paddle|{{✓}}|||||-|SNES Controller|{{✓}}|||||-|SNES Mouse|{{✓}}|||||-|Virtual Boy Controller|{{✓}}|||||-|old Famicom P2 Controller Microphone|{{✓}}|{{✓}}|{{✓}}|||-|Microphone||||||-|Hypershot Lightgun|{{✓}}|||||-|Hypershot Pad|{{✓}}|||||-|Turbo File|{{✓}}|||||-|Battle Box|{{✓}}|||||-|Barcode Battler||||||-|Exciting Boxing|{{✓}}|||||-|Top Rider||||||-|Multitap|{{✓}}|||||-|Game Genie||||||-|Action Replay||||||-|Trackball|{{✓}}|||||-|Pachinko|{{✓}}|||||-|Partytap|{{✓}}|{{✓}}||||-|Oeka Kids Tablet|{{✓}}|||||-|Disk System|{{✓}}|{{✓}}|{{✓}}|{{✓}}|{{✓}}|-|Disk 1 2||||||-|Datach Card|{{✓}}|{{✓}}||||-|Family BASIC|{{✓}}|{{✓}}|{{✓}}|||-|Data Recorder|{{✓}}|{{✓}}||||-|3D Glasses||||||-|Miracle Piano||||||-|Network System|{{✓}}|{{✓}}||||-|Mahjong||||||-|Soft Reset and Hard Reset||||||-|Copy, Cut & Paste for Family BASIC||||||-|Cartridge Hot Swapping for new NES and old and new FC (an example: [https://bilibili.com/BV1AT411k7t3?p=1 Super Mario Bros. + Tennis])|higan support it, so ares may also support|||||-|[https://errors.fandom.com/wiki/Cartridge_tilting Cartridge Tilting]<abbr title="for new NES and old and new FC">*</abbr>||||||}
There were many accessories released for the Famicom and NES but Emulation in 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><ref>[https://problemkaputt.de/everynes.htm#controllers ProblemKaputt: NES controllers]</ref>
!Family Computer 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. The Data Recorder was also used in a select number of games as a method of saving data.
|''[[Wikipedia:Family BASIC|Family BASIC]]''<br/>''[[Wikipedia:Family BASIC|Family BASIC V3]]''<br/>''[[Wikipedia:Arkanoid: Revenge of Doh|Arkanoid II]]''<br/>''[[Wikipedia:Castlequest|Castle Excellent]]''<br/>''[[Wikipedia:Excitebike|Excitebike]]''<br/>''[[Wikipedia:Lode Runner|Lode Runner]]''<br/>''[[Wikipedia:Mach Rider|Mach Rider]]''<br/>''[[Wikipedia:Nuts & Milk|Nuts & Milk]]''<br/>''[[Wikipedia:Wrecking Crew (video game)|Wrecking Crew]]''
|[[Mesen]]<br/>[[Nestopia|Nestopia UE]]<br/>[[puNES]]<br/>[[VirtuaNES]]
|N/A
|[[Mesen]]
|There is a feature request for [https://github.com/libretro/libretro-fceumm/issues/566 adding this to fceumm-libretro].
|-
|
!Famicom Network Controller
|A Famicom controller that adds a number pad, used on [[Early_Online_Services|early online services]].
|
|[[FCEUX]]
|
|}
</div>
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 available games. 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. It 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.
Neither Both the cartridges nor Famicombox and the BIOS has been dumped or tested with an emulator, unlike the Super Famicom Box (which has had both its BIOSes Famicomstation are emulated by [[MAME]] and most all of its ROMs their games have been dumped).
===Dendy===
*[http://rec0ded88.com/play-nes-games Rec0deD:88] - Play a NES emulator.
*[https://www.copetti.org/writings/consoles/nes/ Copetti] - NES Architecture (A practical analysis by Rodrigo Copetti).
*[https://nintendo-emulator.com NES / FAMICOM] - NES Games Online
*[https://online-emulators.com Arcade / Consoles] - Arcade, NES, SNES, SEGA32X, PSX, N64, NDS...
*[https://supernintendoemulator.com SNES] - SNES online emulator
*[https://megadrive-emulator.com Mega Drive / Genesis] - Sega Mega Drive games
*[https://msdos-games.com MSDOS Games] Play DOS games with js-dos
 
==References==
[[Category:Third-generation video game consoles]]
[[Category:Nintendo consoles]]
[[Category:Nintendo Entertainment System Famicom (NES) emulators|*]]

Navigation menu