Changes

Jump to navigation Jump to search

Nintendo 64 emulators

626 bytes added, 00:30, 24 September 2021
m
Updated link
|logo = Nintendo64Console.png
|developer = [[:Nintendo]]
|type = [[:Category:ConsolesHome consoles|Home video game console]]
|generation = [[:Category:Fifth-generation video game consoles|Fifth generation]]
|release = 1996
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|Plugins
! scope="col"|Controller Pak
! scope="col"|Rumble Pak
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="1213"|PC / x86
|-
|[[m64p]] (ParaLLEl)
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/loganmc10/m64p/releases/latest Gitgit]|{{✓}}
|{{✓}}
|{{✓}}
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/loganmc10/m64p/releases/tag/v2021.5.30 Final GLideN64]
|{{✓}}
|{{✓}}
|{{✓}}
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://www.retroarch.com/ 2.0-rc2]
|{{✓}}
|{{✓}}
|{{✓}}
|{{✓}}
|-
|[[Project64RMG]]|align=left|{{Icon|Windows|Linux}}|[https://github.com/project64Rosalie241/project64/releases RMG git]|{{Project64Ver}}]<br >[https://www.pj64-emu.com/nightly-builds Dev]
|{{✓}}
|{{✓}}
|{{✓}}
|-
|[[RMGProject64]]|align=left|{{Icon|Windows|Linux}}|[https://ciwww.appveyorpj64-emu.com/projectpublic-releases {{Project64Ver}}]<br >[https:/rosalie241/rmgwww.pj64-emu.com/build/artifacts Gitnightly-builds Dev]|{{✓}}
|{{✓}}
|{{✓}}
|{{✗}}
|{{✓}}
|{{}}|{{~}}
|-
|[[ares]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/higan-emu/ares.dev/ Officialreleases/ {{aresVer}}]|{{✗}}
|{{✓}}
|{{~}}
|[[CEN64]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/tj90241/cen64 Gitgit]|{{✗}}
|{{✓}}
|{{✓}}
|[[Mupen64Plus]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/mupen64plus/mupen64plus-core/releases Gitgit]|{{✓}}
|{{✓}}
|{{✓}}
|align=left|{{Icon|Windows}}
|[https://pj64netplay-emu.ml/download.html {{Project64NetplayVer}}]
|?
|{{✗}}
|{{✗}}
|{{✓}}
|{{✓}}
|{{~}}
|-
|[[BizHawk]]
|align=left|{{Icon|Windows}}
|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
|{{✗}}
|{{✓}}
|{{✓}}
|align=left|{{Icon|Windows}}
|[http://www.emulation64.com/files/getfile/936/ 1.1] (Official)<br />[http://files.emulation64.fr/Emulateurs/EMU_1964_146.zip 1.2 r146] (Unofficial SVN)
|{{✓}}
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[[DaedalusX64]]
|align=left|{{Icon|Linux}}
|[https://github.com/DaedalusX64/daedalus/releases/latest Gitgit]|?
|{{✓}}
|{{✓}}
|align=left|{{Icon|macOS}}
|[http://sixtyforce.com/download/ {{SixtyforceVer}}]
|?
|{{✓}}
|{{✓}}
|Larper64
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://thirdworlddrive.devgoogle.com/ 0.4file/d/1IWyw5UG9Uf24KG0zrcXSFoOmcQoHWmyc/view {{Larper64Ver}}]|?|{{✗}}
|{{✗}}
|{{✗}}
|{{✗}}
|{{✗}}
|{{✓}}
|{{✗}}
|-
|align=left|{{Icon|Windows}}
|[https://web.archive.org/web/20070312015944/http://www.emuunlim.com/UltraHLE/ultrahle.zip 1.0]
|?
|{{✗}}
|{{✗}}
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[http://www.mamedev.org/release.html {{MAMEVer}}]
|{{✗}}
|{{✗}}
|{{✗}}
|[[Ryu64]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/Ryu64Emulator/Ryu64 Gitgit]|?
|{{✗}}
|{{✗}}
|R64Emu
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/rasky/r64emu Gitgit]|?
|{{✗}}
|{{✗}}
|{{✗}}
|-
!colspan="1213"|Mobile / ARM
|-
|[[Mupen64Plus]] FZ
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=org.mupen64plusae.v3.fzurita 3.0.222 291 (beta)]|?
|{{✓}}
|{{✓}}
|{{✓}}
|-
|[[Mupen64Plus]]-pandora/Pyra|align=left|{{Icon|Pandora|Pyra}}|[https://pyra-handheld.com/boards/threads/mupen64plus-2-2.72661Pandora Build]<br/>[https://pyra-handheld.com/ repo/apps/39 Pyra Build 21] (v2.2)|?
|{{✓}}
|?
|{{✓}}
|-
!colspan="1213"|Consoles
|-
|[[Virtual Console]]
|align=left|{{Icon|Wii|WiiU}}
|N/A
|{{✗}}
|{{✗}}
|{{✗}}
|{{✓}}
|-
|Surreal64 CENot64|align=left|{{Icon|XboxGCN|Wii}}|[https://digiexgithub.netcom/Extrems/Not64/threadsreleases/surreal64-ce-b6-0-download-n64-emulator-for-xbox.13677 Surreal64 CE B6.0latest git]|?
|{{✓}}
|{{✓}}
|{{✗}}
|{{✓}}
|{{}}
|{{✓}}
|-
|mupen64-360[[DaedalusX64]]|align=left|{{Icon|Xbox360PSP|3DS}}<br>{{Icon|Vita|PS2}}|[https://digiexgithub.com/DaedalusX64/daedalus/releases/latest PSP]<br/>[https://github.netcom/threadsmasterfeizz/mupen64DaedalusX64-3603DS/releases 3DS]<br/>[https://github.com/Rinnegatamante/DaedalusX64-xbox-360-nintendovitaGL/releases VitaGL]<br/>[https://www.ps2-64-n64-emulator-downloadhome.9352 mupen64-360 v0com/forum/viewtopic.96 betaphp?f=99&p=39957#p39957 PS2]|?|{{✓}}
|{{✗}}
|{{✓}}
|{{✗}}
|{{✗}}
|{{✗}}
|{{✓}}
|{{✗}}
|{{✓}}
|{{~}}
|-
|Not64Surreal64 CE|align=left|{{Icon|GCN|WiiXbox}}|[https://githubdigiex.comnet/Extremsthreads/Not64/releases/latest 20200609surreal64-ce-b6-0-download-n64-emulator-for-xbox.13677 Beta 6.0]|?
|{{✓}}
|{{✓}}
|{{✓}}
|{{✗}}
|{{~}}
|-
|DaedalusX64mupen64-360|align=left|{{Icon|PSP|3DS}}<br>{{Icon|Vita|PS2Xbox360}}|[https://githubdigiex.comnet/DaedalusX64threads/daedalus/releases/latest Git], [https://github.com/masterfeizz/DaedalusX64mupen64-360-xbox-360-nintendo-64-3DS/releases 3DS Git]<br>[https://github.com/Rinnegatamante/DaedalusX64n64-vitaGL/releases vitaGL Git], [https://www.ps2emulator-homedownload.com/forum/viewtopic9352 0.php96 beta]|?f=99&p=39957#p39957 PS2]|{{✗}}
|{{✓}}
|{{✗}}
|{{✗}}
|{{✗}}
|{{✓}}
|{{✗}}
|{{✓}}
|{{✓}}
|{{~}}
|-
|align=left|{{Icon|GCN|Wii}}
|[https://code.google.com/archive/p/mupen64gc/downloads 1.1 beta]
|?
|{{✓}}
|{{✓}}
;[[Mupen64Plus]]:A multi-platform emulator based on Hacktarux's Mupen64. It's about as 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 waiting are merged, we are at "compatibility parity" with Project64 as far as I can tell. I don't know of any game that doesn't boot with mupen64plus that works in PJ64."</ref> when both emulators are run with GLideN64. However, Mupen64Plus lacks a native GUI, instead being launched either from the command line or by dragging and dropping ROMs onto the executable and editing the config with a text editor. [[BizHawk]] and [[OpenEmu]] use forks of Mupen64Plus and its plugins for their N64 emulation, but they seem to be shallow.
:;ParaLLEl:A heavily-modified fork developed as a [[libretro]] core. It introduces many features and optimizations not present in mainline alongside [[RetroArch]]'s general features, including Project64-style overclocking for faster frame rates, 3-point texture filtering, superior A/V sync and latency, and even an exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect RDP plugin, making it a better alternative to the standalone version in some cases, especially if accuracy is the goal. ParaLLEl has a special "[https://www.youtube.com/watch?v=mzR93F9gPdc Super VI Mode]" option which, if used, can make the visuals of N64 games look less blurry with fairly mitigated jaggies even at their native resolutions. Although, 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.
:;[[m64p]]:Probably the easiest "out of the box" solution for Nintendo 64 emulation. It comes with Parallel RDP, as well as its own custom GUI and input plugin.
:;[[RMG]]:Rosalie's Mupen GUI was is a project aiming to close the gap between Project64 and Mupen64Plus in terms of user experience. However, as of 9th of January 2021 the project have now been archived by the owner putting the work on it on hold indefinitely.
:;Wii64 and Not64:Both are based on Mupen64, with Not64 being a fork of Wii64. Not64 claims to be better optimized as well as having higher compatibility and more frequent updates. N64 emulation on Wii is not very good, and it is recommended to stick with the Virtual Console releases whenever possible.
;[[Project64]]:An open-source emulator for Windows. Its official release builds are more up-to-date than Mupen64Plus', and the current version, 3.0.1, is roughly as accurate as the development versions of Mupen64Plus when both are played with recommended plugins. It has a more user-friendly interface than the Mupen64Plus attempts and supports more features such as overclocking and Transfer Pak emulation. However, it doesn't It does come with GLideN64 out-of-the-box, and but the default video and audio plugins arenplugin isn't even the best in the box. It presently remains confined to Windows, though work is underway to port it to Android and Linux. For the most part, it works well in [[Wine]], but, if you're on a different platform, use Mupen64Plus instead.
;[[CEN64]]:Aims for cycle accuracy while, at the same time, aiming to eventually be usable on modern PC hardware. It currently lacks many features and has spotty compatibility, but it's gradually improving. It can already emulate some well-known edge cases such as the picture recognition in Pokemon Snap.
;[[1964]]:Along with its various versions and forks, it was once a decent, speedy open-source alternative to Project64 and Mupen64, though it usually lagged behind the two compatibility-wise. Nowadays it has completely fallen off the radar as development has halted, and there is no longer a central code repo to speak of. 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 Project64. However, a fork named 1964 GEPD is regularly updated and remains the go-to choice for emulation of 007 Goldeneye and Perfect Dark. This is for a number of reasons, the most notable are a 60 FPS hack and a mouse injector plugin, which happens to include an FOV slider.
;Daedalus:is an a Nintendo 64 emulator for PC which was ported to the PSP under the name of DaedalusX64. The PSP version later became the main version and got ported to platforms such as the Dreamcast, the PS2, the PS Vita , and the 3DS. On PSP, several games are able to reach full speed and most of them work with few emulation issues.
;[[Sixtyforce]]:is macOS-only, closed-source, and asks you to pay for full access to its features. It was once one of the only choices for Mac users, particularly those with older Macs, since it's the only emulator with a <abbr title="Power PC">PPC</abbr> [[Dynamic recompilation|dynarec]]), but, with the switch to x86 and Mupen64Plus being ported to macOS, it has now become less relevant. However, development is still on ongoing, and is currently in its [https://sixtyforce.com/rosetta/ third rewrite] to support the upcoming [https://en.wikipedia.org/wiki/Apple-designed_processors Apple Silicon].
;[[UltraHLE]]:marked a milestone in Nintendo 64 emulation, in that it was the first to play some popular N64 titles at full speed on hardware made at the time of its release through [[High/Low -level emulation|high-level emulation]]; it isn't without its drawbacks though - pressure from users, combined with legal threats from Nintendo, forced them to discontinue development. Besides being for historical value, there's not much to expect from this emulator anyway due to compatibility issues.
;[[Ryu64]]:is a Nintendo 64 emulator made in C#. The 'Ryu' word is named after the "RyuJIT" used in both Visual Basic & C#. But it might have been inspired by the lead author's sole (so far) [https://github.com/Ryujinx/Ryujinx/commits?author=Dudejoe870 commit] at Switch emulator, [[Ryujinx]]'s Git repository , and his depreciated [https://github.com/Dudejoe870/RyujinxAutoUpdate Ryujinx Auto Updater] tool. "86RYU", a an x86 JIT compiler, is being developed alongside this emulator too.
==Emulation issues==
* Most developers in 1999 and the early 2000s opted to approximate functions through various APIs such as Direct3D, OpenGL, and even Glide. While this resulted in much more reasonable system requirements for emulation, along with prettier, higher resolution graphics, this method proved to be hit and miss, often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games flat out didn't work, because it wasn't clear what the microcode did or why, and required extensive hardware testing.
* On the low -level side, developers would either completely emulate the RDP or autodetect the microcode and use an appropriate implementation for the game. The former would mean a software renderer accurate to the hardware but major performance bottlenecks unless optimizations like vectorization and multi-threading were implemented. The latter would mean faster performance but developers would still have to figure out how to account for edge cases.
gonetz and one or two assistants have spent a large portion of development improving GlideN64's handling of microcode 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 the 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 (issues with how the frame buffer is used as well as performance issues), VI emulation, and how combine/blending modes are emulated (such as noise issues and combiner accuracy).
It should be noted that most games technically work through the HLE method, but it's not an accurate representation of what the video output actually looked like, but rather a rough approximation by your graphics card. Whether this is an improvement or not is subjective.
<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>
===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. Mostly, this can be done with N-GageNRage's input plugin, but a couple of things aren't emulated:
*Taking pictures with the Japanese ''Game Boy Camera'' (called ''Pocket Camera'') while in Transfer Pak mode playing ''Mario Artist: Paint Studio'' displays static.
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 feature, but dummied-out expansion data in Ocarina of Time and Mario Party 2 (JP/PAL) exist as well.
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]. The latest newcomer is Mupen64Plus which is the base of other emulators such as [[m64p]] and [[RMG]].
{| class="wikitable" style="text-align:center;"
|[[Project64]]
|align=left|{{Icon|Windows}}
|[https://github.com/project64/project64 2{{Project64Ver}}]<br >[https://64dd.3org/downloads.2html 64DD.org Builds]
|{{✓}}
|Mid
|[[CEN64]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/tj90241/cen64 Gitgit]
|{{✓}}
|Mid
|{{✓}}
|{{✗}}
|-
|[[m64p]]
|align=left|{{Icon|Windows|Linux|macOS}}
||[https://github.com/loganmc10/m64p/releases git]
|{{✓}}
|?
|{{✓}}
|{{✗}} (WIP)
|-
|[[MAME]]
* MAME includes early basic 64DD emulation as well but is 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 disk 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 for from the 64DD emulation itself is imperfect.
===iQue Player emulation===
Before the GBA, DS, and 3DS, Nintendo released a modified version of their Nintendo 64 system for the Chinese market, which was called the iQue Player, through their not-quite-subsidiary iQue. Fourteen games were translated into Simplified Chinese, including Sin and Punishment, Ocarina of Time (the Majora's Mask port was canceled), Super Mario 64, and others.
Unlike the Chinese releases of their more recent systems and their games, iQue Player releases are regular N64 roms wrapped with several layers of encryption, as well as a ticket and signature system like that on Wii, DSi, 3DS, Wii U , and Switch. The Chinese ROM-hacking scene is very active though and has translated the Japanese regular N64 releases for many of these to their language already, which explain explains some of the Chinese ROMs floating for those. However, recently, almost all pieces of iQue Player software were decrypted to regular .z64 ROM format.
Several of the Chinese game localizations already run on N64 emulators, but as some hardware features of the iQue Player are not yet supported, some games, as well as the system menu and features in games such as saving, do not work yet.
==References==
<references/>
{{Nintendo}}
[[Category:Consoles]]
[[Category:Home consoles]]
[[Category:Fifth-generation video game consoles]]
[[Category:Nintendo consoles]]
[[Category:Nintendo 64 emulators|*]]
2,527
edits

Navigation menu