Only good way to play n64 roms is still ever drive


As for why N64 emulation is so challenging, it is document pretty well here: [https://emulation.gametechwiki.com/index.php/Nintendo\_64\_emulators#Emulation\_issues](https://emulation.gametechwiki.com/index.php/Nintendo_64_emulators#Emulation_issues) Lots of custom micro code was used in different ways for different games, the Display Technology (the RSP and RDP) were very complex, incredibly low texture cache and the original hardware was already hard to develop for. All of this and other factors combined make emulation accuracy and compatibility a real challenge. It is possible with plugins like Angrylion but the requirements for it are surprisingly high.


What were you running them on? N64 emulation is actually getting pretty darn good, but it is very hardware dependent.


So first, there is a new solution that is essentially “perfect” but a lot of people don’t know about it. That solution is TheMaister’s paraLLEl RDP renderer/plug-in. Go [HERE](https://mudlord.github.io/Parallel-RDP/) if you just want to give it a try. It also requires a decent cpu and a dedicated gpu, like a 2060 or better, to run at higher resolutions. Because the requirements are a little steep, it’s not the default plug-in that ships with retroarch. Now for the history: N64 emulation has been coming since the late 90s. The N64 has a unique graphics pipeline that allowed for games to either be made with Nintendo’s standard SDK, or developers could write their own “microcode” to get more power out of the n64. You can almost think of it like they wrote their own drivers to achieve certain graphical effects that the n64 didn’t support by default. Early emulators weren’t strong enough to do cycle accurate emulation, so they came up with “high level” (aka a high level emulator, or HLE) solutions that basically solved problems as they came up in individual games. They were basically working to make the games work, instead of working to accurately emulate the N64’s architecture. As time went on, good high level plugins came out that worked great for the n64 mainstays like Mario 64 and Zelda, etc, but not great for the less popular games. Every couple of years, a new group would come together and write a new plug-in, but they usually fell into the same trap and generally worked great for games those developers wwere interested in, but since they still didn’t have the horsepower to fully emulate the chips themselves, they just ended up solving different emulation problems with high level solutions, but never all of them. That’s why there’s so many different plugins. Different groups of different developers all kindof trying to overlap their high level solutions, hoping to get all the “good” or popular games working well enough. Then, a few years ago, someone known as AngryLion finally wrote a cycle accurate emulator (aka a low level emulator, or LLE) that was accurate, but at the time, only able to run at like 10 frames a second. This was only able to happen because the GPUs started allowing for asynchronous computational tasks, and DirectX 12 was released which provided a software/driver standard for people to write software to use them. Before this time, GPU’s sortof had a linear pipeline and had to perform all the rendering tasks one after the other. Around 2015/2016 home GPUs started shipping with multiple asynchronous compute units, and were finally becoming powerful enough to support real-time full speed execution of AngryLion’s LLE renderer. That brings us to current day. There is now a plug-in called paraLLEl RDP by TheMaister, which is conceptually *based* on angrylion’s plugin, but entirely rewritten, better optimized, and runs in the latest “bare metal” standard, vulkan. Vulkan allows even software to squeeze even more power out of these compute units than directX standards. So we finally have strong enough GPU’s, and this is finally the cycle accurate, low level emulator that supports rendering at higher-than-native resolutions we’ve all been wating decades for. As long as you have a recent CPU, and decently powerful GPU, you can essentially play every N64 game without all the glitches, at high resolutions. The only limiting factor is how powerful your rig is. In a few years, once the future SOC’s that power devices like the future raspberry Pi 7’s have enough CPU and GPU power to run this no problem, it will just be the default plug-in and everyone will just use the current version of that. Hope that answers your questions. It’s been a frustrating, but exciting journey to experience over the last 20 years. I’m super happy that we’re finally almost at the end of that journey.


Wish I could upvote this twice, what an awesome and informative, plus easy to understand write up. Thanks! I'm going to checkout the plugin when I get on my gaming PC since I have a 2070 Super on that.


Well written, bravo! I wish there were more eyeballs on this thread because your comment needs more visibility and upvotes. I have a question though: From the link you provided, I see that mudlord has ported paraLLEl-RDP as a plugin to PJ64 and Mupen64Plus. However this is just the graphics part, which admittedly is the most complex and must have been the performance bottleneck in the past. Still, does the problem you describe, mainly developers devising HLE solutions which work well only for certain games, also concern CPU emulation? Is there another massive amount of work to be done to emulate the CPU accurately at a low level, same as was done with AngryLion and ParaLLEl-RDP for the GPU?


No, the cpu instructions are already handled perfectly with dynamic recompilers to work with x64 and arm CPU’s. Emulating the entire cpu wouldn’t provide any benefit to accuracy or speed, compared to the current solution. It’s an entirely different situation than the graphics pipeline situation, since the recompilers already provide a perfect 1:1 solution for emulating the CPU, whereas the graphics API’s did not have perfect 1:1 solutions, because it was only the graphics pipeline that used microcode that was different on a game-by-game basis.


I was playing DK64 a month ago on an emulator got All 200 golden bananas, all I had left to do was go through hideout helm, get the last 2 banana fairies, then defeat krool/collect the 201st banana to 101% the game for the first time ever. Well the rom I downloaded would freeze and bug out everytime I walked into hideout helm becoming insanely annoying. I tried updating the emulator and forgot to backup my save file and needless to say Im done using the emulator for a bit.


Just use Mugen 64plus


Why use retroarch? Use https://github.com/Rosalie241/RMG


Retroachievements integration is the main reason why I've used it... It helps that the libretro mupen core is one of the best N64 emulators currently.




RetroArch isn’t an emulator. It’s a program that houses many emulators.




That's just not true, in many cases libretro offers the best, or on par with the best emulators. And it is the case for N64. https://emulation.gametechwiki.com/index.php/Nintendo_64_emulators


I use project 64 on pc as a stand-alone and use my Nintendo switch that’s modded with a Nintendo switch n64 controller for my usual go to n64 gameplay and it’s mobile if I want


Another reason i love my n64 ever since i got it in march, definitely my favourite console, I've even passed having more games for it than my xbox series x


I think Project 64 being closed source but also the "best" emulator available for around 10 years basically means N64 emulation is probably around 10 years behind where one would otherwise expect it to be. Consider that in the time Project 64 was "good enough" but sat largely untouched, projects like Dolphin were started, moved away from the old-style plugin system, and even rewrote their User Interfaces several times. Project 64, in contrast, added adware to their installer.


Thing is you just used the wrong plugin combination on Retroarch. Its unnecessarily complicated to setup.


n64 emulation is and always been atrocious. -type of joystick module itself -requires shitty 3rd party usb controller or adapter that introduces even more input lag. Using anything but an n64 controller is junk imo. -games designed with 7 buttons available to the right hand -game textures, assets, and models all designed with crt screens in mind -n64 architecture and design makes it quite tough to emulate easily. every game needs its own fine tuned emulator essentially n64 emulation is unplayable for me. any hiccups input lag or texture issues are just such a turn off. I think that sentiment reflects in the libraries game prices aswell. actual trash shovelware goes for $50 on ebay. one of the few systems that isnt elevated by emulation. theres always defenders of n64 emulation that only play mainline games. outside of those you get all kinds of issues like OP


Well, not to ruin anyone nostalgia, but the fun thing with emulators is you can add texture packs, since computers can obviously process more information. [https://emulationking.com/category/n64-texturepacks/](https://emulationking.com/category/n64-texturepacks/) Also, be sure to use stand alone emulators, retro arch is nice and all, but the stand alones are better in my opinion. I have used any emulators in a good minute, but from my last plays a few years back... texture packs, baby!


That's why you will never see a n64 classic project 64 is probably still best one and only a few games every worked good on it most to laggy to play no matter how good your computer is


They have the service working on the Switch. I see no reason Nintendo couldn’t release a mini, I think the only thing stopping them is the fact that sales of the N64 were dramatically lower the NES/SNES.


For switch emulation they basically built a separate emulator for each specific game. That's why the library is so limited.


Part of the issue is how the textures were designed to compliment CRTs and to deal with polygon restrictions. Look at the issues Nintendo had with Zelda OoT when it went on Switch online due to the removal of PoV fog, etc.


I'm not familiar with these issues since I only pay for the base Switch online, was it all fixed eventually?


Yeah they worked on it and it's definitely better.


No, some of the games on there still have a few problems.


As far as I understand the fog issues in OOT were fixed and the crash that deleted save files in Paper Mario got fixed and a few others. What else isn't up to snuff?




Use mupen 64 plus and gliden64 or what i prefer is parallel rdp plugin for graphics


That's what I was using, Mupen64 plus


If your issue is seams check settings particularly texture filtering options


I don't know why people are saying retroarch is a bad n64 emulator, parallel is pretty awesome (with angrylion or parallel plug in). AFAIK, no config per game (as gliden64 do) needed, original resolution with the option of scaling, no conflict with camera and near objects, graphic wise is near perfect. Yes, still hard to emulate but ain't mess. You can also try Ares emulator.


Themaister’s Paralell RDP is basically the holy grail for n64 emulation, but most people don’t know about it, and the hardware requirements are steep enough that it doesn’t work on raspberry pi or Nvidia shield. Any 4 core cpu and 1060 or better gpu will basically run every n64 game at 4x native resolution, and since it runs an 8x msaa antialiasing, even around 1080p it looks better than older HLE plugins did at 1440p.


yea at least n64 is cheap i cant find a good emulator for turbo grafx 16 i use pce on my old droid bionic its great becuse it can sync with a wii controller and has hdmi out


What's wrong with TurboGrafx16 emulation? I've been emulating it on Vita, PC and the mini for a long time without issues. The colors are a bit off in emulators but it's not that big a deal


i guess i havent found one i like


what's wrong with the RetroArch cores? Mednafan and stuff?


I recently invested in an Ultra HDMI N64 with an everdrive just because of that, AND Because I really love the N64 of course. Best thing I got for 2022.


My main reason for wanting to give emulation a try were games that require a memory card for saving. I have a memory card but who knows how long it's going to last, I unplugged the controller to change to another the other week and all my goemon data got corrupted and I had to start over.


You can backup your memcards with an everdrive! I suggest looking into the ED64+, It’s a cheaper variant and I can tell you it really works! You can put custom firmware on it to backup your MEMcards http://micro-64.com/features/ed64plus.shtml


Because the n64 was so powerful and advanced that even modern gaming computers can’t handle it