Changes

Jump to navigation Jump to search

Nintendo 64 emulators

46,258 bytes added, 28 April
m
Emulators
{{Infobox console|title = Nintendo 64|logo = Nintendo64Console.png|developer = [[:Nintendo]]|type = [[File:N64Category:Home consoles|Home video game console]]|generation = [[:Category:Fifth-Console-Set.jpggeneration video game consoles|Fifth generation]]|thumbrelease = 1996|250pxdiscontinued = 2003|The predecessor = [[Super Nintendo 64 (N64)emulators|Super Family Computer / Super Nintendo Entertainment System]]|successor = [[GameCube emulators|GameCube]]|emulated = {{✓}}}}
The {{for|other emulators that run on N64 hardware|Emulators on N64}}  The '''Nintendo 64''' is is a 64-bit, fifth-generation console released by Nintendo on September 29, 1996, for {{inflation|USD|199.99|1996}}. Nintendo was the second company approached by Silicon Graphics Inc. (SGI), which wanted to roll out its previously enterprise-only technology in the consumer space. They originally pitched their idea to Sega, but it's assumed that Nintendo's offer was more appealing. With the NEC VR4300 CPU clocked at 93.75 MHz, 4 MBs of RAM, and an SGI RCP GPU, Nintendo had finalized much of the hardware at least a year before launch, preventing video games from needing drastic rewrites as a result of architectural changes. A separate add-on was later released called the "[[#Peripherals|Expansion Pak]]" that added an additional 4 MBs of RAM, totaling to 8 MBs. The development workstations were often Unix-based, which would later help reverse-engineers in some projects.­­ Unlike competitors such as the PlayStation, the N64 used cartridges instead of CDs. While a big advantage was that data could be read faster than CDs, meaning that load times were minimal or even non-existent, the main disadvantage of cartridges was the small data capacity, which meant that many third party developers switched to the PlayStation. Nintendo 64 emulator development began during the console's lifespan, with [[UltraHLE]] being a landmark release in 1996emulation. Despite the impressive feat of playing retail games on a standard computer of the time period, emulation of the console had serious issues for nearly the next two decades. This was largely due to the "plugin hell" exacerbated by closed-source development practices, an over-reliance on the leaked "Oman archive" documentation that hindered true reverse engineering of console behavior, and the use of endless hacks and shortcuts due to the weak hardware of the time. However, newer open-source emulators and plugins now offer greatly improved accuracy alongside visual enhancements.
==Emulators==
<div style="overflow-x:auto;width:100%">{| class="wikitablesortable" style="|+PC|text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Operating SystemPlatform(s)! scope="col"|Latest Versionversion! scope="col"|[[#Hardware_variants|Hardware<br/>variants]]! scope="col"|[[#Peripherals|Peripherals]]! scope="col"|[[#Enhancements|Enhancements]]! scope="col"|Compatibility! scope="col"|[[Emulation Accuracy|Accuracy]]! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|Controller Pak
! scope="col"|Rumble Pak
! scope="col"|Transfer Pak
! scope="col"|[[libretro|Libretro Core]]
! scope="col"|[[Recommended emulators|Recommended]]
|-
|style="text-align:center;"|[[Project64]]|style="text-align:center;"|Windows|style!colspan="text-align:center;11"|[https://github.com/project64PC /project64 {{Project64Ver}}]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✓x86
|-
|style="text-align:center;"|[[RetroArch|Mupen64Plus-Next]]|stylealign="text-align:center;"left|{{Icon|Windows|Linux|macOS|Multi-platformFreeBSD}}|style="text-align:center;"|[https://githubbuildbot.libretro.com/mupen64plusnightly/mupen64plus-libretro core/releases Git]|style="text-align:center;"{{✗}}|{{~}}|style="text-align:center;"|{{}}|style="text-align:center;"?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>|style="text-align:center;"<small>[[Recommended N64 plugins|Plugin dependent]]</small>|style="text-align:center;"{{✓}}|{{}}|style="text-align:center;"|{{}}
|-
|style="text-align:center;"|[[CEN64ares]]|stylealign="text-align:center;"left|{{Icon|Windows, |Linux|macOS}}|style[https://nightly.link/ares-emulator/ares/workflows/build/master <abbr title="text-align:center;Latest development build version"|>git Artifacts</abbr>]<br/>[https://github.com/tj90241ares-emulator/ares/cen64 Gitreleases {{aresVer}}]|style="text-align:center;"{{✗}}|{{~}}|style="text-align:center;"|✓{{~}}|style="text[https://ares-emu.net/compatibility/nintendo-nintendo-align:center;"64 96%<br/><small>867 out of 900 reported titles</small>]|High|style="text-align:center;"|?{{✓}}|style="text-align:center;"|✗{{✓}}|style="text-align:center;"|✗{{✓}}
|-
|style="text-align:center;"|[http://1964js.com 1964[simple64]]|stylealign="text-align:center;"left|{{Icon|Windows|Linux}}|style="text-align:center;"|[httphttps://1964jsgithub.com/blogsimple64/download.html 1.1simple64/releases {{Simple64Ver}}] (official)</br /><abbr title="Final build that supports GLideN64 video plugin but its obsolete. Use RMG with GLideN64 instead.">[https://code.googlegithub.com/pthekovic/emu-1964simple64/ 1releases/tag/v2021.2 r1465.30 GLideN64] (SVN)</abbr>|style="text-align:center;"|{{}}|style="text-align:center;"{{~}}|{{~}}|style="text-align:center;"?|High|style="text-align:center;"|{{}}|style="text-align:center;"|✗{{✓}}|style="text-align:center;"|✗{{✓}}
|-
|style="text-align:center;"|[http://forums.daedalusx64.com Daedalus[RMG]]|stylealign="text-align:center;"left|{{Icon|Windows|Linux}}|style="text-align:center;"|[https://webgithub.archive.orgcom/Rosalie241/webRMG/20131015175201releases {{RMGVer}} stable]</httpbr>[https://forumsnightly.daedalusx64.comlink/Rosalie241/RMG/workflows/build/viewtopic.php?f=38&t=4187 1.1master {{RMGVer}}-dev]|style="text-align:center;"{{✗}}|{{~}}|style="text-align:center;"|✓{{~}}|style="text-align:center;"?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>|style="text-align:center;"<small>[[Recommended N64 plugins|Plugin dependent]]</small>|style="text-align:center;"{{✓}}|{{✓}}|style="text-align:center;"|✗{{✓}}
|-
|style="text-align:center;"|[[SixtyforceBizHawk]]<br/><small>(Mupen64Plus)(ares)(MAME)</small>|stylealign="text-align:center;"left|{{Icon|Windows|OS XLinux}}|style="text[https://gitlab.com/TASVideos/BizHawk/-align/pipelines Dev builds]<br/>[http:center;"|1//tasvideos.0org/BizHawk/ReleaseHistory.1html {{BizHawkVer}}]|style="text-align:center;"{{~}}|{{~}}|style="text-align:center;"{{~}}|?<br/><small>[[Recommended N64 plugins|style="text-align:center;"(Plugin dependent)]]<br/>[[BizHawk#Supported_systems|(Core dependent)]]</small>|style="text-align:center;"<small>[[Recommended N64 plugins|Plugin dependent]]<br/>[[BizHawk#Supported_systems|Core dependent]]</small>|style="text-align:center;"{{✓}}|{{✓}}|style="text-align:center;"|✗{{~}}
|-
|style[[Project64]]|align=left|{{Icon|Windows}}|[https://github.com/Rosalie241/BetterMajorasMaskInstaller/releases <abbr title="This installer automatically installs and configures latest versions of Project64-nightly, GlideN64 video plugin, Azimer's Audio Plugin, Iconoclast's Static RSP Interpreter and also MM HD Texture Pack."text>Rosalie241's MMHD</abbr>]<br/>[https://www.pj64-emu.com/nightly-builds Nightly]<br/>[https://www.pj64-emu.com/public-releases {{Project64Ver}}]<br/>[https://github.com/Rosalie241/PJ64Launcher/releases/latest Keygen]|{{~}}|{{~}}|{{~}}|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]</small>|{{✓}}|{{✓}}|{{✗}}|-|[[Mupen64Plus]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://bitbucket.org/ecsv/mupen64plus-mxe-daily/downloads/?tab=tags MXE Builds]<br/>[https://github.com/mupen64plus/mupen64plus-core/releases/tag/nightly-build nightly]|{{✗}}|{{~}}|{{~}}|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]</small>|{{✓}}|{{✓}}|{{✗}}<ref group=N>RMG is recommended instead of using Mupen64Plus MXE builds because RMG comes bundled with GLideN64, angrylion's RDP Plus and ParaLLEl-RDP for video plugins, and mupen64plus-hle-rsp, CXD4 and ParaLLEl-RSP for RSP plugins.</ref>|-|[[RetroArch|ParaLLEl-N64]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[https:center;"//buildbot.libretro.com/nightly/ libretro core]|{{✗}}|{{~}}|{{✓}}|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>|<small>[[UltraHLERecommended N64 plugins|Plugin dependent]]</small>|{{✓}}|{{✓}}|style{{✗}}<ref group="textN name=obsolete>Obsolete and replaced by Mupen64Plus-Next. ParaLLEl-N64 should now only be considered for older ROM hacks that don't play well with the newer, more [[Emulation_accuracy|accurate]] plugins.</ref>|-|[[CEN64]]|align=left|{{Icon|Windows|Linux|macOS}}|[https:center;"//github.com/tj90241/cen64 {{CEN64Ver}}]|{{✗}}|{{~}}|{{✗}}|?| Partial Cycle|{{✓}}|{{✗}}|{{✗}}|-|[[MAME]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|style<abbr title="textLatest development version">git artifacts</abbr><ref group=N>[https://nightly.link/mamedev/mame/workflows/ci-windows/master CI-Windows] [https://nightly.link/mamedev/mame/workflows/ci-linux/master CI-Linux] [https://nightly.link/mamedev/mame/workflows/ci-macos/master CI-Macos]</ref></br>[http://www.mamedev.org/release.html {{MAMEVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N>As 0.251, 0.139 (2010), 0.78 (2003), 0.37b5 (2000)</ref>|{{~}}|{{~}}|{{~}}|[http://adb.arcadeitalia.net/lista_mess.php?software_list_name=n64&compatibility= 1%<br/><small>13 out of 993 reported titles</small>]|?|{{✓}}|{{✓}}|{{✗}}|-|Kaizen|align=left|{{Icon|Windows|Linux}}|[https:center;"//github.com/SimoneN64/Kaizen#pre-built-binaries git]|{{✗}}|{{✗}}|{{✗}}|?|?|{{✓}}|{{✓}}|{{✗}}(WIP)|-|Rokuyon|align=left|{{Icon|Windows|Linux|macOS}}|1[https://github.0com/Hydr8gon/rokuyon {{RokuyonVer}}]|{{✗}}|{{✗}}|{{✗}}|?|?|{{✓}}|{{✓}}|{{✗}}(WIP)|-|R64Emu|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.0com/rasky/r64emu git]|{{✗}}|{{✗}}|{{✗}}|?|?|{{✓}}|{{✓}}|{{✗}}(WIP)|-|Gopher64|stylealign="textleft|{{Icon|Windows|Linux}}|[https://github.com/gopher64/gopher64/releases {{Gopher64Ver}}]|{{?}}|{{?}}|{{?}}|?|?|{{✓}}|{{✓}}|{{✗}}(WIP)|-|[[1964]]|align=left|{{Icon|Windows}}|[https:center;//github.com/Graslu/1964GEPD/releases/tag/latest 1964GEPD]<br /><abbr title="Official">[http://www.emulation64.com/files/getfile/936/ 1.1]</abbr><br /><abbr title="Unofficial SVN">[http://files.emulation64.fr/Emulateurs/EMU_1964_146.zip 1.2 r146]</abbr>|{{}}|{{✗}}|{{~}}|?| Low|style{{✓}}|{{✗}}|{{✗}}<ref group=N name="text1964GEPD>[https://github.com/Graslu/1964GEPD/releases/tag/latest 1964GEPD] is only recommended to use for Goldeneye 007 or Perfect Dark; because this emulator is primarily made for GoldenEye/Perfect Dark and modified for use with the Mouse Injector and their ROM hacks. '''It has poor ROM support outside of these games'''. Another and recommended option for Goldeneye: 007 is [https://github.com/garungorp/MouseInjectorDolphinDuck#supported-mupen64plusretroarch garungorp's MouseInjectorDolphinDuck] with mupen64plus_next_libretro.</ref>|-|[[DaedalusX64]]|align=left|{{Icon|Linux|macOS}}|[https:center;"//github.com/DaedalusX64/daedalus/releases/latest git]|{{✗}}|{{✗}}|{{~}}|?|?|{{✓}}|{{~}}|{{}}|-|[[Sixtyforce]]|stylealign="textleft|{{Icon|macOS}}|[http://sixtyforce.com/download/ {{SixtyforceVer}}]|{{✗}}|{{✗}}|{{✗}}|?|?|{{✗}}|{{✗}}|{{✗}}|-|Larper64|align=left|{{Icon|Windows|Linux|macOS}}|[https:center;"//drive.google.com/file/d/1IWyw5UG9Uf24KG0zrcXSFoOmcQoHWmyc/view {{Larper64Ver}}]|{{✗}}|{{✗}}|{{✗}}|?|?|{{✗}}|{{}}|style{{✗}}|-|[[UltraHLE]]|align="textleft|{{Icon|Windows}}|[https://web.archive.org/web/20070312015944/http://www.emuunlim.com/UltraHLE/ultrahle.zip 1.0]|{{✗}}|{{✗}}|{{✗}}|?| Low|{{✗}}|{{✗}}|{{✗}}|-|[[Ryu64]]|align=left|{{Icon|Windows|Linux|macOS}}|[https:center;"//github.com/Ryu64Emulator/Ryu64 git]|{{✗}}|{{✗}}|{{✗}}|?|?|{{✓}}|{{✗}}|{{}}|style-!colspan="text11"|Mobile / ARM|-|[[RetroArch|Mupen64Plus-Next]]|align=left|{{Icon|Android|iOS}}|[https:center;"//buildbot.libretro.com/nightly/ libretro core]|{{}}|{{~}}|{{✓}}|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]</small>|{{✓}}|{{✓}}|{{✓}}|-|[[Mupen64Plus]] FZ|align=left|{{Icon|Android}}|style[https://play.google.com/store/apps/details?id="textorg.mupen64plusae.v3.fzurita 3.0.322 (beta)]|{{✗}}|{{?}}|{{~}}|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]</small>|{{✓}}|{{✓}}|{{✓}}|-|[[Mupen64Plus]]|align=left|{{Icon|Pandora|Pyra}}|[http://repo.openpandora.org/?page=detail&app=mupen64plus Pandora]<br/>[https:center;"//pyra-handheld.com/repo/apps/39 Pyra]|{{}}|{{?}}|{{?}}|[https://docs.google.com/spreadsheets/u/0/d/10AhvborAoFjTdVvnJ8lMl6PH_RT_3LXUhCknNqycg7A/htmlview?hl=en_GB&pli=1#gid=0 23%<br/><small>45 out of 194 reported titles</small>]<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]</small>|{{✓}}|{{✗}}|{{~}}| class-!colspan="wikitable11"|+MobileConsoles
|-
! scope="col"|Name[[RetroArch|Mupen64Plus-Next]]! scope|align="col"left|{{Icon|XB1|Operating System(s)SXS}}! scope="col"|Latest Version! scope[https://www.retroarch.com/?page="col"|Activeplatforms RetroArch]! scope="col"|Controller Pak{{✗}}! scope="col"|Rumble Pak{{~}}! scope="col"|Transfer Pak{{✓}}! scope="col"|?<br/><small>[[libretroRecommended N64 plugins|Libretro Core(Plugin dependent)]]</small>! scope="col"|<small>[[Recommended emulatorsN64 plugins|RecommendedPlugin dependent]]</small>|{{✓}}|{{✓}}|{{✓}}
|-
|style="text-align:center;"|[[Mupen64Plus|Mupen64+DaedalusX64]] AE|stylealign="text-align:center;"left|{{Icon|PSP}}<br>{{Icon|3DS}}<br>{{Icon|Vita}}<br>{{Icon|AndroidPS2}}|style="text-align[https:center;"|2//github.4com/DaedalusX64/daedalus/releases/latest PSP]<br/>[https://github.4|style="textcom/masterfeizz/DaedalusX64-align3DS/releases 3DS]<br/>[https:center;"|✓|style="text//github.com/Rinnegatamante/DaedalusX64-alignvitaGL/releases VitaGL]<br/>[https:center;"//www.ps2-home.com/forum/viewtopic.php?f=99&p=39957#p39957 PS2]|{{✗}}|style="text-align:center;"{{✗}}|{{~}}|style="text-align[https:center;"|✗//daedalusx64.rinnegatamante.it/ 49%<br/><small>234 out of 473 reported titles (Vita)</small>]|style="text-align[https:center;"|✗|style//docs.google.com/spreadsheets/d/13izCg9TYUWpF3Ot3P3wVUzAk_qpsNtsNqmydakELIUQ/edit#gid="text1172263683 61%<br/><small>97 out of 157 reported titles from 1.1.6-align:center;"|✓|}1.1.8 (PSP)</small>]
[https://wiki.gbatemp.net/wiki/DaedalusX64_3DS 27%<br/><small>71 out of 260 reported titles (3DS)</small>]|?|{{✓}}| class="wikitable"{{~}}|+Consoles{{✓}}<br/><small>(PSP)</small>
|-
! scope="col"|NameNot64! scope|align="col"left|{{Icon|GCN|Operating System(s)! scope="col"Wii|Latest VersionWiiU}}! scope="col"|Active[https://github.com/Extrems/Not64/releases/latest 20231102]! scope="col"|Controller Pak{{✗}}! scope="col"|Rumble Pak{{✗}}! scope="col"|Transfer Pak{{✗}}! scope="col"|[https://wiki.gbatemp.net/wiki/Wii64_Compatibility_List 71%<br/><small>303 out of 424 reported titles</small>]<br/><small>[[libretroRecommended N64 plugins|Libretro Core(Plugin dependent)]]</small>|?|{{✓}}! scope="col"|[[Recommended emulators{{✓}}|Recommended]]{{✓}}
|-
|style="text-align:center;"|[[Virtual Console]]|stylealign="text-align:center;"left|{{Icon|[[Wii]], [[Wii U emulators|Wii U]]WiiU}}|style="text-align:center;"N/A|-{{✗}}|style="text-align:center;"{{?}}|{{?}}|style="text-align[[Wikipedia:center;"List_of_Virtual_Console_games_for_Wii_(North_America)#Nintendo_64||style="text-align<small>Only for selected titles (Wii)</small>]]<br/>[[Wikipedia:center;"List_of_Virtual_Console_games_for_Wii_U_(North_America)#Nintendo_64|<small>Only for selected titles (Wii U)</small>]]|style="text-align:center;"<small>Game dependent</small>|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}
|-
|style="text-align:center;"|[http://www.gc-forever.com/forums/viewtopic.php?f=9&t=842 Not64[Nintendo Switch Online]]<small>(Hovercraft)<small>|stylealign="text-align:center;"left|[[Wii]], [[GameCube_emulators{{Icon|GameCube]]NX}}|style="text-align:center;"N/A|20130408{{✗}}|style="text-align:center;"|?{{✗}}|style{{~}}<ref group="textN name=SM3DAS>Texture replacement only used in Super Mario 3D All-align:center;"|✓Stars.</ref>|style="text[https://nintendo.fandom.com/wiki/Nintendo_64_-align:center;"_Nintendo_Switch_Online#Included_Games <small>Only for selected titles</small>]|<small>Game dependent</small>|style="text-align:center;"|{{}}|style="text-align:center;"|✗{{✓}}|style="text-align:center;"|✓{{~}}
|-
|styleSurreal64 CE|align="text-align:center;"left|{{Icon|Xbox}}|[https://code.googledigiex.comnet/pthreads/mupen64gc/ Wii64surreal64-ce-b6-0-download-n64-emulator-for-xbox.13677 Beta 6.0]|style="text-align:center;"{{✗}}|[[Wii]], [[GameCube_emulators{{✗}}|GameCube]]{{✗}}|style="text-align[http:center;"|1//retroxbox.labrat.fr/file/pdf/comp_list/Surreal%2064%20B5.1 beta|style="text%20CE%20Compatibility%20and%20Settings%20List%20-align:center;"%20Surreal%20Compatibility_Settings.pdf 76% <br/><small>236 out of 311 reported titles]<br/>[[Recommended N64 plugins|(Plugin dependent)]]</small>|style="text-align:center;"<small>[[Recommended N64 plugins|Plugin dependent]]</small>|style="text-align:center;"|{{}}|style="text-align:center;"|{{}}|style="text-align:center;"|✗|style="text-align:center;"|✗{{~}}
|-
|style="textmupen64-align:center;"|[http://forums.daedalusx64.com Daedalus]360|stylealign="text-align:center;"left|{{Icon|[[PlayStation Portable]]Xbox360}}|style="text-align:center;"|[httphttps://wwwdigiex.emucr.comnet/searchthreads/label/DaedalusX64 SVNmupen64-360-xbox-360-nintendo-64-n64-emulator-download.9352 0.96 beta]|style="text-align:center;"{{✗}}|{{}}|style="text-align:center;"|✓{{✗}}|style="text-align:center;"?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>|style="text-align:center;"<small>[[Recommended N64 plugins|Plugin dependent]]</small>|style="text-align:center;"{{✓}}|{{}}|style="text-align:center;"|✗{{~}}
|-
|[[Wii64]]
|align=left|{{Icon|GCN|Wii|WiiU|PS3}}
|[https://code.google.com/archive/p/mupen64gc/downloads 1.1 beta] [https://github.com/emukidid/wii64-ps3/releases git]
|{{✗}}
|{{✗}}
|{{✗}}
|[https://wiki.gbatemp.net/wiki/Wii64_Compatibility_List 71%<br/><small>303 out of 424 reported titles</small>]<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]</small>
| <small>[[Recommended N64 plugins|Plugin dependent]]</small>
|{{✓}}
|{{✗}}
|{{~}}
|}
</div>
<references group=N />
 
===Comparisons===
Although many Nintendo 64 emulators have been made and many games can be run between them, until recently, complete compatibility and [[Emulation_accuracy|accuracy]] left a bit to be desired. For half a decade, Mupen64Plus and Project64 have vied for the most playable emulator. Which was more compatible often depended on when and in what configuration each emulator had been tested. As of August 2017, both emulators have roughly equal compatibility and [[Emulation_accuracy|accuracy]] when running with the same [[recommended N64 plugins]] setup, though both default to Glide64, a now relatively lackluster plugin.
==Comparisons==;[[Mupen64Plus]]Although many Nintendo 64 emulators :A multi-platform emulator based on Hacktarux's Mupen64. It's about as [[Emulation_accuracy|accurate]] as Project64<ref>loganmc10. [https://github.com/mupen64plus/mupen64plus-core/pull/336 ''Ignore TLB write if TLB entry is unmapping itself'']. "By the way, once this, along with the other PR's I have been made and many games waiting are merged, we are at "compatibility parity" with Project64 as far as I can be tell. I don't know of any game that doesn't boot with mupen64plus that works in PJ64."</ref> when both emulators are run between themwith GLideN64. However, complete Mupen64Plus lacks a native GUI, instead being launched either from the command line or by dragging and dropping ROMs into the executable and editing the config with a text editor. It also only comes bundled with outdated video plugins, so to ensure the best possible compatibility , sourcing better third-party plugins such as GLideN64 is a must. [[BizHawk]] and [[OpenEmu]] use forks of Mupen64Plus and/or accuracy still leaves a bit its plugins for their N64 emulation, but they seem to be desiredshallow. As of 2022, Project64-style overclocking for faster frame rates has been added under the option 'CountPerOpDenomPot'.
* :;Mupen64Plus-Next and ParaLLEl-N64::Both are heavily modified forks developed as [[Project64libretro]] is currently cores. They introduce many features and optimizations that aren't present in the most compatible N64 emulatormainline build. Alongside [[RetroArch]]'s general features, it adds 3-point texture filtering for Glide64, superior A/V sync and latency, and is even an initially exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect RDP plugin, now known as ParaLLEl-RDP, making it a better alternative to the standalone version in some cases. ParaLLEl-RDP has a decent choice for emulating many special "[https://www.youtube.com/watch?v=mzR93F9gPdc Super VI Mode]" option, which, if used, can make the visuals of N64 gameslook less blurry with fairly mitigated jaggies even at their native resolutions, both popular and lesser knownalthough it may need a [https://www.youtube.com/watch?v=z7_D_D419S0 powerful GPU]. It also offers native high-resolution rendering, only available in integer scales of the original N64 resolution.::As for the difference between the two cores, ParaLLEl-N64 is currently very actively developedactually the older of the two, as it is capable of using a wide variety based on the old Mupen64Plus libretro core, having been renamed to ParaLLEl-N64 upon its initial integration of the ParaLLEl-RDP and RSP plugins. In addition to the ParaLLEl plugins, it also retains the older HLE plugins(glN64, Rice and Glide64) and has Angrylion Plus. Meanwhile, Mupen64Plus-Next is a relatively usernew rebase off the bleeding-friendly interfaceedge mainline, which is the more compatible of the two. HoweverIt does away with the legacy plugins and replaces them with GLideN64 as a better HLE solution (though, of course, it presently remains confined to Windowsthe ParaLLEl plugins and Angrylion Plus stay), though work is underway to port it to Android considerably cleans up the Core Options menu for easier configuration and Linuxadds Transfer Pack support. It works well in WINE for Add to this with the most partfact that going forward, but if you're on all further improvements and new features will be applied to the Mupen64Plus-Next core. As a different platformresult, use Mupen64Plus instead-Next is now the more recommended of the two. Version 2.3 has various fixes over version 1.6.1 and is overall Thus ParaLLEl-N64 should now only be considered for performance reasons or perhaps for older ROM hacks that don't play well with the newer, more [[Emulation_accuracy|accurate, even outclassing Mupen64Plus in some instances]] plugins.
* :;[[Mupen64PlusRMG]] is a cross-platform, open source emulator based on Hacktarux::Rosalie's Mupen64. It lacks a native Mupen GUI, instead being run either from aims to close the command line, or by dragging gap between Project64 and dropping ROMs onto the executable and editing the config Mupen64Plus in terms of user experience. Its interface is about on par with a text editor such as Notepad++. There are several third-party GUIs made for it, simple64's in terms of which M64Py appears to be the most solid. Mupen64Plus has been ported to a number cleanliness and ease of different platformsuse, but unlike simple64, it remains a shallow fork of upstream development has currently crawled Mupen64Plus and allows you to a near standstilluse other plugins. [[BizHawk]] The latest development versions come bundled with GLideN64, Angrylion RDP Plus and ParaLLEl-RDP for video plugins, and mupen64plus-hle-rsp, CXD4 and [[OpenEmu]] ParaLLEl-RSP for RSP plugins It can still use shallow forks of the older plugins that come with regular Mupen64Plus and its in case if your PC can't handle the newer plugins for their N64 emulation. If you prefer GLideN64, this is a superior alternative to simple64, as the last version of simple64 that uses GLideN64 is becoming increasingly outdated.
* :;[[RetroArchsimple64]]'s N64 libretro core is based on ::A fork of Mupen64Plus and its plugins, but with heavy modificationsa custom-made Qt GUI. It introduces many features and optimizations not present in mainline alongside RetroArch's general featuresThis is probably the easiest "just works out of the box" solution for Nintendo 64 emulation, including Project64as it comes bundled with ParaLLEl-style overclocking for faster framerates, 3RDP and ParaLLEl-point texture filteringRSP, superior A/V sync ensuring excellent compatibility and latencygood speed without needing to mess with plugins or settings, and even an exclusive LLE provided your hardware supports Vulkan renderer based on Angrylion's pixel-perfect plugin. However, unlike other emulators, it does not allow you to use other plugins. While it began as a shallow fork, making it has increasingly become something closer to a better alternative hard fork, as its developer has opted to make various [[Emulation_accuracy|accuracy-focused]] changes to the emulation core that will require additional work to port back to upstream or to other forks. It also currently features only a cached interpreter core, as the standalone version dynarecs used by Mupen64Plus are incompatible with the core timing changes made by the developer. While this makes simple64 more [[Emulation_accuracy|accurate]] (especially DMA transfers) than most other N64 emulators, it also results in most casesslower performance. Its developers have expressed intentions If faster speed and more enhancements are desired, there is an older build that is closer to eventually rewrite the core upstream and brand it uses GLideN64 as its own emulator called ParaLLElgraphics plugin. Unfortunately, it lacks the texture enhancement suite required for using packs and upscaling, though.
* [[CEN64]] is an up-:;Wii64 and-coming emulator that aims for cycle accuracyNot64::Both are based on Mupen64, while at the same time aiming with Not64 being a fork of Wii64. Not64 claims to eventually be usable better optimized, alongside having higher compatibility and more frequent updates. N64 emulation on modern PC hardware. It currently lacks many features Wii is not very good, and has spotty compatibility, but it's gradually improving. It can already emulate some well-known edge cases, such as is recommended to stick with the picture recognition in Pokemon SnapVirtual Console releases whenever possible.
* 1964;[[Ares]]:An open-source multi-system emulator and successor to Near's [[higan]] project, along with its various versions and forks, was once a decentmostly original N64 core. Unlike most other N64 emulators, speedy open source alternative to Project64 it aims for high [[Emulation_accuracy|accuracy]] and Mupen64does not employ HLE RSP or RDP emulation of any kind, though nor does it usually lagged behind use game-specific hacks. It uses Themaister's ParaLLEl-RDP Vulkan renderer (with the two in compatibilityMAME renderer as a software-based fallback) for pixel-perfect LLE graphics. It currently passes several stringent [https://github. Nowadayscom/ares-emulator/ares/pull/613 accuracy tests] the other emulators do not, it has completely fallen off the radaralso [https://old.reddit.com/r/emulation/comments/181g1wk/ares_v134_has_been_released/kag3h4r/ CPU & RSP timings are really, as development has stoppedreally good] based on real hardware tests. But system requirements more demanding than other popular N64 emulators, is having said that; for Windows-onlyusers, it should be possible to maintain full speed on a Ryzen 7 3700X, system requirements for macOS and there is no longer a central code repo Linux users may be signficantly lower due to speak of: [https://old.reddit. There is little reason to use it nowadays outside of historical purposes, very specific edge cases, or if your device is too slow to run Mupen64Plus or Project64com/r/emulation/comments/zwq9fu/ares_crossplatform_open_source_multisystem/j1ys10k/ ARM64 ABI Microsoft has chosen for Windows] makes context switches more expensive than on the SysV ABI used in *nix.
:* Daedalus v130 version brings 64DD emulation and macOS support, developer [https://twitter.com/LuigiBlood/ LuigiBlood] said [https://twitter.com/LuigiBlood/status/1568694009496756225 "This is an N64 emulator for the PSPmost [[Emulation_accuracy|accurate]] 64DD emulation attempt I've ever done, which has been ported to Windows, but results honestly. A lot of the stuff I programmed are even sometimes genuinely useless. A lot also involves timings of the drive itself and more hit-"]. :* [https://old.reddit.com/r/emulation/comments/11ltlvu/ares_multisystem_emulator_v132_has_been_released/jbe12ym/ v132 version] brings improved accuracy of Controller pak and-miss than on other emulators due to being made for PSP first and foremostRumble pak emulation.:* [https://old.reddit. On PSPcom/r/emulation/comments/155ibi2/ares_multi_system_emulator_v133_has_been_released/ v133 version] brings lots of performance tuning, most games are unplayable, but theretiming improvements (fixes Jet Force Gemini and Micky's a Speedway USA) and emulation of RSP SU pipeline stalls (fixes Donkey Kong 64 and Banjo-Tooie).:*[httphttps://forumsold.daedalusx64reddit.com/compatr/emulation/comments/181g1wk/ares_v134_has_been_released/ v134 version] brings support for .php small amount of them that work really well] with D64 disk images, 64DD disk swapping, support the right settings (Quest 64N64 Transfer Pak, homebrew mode, for example)fixed RTC 64DD emulation and other accuracy fixes.
* ;[[SixtyforceProject64]] is Mac:An open-onlysource emulator for Windows, as well as one of the oldest. Its official release builds are more up to date than Mupen64Plus', and the current stable version, 3.0.1, closedis roughly as [[Emulation_accuracy|accurate]] as the development versions of Mupen64Plus when both are played with recommended plugins. It has a more user-source, friendly interface than some of the Mupen64Plus attempts and asks you to pay for full access to its supports featuressuch as Transfer Pak emulation and 64DD emulation. It was once one now comes with GLideN64 out-of -the only choices for Mac users-box, particularly those with older Macs since itbut the default audio plugin isn's t even the best in the only emulator box. Annoyingly, it also nags you with a <abbr title="Power PC">PPC<timed, unskippable message asking for donations to the project upon launch, though this can be gotten around through a [https://github.com/Rosalie241/PJ64Launcher/releases/tag/abbr> 1.3.0 script]. An alternative is to download it through [[Dynamic recompilation|dynarec]https://github.com/Rosalie241/BetterMajorasMaskInstaller/releases/tag/4.0.2 Rosalie's BetterMajorasMaskInstaller], which downloads the latest nightly version of Project64 with the nagging message removed and installs several useful third-party plugins (it also offers to install HD texture packs for OoT and MM, but you can opt out of those), though take heed - Project64 is currently in the middle of a major code rewrite in preparation for the upcoming 4. But with 0 version, and more than a few regressions and bugs have crept into the switch nightly builds as a result, so it might be better to x86 just grab the latest plugins and stick to version 3.0.1. For the most part, it works well in [[Wine]], but if you're on a different platform, use Mupen64Plus being ported instead. Note that if you do use Project64, there is an exploit allowing people to OS Xremotely access your computer (aka. arbitrary code execution). This exploit only works if you have a ROM from a random website, it has now become irrelevantso watch where you get your ROMs from if you're using Project64.
* Wii64 and Not64 are both based on Mupen64, with Not64 being a fork ;[[BizHawk]]:Another out-of Wii64-the-box solution. Not64 claims to be better optimized, as well as having higher compatibility Supports two cores for n64 ([https://github.com/TASEmulators/BizHawk/blob/master/Assets/dll/mupen64plus.dll mupen64plus] and more frequent updates[https://github.com/TASEmulators/BizHawk/tree/master/waterbox/ares64 Ares64]). Supports [https://github. N64 emulation on Wii is not very good, com/TASEmulators/BizHawk/blob/master/Assets/dll/mupen64plus-video-GLideN64.dll GLideN64] and it is recommended to stick with the Virtual Console N64 releases whenever possible[https://github.com/TASEmulators/BizHawk/blob/master/Assets/dll/mupen64plus-video-angrylion-rdp.dll Angrylion] video plugins for mupen64plus core.
* ;[[UltraHLECEN64]] marked a milestone in Nintendo 64 emulation, in that it was :Aims for [[Emulation_accuracy|cycle accuracy]] while at the first same time aiming to play some popular N64 titles at full speed be usable on modern PC hardware made at eventually. It lacks many features and has spotty compatibility, but it can already emulate some well-known edge cases, such as picture recognition in Pokemon Snap. Unfortunately, its creator appears to have abandoned the time of its release through project [[Highhttps://github.com/n64dev/cen64/releases/tag/Low level emulation|high-level emulation]]; it isnv0.3 citing a lack of satisfaction with the program't without s performance in its drawbacks though current interpreter- pressure from users combined with legal threats from Nintendo forced them based incarnation]. While the baton has been collectively passed to discontinue the n64dev community for further development. Besides being for historical value, there's not much to expect from this emulator anyway due to compatibility issuesprogress has been slow.
==Emulation issues==;Kaizen{{Main|Recommended N64 Plugins}}:Rewrite of another Nintendo 64 emulator project "[https://github.com/SimoneN64/shibumi shibumi]" which is developed by the same developer. It already has a QT frontend with recent builds, but lack [[#Enhancements]] and support for [[#Peripherals]] [https://github.com/SimoneN64/Kaizen#roadmap]. [https://github.com/SimoneN64/Kaizen#running RDP is implemented via ParaLLEl-RDP] and also [https://github.com/SimoneN64/Kaizen#roadmap R4300i, RCP, TLB, joybus are fully implemented]. See their [https://discord.gg/htzNd2rRF6 discord server] for more information.
Emulation for the N64 is not at the point where many would expect ;[[1964]]:Along with its various versions and forks, it was once a decent, speedy open-source alternative to be by nowProject64 and Mupen64, though it usually lagged behind the two compatibility-wise. The system Nowadays, it has completely fallen off the radar as development has halted, and there is extremely complex compared no longer a central code repo to its contemporary consolesspeak of. With almost no documentation being available There is little reason to emulator developers, use it is difficult to create an emulator with a high degree nowadays outside of compatibility with games. Many games require historical purposes, very specific plugin setups with specific emulators edge cases, or if your device is too slow to be played decentlyrun Mupen64Plus or Project64.
===High-level vs. low-level graphics===;DaedalusOne of the biggest hurdles in the road :A Nintendo 64 emulator for PC which was ported to proper N64 emulation has been accurately emulating the N64's graphics hardware, known as PSP under the Reality Display Processor, itself a part name of the N64's Reality Co-ProcessorDaedalusX64. The N64's RDP was PSP version later became the main version and got ported to platforms such as the first real 3D accelerator GPU on consoles. In factDreamcast, it was the most powerful consumer-grade GPU in PS2, the world at PS Vita, and the time it came out3DS. It is very hard to emulate all of its functions accurately due to the RDP's complexity & flexibility. Many RDP functions in addition have to be reproduced in software for accuracyOn PSP, several games can reach full speed, which takes a lot and most of processing powerthem work with few emulation issues.
For this reason;[[Sixtyforce]]:macOS-only, most developers have instead opted closed-source emulator. It asks you to pay for full access to approximate its features. It was once one of the RDPonly choices for Mac users, particularly those with older Macs, since it's functions using high-level emulation (HLE) through various APIs such as Direct3Dthe only emulator with a <abbr title="Power PC">PPC</abbr> [[Dynamic recompilation|dynarec]], OpenGLbut, and even Glide. While this results in much more reasonable system requirements for emulation along with prettier, higher resolution graphics, this method can be hit the switch to x86 and miss. It often requiring per-game tweaks and settings Mupen64Plus being ported to prevent graphical glitches on many games. Some games that implemented custom graphics microcode which macOS, it has yet to be reverse-engineerednow become rather obsolete. For exampleHowever, development is still ongoing, Factor 5and it's games do not work no matter what using high-level graphics pluginscurrently in its [https://sixtyforce. Other games may have issues with such RDP quirks as frame buffercom/rosetta/depth buffer access (issues with how third rewrite] to support the frame buffer is used as well as performance issues), VI emulation as well as issues with how combinerupcoming [https://en.wikipedia.org/wiki/blender modes are emulated (such as noise issues and combiner accuracy)Apple-designed_processors Apple Silicon].
Low-level emulation can be handled ;[[Ryu64]]:A Nintendo 64 emulator made in two ways, complete low level software emulation, or a hybrid approach of LLE RDP emulation which involves using graphics APIs to simulate C#. The 'Ryu' word is named after the RDP while using low level RSP emulation to emulate the graphics microcode"RyuJIT" used in both Visual Basic & C#. Low level software emulation of But it might have been inspired by the RDP involves replicating all RDP functionality in software, which allows for very high accuracy, but can suffer from major performance issues, unless optimizations such as vectorization and multi-threading are performedlead author's sole (so far) [https://github. Hybrid LLE emulation can allow for performance enhancement over low level software RDP emulation, but can suffer from various problems due com/Ryujinx/Ryujinx/commits?author=Dudejoe870 commit] to things such as replicating the N64Switch emulator [[Ryujinx]]'s numerous blendingGit repository and his depreciated [https:/combine modes/github.com/Dudejoe870/RyujinxAutoUpdate Ryujinx Auto-Updater] tool. "86RYU", emulating frame buffer access and replicating how polygons are rasterized to the screen (due to how the RDP renders primatives on a low level)an x86 JIT compiler, is being developed alongside this emulator too.
It should also be noted ;[[UltraHLE]]:Marked a milestone in Nintendo 64 emulation, in that even though most games "work" through the HLE method, it is not an accurate representation of what was the first to play some popular N64 titles at full speed on hardware's video output actually looked like, but rather a rough approximation by PC graphics hardware. Your mileage may vary on whether this is a good thing or not, given made at the N64's often blurry, lowtime of its release through [[High/Low level emulation|high-res outputlevel emulation]].<gallery widths="300">Majora's mask accurate.png|MajoraIt isn's Maskt without its drawbacks, with lowthough -level graphics (using SoftGraphic)Project64 2013-07-26 14-20-17-55pressure from users, plus legal threats from Nintendo, forced them to discontinue development.png|Majora's MaskBesides being for historical value, with high-level graphics (using Jabothere's Direct3D)</gallery>not much to expect from this emulator anyway due to compatibility issues.
===Texture filtering===;n64oidThe N64 was the first console :An Android-exclusive Nintendo 64 emulator based on Mupen64Plus by freeman_zy. It is similar to feature texture filtering Project 64 1.6 in terms of any kindcompatibility. The APK for n64oid circulates on many legally questionable APK sites. However, unlike PC graphics hardware and every console after n64oid has the N64, its implementation infamous problem in Mario Kart 64 of bilinear texture filtering was unique in that the screen in order to reduce strain on the systemWario Stadium not displaying properly, as it only used three samples as opposed displays nothing but black. It upscales all games to fourwidescreen, resulting in slightly jagged textures. Instead which works well most of faithfully applying this "imperfect" version of bilineartime, HLE plugins instead apply conventional bilinear filteringbut it will have performance issues on some older phones. The emulator is relatively poor, interpolating straight from the source texture but it is much easier to set up than other options. The emulator features a menu with many similarities to the output resolution, much like on PC games. While technically this method mobile edition of bilinear filtering is superior to Snes9x EX+ and the N64's, it can also result in textures that look even blurrier than on real hardwareMy Boy! family of Android emulators for Game Boy systems.
Another issue lies with ; [[Nintendo Switch Online]] (Hovercraft)* N64 support was added to Nintendo Switch Online Expansion Pack in September 2021, alongside Sega Genesis games.* Users are limited to the appliance selection of texture filtering per quad games Nintendo chooses to make available on static images, text, the service.* Supports online and spritesLocal Play (up to 4 players). Because each quad is filtered separately* Emulation [[Emulation_accuracy|accuracy]] varies between games; sometimes, this can cause some visual inconsistencies. Text and UI elements often look as though being worse than their edges cut off abruptly, Wii and static images such as pre-rendered backgrounds /or menu screens may look as though they are separated into squaresWii U Virtual Console versions. Some plugins allow * Updates on the user app can be slow due to turn off texture filtering to remedy this, but unfortunately this also applies to textures how the N64 ROMs require more debugging time.* Different games between regions (Japan and International).* An "+18" version of the app is available in the game world, exposing their oftentimes-low resolutionsJapan for titles that received a CERO Z rating (e.g.: ''GoldenEye 007'' and ''Jet Force Gemini'').
RetroArch's ==Enhancements==<div style="overflow-x:auto;width:100%">{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"|- style="font-weight:bold;"! colspan=2 | Name! Mupen64Plus -Next! simple64! ares! Project64! MAME! Bizhawk|-| rowspan=6 | Graphics| [[Resolution|Resizable Internal Resolution]]| {{Y}}| {{Y}}| {{Y}}| {{Y}}| {{?}}| {{?}}|-| [[Widescreen_hacks#Nintendo_64|Widescreen hack]]| {{Y}}[https://forums.launchbox-app.com/files/file/3649-nintendo-64-n64-widescreen-project-list-of-working-widescreen-games-and-config-files-for-mupen64plus-next-retroarch-core has taken some steps which help remedy these problems/ *]| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| [[Texture packs#Nintendo_64|Texture Packs]]| {{✓}}<ref group=N3 name=Glide>Only with [https://emulation.gametechwiki.com/index.php/Recommended_N64_plugins#GLideN64 GLideN64] video plugin.</ref>| {{N}}| {{N}}| {{✓}}<ref group=N3 name=Glide>Only with [https://emulation.gametechwiki.com/index.php/Recommended_N64_plugins#GLideN64 GLideN64] video plugin.</ref>| {{?}}| {{?}}|-| Pre-rendering AA<br/><small>(MSAA, SSAA)</small>| {{N}}| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple. It com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small>| colspan=9 | <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the only near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.[https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access#34637]</small>|-| [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix]| colspan=9 | <small>Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>Besides, some of these emulators already supports most of RTX Remix features such as texture replacement and post-processing effects etc.<br/>On top of that implements N64you can use ReShade for post-processing.</small>|-| rowspan=4 | Performance| [[30/60_FPS_cheat_codes#Nintendo_64|Internal Framerate Hack]]| {{?}}| {{?}}| {{?}}| {{Y}}| {{?}}| {{?}}|-style three| [[Overclocking|Overclock]]| {{?}}| {{?}}| {{?}}| {{Y}}| {{?}}| {{?}}|-| [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-point texture filteringG], which results [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small>| colspan=6 | <small>Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|Input latency]] will be a more faithful lookcrucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use '''after applying the "Internal Framerate Hack"'''.<br/>While '''AFMF''' or '''LSFG''' could be used with Mupen64Plus-Next?, please be aware that some visual glitches and artifacts may occur at this time.|-| Rendering latency reduction technologies<br/><small>([https://github. It is also capable of com/ishitatsuyuki/LatencyFleX LatencyFleX], [https://developer.nvidia.com/performance-rendering at 320x240-tools/reflex Reflex] and [https://www.amd.com/en/products/software/adrenalin/radeon-software-anti-lag.html Anti-Lag'''+'''])| colspan=9 | <small>While most emulators offer frame pacing or framebuffer latency control options, which sidesteps implementing rendering latency reduction technologies isn't currently feasible. This is '''likely''' doesn't offer enough benefit to justify the issues with filtered textdevelopment effort.</small>|-| rowspan=6 | Post-Processing| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, UI elementsTXAA and MLAA/SMAA)</small>| {{Y}}[https://docs.libretro.com/shader/antialiasing/ *]| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and menu screens, while still retaining texture filtering[[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>| {{Y}}| {{?}}| {{?}}| {{?}}| {{Y}}| {{?}}|-| [[Shaders_and_filters|Filters]]| {{Y}}| {{N}}| {{Y}}| {{N}}| {{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>| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| [[Shader_Presets|Shader Chain]]| {{Y}}| {{N}}| {{Y}}[https://github.com/ares-emulator/ares/pull/1397 *]| {{N}}| {{Y}}| {{N}}|-|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]| {{Y}}[https://www.libretro.com/index. Pixelphp/category/hdr/ *]| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-accurate | rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]| {{N}}[https://github.com/libretro/RetroArch/issues/8209 *]| {{?}}| {{?}}| {{?}}| {{Y}}[https://docs.mamedev.org/plugins do not have these problems at all/inputmacro.html *]| {{Y}}|-| Rewind| {{Y}}| {{?}}| {{?}}| {{?}}| {{?}}| {{Y}}|-| Fast-Forward/Turbo Speed| {{Y}}| {{?}}| {{?}}| {{?}}| {{?}}| {{Y}}|-| Savestates| {{Y}}| {{?}}| {{?}}| {{?}}| {{?}}| {{Y}}|-| [https://tasvideos.org/Movies Movie recording/playback]| {{Y}}| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| rowspan=8 | Quality of life| Per-Game Profiles| {{Y}}| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| Command Line Options| {{Y}}| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><gallery widthssmall>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "300Custom Resolution Utility".</small>| {{Y}}| colspan=5 | <small>Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.<br/>Also there is a [https://github.com/psakhis/Groovy_MiSTer project] for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors.</small>Project64_2013|-| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]| {{✗}}| {{✗}}| {{✗}}| {{✗}}| {{✗}}| {{✗}}|-| Built-in [[Cheats_and_patches|Cheat Manager]]| {{Y}}| {{?}}| {{N}}[https://old.reddit.com/r/emulation/comments/1ay6fm1/ares_v136_released/krslaki/ *]| {{?}}| {{Y}}| {{?}}|-06| [[Save_disk_space_for_ISOs|Streamable compression format]]| {{✓}}| {{?}}| {{✓}}| {{?}}| {{?}}| {{?}}|-26_17| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]| {{Y}}| {{?}}| {{?}}| {{?}}| {{Y}}[https://docs.mamedev.org/usingmame/commonissues.html#gsync-44freesync *]| {{?}}|-58| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]| {{Y}}|||| {{Y}}||-31| rowspan=2 | Controls| [[Input_lag|Input lag-mitigating technique]]| {{N}}| {{?}}| {{?}}| {{?}}| {{?}}| {{?}}|-| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]| {{Y}}[https://github.com/garungorp/MouseInjectorDolphinDuck *]| {{N}}| {{N}}| {{Y}}[https://github.com/garungorp/MouseInjectorDolphinDuck *]| {{N}}| {{N}}|-| rowspan=5 | Misc| [https://retroachievements.org/gameList.pngphp?c=2 RetroAchievements]| {{Y}}| {{N}}| {{N}}| {{N}}| {{N}}| {{Y}}|-| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]| colspan=6 |Conker's Bad Fur Day copyright screen Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.|-| [[Netplay#Nintendo_64|Netplay]]| {{N}}| {{Y}}| {{N}}|{{~}}<ref group=N3 name=input>Project64, displaying issues RMG and Mupen64Plus MXE builds requires replacing the input plugin with one [https://www.play64.com/netplay-plugin/ with filtered textnetplay support]. Another alternative for netplay is using [[Project64 Netplay]] fork.</ref>Mupen64plus_2013| {{?}}| {{N}}[https://github.com/TASEmulators/BizHawk/issues/2450#issuecomment-08707492502 *]|-18_20| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-35-50game camera.</small>| colspan=6 | <small>While freecam would be technically possible, it will require per-08game patches.png|Ocarina <br/>Said patches would require a significant amount of Timetime to reverse the game's menu subscreenengine, displaying issues which means that only someone talented with filteringenough dedication to a single game could do it.<br/>[https://www.zophar.net/n64/Nemu64. Note how html Nemu64] has a free cam mode sort of. It changes the Quest Status screen appears to be divided into a gridperspective the camera is facing.</small><ref>[https://old.reddit.com/r/BoundaryBreak/comments/dj9zmc/nintendo_64_camera/ Reddit Thread: Nintendo 64 camera?]</ref>|-| [[Wikipedia:Category:Debugging|Debug Features]]| {{N}}[https://forums.libretro.com/t/debugging-features/137 *]| {{?}}| {{~}}| {{~}}<ref group=N3>Use [https://github.com/shygoo/project64 this fork] for debug features.</ref>| {{?}}| {{?}}|}</gallerydiv><references group=N3/>
==Peripherals==
''Reddit Thread: [https://old.reddit.com/r/emulation/comments/vwmho1/unemulated_console_features_and_accessories/ Unemulated console features and accessories]''
<div style="overflow-x:auto;width:100%">
{| class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
|- style="font-weight:bold;"
! Name
! Project64
! ares
! simple64
! Mupen64Plus-Next
! CEN64
! MAME
! BizHawk
! RMG
|-
| Controller Pak
| {{✓}}
|{{✓}}[https://github.com/ares-emulator/ares/blob/master/mia/medium/nintendo-64.cpp#L152 *]
| {{✓}}
| {{✓}}
| {{✓}}
| {{✗}}
| {{✓}}
| {{✓}}<ref group=N>Under the name "Memory Pak".</ref>
|-
| Rumble Pak
| {{✓}}
|{{✓}}[https://github.com/ares-emulator/ares/blob/master/mia/medium/nintendo-64.cpp#L152 *]
| {{✓}}
| {{✓}}
| {{✓}}
| {{✗}}
| {{~}}[https://tasvideos.org/Bizhawk/N64 *]
| {{✓}}
|-
| [[Wikipedia:Nintendo_64_accessories#Expansion_Pak|Expansion Pak]][https://youtu.be/YI4lBxTpzB4]
| {{✓}}[https://github.com/project64/project64/issues/457 *]
| {{✓}}
| {{✓}}
| {{✓}}[https://forums.libretro.com/t/removing-the-expansion-pak-in-mupen64plus/15340 *]
| {{✓}}[https://github.com/n64dev/cen64/issues/58 *]
| {{?}}[https://github.com/mamedev/mame/blob/master/src/mame/nintendo/n64.cpp *]
| {{✓}}[https://github.com/TASEmulators/BizHawk/issues/1690 *]
| {{✓}}
|-
| [[#64DD emulation|64 Disk Drive & 64DD]]
| {{✓}}<ref group=N name=64DD>[https://64dd.org/downloads.html Use these builds for 64DD emulation]</ref>
| {{✓}}
| {{✓}}
| {{~}}<ref group=N>While not fully compatible, you need to use [https://forums.libretro.com/t/is-there-a-mupen64plus-next-64dd-guide-anywhere/35014/7 subsystems] menu, for more information see [[#64DD_emulation|64DD emulation]] section.</ref>
| {{✓}}
| {{✓}}
| {{✓}}[https://github.com/TASEmulators/BizHawk/issues/2454#issuecomment-1345233341 *]
| {{~}}<ref group=N>While not fully compatible, you can now use RMG builds with a brand new Project64 style interface to play 64DD games, and includes every relevant plugins including parallel-rdp and rsp and a brand new easy to setup Input plugin. For more information see [[#64DD_emulation|64DD emulation]] section.</ref>
|-
| [[#Transfer Pak emulation|Transfer Pak]]
| {{✓}}
| {{✓}}
| {{✓}}
| {{✓}}
| {{✓}}[https://github.com/n64dev/cen64/blob/master/si/pak_transfer.c *]
| {{✗}}
| {{~}}[https://tasvideos.org/Bizhawk/N64 *]
| {{✓}}
|-
| [[#N64 Mouse|N64 Mouse]]
| {{✓}}
| {{✓}}
| {{✗}}
| {{✗}}
| {{✓}}
| {{✗}}
| {{✓}}[https://github.com/TASEmulators/BizHawk/blob/master/waterbox/ares64/BizInterface.cpp#L15 *]
| {{✗}}
|-
| [[#Voice Recognition Unit emulation|Voice Recognition Unit]]
| {{✗}}
| {{✗}}
| {{✓}}
| {{✓}}
| {{✗}}
| {{✗}}
| ?
| {{✓}}
|-
| [[#Pokémon Snap Station|Pokémon Snap Station]]
| {{~}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
|-
| [[#Densha De Go! Controller|Densha De Go! Controller]]
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
|-
| [[Wikipedia:Nintendo_64_accessories#SmartMedia|SmartMedia]]
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
|-
| [[Early_Online_Services#Modem_cartridge_.28N64.29|Modem cartridge (NUS-029)]]
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
|}
</div>
<references group=N/>
===Voice Recognition Unit emulation===
[https://nintendo.fandom.com/wiki/VRU The Voice Recognition Unit (VRU) ] is an accessory used primarily by ''Hey You, Pikachu''. No emulator or input plugin supports In June 2021, an HLE implementation of the VRU was added to Mupen64Plus<ref name="Mupen64VRU">{{cite web|url=https://github.com/mupen64plus/mupen64plus-core/pull/873|title=VRU support and Hey You Pikachu audio fix|publisher=GitHub|accessdate=2022-12-18|date=2021-06-17}}</ref>; thissupport was carried over to simple64<ref name="simple64VRU">{{cite web|url=https://github.com/simple64/simple64/commit/1aa46a228369cb3673e6580ed8a2e1426bc79126|title=VRU support|publisher=GitHub|accessdate=2022-12-18|date=2021-06-21}}</ref>. ===''Densha De Go!'' Controller===Also available for the [[PlayStation emulators|PlayStation]], although there ''Densha De Go! 64'' is a Japan-only train simulator released by [[Wikipedia:Taito|Taito]] that is compatible with an onoptional special controller that plugs into the player 3 port.<ref name="ArcadeUSA">{{cite web|url=https://www.youtube.com/watch?v=cCcPAGhcnck|title=Densha De Go! Nintendo 64 Controller!|publisher=YouTube|accessdate=2018-06-17|date=2017-01-going effort 20}}</ref> No emulator supports it. ===Pokémon Snap Station===There was a special kiosk designed to get it workingpromote ''Pokémon Snap'' called the ''Pokémon Snap Station'', which is also compatible with the North American ''Pokémon Stadium'' with its gallery mode. It is just a Nintendo 64 with special hardware designed for the station.<refname="Sixty Formula">http{{cite web|url=https://www.emutalkyoutube.netcom/watch?v=AMbjvGvPkV4|title=The Pokémon Snap Station|publisher=YouTube|accessdate=2018-06-17|date=2016-05-21}}</ref><ref name="MetalJesusRocks">{{cite web|url=https://threadswww.youtube.com/55279watch?v=5_UGpRN6AnM&t=3m35s|title=VIDEO GAME KIOSKS - Extreme Game Collecting!|publisher=YouTube|accessdate=2018-06-17|date=2016-05-25}}</ref>Although the special cartridge does boot in emulators compatible with the regular version, the printing functions are inaccessible due to no emulation of the printer for the player 4 slot, credit system, or the special board to switch between the regular and special cartridges. [https://jamchamb.net/2021/08/17/snap-station.html On August 17, 2021, jamchamb reverse engineered the Snap Station] and created a [https://github.com/jamchamb/project64/tree/snapstation Project64 fork (source code only)] and an [https://github.com/jamchamb/cojiro iCEBreaker FPGA board hardware implementation].
===Transfer Pak emulation===
A few games use the Transfer Pak, such as ''Mario Golf'', ''Mario Tennis'', ''Mario Artist: Paint Studio'', and the ''Pokémon Stadium'' games, can use the Transfer Pak, an attachment that allows interfacing with specific [[Game Boy/Game Boy Color emulators|Game Boy/Color]] games for certain features. Mostly this Most N64 emulators can be done emulate the Transfer Pak's functionality to one degree or another, with the most robust being Project64 with N-GageRage's input plugin, but . But there are still a couple of few things aren't that are difficult to emulate or are just not emulatedat all:
*The Game Boy Tower mode of the Pokémon Stadium games don't work and makes the emulator crash or hang.
*Taking pictures with the Japanese ''Game Boy Camera'' (called ''Pocket Camera'') while in Transfer Pak mode playing ''Mario Artist: Paint Studio'' displays static.
*Playing the Gen 1 and 2 Pokémon games through the Game Boy Tower in Pokémon Stadium 1 and 2 is notoriously finicky. At the moment, only Project64, using the N-Rage input plugin, can properly load either game's Game Boy Tower at all, with other emulators either crashing or failing to establish the connection. Even here, extra steps must be taken: for Pokémon Stadium 2, set the CPU core to Interpreter and Counter factor to 1 in the emulator's game settings. For the first Stadium game, in addition to the aforementioned settings, Delay SI Interrupt must also be turned on, and an LLE RSP plugin other than the default Projec64 RSP must be used, such as ParaLLEl-RSP.
===64DD emulation===
The 64DD (an abbreviation for "64 Disk Drive") was a peripheral which allowed a proprietary disk format to be used with the N64. These disks had more space at a cheaper manufacturing cost. The peripheral was a commercial failure and was never released outside of Japan. Internal evidence suggests that , much like the GBA e-Reader, it wasn't even intended for a European release.
Expansion disks are region-coded to either Japan or the US (obviously unused), and won't work with N64 games from the wrong region. Only F-Zero X has full support for this featurean official disk, but dummied-out expansion data in Ocarina of Time and , Mario Party 2 , and Pokémon Stadium (JP/PAL) exist as wellhave fully implemented but unused disk support.
The special AV-In cartridge (NUS-028) that ''Mario Artist: Talent Studio'' can use doesn't work because it requires an RCA cable signal.
Recently , there has been an effort to emulate the 64DD, and now , [[Project64]] and [[MAME]] can run several commercial 64DD games as part of its N64 emulator. This is being ported to [[CEN64]] with the help of [https://twitter.com/LuigiBlood LuigiBlood]. Mupen64Plus supports 64DD as well, which is the base of other emulators such as [[simple64]] and [[RMG]]. The latest newcomer is [[Ares]] with the (again) help of [https://twitter.com/LuigiBlood LuigiBlood]. * Project64's latest versions emulate the N64 mouse and can load Zoinkity's hacked 64DD cartridge conversions at playable speeds. You'll need to set every game to have 8MB of Memory by default manually. Games do not save, some need "32-bit engine" to be unchecked (like Talent Studio), and some (like Polygon Studio to fix models and Paint Studio to fix stamps) need the Angrylion GFX plugin rather than GlideN64, which does the job for the rest. [https://64dd.org/tutorial_pj64.html 64DD.org has step-by-step tutorials for Project64]**The 64DD hardware started to be emulated around 2.3's release with the help of [https://github.com/LuigiBlood LuigiBlood]. Saving works but in the form of NDR files. NDR files are copied versions of NDD images with save data included as to not write to the clean unaltered images. In order to play 64DD games in their original forms, 8MB of memory is still needed because the real hardware needed the Expansion Pak upgrade. The IPL is also needed. * MAME includes early, basic 64DD emulation as well, but it's much slower. Disk images need to be in head/track format. See [https://github.com/Happy-yappH/ddconvert.git here]for more information. It does not currently support disk swapping or saving disks to files. Writes only update the copy in memory, and once the MAME process ends, the changes are lost. Current usage: <code>mame n64dd -quickload disk -cart cart -nodrc</code> (both disk and cart are optional) * CEN64, like Project64, had 64DD emulation ported to it from MAME. However, it focuses on accuracy and plays much slower than other emulators; aside from the 64DD emulation itself is imperfect. * RetroArch's Mupen64Plus-Next and ParaLLEl cores support the 64DD. For Mupen64Plus-Next: the bios must be placed in <code>[RetroArch directory]\system\Mupen64plus\IPL.n64</code>. To launch 64DD games: Load the Mupen64Plus-Next core, select the new menu item "Subsystems" in the Main Menu, then click "Load N64 Disk Drive" three times to load the disk, cartridge, and start emulation; Both expansion disks and stand-alone disks can be launched this way. <br />For ParaLLEl: the bios must be placed in the "system" directory and named <code>64DD_IPL.bin</code>. In ParaLLEl's core options: 64DD ''must'' be enabled and GFX plugin and RSP must both be set to <code>parallel</code>; stand-alone disks cannot be launched using the Subsystem, they must be launched through either "Load Content" or a playlist.
{| class="wikitable"|+PC|-! scope="col"|Name! scope="col"|Operating System(s)! scope="col"|Latest Version! scope="col"|Active! scope="col"|* Ares supports 64DD Emulation! scope="col"|N64 Mouse! scope="col"|as well, [[Recommended emulators|Recommended]]|-|style="text-align:center;"|[[Project64]]|style="text-align:center;"|Windows|style="text-align:center;"|[httphttps://www.pj64-emutwitter.com/downloads/project64LuigiBlood/binariesstatus/ 2.2.0.31568694009496756225 developer LuigiBlood said]|style="text-align:center;"|✓|style=This is the most accurate 64DD emulation attempt I've ever done, honestly. A lot of the stuff I programmed are sometimes genuinely useless. A lot also involves timings of the drive itself and more"text-align:center;"|Mid|style="text-align:center;"|✓|style="text-align:center;"|✓|-|style="text-align:center;"|[[CEN64]]|style="text-align:center;"|Windows, Linux|style="textalso supports disc-align:center;"|[https://githubswapping with v134 version.com/tj90241/cen64 Git]|style="text-align:center;"|✓|style="text-align:center;"|Mid|style="text-align:center;"|?|style="text-align:center;"|✗|-|style="text-align:center;"|[[MAME]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|?|style="text-align:center;"|✓|style="text-align:center;"|Mid|style="text-align:center;"|?|style="text-align:center;"|✗|-|}
* Project64's latest versions ===N64 Mouse===A peripheral that came bundled with Mario Artist: Paint Studio. [https://64dd.org/tutorial_pj64.html#mouse 64DD.org has instructions on how to emulate the N64 mouse and can load Zoinkity's 64DD cartridge conversions at playable speeds Mouse on Project64]. [https://github.com/ares-emulator/ares/issues/224#issuecomment-939579324 Ares also has N64 Mouse support; follow these instructions to enable it (actually, the replace SNES specific steps with 64DD hardware isn't even emulated)]. YouRetroArch'll need to set every game to have 8MB of Memory by default manuallys ParaLLEl core has N64 Mouse support under Quick Menu > Controls > Port 1 Controls > Device Type. Games do not save, some need "32RetroArch's Mupen64Plus-bit engine" to be unchecked (like Talent Studio), and some (like Polygon Studio to fix models, and Paint Studio to fix stamps) need the Angrylion GFX plugin rather than GlideN64 which Next core ''does the job for the restnot'' have mouse support.
* MAME includes early basic 64DD emulation as well but Because the N64 Mouse functions similarly to a controller, it is much slower. Disk images need possible to be "emulate" it even in head/track formatemulators that don't explicitly support it by mapping mouse input to the N64 joystick. See [https://github.com/HappyThis will likely require use of separate re-yappH/ddconvert.git here] for more information. It does mapping software, as most N64 emulators do not currently support disk swapping or saving disk binding mouse movement to filesjoystick movement. Writes only update the copy in memory, and once the MAME process ends the changes are lost. Current usage: <code>mame n64dd -quickload disk -cart cart -nodrc</code> (both disk and cart are optional)
* CEN64==Hardware variants=====iQue Player emulation===Before the GBA, the DS, and the 3DS, Nintendo released a modified version of their Nintendo 64 system for the Chinese market, like Project64called the iQue Player, had 64DD emulation ported to it from MAMEthrough their not-quite-subsidiary iQue. However it focuses on accuracy Fourteen games were translated into Simplified Chinese, including Sin and plays much slower than other emulatorsPunishment, aside for Ocarina of Time (the 64DD emulation itself being imperfectMajora's Mask port was canceled), Super Mario 64, and others.
===Unlike the Chinese releases of their more recent systems and games, iQue emulation===Before Player releases are regular N64 ROMs wrapped with several layers of encryption and a ticket and signature system like that on the Wii, the GBADSi, DS and the 3DS, Nintendo released a modified version of their Nintendo 64 system for the Chinese market called Wii U, and the iQueSwitch. Fourteen games localized to The ChineseROM-hacking scene is very active, though, including Sin and Punishmenthas translated the Japanese regular N64 releases for many of these to their language already, a unique revision which explains some of Ocarina of Time (the Majora's Mask port was cancelled)Chinese ROMs floating for those. However, Mario 64 and othersalmost all pieces of iQue Player software were recently decrypted to regular .z64 ROM format.
Unlike Several of the Chinese releases game localizations already run on N64 emulators, but as some hardware features of their more recent systems and their the iQue Player are not yet supported, some games, no dumps in the same format as regular N64 releases exist yet for well as the N64 iQue releases. Therefore, no emulation support exists for them at all. The Chinese ROM-hacking scene is very active though system menu and have translated the Japanese regular N64 releases for many of these to their language alreadyfeatures in games such as saving, which explain some of the Chinese ROMs floating for thosedo not work yet.
===Aleck 64 arcade emulation===
Nintendo collaborated with SETA to release an arcade system based on their Nintendo 64 system (kind of like their PlaychoicePlayChoice-10 for the NES, Super System arcade hardware for SNES, and later Triforce for GC and later Wii UGCN). The Nintendo 64-variant with more RAM, the Aleck 64, failed to catch on and bombed. It was never released outside Japan, even though one N64 port made it. [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=aleck64.cpp&arcade_only=0&current_version=0 MAME and BizHawk's MAME core support this arcade variation].
The Aleck 64 ROMs were dumped, and Zoinkity is working on converting them to regular N64 ROMs (with controls remapped to N64 controller buttons). They generally require an 8MB Expansion Pak to run at all and 4K EEPROM to save settings and scores. The ones covered by these patches are:
* Donchan Puzzle Hanabi de Doon!
* Eleven Beat: World Tournament
* Hi Pai Paradise
* Hi Pai Paradise 2
* Kuru Kuru Fever
* Magical Tetris Challenge
* Mayjinsen 3 / Meijin-Sen
* Star Soldier: Vanishing Earth (also ported to N64)
* Super Real Mahjong VS
* Tower & Shaft
* Vivid Dolls (official eroge game on a Nintendo console)
The already available [http://assemblergames.com/l/threads/aleck64-on-retail-consoles-poc.55041/ patches] to convert arcade ROM dumps to regular N64 ROM format can be found [http://micro-64.com/database/aleck64.shtml here]. While Mupen64Plus-based emulators can't run these conversions out of the box, Project64 does just fine.
The remaining ones from the system's library not yet covered are:
* Hi Pai Paradise
* Magical Tetris Challenge
* Mayjinsen 3 / Meijin-Sen
* Rev Limit
* Super Real Mahjong VS* Variant Schwanzer(never released, but there is a PCB board and was [https://www.youtube.com/watch?v=apiS6EPJ2m8 tested and played] on Game Center Mikado in 2015. No known ROM dumps on internet)
==Virtual Console games in Dolphin==
Some A number of N64 games were released for the Wii's Virtual Console service throughout its lifespan. While the emulators at the heart of each Virtual Console title were of average accuracy (rather than using one generic emulator used for every game, each title had an emulator specifically tailored to that game), they were good enough to render the games in full, playable capacity with few to no glaring errors. Many of these titles are emulated well on a Virtual Console game through Dolphin. For a good while, due to persistent long-standing inaccuracies in N64 emulators and plugins, this was the best way to emulate certain N64 games, particularly Pokémon Snap and Mario Tennis. The system requirements are much higherthan running them on regular N64 emulators, but it's doable for many games. Today, regular N64 emulators and plugins have advanced to the degree that this has become unnecessary, relegating this method of N64 game emulation to little more than a curiosity, at least on PC. The following games are on the N64 Virtual Console for Wii:
{|width="100%"
|- valign="top"
|
* 1080 1080° Snowboarding
* Bomberman Hero
* Cruis'n USA
* Custom Robo V2 (Japan only)
* F-Zero X
* Kirby 64: The Crystal StarsShards
* The Legend of Zelda: Majora's Mask
* The Legend of Zelda: Ocarina of Time
* Ogre Battle 64: Person of Lordly Caliber
* Paper Mario
* Pokemon Pokémon Puzzle League
|
* Pokemon Pokémon Snap
* Sin & Punishment (English)
* Star Fox 64
|}
==Emulation issues=={{Main|Recommended N64 plugins}} Nintendo 64 emulation is now decent. A lot of the major problems that N64 emulation had in the past have been fixed for quite some time now. The only catch is that the accurate emulators have higher system requirements. The main remaining problem is the lack of accurate cycle counting. ===[[High/Low level emulation|High-level vs. low-level]] graphics=== One of the biggest hurdles to emulating the Nintendo 64 was the Reality Display Processor (RDP), which used a custom design that had to be fine-tuned to get more performance out of the system using microcode. To emulate the RDP accurately, one would have to execute said microcode the way the RDP did, which differed from the PC graphics cards of the day. To complicate matters further, API standards available on PCs two decades ago were nowhere near as flexible as they are today. If you wanted to make an accurate GPU-accelerated RDP plugin in 2003, you simply couldn't with the APIs of the time (OpenGL 1.x and Direct3D 9). For the average user, hardware-accurate GPU acceleration would be out of reach for a long time. [[UltraHLE]] offered a compromise. In contrast to earlier consoles (whose video chips, in hindsight, had been easy to render to the host CPU's framebuffer), performant RDP emulation had to take shortcuts, including programming around specific games' microcode to cleanly translate their graphics commands into API calls using Direct3D, OpenGL, and even Glide. With this, the theoretical system requirements plummeted, and the host graphics card could reproduce a functional equivalent rather than the exact method. This also gave way to prettier, higher-resolution graphics, though whether this is an improvement is subjective and a common point of discussion. Unfortunately, it proved to be hit or miss, owing to the nature of per-game microcode detection and having to tweak settings to prevent some games from running into graphical glitches. Low-level RDP emulation was continually improved in that time, most notably by [[MESS]] up until its merger with [[MAME]], where its RDP code was turned into a plugin by Angrylion. Compatibility-wise, Angrylion's RDP was considered flawless by the community. Though the reception wasn't as warm overall, since it ran only on the CPU and was thus painfully slow on mid-grade machines. A dozen forks attempted to bring the system requirements down, and the current incarnation that does so is Angrylion RDP Plus, using multithreading. Accurate low-level emulation would only come to the GPU in 2020 when a new version of the Mupen64Plus-based ParaLLEl [[libretro]] core was released containing a rewritten RDP plugin using compute shaders in Vulkan. Though it isn't a direct fork of Angrylion, Themaister says the Angrylion code was the central point of reference for developing the plugin,<ref>[https://github.com/Themaister/parallel-rdp#disclaimer README] for parallel-rdp repository on GitHub. § Disclaimer. "While paraLLEl-RDP uses Angrylion-Plus as an implementation reference, it is not a port, and not a derived codebase of said project. It is written from scratch by studying Angrylion-Plus and trying to understand what is going on. The test suite uses Angrylion-Plus as a reference to validate implementation and cross-checking behavior."</ref> meaning ParaLLEl uses the same strategies that Angrylion does to emulate the RDP while running on the host GPU (as long as said GPU supports Vulkan). On the high-level side, gonetz and one or two assistants spent a large portion of development improving GlideN64's microcode handling throughout 2016-2018.<ref name="gliden64_blog-1">{{cite web|url=https://gliden64.blogspot.com/2017/|title=Public Release 3.0|publisher=Blogspot|accessdate=2018-06-17|date=2017-12-29}}</ref><ref name="ZSortBOSS">{{cite web|url=https://github.com/gonetz/GLideN64/issues/1685#issuecomment-364436534|title=Initial implementation of BOSS ZSort ucode (WDC, Stunt Racer)|publisher=GitHub|accessdate=2018-06-17|date=2018-02-10}}</ref> This means that [https://youtu.be/HfCOnmRHI0o Factor 5's games are now working in high-level graphics mode].<ref name="Indiegogo">{{cite web|url=https://www.indiegogo.com/projects/indiana-j-infernal-machine-high-level-emulation#/updates/all|title="Indiana J. & Infernal Machine" HLE|publisher=Indiegogo|accessdate=2018-06-17|date=2018-05-17}}</ref><ref name="gliden64_blog-2">{{cite web|url=https://gliden64.blogspot.com/2018/05/hle-implementation-of-microcodes-for.html|title=HLE implementation of microcodes for "Indiana Jones" and "Battle for Naboo" completed.|publisher=Blogspot|accessdate=2018-06-17|date=2018-05-26}}</ref> Other games may still have issues with RDP quirks like frame buffer/depth buffer access (including issues with how the framebuffer is used as well as performance issues), VI emulation, and how combine/blending modes are emulated (such as noise issues and combiner accuracy). <gallery widths="300" mode="packed">Majora's mask accurate.png| Low-level emulation of Majora's Mask using SoftGraphicProject64 2013-07-26 14-20-17-55.png| High-level emulation of Majora's Mask using Jabo's Direct3D</gallery> ===[[Texture filtering]]===The Nintendo 64 was the first consumer device to be able to filter textures when rendering 3D objects. However, unlike every console and PC graphics card made after the N64, its implementation of bilinear was primitive in that, in order to reduce strain on the system, it only used three samples as opposed to four, resulting in slightly jagged, asymmetrically-filtered textures. Instead of faithfully applying this "imperfect" version of bilinear filtering, HLE plugins instead applied conventional bilinear filtering, interpolating straight from the source texture up to the output resolution the same way a PC game would. While that method is technically superior, it can result in textures that look even blurrier than they would on real hardware. Another issue lies with the appliance of texture filtering per quad on static images, text, and sprites. Because each quad is filtered separately, this can cause some visual inconsistencies. Text and UI elements often look as though their edges cut off abruptly, and static images, such as pre-rendered backgrounds or menu screens, may look as though they are separated into squares (see images below; note how OoT's Quest Status screen appears to be divided into a grid). Some plugins allow the user to turn off texture filtering to remedy this, but, unfortunately, this also applies to textures in the game world, exposing their often low resolutions. Modern emulators and plugins have taken some steps which help remedy these problems. For instance, GLideN64 now supports N64-style three-point texture filtering, which results in a more faithful look. It can also render at 320x240, which sidesteps the issues with filtered text, UI elements, and menu screens while still retaining texture filtering. Pixel-accurate plugins such as Angrylion and ParaLLEl-RDP do not have these problems at all.<gallery widths="300" mode="packed">Project64_2013-06-26_17-44-58-31.png|Conker's Bad Fur Day copyright screen displaying issues with filtered text.Mupen64plus_2013-08-18_20-35-50-08.png|Ocarina of Time's menu subscreen displaying issues with filtering.</gallery> ===Timing issues===One of the biggest remaining problems in N64 emulation is the lack of accurate core timings, which, in practice, means games don't always run at the speed they would on real hardware. While this technically affects all games, the majority are only affected to a negligible degree. In some instances (particularly in Rare games) this can actually result in fewer framerate drops and lag, which can be seen as beneficial. However, some game engines actually depend on accurate timings for proper game behavior, and not emulating them properly can result in considerable to major issues. Some notable examples include the following:* Intros and cutscenes playing too fast and not correctly syncing up with musical cues. Seen in Goldeneye's intro and Body Harvest's beginning cutscene.* Gameplay demos running at hyper speeds. Earthworm Jim 3D is most notorious for this, though the main game itself is largely unaffected.* Game physics not working properly due to being tied to framerate. A good example is Donkey Kong 64, which is programmed to boost the character's speed and momentum proportional to in-game lag (most likely to make up for the game's frequent framerate drops), which can be exploited for certain glitches and sequence breaks on real hardware. Emulators currently run the game too well and with too little lag, making most of these tricks impossible to pull off.* Possibly the most affected game is Knife's Edge, which runs like it's on permanent fast-forward, making it all but unplayable. Messing with timing-related settings such as CounterFactor can mitigate this somewhat, but nowhere near enough to fix the issue.Fortunately, tackling these problems has recently become a core focus of development in some N64 emulators, and attempts are underway to improve the situation. [[ares]] currently has the most accurate timings overall and already runs Earthworm Jim 3D's demos much better than other emulators. Meanwhile, [[simple64]] has recently pushed various timing-related commits aimed at improving accuracy, and as a result, it may now be the only emulator that runs Donkey Kong 64 properly. As these efforts progress, it should be noted that a side effect of improved timings may be greater in-game lag. This shouldn't be seen as the emulator becoming slower, but rather as the emulator behaving exactly like the real hardware does, as many N64 games were notorious for framerate drops. For more information about Nintendo 64 hardware and reverse engineering;* [https://www.youtube.com/@ModernVintageGamer/search?query=n64 MVG videos about Nintendo 64]* [https://youtu.be/xwls5SpNn1s Kaze Emanuar: How we BEAT the Limitations that defined the N64s Artstyle]* James Lambert: [https://youtu.be/r4KGm7ixcqI How I optimized Portal to run on the Nintendo 64], [https://youtu.be/Sf036fO-ZUk How I implemented MegaTextures on real Nintendo 64 hardware]* [https://www.copetti.org/writings/consoles/nintendo-64/ Rodrigo Copetti: Nintendo 64 Architecture Analysis]* [https://n64brew.dev/wiki/Main_Page N64brew Wiki] ==References==<references/> {{Nintendo}} [[Category: Consoles|!Nintendo 64]][[Category:Home consoles|!Nintendo 64]][[Category:Fifth-generation video game consoles|!Nintendo 64]][[Category:Nintendo consoles|!Nintendo 64]]
[[Category:Nintendo 64 emulators|*]]
[[Category:MAME Driver Status: Preliminary|!Nintendo 64]]
[[Category:MIPS-based|Nintendo 64]]
75
edits

Navigation menu