Changes

Jump to navigation Jump to search

Nintendo 64 emulators

4,004 bytes added, 27 March
adjusted the n64oid paragraph
The '''Nintendo 64''' 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.
==Emulators==
<div style="maxoverflow-x:auto;width:100%; overflow:auto;">{| class="wikitable sortable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
|{{✓}}
|-
|[[Project64BizHawk]]|align=left|{{Icon|Windows|Linux}}|[https://githubgitlab.com/Rosalie241TASVideos/BetterMajorasMaskInstallerBizHawk/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.">Rosalie241's MMHD</abbr>pipelines Dev builds]<br/>[httpshttp://www.pj64-emutasvideos.com/nightly-builds Nightly]<br/>[https:org/BizHawk/www.pj64-emuReleaseHistory.com/public-releases html {{Project64VerBizHawkVer}}]<br/>[https://github.com/Rosalie241/PJ64Launcher/releases/latest Keygen]
|{{~}}
|{{~}}
|{{~}}
|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]<br/>[[BizHawk#Supported_systems|(Core dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]<br/>[[BizHawk#Supported_systems|Core dependent]]</small>
|{{✓}}
|{{✓}}
|{{~}}
|-
|[[BizHawkProject64]]|align=left|{{Icon|Windows|Linux}}|[https://gitlabgithub.com/TASVideosRosalie241/BizHawkBetterMajorasMaskInstaller/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.">Rosalie241's MMHD</pipelines Dev buildsabbr>]<br/>[httphttps://tasvideoswww.pj64-emu.orgcom/nightly-builds Nightly]<br/>[https:/BizHawk/ReleaseHistorywww.pj64-emu.html com/public-releases {{BizHawkVerProject64Ver}}]<br/>[https://github.com/Rosalie241/PJ64Launcher/releases/latest Keygen]
|{{~}}
|{{~}}
|{{~}}
|?<br/><small>[[Recommended N64 plugins|(Plugin dependent)]]<br/>[[BizHawk#Supported_systems|(Core dependent)]]</small>| <small>[[Recommended N64 plugins|Plugin dependent]]<br/>[[BizHawk#Supported_systems|Core dependent]]</small>
|{{✓}}
|{{✓}}
|{{~}}
|-
|[[Mupen64Plus]]
|{{✓}}
|{{✗}}<ref group=N 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://github.com/tj90241/cen64 {{CEN64Ver}}]
|{{✗}}
|{{~}}
|{{✗}}
|?
| Partial Cycle
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[[MAME]]
|{{✓}}
|{{✓}}
|{{✗}}(WIP)
|-
|[[CEN64]]Rokuyon
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/tj90241Hydr8gon/cen64 rokuyon {{CEN64VerRokuyonVer}}]|{{✗}}
|{{✗}}
|{{~}}
|{{✗}}
|?
| Partial Cycle?
|{{✓}}
|{{✓}}
|{{✗}}(WIP)
|-
|[[1964]]|align=left|{{Icon|Windows}}|[https://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|{{✓}}|{{✗}}|{{✗}}<ref group=N name=1964GEPD>[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>|-|RokuyonR64Emu
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/Hydr8gonrasky/rokuyon {{RokuyonVer}}r64emu git]
|{{✗}}
|{{✗}}
|{{✓}}
|{{✓}}
|{{✗}}(WIP)
|-
|Gopher64
|?
|?
|{{?}}
|{{✓}}
|{{✓}}|{{✗}}(WIP)|-|[[1964]]|align=left|{{Icon|Windows}}|[https://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|{{✓}}|{{✗}}|{{✗}}<ref group=N name=1964GEPD>[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]]
|{{✗}}
|{{✗}}
|-
|R64Emu
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/rasky/r64emu git]
|{{✗}}
|{{✗}}
|{{✗}}
|?
|?
|{{✓}}
|{{~}}
|{{✗}}(WIP)
|-
!colspan="11"|Mobile / ARM
|{{~}}
|[https://daedalusx64.rinnegatamante.it/ 49%<br/><small>234 out of 473 reported titles (Vita)</small>]
[https://wololodocs.netgoogle.com/spreadsheets/d/talk13izCg9TYUWpF3Ot3P3wVUzAk_qpsNtsNqmydakELIUQ/viewtopic.php?tedit#gid=50252 141172263683 61%<br/><small>44 97 out of 308 157 reported titles from 1.1.6-1.1.8 (PSP)</small>]
[https://wiki.gbatemp.net/wiki/DaedalusX64_3DS 27%<br/><small>71 out of 260 reported titles (3DS)</small>]
|{{✓}}
|-
|[[Nintendo Switch Online ]] <small>(Hovercraft)<small>
|align=left|{{Icon|NX}}
|N/A
|{{✓}}
|{{✗}}
|{{~}}
|}
</div>
;[[Project64]]
:An open-source 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, is roughly as [[Emulation_accuracy|accurate]] as the development versions of Mupen64Plus when both are played with recommended plugins. It has a more user-friendly interface than some of the Mupen64Plus attempts and supports features such as Transfer Pak emulation and 64DD emulation. It now comes with GLideN64 out-of-the-box, but the default audio plugin isn't even the best in the box. Annoyingly, it also nags you with a 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/1.3.0 script]. An alternative is to download it through [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.0 version, and more than a few regressions and bugs have crept into the nightlies as a result, so it might be better to 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 instead.Note if you do use Project64, there is a exploit allowing people to remotely access your computer. This exploit only works if you have a rom from a random website, So watch where you get your roms if you using project64
;[[BizHawk]]
:Another out-of-the-box solution. Supports two cores for n64 ([https://github.com/TASEmulators/BizHawk/blob/master/Assets/dll/mupen64plus.dll mupen64plus] and [https://github.com/TASEmulators/BizHawk/tree/master/waterbox/ares64 Ares64]). Supports [https://github.com/TASEmulators/BizHawk/blob/master/Assets/dll/mupen64plus-video-GLideN64.dll GLideN64] and [https://github.com/TASEmulators/BizHawk/blob/master/Assets/dll/mupen64plus-video-angrylion-rdp.dll Angrylion] video plugins for mupen64plus core.
 
;[[CEN64]]
:Aims for [[Emulation_accuracy|cycle accuracy]] while at the same time aiming to be usable on modern PC hardware 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 project [https://github.com/n64dev/cen64/releases/tag/v0.3 citing a lack of satisfaction with the program's performance in its current interpreter-based incarnation]. While the baton has been collectively passed to the n64dev community for further development, progress has been slow.
;Kaizen
:Rewrite of another Nintendo 64 emulator project "[https://github.com/SimoneN64/shibumi shibumi]" which is developed by the same developer. It has already a QT frontend with recent builds, but lacks of [[#Enhancements]] and [[#Peripherals]] support[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.
 
;[[CEN64]]
:Aims for [[Emulation_accuracy|cycle accuracy]] while at the same time aiming to be usable on modern PC hardware 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 project [https://github.com/n64dev/cen64/releases/tag/v0.3 citing a lack of satisfaction with the program's performance in its current interpreter-based incarnation]. While the baton has been collectively passed to the n64dev community for further development, progress has been slow.
;[[1964]]
;[[Sixtyforce]]
:macOS-only, closed-source emulator. It 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 rather obsolete. However, development is still ongoing, and it's currently in its [https://sixtyforce.com/rosetta/ third rewrite] to support the upcoming [https://en.wikipedia.org/wiki/Apple-designed_processors Apple Silicon].
 
;[[Ryu64]]
: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] to Switch emulator [[Ryujinx]]'s Git repository and his depreciated [https://github.com/Dudejoe870/RyujinxAutoUpdate Ryujinx Auto-Updater] tool. "86RYU", an x86 JIT compiler, is being developed alongside this emulator too.
;[[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, plus 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]]
: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] to Switch emulator [[Ryujinx]]'s Git repository and his depreciated [https://github.com/Dudejoe870/RyujinxAutoUpdate Ryujinx Auto-Updater] tool. "86RYU", an x86 JIT compiler, is being developed alongside this emulator too.
;n64oid
:An Android-exclusive Nintendo 64 emulatorbased on Mupen64Plus by freeman_zy. It is similar to Project 64 1.6 in terms of compatibility, although it is unknown who authored it, as the . The APK for n64oid circulates on many legally-questionable APK sites. n64oid has the infamous problem in Mario Kart 64 of the screen in Wario Stadium not displaying properly, as it displays nothing but black. It upscales all games to widescreen, which works well most of time, but it will have performance issues on many some older phones. The emulator is relatively poor, but it is much easier to set up than other options. The emulator features a menu with many similarities to the mobile edition of Snes9x EX+ and the My Boy! family of Android emulators for Game Boy systems.
; [[Nintendo Switch Online]] (Hovercraft)
==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
! Bizhawk
|-
| rowspan=4 6 | Graphics
| [[Resolution|Resizable Internal Resolution]]
| {{Y}}
| {{?}}
|-
| 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.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 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 you can use ReShade for post-processing.</small>|-| rowspan=3 4 | Performance
| [[30/60_FPS_cheat_codes#Nintendo_64|Internal Framerate Hack]]
| {{?}}
| 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 crucial 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.com/ishitatsuyuki/LatencyFleX LatencyFleX], [https://developer.nvidia.com/performance-rendering-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, implementing rendering latency reduction technologies isn't currently feasible. This is '''likely''' doesn't offer enough benefit to justify the development effort.</small>|-| rowspan=4 6 | Post-Processing
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA 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 [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
| {{Y}}
| {{?}}
| {{Y}}
| {{Y}}
|-
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| [[Shader_Presets|Shader Chain]]
| {{Y}}
| {{N}}
| {{NY}}[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.php/category/hdr/ *]
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
| {{?}}
|-
| rowspan=7 8 | Quality of life
| Per-Game Profiles
| {{Y}}
| {{Y}}
| {{?}}
| {{?N}}[https://old.reddit.com/r/emulation/comments/1ay6fm1/ares_v136_released/krslaki/ *]
| {{?}}
| {{Y}}
| {{?}}
| {{?}}
| {{?}}
|-
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
| {{Y}}
| {{?}}
| {{?}}
| {{?}}
| {{Y}}[https://docs.mamedev.org/usingmame/commonissues.html#gsync-freesync *]
| {{?}}
|-
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
| {{Y}}
|
|
|
| {{Y}}
|
|-
| rowspan=2 | Controls
| {{N}}
|-
| rowspan=4 5 | Misc
| [https://retroachievements.org/gameList.php?c=2 RetroAchievements]
| {{Y}}
| {{N}}
| {{Y}}
|-
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
| colspan=6 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.
|-
| [[Netplay#Nintendo_64|Netplay]]
| {{?}}
|}
</div>
<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
| {{✗}}
| {{~}}[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 *]
| {{✓}}
|-
| {{✗}}
|}
</div>
<references group=N/>
===Voice Recognition Unit emulation===
For more information about Nintendo 64 hardware and reverse engineering;
* [https://www.youtube.com/watch@ModernVintageGamer/search?vquery=gRslfM-MOOw n64 MVGvideos about Nintendo 64]* [https://youtu.be/xwls5SpNn1s Kaze Emanuar: Why was 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 so hard to develop games for?], [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]
{{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:Very early emulation (MAME)Driver Status: Preliminary|!Nintendo 64]]
Anonymous user

Navigation menu