Difference between revisions of "Nintendo 64 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Added MESS)
(Emulation issues)
Line 72: Line 72:
 
==Emulation issues==
 
==Emulation issues==
  
The N64 was an overly complex machine that was difficult to program for. For this reason, creating an emulator is quite difficult.
+
The N64 was an overly complex machine that was difficult to program for. For this reason, emulating it with a high degree of accuracy and compatibility has proven to be no simple task.
 +
===High-level vs. low-level graphics===
  
One of the biggest hurdles is accurately emulating the N64's graphics hardware, known as the Reality Display Processor, itself a part of the N64's Reality Co-Processor. The RDP is a fully featured and very complex GPU, and emulating it at a low level has proved to be a daunting task that requires a lot of research, coding expertise, and immense amounts of resources. For this reason, most developers have instead opted to approximate its functions using high-level emulation through various APIs such as Direct3D, OpenGL, and even Glide. While this results in much more reasonable system requirements for emulation along with high resolution graphics, this can be hit and miss, often requiring per-game tweaks and settings to prevent graphical glitches, and even then some games that implemented custom microcode (which has yet to be reverse-engineered) do not work no matter what.
+
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 RDP is a very complex, fully-featured GPU, and emulating it at a low level has proved to be a daunting task that requires a lot of research, coding expertise, and immense amounts of system resources.
  
It should also be noted that even though most games "work" through this method, it is not an accurate representation of what the N64 hardware's 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.
+
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, often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games that implemented custom microcode (which has yet to be reverse-engineered) such as Factor 5's games do not work no matter what using high-level graphics plugins.
 +
 
 +
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.
  
 
<gallery widths="300">
 
<gallery widths="300">

Revision as of 12:10, 16 August 2013

The Nintendo 64 (N64) console

The Nintendo 64 is a 64-bit, 5th generation console released by Nintendo in 1996.

Emulators

Name Operating System(s) Latest Version Active Recommended
Mupen64Plus Multi-platform SVN
Project64 Windows 2.1
1964 Windows 1.1 (official), 1.2 r146 (SVN)
Daedalus Windows, PlayStation Portable 1.1 (Windows), SVN (PSP)
Not64 Wii, Gamecube 20130408 ?
MESS Multiplatform 0.149
Wii64 Wii, Gamecube 1.1 beta
Sixtyforce OS X 0.9.7

Comparisons

In terms of compatibility with the N64's game library, vanilla Mupen64 was basically on par with if not superior to Project64 1.6, with 1964 lagging quite a bit behind the two. Mupen64Plus improves upon Mupen64 even further, while Project64 2.1 only fixed a few things and broke others. Mupen64Plus is receiving far more updates, and will likely be the N64 emulator of the future.

That said, as things stand, N64 emulation is a complete mess. Every emulator has its own unique compatibility issues, and it varies significantly even within one emulator if using different plugins. Refer to this link for optimal emulator settings based on the game you want to play.

For Daedalus, 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 small amount of them that work really well with the right settings (Quest 64, for example). It's the only option for N64 emulation on PSP.

Wii64 and Not64 are both based on Mupen64, with Not64 being a fork of Wii64. Not64 claims to be better optimised, as well as having higher compatibility and more frequent updates.

MESS uses a very accurate method of emulation, but as a result is very, very slow. Not usable on current hardware.

Sixtyforce is Mac-only, closed-source, which asks you to pay for it to use all its features. It's utterly irrelevant now.

Emulation issues

The N64 was an overly complex machine that was difficult to program for. For this reason, emulating it with a high degree of accuracy and compatibility has proven to be no simple task.

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 RDP is a very complex, fully-featured GPU, and emulating it at a low level has proved to be a daunting task that requires a lot of research, coding expertise, and immense amounts of system resources.

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, often requiring per-game tweaks and settings to prevent graphical glitches on many games. Some games that implemented custom microcode (which has yet to be reverse-engineered) such as Factor 5's games do not work no matter what using high-level graphics plugins.

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.