Changes

Jump to navigation Jump to search

Recommended N64 plugins

3,497 bytes added, 01:39, 5 September 2022
no edit summary
[[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 inspired by and referenced against Angrylion's RDP plugin, 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 several forks of Mupen64Plus and Project64, such as [[m64psimple64]] and [https://www.64dd.org/downloads.html this build] of Project64. This is currently considered the best video plugin by most measures. It is almost 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 can also render at a high resolution and downsample back down to a lower one, should one wish to improve the 3D graphics without making them stick out from the often low-res 2D elements. Due to its LLE nature, it does not support widescreen hacks or high-res textures - try GLideN64 if you seek to use such features.
System requirements for ParaLLEl-RDP are higher than for the other plugins. It requires a GPU with Vulkan support and up-to-date drivers (most Nvidia and AMD GPUs made after 2012 should be covered, though Intel graphics requires Skylake or newer), and upscaling increases the GPU requirements even further, far more than GLideN64. It must also be used in conjunction with an LLE RSP plugin, preferably its sister plugin ParaLLEl-RSP, as it features a recompiler for added speed. At native resolution, however, a modest PC with Vulkan support can handle it without much issue, even on integrated graphics.
====[https://github.com/gonetz/GLideN64/ GLideN64]====
A hybrid HLE/LLE plugin developed by the maker of Glide64, though its code is actually originally based on gln64 (with combiner hacks from Glide64 and LLE code from z64gl and, to a lesser extent, angrylion). It is included with the latest versions of Project64, the Mupen64Plus-Next libretro core, and [https://github.com/loganmc10simple64/m64psimple64/releases/tag/v2021.5.30 older versions of m64psimple64]. This is the best HLE plugin by far. The plugin currently supports mip-mapping, emulation of low-level triangles, microcode emulation of every game, gamma correction, flat and prim shading, VI emulation, and LLE graphics support. It is the only plugin that has [[Nintendo_64_emulators#High-level_vs._low-level_graphics|implemented HLE support]] of microcodes for every N64 game (including the infamous Factor 5 and BOSS games) to enable fast performance and graphical enhancements. It currently fixes numerous long-standing issues in games and is capable of smoothly emulating advanced framebuffer effects in hardware that Glide64 and Jabo could not. It also supports several enhancements, such as hi-res custom [[Texture_Packs|texture support]], MSAA and AF, a [[Widescreen_Hack|widescreen hack]], and even some shaders. There is support for an "[[Overscan]]" feature that helps the users to [[Widescreen_Hack#Nintendo_64|remove black borders around a game's visual output]].
GLideN64 requires at least OpenGL 3.3 in the latest versions to run, and OpenGL 4.x for some advanced functions, making this plugin more demanding than the plugins that came before it, though modern GPUs should be ok, even on mobile. It is not without its share of issues to this day, however. There are still several HLE bugs left to resolve, and its LLE mode, while much improved over z64gl's, is still not quite as developed as its HLE mode, and some of the plugin's enhancement features are disabled in this mode. Since it is hardware-rendered even in LLE, there are issues that may never be quite resolved due to inherent differences between the N64 hardware and the OpenGL API. It is advisable to use this over ParaLLEl-RDP only if you are unable to run the latter in HD at full speed or if further enhancements such as widescreen hacks and hi-res textures are desired.
====Glide64====
The former best general-use plugin. Versions of this are included in Project64, mainline Mupen64Plus, and the ParaLLEl-N64 libretro core. While it is no longer updated and is far less accurate and compatible than the newer offerings, it still has a few use cases, such as better support for older ROM hacks. It works relatively well for many (most?) games, has support for hi-res textures, and it is also faster than the newer plugins, which makes it suitable for slower devices such as the older Raspberry Pis. Otherwise, to ensure the highest possible compatibility, stick to either ParaLLEl-RDP or GLideN64.  Note that the Project64 version included with Project64 of Glide64 has been renamed to Project64 Videoand has undergone some changes and rewrites since it was initially forked, and thus may contain regressions compared to the last official standalone release of the plugin by Gonetz. Should Since this fork only works with current versions of Project64, should you wish to use this plugin on an older zilmar-spec emulator like 1964 or the original Mupen64, or if you want to avoid potential regressions with the Project64 version, use [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/glidehqplusglitch64/Glide64_Final.zip Glide64 Final] instead.
===Deprecated Plugins===
*Jabo's Direct3D8 - Comes with Project64, and was once its default video plugin. Very speedy, has built-in AA and AF options, and includes a [[Widescreen_Hack|widescreen hack]]. The version included with the most recent versions of Project64 (1.7.0.57-ver5) is somewhat buggy and has regressions, however. [http://www.jabosoft.com/articles/114 Jabo's 1.6.1 patch] is better, though version 1.7 can run in LLE mode, which can help with a few games. Sadly, it will likely never see another update again, and though it is still included in Project64 to this day, it is no longer the default, and should not be used unless you have a very old PC that cannot handle Glide64 or GLideN64.
*[http://www.emutalk.net/threads/54166-Rice-Video-Community-version Rice Video] - A very fast, highly configurable video plugin primarily based around the Direct3D API. It was once famous for its ability being the first plugin that allowed the user to load [[Texture_Packs|custom hi-res textures]], making which made it a popular plugin within the N64 emulation community. The 1964 team at one point annexed it as its official video plugin, renaming it 1964Video. There are many versions and forks of it floating around, all aiming to fix issues or add features(one fork even featured early shader support), and an OpenGL version forks of it is are included in mainline Mupen64Plus and in the ParaLLEl-N64 libretro core. It eventually lost favor with the wider communityHowever, as even during its heyday it was not a very compatible pluginlagged behind Glide64 and even Jabo in both compatibility and accuracy, and once the much-superior Glide64 also gained the ability to load custom textures, there was remained little reason to use it beyond its speed. The so-called A "Community Version" is also full of popped up that aimed at improving it and fixing its issues, but it ended up introducing many regressions compared to older versions, even as it attempted to fix issues with thoseand the effort was eventually abandoned. As such, none of its variations are recommended for general use unless there's a very specific fringe case (such as some really old texture packs or ROM hacks), you're using a very, very old toaster, or are trying to emulate on a very old and/or severely underpowered mobile device PC or handhelddevice. If you are absolutely resolved to try it out, seek out the original versions by Rice, primarily 6.1.0 or 6.1.1b, and stick to the Direct3D renderer, as the OpenGL backend included in some versions is buggy and incomplete outside of the Mupen64Plus fork.*[http://www.emutalk.net/threads/40640-Z64-a-LLE-graphics-plugin z64gl] - A hardware-rendered, low-level plugin developed by ziggy, derived from MAME's N64 driver. A fork is maintained by the Mupen64Plus team, though not included in their official releases. It was once notable for being one of the only plugins that could play games without an HLE microcode implementation such as Rogue Squadron. However, it was rather glitchy, had higher system requirements than the HLE plugins, needed an LLE RSP plugin to work (such as the bundled z64 RSP or Project64's RSP plugin set to LLE graphics), and configuration required editing the config file directly. A [https://github.com/purplemarshmallow/z64/tree/angrylion-integration fork] cropped up that aimed at improving it, but it did not go get very far. Nowadays, it's obsolete, as GLideN64 can now play every game through HLE (thus subverting z64gl's only selling point), and its LLE has been surpassed by Angrylion-derived plugins and even GLideN64's LLE mode.
*[https://sourceforge.net/p/angrylions-stuff/code/HEAD/tree/ Official Angrylion RDP] - A software-rendered, hardware-accurate plugin, developed by angrylion (though derived from MAME, much like z64gl). This is the most accurate N64 video plugin in existence, emulating almost* every facet of the N64's RDP precisely and thus making it capable of playing almost every single game in the N64 library with no issues, fixing even notorious cases such as the ''Pokémon Snap'' red dot and the ''Body Harvest'' bridge. This, however, comes at the cost of insane CPU requirements while making games look like, well, N64 games running on real hardware, which means native resolution, no widescreen, no hi-res textures - just the N64 in its full, vaseline-covered glory. Since this particular version is single-threaded, uses DirectDraw and is Windows only, it is recommended to use Angrylion RDP Plus or ParaLLEl-RDP instead, which offer much more reasonable performance. Only try it out if you have a tricked-out rig and want to test your CPU's mettle, or if you can compile it from source and need it for testing/debugging purposes, as the latest updates are always made to this version first.
*[http://www.emutalk.net/threads/55481-angrylion-s-Per-Pixel-RDP-with-OpenGL HatCat/angrylion's Pixel-Accurate N64 Plugin] - This is a fork of Angrylion's RDP, done by HatCat. It has some optimizations not present in the official code, but is outdated and lacking some accuracy improvements and optimizations written by Angrylion. It has the option to disable the VI filters (which gives a speed boost), as well as the ability to set custom resolutions. Also, this version uses OpenGL 1.x instead of Direct Draw and supports Linux. Obsoleted by newer forks such as Angrylion RDP Plus.
</gallery>
<nowiki>*</nowiki> There is at least [https://sourceforge.net/p/angrylions-stuff/tickets/10/ one known, relatively minor graphical glitch in Pokemon Snap ] (go figure) using Angrylion that requires currently-unimplemented cycle-accurate behavior to fix without resorting to hacks.
==Audio==
===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. 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 work with Jabo's, as that is a pure LLE audio plugin and requires 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 one of the most accurate RSP plugins, though zilmar's RSP in Recompiler mode as well as ParaLLEl-RSP both trump it in speed. It can take advantage of SSSE3 for greater performance, though it also comes in SSE2 and non-SSE variations in case your PC does not support those instruction sets. In both the zilmar and Mupen64Plus versions (though not in libretro, it seems), 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 written by [https://github.com/Themaister/parallel-rsp Themaister], though it borrows heavily from both CXD4 and CEN64's RSP code. It is about as accurate and compatible as the Static Interpreter/CXD4RSP, while being much faster owing to its inclusion of a dynamic recompiler. 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]simple64] and [[RMG]], and now even Project64 as a plugin ([https://64dd.org/downloads.html this version] comes bundled with it). Note that it only works with LLE video and audio plugins, though it is highly recommended if using such.
===Deprecated Plugins===
==Recommended N64 Setups==
 
===Overview===
While in general only a small handful of plugins are necessary to play the vast majority of N64 games these days, there are nevertheless a variety of use cases which may necessitate using some plugins in specific combinations over others. The following section will be divided primarily by plugin specs, then further subdivided by the following use case "profiles":
*General Use - A profile that strikes a good balance of speed, accuracy and compatibility. Most games will be playable on average hardware and should run with few to no issues.
*Performance - Focuses primarily on speed for lower-end devices that cannot handle the General Use profile. Many games will be playable, but expect lower overall compatibility, glitches and missing effects.
*Accuracy - Attains the maximum compatibility and accuracy made possible by the emulator. Almost all games will be playable and look as intended, but requires much higher system specifications.
As a rule of thumb, start with the General Use profile. If it's too slow, move down to the Performance profile. Conversely, if there's a problem with the game (or you just want to be as close to real hardware as possible), move up to the Accuracy profile. It should be said there may be configurations within the emulator or plugin settings that may help with speed or compatibility, but it is generally not recommended to mess with them unless you know what you're doing, as both emulators and plugins are usually already optimized on a per-game basis, so moving settings around could result in breaking things. Should you wish to try to eke out more performance out of a given profile, it may be wise to consult with the emulator/plugin developers or communities centered around N64 emulation first.
===Project64 and Others===
**Static Interpreter RSP or Zilmar's RSP
**Either of the RSP plugins should be fine for most games. The Static Interpreter RSP is slightly more accurate, whereas zilmar's is much faster. Should you wish to use GLideN64 in LLE mode (or any LLE video plugin for that matter), if using zilmar's RSP, simply uncheck "Graphics HLE" in the Plugin configuration screen. If using the Static Interpreter RSP, you'll have to run the spconfig.exe that comes with that plugin, and tell it to NOT "simulate RSP graphics from external plugin" (in other words, type "0"). ParaLLEl-RSP only works in LLE, so GLideN64's HLE mode will be unavailable with that plugin.
*'''Best Performance'''**Project64 Videoor Glide64 Final
**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, though you may want to do that even with Project64 should you run into a regression). 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
**Azimer's Audio NEW
**Static RSP Interpreter
**If you have a decent quad-core CPU, you can run many N64 games with pixel-perfect graphics at full speed, thanks to the new multithreaded version of angrylion's software plugin. The new Azimer's plugin (still WIP) works good in LLE. Since there's almost no visual difference, you may as well use PJ64's RSP or ParaLLEl-RSP to get better performance, and/or move to ParaLLEl-RDP outright for even greater speed and upscaling options to boot (though it goes without saying upscaling would no longer be accurate). Conversely, if you want even greater accuracy, disable "Hide advanced settings" under Configuration, then enable "Always use interpreter core" under Advanced, and under Angrylion's options, disable multi-threading and set compatibility to "Slow". Performance WILL crash, but hey, it'll be accurate!
===Mupen64Plus===
[[The official releases of Mupen64Plus]] has its own set only come bundled with a handful of video and RSP plugins, namely Glide64mk2, Rice, and the HLE RSP. The developers also maintain forks of the CXD4 RSP and the z64 video and RSP plugins which , but they are incompatible with emulators based on not included in the zilmar spec official release bundles for some reason. Should you wish to use those plugins or third party ones such as Project64GLideN64 or the ParaLLEl plugins, you must build them yourself or get them from outside sources. Here Due to this fact, the mediocre nature of the "official" video plugins, and the overall lack of user-friendliness, it may be better to use a fork such as [[simple64]] or [[RMG]], though note that simple64 only comes and works with the ParaLLEl plugins, so RMG is an overview of recommended setupsa better choice if you wish to use something else, as that comes with more plugins and allows you to use whichever ones you want.
*'''General Use'''
**Video: GLideN64 or ParaLLEl-RDP
**RSP: RSP-HLE (for GLideN64) or ParaLLEl-RSP (for ParaLLEl-RDP)
**Either one of these combinations will enable you to play the vast majority of N64 games while having reasonable system requirements. GLideN64 is faster and has more enhancement options, but ParaLLEl-RDP is much more accurate to the real console. You can also use the CXD4 RSP with GLideN64 if you want, but be sure to set it to pass display lists to the graphics plugin in mupen64plus.cfg, else GLideN64 will switch to its LLE mode, which is not generally recommended to use.
*'''Performance'''
**Video: Glide64mk2
**RSP: cxd4-ssse3 or Parallel RSP**Glide64mk2 is just Glide64 with additional tweaks and enhancements for use with Mupen64Plus. cxd4 is one of HatCat's many names. The cxd4 plugin is a port of his RSP for zilmar-spec emulators. This appears to be the best combination for use with most games, though toasters may have performance issues.*'''Best Performance'''**Video: Rice**RSP: rsp-hleHLE**These are Mupen64Plus's default plugins. Rice's Video Glide64mk2 is a plugin used based on other N64 emulatorsGlide64 Final, most known for its support for hi-res [[Texture_Packs|texture packs]]and is named so as to differentiate it from the original, now enhanced for Mupen64plusobsolete fork of Glide64 that Mupen64Plus used at its inception. It is not quite up to Glide64GLideN64's level, but it does well enough for many games and is quite fast. The default RSP plugin appears to be just an enhanced port of vanilla Mupen64's RSP. Use this combination if you have a lower end PC and that can't handle the Commonly Used General Use setup. If your device STILL can't handle this setup, try the Rice video plugin, but expect many missing effects, glitches and incompatibilities.*'''Accuracy/Rogue Squadron'''**Video: z64 Angrylion Plus or angrylion's PerParaLLEl-Pixel RDP with OpenGL**RSP: cxd4CXD4-ssse3 or Parallel ParaLLEl-RSP**z64 is a port Any combination of z64gl, a low-level emulation video plugin for N64 emulatorsthese should result in very high accuracy. It comes with its own accompanying z64 RSPTechnically, but cxd4 (a port of HatCat's RSP Interpreter plugin) appears to be more the most accurate and very well optimized. This setup is capable of playing difficult games like Rogue Squadron Angrylion combined with very few graphical glitches CXD4, but the difference between these and faster than on Project64 the ParaLLEl plugins is almost negligible, while being a lot slower. Be sure to set the CPU core to bootPure Interpreter for even greater accuracy, along with plummeting framerates.
Note: In some cases the cfg file may not appear, in which case you may do this:
**RSP: HLE
**While GLideN64 also works with the ParaLLEl and CXD4 RSP plugins, using them will cause GLideN64 to switch to its LLE mode, which is currently glitchier and slower than the HLE mode, for few compatibility or accuracy benefits, if any. As such, it is recommended to stick with the HLE RSP for GLideN64.
*'''Best Performance'''
**Core: ParaLLEl-N64
**Video: Glide64
Anonymous user

Navigation menu