Nintendo 64 emulators

From Emulation General Wiki
Revision as of 04:10, 2 September 2015 by MoochMcGee (talk | contribs) (Project64 still has malware faggot. Quit being a shill and spread the facts.)
Jump to navigation Jump to search
The Nintendo 64 (N64)

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

Emulators

PC
Name Operating System(s) Latest Version Active Memory Pak? Rumble Pak? Transfer Pak? Libretro Core Recommended
Mupen64Plus Multi-platform SVN
Project64 Windows 2.2 Installer malware
CEN64 Windows, Linux Git ? ? ?
1964 Windows 1.1 (official)
1.2 r146 (SVN)
? ? ?
Daedalus Windows 1.1 ? ? ?
Sixtyforce OS X 1.0 ? ? ?
UltraHLE Windows 1.0.0 ? ? ?
Mobile
Name Operating System(s) Latest Version Active Memory Pak? Rumble Pak? Transfer Pak? Libretro Core Recommended
Mupen64+ AE Android 2.4.4 ? ? ?
Consoles
Name Operating System(s) Latest Version Active Memory Pak? Rumble Pak? Transfer Pak? Libretro Core Recommended
Virtual Console Wii, Wii U - ?
Not64 Wii, GameCube 20130408 ? ? ? ?
Wii64 Wii, GameCube 1.1 beta ? ? ?
Daedalus PlayStation Portable SVN ? ?

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.

  • Mupen64Plus, based on Hacktarux's Mupen64, is currently the most reliable N64 emulator. It lacks a native GUI, instead being run by dragging and dropping ROMs and editing the config with Notepad++. There are third-party GUIs made for it, but these often suffer from their own issues. Mupen64Plus is actively developed and has been ported to a number of different platforms. The RetroArch core of this emulator is heavily modified and may experience discrepancies or issues that wouldn't occur using the standalone version of it. The core is constantly being worked on and has features not present in mainline alongside RetroArch's general features, including Project64-style overclocking for faster framerates and 3-point texture filtering. BizHawk also uses a port of Mupen64Plus.
  • Project64 is still a decent choice for emulating many of the popular games, seeing various work done on it in recent years. It is capable of using a wide variety of plugins, and has a relatively user-friendly interface. However, it remains confined to Windows. Version 2.2 has various fixes over version 1.6.1 and is overall more accurate, even outclassing Mupen64Plus in some instances. However, audio playback is worse due to lag and crackling. It may be handy to keep a copy of version 1.6.1 alongside it for this reason. Whatever you do, DO NOT USE THE OFFICIAL INSTALLER FOR THE LATEST VERSION OF PROJECT64. Doing so will prompt you to install various programs, some of which are malware.
  • 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 a decent, speedy alternative to Project64 and Mupen64, though it usually lagged behind the two in compatibility. Nowadays, it has completely fallen off the radar. There is little reason to use it nowadays outside of historical purposes.
  • 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 small amount of them that work really well with the right settings (Quest 64, for example).
  • Sixtyforce is Mac-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 improving beyond its peers, it has now become irrelevant.
  • 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.
  • 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 and for users with toasters, there's not much to expect from this emulator anyway due to compatibility issues.

Emulation issues

Emulation for the N64 is not at the point where many may have expected it to be by now. The system is extremely complex compared to its contemporary consoles and compounded by almost no documentation being available to emulator developers, leading to it being difficult to create an emulator with a high degree of compatibility with games. Many games require specific plugin set ups 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 aforementioned lack of publicly available documentation for emulator developers. Many RDP functions have to be reproduced in software for accuracy, which takes a lot of 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, 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.

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.

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 an European release most likely).

Expansion disks for existing games (only used in one released game, F-Zero X, and existing but dummied in Zelda OoT and Mario Party 2 JP/PAL) are region coded to either Japan or US (obviously unused), and won't work with N64 games from the wrong region.

Recently there has been effort to emulate the 64DD, and now MAME can run several commercial 64DD games as part of its N64 emulator. This is being ported to CEN64 with the help of LuigiBlood.

PC
Name Operating System(s) Latest Version Active 64DD Emulation N64 Mouse Recommended
Project64 Windows 2.2.0.3 Mid
CEN64 Windows, Linux Git Mid ?
MAME Multi-platform ? Mid ?
  • Project64's latest versions emulate the N64 mouse and can load Zoinkity's 64DD cartridge conversions at playable speeds (actually, the 64DD hardware isn't even emulated). You need'll 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.
  • MAME includes early basic 64DD emulation as well, but is much slower. Current use: mame n64dd -quickload disk -cart cart (also adding -nodrc flag as MIPS drc seems to be broken) (both disk and cart are optional) Disk images need to be in head/track format. See here for format. Does not currently support disk swapping or saving disk to files. Writes only update the copy in memory, once the mame process ends the changes are lost.
  • 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 being imperfect.

iQue Emulation

Before the GBA, DS and 3DS, Nintendo released a modified version of their Nintendo 64 system for the Chinese market with 14 games localized to Chinese, including Sin and Punishment, a unique revision of Ocarina of Time (the Majora's Mask port was cancelled though) and Mario 64 among others.

Unlike the Chinese releases of their more recent systems and their games, no dumps in the same format as regular N64 releases exist yet for the N64 iQue releases, and no emulation support exist for them at all. The Chinese ROM-hacking scene is very active though, and have translated the Japanese regular N64 releases for many of these to their language already, which explain some of the Chinese ROMs floating for those.

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 GC and later WiiU). 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
  • Kuru Kuru Fever
  • Star Soldier: Vanishing Earth (also ported to N64)
  • 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
  • Magical Tetris Challenge
  • Mayjinsen 3 / Meijin-Sen
  • Rev Limit
  • Super Real Mahjong VS
  • Variant Schwanzer

Virtual Console games in Dolphin

Some N64 games are emulated better as a Virtual Console game through Dolphin than on an actual N64 emulator. Mario Tennis, Kirby 64, and Paper Mario are all examples of this. 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