Difference between revisions of "Nintendo 64 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulators)
(Project 64 does not have a libretro core)
(82 intermediate revisions by 45 users not shown)
Line 11: Line 11:
 
|emulated = {{✓}}
 
|emulated = {{✓}}
 
}}
 
}}
The '''Nintendo 64''' is a 64-bit fifth-generation console released by Nintendo in 1996.
+
The '''Nintendo 64''' is a 64-bit fifth-generation console released by Nintendo on September 29, 1996 for {{inflation|USD|199.99|1996}}.  It has a NEC VR4300 CPU clocked at 93.75 MHz, 4MB of RAM (a separate add-on was later released called the "Expansion Pak" that added an additional 4MB of RAM, making a total of 8MB of RAM), and an SGI RCP GPU.
  
 
==Emulators==
 
==Emulators==
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
 
! scope="col"|Active
 
! scope="col"|Active
Line 26: Line 26:
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="11"|PC
+
!colspan="11"|PC / x86
 
|-
 
|-
 
|[[Mupen64Plus]]
 
|[[Mupen64Plus]]
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/mupen64plus/mupen64plus-core/ 2.5]
+
|[https://github.com/mupen64plus/mupen64plus-core/releases {{Mupen64PlusVer}}]
|{{}}
 
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
Line 40: Line 40:
 
|-
 
|-
 
|[[Project64]]
 
|[[Project64]]
|Windows
+
|align=left|{{Icon|Windows}}
|[https://github.com/project64/project64 {{Project64Ver}}]
+
|[https://github.com/project64/project64/releases {{Project64Ver}}]<br >[https://www.pj64-emu.com/nightly-builds Dev]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 47: Line 47:
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 +
|{{✓}}
 +
|-
 +
|[[Project64 Netplay]]
 +
|align=left|{{Icon|Windows}}
 +
|[https://pj64netplay-emu.ml/download.html {{Project64NetplayVer}}]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
 
|[[CEN64]]
 
|[[CEN64]]
|Windows, Linux
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/tj90241/cen64 Git]
 
|[https://github.com/tj90241/cen64 Git]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|?
+
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
|{{}}
+
|{{~}}
 
|-
 
|-
 
|[[1964]]
 
|[[1964]]
|Windows
+
|align=left|{{Icon|Windows}}
|[http://www.emulation64.com/files/getdownload/936/ 1.1] (official)<br />[https://code.google.com/p/emu-1964/ 1.2 r146] (SVN)
+
|[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)
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
Line 72: Line 83:
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[https://web.archive.org/web/20160828165435/http://forums.daedalusx64.com/ Daedalus]
+
|DaedalusX64
|Windows
+
|align=left|{{Icon|Linux}}
|[http://www.dcemu.co.uk/vbulletin/threads/599734-Daedalusx64-for-Windows-OSX-Linux-Updated-v1-1?p=2148637718 1.1]
+
|[https://github.com/DaedalusX64/daedalus/releases/latest Git]
|{{}}
+
|{{}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 84: Line 95:
 
|-
 
|-
 
|[[Sixtyforce]]
 
|[[Sixtyforce]]
|macOS
+
|align=left|{{Icon|macOS}}
|1.0.1
+
|[http://sixtyforce.com/download/ 1.0.4]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 95: Line 106:
 
|-
 
|-
 
|[[UltraHLE]]
 
|[[UltraHLE]]
|Windows
+
|align=left|{{Icon|Windows}}
|1.0.0
+
|[https://web.archive.org/web/20070312015944/http://www.emuunlim.com/UltraHLE/ultrahle.zip 1.0]
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
Line 106: Line 117:
 
|-
 
|-
 
|[[MAME]]
 
|[[MAME]]
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|{{✓}}
 
|{{✓}}
Line 117: Line 128:
 
|-
 
|-
 
|[[Ryu64]]
 
|[[Ryu64]]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/Ryu64Emulator/Ryu64 Git]
 
|[https://github.com/Ryu64Emulator/Ryu64 Git]
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
|R64Emu
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/rasky/r64emu Git]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
|Larper64
 +
|align=left|{{Icon|Windows}}
 +
|[https://thirdworld.dev/files/Larper64-02.7z 0.2]
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 127: Line 160:
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
!colspan="11"|Mobile
+
!colspan="11"|Mobile / ARM
 
|-
 
|-
 
|[[Mupen64Plus]] FZ
 
|[[Mupen64Plus]] FZ
|[[Android emulators|Android]]
+
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=org.mupen64plusae.v3.fzurita 3.0.181]
+
|[https://play.google.com/store/apps/details?id=org.mupen64plusae.v3.fzurita 3.0.222 (beta)]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 141: Line 174:
 
|-
 
|-
 
|[[Mupen64Plus]]-pandora
 
|[[Mupen64Plus]]-pandora
|Pandora
+
|align=left|{{Icon|Pandora}}
 
|[https://pyra-handheld.com/boards/threads/mupen64plus-2-2.72661/ Build 20] (v2.2)
 
|[https://pyra-handheld.com/boards/threads/mupen64plus-2-2.72661/ Build 20] (v2.2)
 
|{{✓}}
 
|{{✓}}
Line 152: Line 185:
 
|-
 
|-
 
|MegaN64<br/><small>(Mupen64+ based)</small>
 
|MegaN64<br/><small>(Mupen64+ based)</small>
|[[Android emulators|Android]]
+
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=com.aspieapps.free.emulator 7.0]
 
|[https://play.google.com/store/apps/details?id=com.aspieapps.free.emulator 7.0]
 
|{{✓}}
 
|{{✓}}
Line 161: Line 194:
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 +
|-
 +
|[[Project64]]
 +
|align=left|{{Icon|Android}}
 +
|[https://www.pj64-emu.com/nightly-builds Dev]
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✗}}
 +
|{{na|text=TBD}}
 
|-
 
|-
 
!colspan="11"|Consoles
 
!colspan="11"|Consoles
 
|-
 
|-
 
|[[Virtual Console]]
 
|[[Virtual Console]]
|[[Wii emulators|Wii]], [[Wii U emulators|Wii U]]
+
|align=left|{{Icon|Wii|WiiU}}
 
|N/A
 
|N/A
 
|{{✓}}
 
|{{✓}}
Line 176: Line 220:
 
|-
 
|-
 
|Not64
 
|Not64
|[[Wii emulators|Wii]], [[GameCube_emulators|GameCube]]
+
|align=left|{{Icon|GCN|Wii}}
|[https://github.com/Extrems/Not64/releases/latest 20171009]
+
|[https://github.com/Extrems/Not64/releases/latest 20190410]
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
Line 187: Line 231:
 
|-
 
|-
 
|[https://code.google.com/p/mupen64gc/ Wii64]
 
|[https://code.google.com/p/mupen64gc/ Wii64]
|[[Wii emulators|Wii]], [[GameCube_emulators|GameCube]]
+
|align=left|{{Icon|GCN|Wii}}
 
|[https://code.google.com/archive/p/mupen64gc/downloads 1.1 beta]
 
|[https://code.google.com/archive/p/mupen64gc/downloads 1.1 beta]
 
|{{✗}}
 
|{{✗}}
Line 197: Line 241:
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[https://web.archive.org/web/20160828165435/http://forums.daedalusx64.com/ Daedalus]
+
|DaedalusX64
|[[PlayStation Portable emulators|PlayStation Portable]]
+
|align=left|{{Icon|PSP}}
|[http://www.emucr.com/search/label/DaedalusX64 SVN]
+
|[https://github.com/DaedalusX64/daedalus/releases/latest Git]
|{{}}
+
|{{}}
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 206: Line 250:
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{}}
+
|{{}}
 
|-
 
|-
 
|}
 
|}
  
 
===Comparisons===
 
===Comparisons===
Although many Nintendo 64 emulators have been made and many games can be run between them, complete compatibility and/or accuracy still leaves a bit to be desired. For half a decade, Mupen64Plus and Project64 have vied for the most playable emulator, and which has been more compatible has depended on when and in what configuration each emulator has been tested. Both emulators default to lackluster plugins, but, as of August 2017, both emulators have roughly equal graphical accuracy when running with GLideN64. Mupen64Plus arguably has the edge in audio accuracy over Project64 + Azimer's audio plugin.
+
Although many Nintendo 64 emulators have been made and many games can be run between them, complete compatibility and/or accuracy still leaves a bit to be desired. For half a decade, Mupen64Plus and Project64 have vied for the most playable emulator, and which has been more compatible has depended on when and in what configuration each emulator has been tested. Both emulators default to lackluster plugins, but, as of August 2017, both emulators have roughly equal graphical accuracy when running with GLideN64.
  
* [[Mupen64Plus]] is a multi-platform open-source emulator based on Hacktarux's Mupen64. As of [https://github.com/mupen64plus/mupen64plus-core/pull/336 July 2017], the codebase has reached compatibility parity with Project64, when both emulators are run with GLideN64. Mupen64Plus lacks a native GUI, instead of being run either from the command line or by dragging and dropping ROMs onto the executable and editing the config with a text editor such as Notepad++. There are several third-party GUIs made for it, of which M64Py may be the most solid. The end-user experience has improved in 2017 with [https://m64p.github.io/ m64p], which combines new versions of Mupen64Plus with GLideN64 and a new Qt5 GUI. This is as compatible as N64 emulation gets as of August 2017, and the package can be played out-of-the-box without having to mess around with plugins. Mupen64Plus has also been ported to a number of different platforms. [[BizHawk]] and [[OpenEmu]] use shallow forks of Mupen64Plus and its plugins for their N64 emulation.
+
* [[Mupen64Plus]] is an open-source, multi-platform, plugin-based emulator based on Hacktarux's Mupen64. As of [https://github.com/mupen64plus/mupen64plus-core/pull/336 July 2017], the codebase has reached compatibility parity with Project64, when both emulators are run with GLideN64. Mupen64Plus lacks a native GUI, instead of being run either from the command line or by dragging and dropping ROMs onto the executable and editing the config with a text editor such as Notepad++. Mupen64Plus has also been ported to a number of different platforms. [[BizHawk]] and [[OpenEmu]] use shallow forks of Mupen64Plus and its plugins for their N64 emulation.
  
 
:* Wii64 and Not64 are both 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 N64 releases whenever possible.
 
:* Wii64 and Not64 are both 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 N64 releases whenever possible.
  
* [[Project64]] is a mostly open-source emulator for Windows. Its official release builds are more up-to-date than Mupen64Plus', and the current version, 2.3.2, 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 come with GLideN64 out-of-the-box, and the default video and audio plugins aren'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.
+
* [[Project64]] is an open-source emulator for Windows. Its official release builds are more up-to-date than Mupen64Plus', and the current version, 2.3.2, 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 come with GLideN64 out-of-the-box, and the default video and audio plugins aren'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.
  
* [[RetroArch]]'s N64 libretro core is based on Mupen64Plus and its plugins but with heavy modifications. It introduces many features and optimizations not present in mainline alongside RetroArch's general features, including Project64-style overclocking for faster framerates, 3-point texture filtering, superior A/V sync and latency, and even an exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect plugin, making it a better alternative to the standalone version in most cases. Its developers have expressed intentions to eventually rewrite the core and brand it as its own emulator, called paraLLEl. That new paraLLEl core 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].
+
* [[RetroArch]]'s Nintendo 64 libretro core is based on Mupen64Plus and its plugins but with heavy modifications. It introduces many features and optimizations not present in mainline alongside RetroArch's general features, including Project64-style overclocking for faster framerates, 3-point texture filtering, superior A/V sync and latency, and even an exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect plugin, making it a better alternative to the standalone version in some cases. Its developers have expressed intentions to eventually rewrite the core and brand it as its own emulator, called paraLLEl. That new paraLLEl core 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].
  
 
* [[CEN64]] is an up-and-coming emulator that 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.
 
* [[CEN64]] is an up-and-coming emulator that 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.
Line 225: Line 269:
 
* [[1964]], along with its various versions and forks, was once a decent, speedy open-source alternative to Project64 and Mupen64, though it usually lagged behind the two compatibilities wise. Nowadays it has completely fallen off the radar, as development has stopped, is Windows-only, 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.
 
* [[1964]], along with its various versions and forks, was once a decent, speedy open-source alternative to Project64 and Mupen64, though it usually lagged behind the two compatibilities wise. Nowadays it has completely fallen off the radar, as development has stopped, is Windows-only, 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.
  
* Daedalus is an N64 emulator for the PSP, which has been ported to Windows, but results are even more hit-and-miss than on other emulators due to being made for PSP first and foremost. On PSP, most games are unplayable, but there's a [http://daedalusx64.wikia.com/wiki/DaedalusX64_Compatibility_List small amount of them that work really well] with the right settings (Quest 64, for example).
+
* Daedalus is an Nintendo 64 emulator for the PSP, which has been ported to Windows, but results are even more hit-and-miss than on other emulators due to being made for PSP first and foremost. On PSP, most games are playable, with some minor sound 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 irrelevant.
 
* [[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 irrelevant.
  
 
* [[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.
 
* [[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 N64 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 x86 JIT compiler, is being developed alongside this emulator too.
+
* [[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 x86 JIT compiler, is being developed alongside this emulator too.
  
 
==Emulation issues==
 
==Emulation issues==
Line 273: Line 316:
 
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-Gage's input plugin, but a couple of things aren't emulated:
 
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-Gage's input plugin, but a couple of things aren't emulated:
  
*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.
 
*Taking pictures with the Japanese ''Game Boy Camera'' (called ''Pocket Camera'') while in Transfer Pak mode playing ''Mario Artist: Paint Studio'' displays static.
  
Line 286: Line 328:
  
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
|+PC
 
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
 
! scope="col"|Active
 
! scope="col"|Active
Line 295: Line 336:
 
! scope="col"|N64 Mouse
 
! scope="col"|N64 Mouse
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
! colspan="7"|PC / x86
 
|-
 
|-
 
|[[Project64]]
 
|[[Project64]]
|Windows
+
|align=left|{{Icon|Windows}}
 
|[https://github.com/project64/project64 2.3.2]
 
|[https://github.com/project64/project64 2.3.2]
 
|{{✓}}
 
|{{✓}}
Line 305: Line 348:
 
|-
 
|-
 
|[[CEN64]]
 
|[[CEN64]]
|Windows, Linux
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/tj90241/cen64 Git]
 
|[https://github.com/tj90241/cen64 Git]
 
|{{✓}}
 
|{{✓}}
 
|Mid
 
|Mid
|?
+
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
 
|[[MAME]]
 
|[[MAME]]
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|{{✓}}
 
|{{✓}}
 
|Mid
 
|Mid
|?
+
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|}
 
|}
Line 342: Line 385:
 
* Donchan Puzzle Hanabi de Doon!
 
* Donchan Puzzle Hanabi de Doon!
 
* Eleven Beat: World Tournament
 
* Eleven Beat: World Tournament
 +
* Hi Pai Paradise
 
* Kuru Kuru Fever
 
* Kuru Kuru Fever
 +
* Magical Tetris Challenge
 +
* Mayjinsen 3 / Meijin-Sen
 
* Star Soldier: Vanishing Earth (also ported to N64)
 
* Star Soldier: Vanishing Earth (also ported to N64)
 +
* Super Real Mahjong VS
 
* Tower & Shaft
 
* Tower & Shaft
 
* Vivid Dolls (official eroge game on a Nintendo console)
 
* Vivid Dolls (official eroge game on a Nintendo console)
Line 350: Line 397:
  
 
The remaining ones from the system's library not yet covered are:
 
The remaining ones from the system's library not yet covered are:
* Hi Pai Paradise
+
* Hi Pai Paradise 2
* Magical Tetris Challenge
 
* Mayjinsen 3 / Meijin-Sen
 
 
* Rev Limit
 
* Rev Limit
* Super Real Mahjong VS
 
 
* Variant Schwanzer
 
* Variant Schwanzer
  
Line 391: Line 435:
 
==References==
 
==References==
 
<references/>
 
<references/>
 
+
  
 
{{Nintendo}}
 
{{Nintendo}}

Revision as of 06:55, 29 January 2020

Nintendo 64
Nintendo64Console.png
Developer Nintendo
Type Home video game console
Generation Fifth generation
Release date 1996
Discontinued 2002
Predecessor SNES
Successor GameCube
Emulated

The Nintendo 64 is a 64-bit fifth-generation console released by Nintendo on September 29, 1996 for $199.99. It has a NEC VR4300 CPU clocked at 93.75 MHz, 4MB of RAM (a separate add-on was later released called the "Expansion Pak" that added an additional 4MB of RAM, making a total of 8MB of RAM), and an SGI RCP GPU.

Emulators

Name Platform(s) Latest Version Active Controller Pak Rumble Pak Transfer Pak 64DD Libretro Core Recommended
PC / x86
Mupen64Plus Windows Linux macOS FreeBSD 2.5.9
Project64 Windows 3.0.1
Dev
Project64 Netplay Windows 10/15/21
CEN64 Windows Linux macOS Git ~
1964 Windows 1.1 (Official)
1.2 r146 (Unofficial SVN)
DaedalusX64 Linux Git
Sixtyforce macOS 1.0.4
UltraHLE Windows 1.0
MAME Windows Linux macOS FreeBSD 0.264
Ryu64 Windows Linux macOS Git
R64Emu Windows Linux macOS Git
Larper64 Windows 0.2
Mobile / ARM
Mupen64Plus FZ Android 3.0.222 (beta)
Mupen64Plus-pandora Pandora Build 20 (v2.2) ? ?
MegaN64
(Mupen64+ based)
Android 7.0
Project64 Android Dev TBD
Consoles
Virtual Console Wii Wii U N/A
Not64 GameCube Wii 20190410
Wii64 GameCube Wii 1.1 beta
DaedalusX64 PSP Git

Comparisons

Although many Nintendo 64 emulators have been made and many games can be run between them, complete compatibility and/or accuracy still leaves a bit to be desired. For half a decade, Mupen64Plus and Project64 have vied for the most playable emulator, and which has been more compatible has depended on when and in what configuration each emulator has been tested. Both emulators default to lackluster plugins, but, as of August 2017, both emulators have roughly equal graphical accuracy when running with GLideN64.

  • Mupen64Plus is an open-source, multi-platform, plugin-based emulator based on Hacktarux's Mupen64. As of July 2017, the codebase has reached compatibility parity with Project64, when both emulators are run with GLideN64. Mupen64Plus lacks a native GUI, instead of being run either from the command line or by dragging and dropping ROMs onto the executable and editing the config with a text editor such as Notepad++. Mupen64Plus has also been ported to a number of different platforms. BizHawk and OpenEmu use shallow forks of Mupen64Plus and its plugins for their N64 emulation.
  • Wii64 and Not64 are both 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 N64 releases whenever possible.
  • Project64 is an open-source emulator for Windows. Its official release builds are more up-to-date than Mupen64Plus', and the current version, 2.3.2, 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 come with GLideN64 out-of-the-box, and the default video and audio plugins aren'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.
  • RetroArch's Nintendo 64 libretro core is based on Mupen64Plus and its plugins but with heavy modifications. It introduces many features and optimizations not present in mainline alongside RetroArch's general features, including Project64-style overclocking for faster framerates, 3-point texture filtering, superior A/V sync and latency, and even an exclusive LLE Vulkan renderer based on Angrylion's pixel-perfect plugin, making it a better alternative to the standalone version in some cases. Its developers have expressed intentions to eventually rewrite the core and brand it as its own emulator, called paraLLEl. That new paraLLEl core has a special "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 powerful GPU.
  • CEN64 is an up-and-coming emulator that 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, was once a decent, speedy open-source alternative to Project64 and Mupen64, though it usually lagged behind the two compatibilities wise. Nowadays it has completely fallen off the radar, as development has stopped, is Windows-only, 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.
  • Daedalus is an Nintendo 64 emulator for the PSP, which has been ported to Windows, but results are even more hit-and-miss than on other emulators due to being made for PSP first and foremost. On PSP, most games are playable, with some minor sound 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 PPC dynarec), but, with the switch to x86 and Mupen64Plus being ported to macOS, it has now become irrelevant.
  • 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-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) commit at Switch emulator, Ryujinx's Git repository and his depreciated Ryujinx Auto Updater tool. "86RYU", a x86 JIT compiler, is being developed alongside this emulator too.

Emulation issues

Main article: Recommended N64 plugins

Emulation for the N64 is not at the point where many would expect it to be by now. The system is extremely complex compared to its contemporary consoles. With almost no documentation being available to emulator developers, it is difficult to create an emulator with a high degree of compatibility with games. Many games require specific plugin setups with specific emulators to be played decently.

High-level vs. low-level graphics

One of the biggest hurdles in the road to proper N64 emulation has been accurately emulating the N64's graphics hardware, known as the Reality Display Processor, itself a part of the N64's Reality Co-Processor. The N64's RDP was the first real 3D accelerator GPU on consoles. In fact, it was the most powerful consumer-grade GPU in the world at the time it came out. It is very hard to emulate all of its functions accurately due to the RDP's complexity & flexibility. In addition, many RDP functions have to be reproduced in software for accuracy, which takes a lot of processing power.

For this reason, most developers have instead opted to approximate the RDP's functions using high-level emulation (HLE) through various APIs such as Direct3D, OpenGL, 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 and miss. It often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games implemented custom graphics microcode which had yet to be reverse-engineered. Although many or even all of them have already been implemented in HLE mode in 2016-2018 with dedicated work from GLideN64's lead programmer, gonetz, and one or two assistants.[1][2] For example, Factor 5's games do now work, specifically when using GLideN64 plugin's high-level graphics mode.[3][4] Other games may have issues with such RDP quirks as frame buffer/depth buffer access (issues with how the frame buffer is used as well as performance issues), VI emulation as well as issues with how combiner/blender modes are emulated (such as noise issues and combiner accuracy).

Low-level emulation can be handled in two ways, complete low-level software emulation or a hybrid approach of LLE RDP emulation, which involves using graphics APIs to simulate the RDP while using low-level RSP emulation to emulate the graphics microcode. Low level software emulation of 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 performed. Hybrid LLE emulation can allow for performance enhancement over low level software RDP emulation but can suffer from various problems due to things such as replicating the N64's numerous blending/combine modes, emulating frame buffer access and replicating how polygons are rasterized to the screen (due to how the RDP renders primitives on a low level).

It should also be noted that even though most games "work" through the HLE method, it is not an accurate representation of what the N64 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 the N64's often blurry low-res output.

Texture filtering

The N64 was the first console to feature texture filtering of any kind. However, unlike PC graphics hardware and every console after the N64, its implementation of bilinear texture filtering was unique, in that, in order to reduce strain on the system, it only used three samples as opposed to four, resulting in slightly jagged textures. Instead of faithfully applying this "imperfect" version of bilinear, HLE plugins instead apply conventional bilinear filtering, interpolating straight from the source texture up to the output resolution, much like on PC games. While technically this method of bilinear filtering is superior to the N64's, it can also result in textures that look even blurrier than 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. 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 oftentimes low resolutions.

RetroArch's Mupen64Plus core has taken some steps which help remedy these problems. It is the only emulator that implements N64-style three-point texture filtering, which results in a more faithful look. It is also capable of rendering at 320x240, which sidesteps the issues with filtered text, UI elements, and menu screens, while still retaining texture filtering. Pixel-accurate plugins do not have these problems at all.

Voice Recognition Unit emulation

The Voice Recognition Unit (VRU) is an accessory used primarily by Hey You, Pikachu. No emulator or input plugin supports this, although there is an on-going effort to get it working.[5]

Densha De Go! Controller

Also available for the PlayStation, Densha De Go! 64 is a Japan-only train simulator released by Taito that is compatible with an optional special controller that plugs into the player 3 port.[6] No emulator supports it.

Pokémon Snap Station

There was a special kiosk designed to promote 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.[7][8] Although the special cartridge boots 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.

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-Gage'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.

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 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 LuigiBlood.

Name Platform(s) Latest Version Active 64DD Emulation N64 Mouse Recommended
PC / x86
Project64 Windows 2.3.2 Mid
CEN64 Windows Linux macOS Git Mid
MAME Windows Linux macOS FreeBSD 0.264 Mid
  • 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.
    • The 64DD hardware started to be emulated around 2.3's release with the help of 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 is much slower. Disk images need to be in head/track format. See 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: mame n64dd -quickload disk -cart cart -nodrc (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 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 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.

Aleck 64 arcade emulation

Nintendo collaborated with SETA to release an arcade system based on their Nintendo 64 system (kind of like their PlayChoice-10 for the NES, Super System arcade hardware for SNES, and later Triforce for GCN and Wii U). 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.

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
  • 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 patches to convert arcade ROM dumps to regular N64 ROM format can be found here.

The remaining ones from the system's library not yet covered are:

  • Hi Pai Paradise 2
  • Rev Limit
  • Variant Schwanzer

Virtual Console games in Dolphin

Some N64 games are emulated well on a Virtual Console game through Dolphin. The system requirements are much higher, but it's doable for many games. The following games are on the N64 Virtual Console for Wii:

  • 1080 Snowboarding
  • Bomberman Hero
  • Cruis'n USA
  • Custom Robo V2 (Japan only)
  • F-Zero X
  • Kirby 64: The Crystal Stars
  • The Legend of Zelda: Majora's Mask
  • The Legend of Zelda: Ocarina of Time
  • Mario Golf
  • Mario Kart 64
  • Mario Party 2
  • Mario Tennis
  • Ogre Battle 64: Person of Lordly Caliber
  • Paper Mario
  • Pokemon Puzzle League
  • Pokemon Snap
  • Sin & Punishment (English)
  • Star Fox 64
  • Super Mario 64
  • Super Smash Bros.
  • Wave Race 64
  • Yoshi's Story

References