Changes

Jump to navigation Jump to search

Recommended N64 plugins

1,672 bytes added, 20:10, 18 January 2022
m
Added Mupen64Plus HLE RSP as a recommendation for Project64 Performance "profile"
{{Outdated}}
 
The N64 emulation scene had previously been described as a broken mess, the very definition of plugin hell. With recent developments in the scene, however, the situation has markedly improved, and it is no longer considered necessary to have multiple emulators and plugins on hand to get most games to work. This page will outline the best plugins currently available for the benefit of both the casual and enthusiast looking to get their N64 emulation fix.
To understand the current plugin situation, and why there are several competing emulators that all appear to use the same plugins but said plugins are not compatible across emulators, a bit of history is in order. As for the terms HLE and LLE, which will occur with frequency throughout this page, and the difference between them, it is recommended to read this page on [[High/Low level emulation]] beforehand.
Historically, the majority of N64 emulators all shared the same plugin spec (known as the zilmar spec, after the creator of Project64, the first emulator to use it), and could therefore all use the same plugins, meaning you could take a plugin DLL file, use it on one emulator, then take that DLL and use it on another, and it would also work there. Of these, the big three emulators were [[Project64]], [[1964]] and Mupen64. Each had advantages and disadvantages, and some games worked well in one only to not work in another, even when using the same plugin configuration. This necessitated having all of these emulators and sometimes even older or modified versions of them, along with a great many plugins, to be able to play most of the N64 library with the least amount of issues possible - though admittedly a good amount of games (particularly the most popular ones) were playable with just the best few of them.  To illustrate the point, [http://bhemuhelp.unaux.com/n64mgcl/N64ConfigList.html here] is a site that, as late as 2012, was dedicated to documenting the exact emulator, plugin and settings combination necessary to get each and every game to at least a playable state, if at all possible. Unsurprisingly, this situation often led to a lot of confusion from users, who often wondered why there were so many plugins, and which ones were the best to use, only to find out it often depended on the game, and even then, some games would refuse to work as intended no matter what was tried. Hence the label "plugin hell" was coined, and stuck as a description of the travails of trying to emulate N64 games well into the 2010's.
However, as time went on, things began to change, slowly at first. 1964's development eventually ceased, and it completely fell off the radar. Mupen64 was forked into [[Mupen64Plus]] and developed its own plugin spec that was incompatible with the older zilmar spec, making it unable to use existing plugins unless they were specifically ported to it. This left only Project64 as the only relevant and active emulator still using the zilmar spec. For some time, then, this left the fledgling Mupen64Plus missing out on most cutting-edge plugin development, as most people were still using Project64.
All that said, the issue is that there are now three plugin standards to account for:
*The zilmar spec - Utilized by Project64 and most other legacy emulators; only Project64 still uses it today.*
*The Mupen64Plus spec - Utilized by Mupen64Plus and most of its forks.
|{{✓}}
|-
|Glide64**
|Final
|{{✓}}
|{{✗}}
|}
 
<nowiki>*</nowiki>It should be noted that Project64 after version 2.x made some changes to the zilmar plugin spec, and while it remains backwards compatible with the older version of the spec (meaning most older plugins will still work with Project64), plugins targeting the newer version will not work on older versions of Project64 or other zilmar spec-based emulators.
 
<nowiki>**</nowiki>Funnily enough, Glide64 actually DOES have LLE code (much of it apparently comes from z64gl) and can technically run in LLE mode by using it alongside an LLE RSP plugin such as CXD4. However, it is not a complete implementation, and actually trying to run it in such a mode results in massive visual glitches, making it unusable. Practically speaking, then, Glide64 cannot be considered a true LLE plugin, and will not be designated as such, nor was it ever meant to be.
==Video==
[[File:SuperMario64-Comparison.png|thumb|right|Jabo's Direct3D8 (left) compared with angrylion's RDP with OpenGL (right), while playing ''Super Mario 64''.]]
====[https://github.com/Themaister/parallel-rdp ParaLLEl-RDP]====
An LLE video plugin based on inspired by and referenced against Angrylion's RDP plugin, ported made to run on the GPU through the use of the Vulkan API's compute shaders. It was introduced in the ParaLLEl-N64 libretro core, is also available in the newer Mupen64Plus-Next core, and is included in [[m64p]] and [https://www.64dd.org/downloads.html this build] of Project64 (if you just want the plugin for Project64, grab it [https://www.mediafire.com/file/neig4q7r788puj3/pj64-parallelrdp.rar here]). This is currently considered the best video plugin by most measures. It is just as accurate and compatible as Angrylion's RDP, but much faster. Like most Angrylion forks, it allows disabling of VI features such as anti-aliasing and blur. Unlike the software-rendered Angrylion, however, it also allows a number of enhancements, including hi-res upscaling, resulting in a sharp, high-definition picture while simultaneously retaining accuracy, essentially what the N64 output would look like if the original console could render in HD. It has higher system requirements than the other plugins, however. It requires a GPU with Vulkan support (most GPUs from 2014 onwards are covered) and up-to-date drivers, and upscaling increases the GPU requirements even further, far more than GLideN64. At native resolution, however, a modest PC with Vulkan support can handle it without much issue, even on integrated graphics. Due to its LLE nature, it does not support widescreen hacks or high-res textures - try GLideN64 if you seek to use such features.
====[https://github.com/gonetz/GLideN64/ GLideN64]====
===Recommended Plugins===
*Zilmar's RSP - Comes with Project64. Reasonably accurate, quite fast in Recompiler mode (enabled by default), and will work fine for the majority of games, only having issues with a few games in LLE. The version included in Project64 2.x and beyond can work with both LLE and HLE plugins by toggling the relevant options in the Plugins settings menu. This plugin is exclusive to the zilmar spec.
*Mupen64Plus HLE RSP - Comes with Mupen64Plus. Based off of the old Mupen64 HLE RSP plugin, but much improved. Though it is only compatible with HLE audio and video plugins, when paired with GLideN64, it can play almost every single N64 game without issues, and it now has MusyX support as well for games that used it. This If you wish to use it with Project64, a zilmar-spec port is available and can be obtained by using [https://github.com/Rosalie241/BetterMajorasMaskInstaller/releases/tag/4.0.2 this installer]. It works out of the box with both the default Project64 Audio plugin as well as Azimer's, but it will not with Jabo's, as that is exclusive to the Mupen64Plus spec a pure LLE audio plugin and libretrorequires LLE RSP emulation.
*[http://www.emutalk.net/threads/56919-quot-Static-quot-RSP-Interpreter-Plugin "Static" RSP Interpreter/CXD4 RSP] - Made by HatCat/CXD4 and originally released in [http://forum.pj64-emu.com/showthread.php?t=3618 Project64 Forum]. Comes with some forks of Mupen64Plus as well as both libretro cores, and is included in [https://64dd.org/downloads.html this build] of Project64. For whatever reason, the zilmar-spec version usually goes by Static Interpreter, while the Mupen64Plus-spec and libretro versions go by CXD4. As of the most recent release version, it is not only one of the most accurate RSP plugins, but also one of the fastest if using the SSSE3 version, though zilmar's RSP in Recompiler mode as well as ParaLLEl-RSP both trump it in speed. It also comes in SSE2 and non-SSE variations in case your PC does not support those instruction sets. If using the zilmar-spec version, it is capable of working with both HLE and LLE audio and video plugins via the following settings:
**Simulate RSP graphics from external plugin - Check if using an HLE graphics plugin, uncheck if using LLE
**Simulate RSP audio from external plugin - Check if using an HLE audio plugin, uncheck if using LLE
**Force semaphore locking - Check to fix issues with Mario no Photopie. Only works with Project64 2.x and beyond.
*ParaLLEl-RSP - A fast and accurate RSP based on the work of [https://github.com/Themaister/parallel-rsp Themaister]. It is almost as accurate and compatible as CXD4, while being much faster. It is an RSP option mainly used in the [https://www.libretro.com/index.php/parallel-n64-with-parallel-rsp-dynarec-release-fast-and-accurate-n64-emulation/ ParaLLEl-N64 and Mupen64Plus-Next libretro cores]; however, it is also possible to use it with Mupen64Plus, its forks [[M64p]] and [[RMG]], and now even Project64 as a plugin ([https://64dd.org/downloads.html this version] comes bundled with it). It only works with LLE video and audio plugins, however.
===Deprecated Plugins===
*Mupen64 HLE RSP - Comes with the old zilmar-spec Mupen64. A very fast and compatible HLE RSP plugin. Written by Hacktarux and Azimer. Has issues with some games, particularly those using MusyX microcode. MusyX support was and many other compatibility fixes were later added to the Mupen64Plus version, but those changes have yet to be backported which has now been ported to the zilmar-spec versionafter years of exclusivity on the Mupen64Plus side of things. Hardly needed these days for the zilmar-spec emulators and especially Project64As such, as zilmar's RSP plugin this version is fast enough, and Azimer's audio plugin now incorporates much of the new HLE RSP code from Mupen64Plus anywayofficially obsolete.*z64 RSP plugin pack - Largely deprecated by the Static Interpreter/CXD4 RSP plugin. This set of RSP plugins comes with the z64 video plugin (though a version of it comes with mainline Mupen64Plus), each with their own purpose:
**Ziggy-z64RSP - This RSP is based on the MAME/MESS RSP code. It is slower but more accurate.
**Ziggy-PJ64 - Based on the Project64 1.4 RSP, this plugin is much faster.
**Project64 Video
**Azimer's HLE Audio
**Zilmar's RSP or Mupen64Plus HLE RSP**Make sure you configure the graphics plugin to show texture enhancement options. Then you'll have an extra tab to change more options. Go to the texture enhancement tab and click on the button that gives the best performance and it should improve framerate once you saved the settings. There's also another button for best texture quality. There's little need to touch the other plugins. Recommended for the older zilmar-spec emulators as well (replace Project64 Video with Glide64 Final for those). If you absolutely need more performance, you can try Jabo's plugin (specifically version 1.6.1, NOT the buggy version bundled with Project64), though it comes at a cost to compatibility. Also, try out the Mupen64Plus HLE RSP if you'd like to eke out that extra bit of performance.
*'''Accuracy'''
**Angrylion RDP Plus
138
edits

Navigation menu