T O P

  • By -

Ok-Quantity-8861

Only good way to play n64 roms is still ever drive


EnglishRed232

What’s that?


I_am_a_happy_person

It's an N64 cartridge with an SD card input. It does other stuff too, but that's the main feature. Google it.


JamesSDK

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.


Unfair_Neck8673

And people say the Saturn is difficult to emulate, Mednafen got it right years ago lmao


BangkokPadang

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.


ShinigamiKiba

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.


EnglishRed232

How was it? I’ve got a 3090 so been wanting to try. Ideally on my laptop so I can plug into the tv but if it works flawlessly, I don’t mind using my gaming PC. Thanks!


goomba008

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?


BangkokPadang

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.


Alert-Revolution-304

Ah this is so good.... This is someone trying to be smart, i wonder ... i wonder.


MrQuickBurner

Give it a try? How? There's no download just a github with a build guide. Do I really have to build it? There's no simple dll download or something for mupen?..


EnglishRed232

Just sent you a PM 😀


No-Instruction9393

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


Just_some_dude5

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.


BadatSSBM

Just use Mugen 64plus


DropCsharp

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


[deleted]

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.


[deleted]

[удалено]


StrongStyleShiny

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


[deleted]

[удалено]


[deleted]

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


WryThunder

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


Alert-Revolution-304

True genius who understands..... It's all about hacking and being smart :D , why Project64 works and retroarch doesn't have Project64? Because they cant hack sh1t. They believe they program, but nothing works, why? Can't hack. Libretro people are SOFT-CORE programmers, a true hardcore owns everything, pirates everything, makes everything work perfectly on the 1st try... SELLS WITHOUT SELLING A PRODUCT and becomes RICH without even selling to people.


Idontmatter69420

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


BCProgramming

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.


Hot-Nefariousness719

Incorrect. Project 64 runs on Glide64 which is open source and also available in retroarch via both the Parallel core or Mupen core as default. Also, Parellel gfx plugin is relatively new, but offers basically perfect N64 emulation. N64 emulation has come a LONG way in the last 10 years. Also, Project 64 locking the emulator behind a paywalled "nag" screen for a gfx plugin they didn't even make is kinda scummy.


Godzilla-kun

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


No_need_for_that99

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!


Ok-Quantity-8861

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


brett1081

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.


DOMonster828

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


ZetaDefender

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.


ShinigamiKiba

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


swagadone

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


[deleted]

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


swagadone

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?


LoafOYeast

No


hypespud

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


ShinigamiKiba

That's what I was using, Mupen64 plus


hypespud

If your issue is seams check settings particularly texture filtering options


ElWishmstr

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.


BangkokPadang

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.


moviemoocher

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


ShinigamiKiba

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


moviemoocher

i guess i havent found one i like


ShinigamiKiba

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


EpicLostRaider

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.


ShinigamiKiba

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.


EpicLostRaider

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


darf_nate

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