this post was submitted on 08 Jan 2025
169 points (95.7% liked)

RetroGaming

19903 readers
514 users here now

Vintage gaming community.

Rules:

  1. Be kind.
  2. No spam or soliciting for money.
  3. No racism or other bigotry allowed.
  4. Obviously nothing illegal.

If you see these please report them.

founded 2 years ago
MODERATORS
 

The Nintendo 64 has always been a difficult machine to emulate correctly. But in 2025 - we should be well and truly past all of it right? Not exactly. Issues with Plugins, performance, graphical glitches, stutters. Unless you have a very powerful machine, these are common things many of us will run into when emulating the Nintendo 64. But why? And Is there any hope for fast, accurate N64 emulation in 2025 and beyond?

top 50 comments
sorted by: hot top controversial new old
[–] glitchdx@lemmy.world 3 points 2 hours ago

I had no issue emulating n64 games on my piece of shit machine almost 20 years ago. What even is this?

[–] turkalino@lemmy.yachts 15 points 17 hours ago (1 children)

I respect MVG a lot but this is honestly clickbait. All you have to do is:

  1. Download RetroArch
  2. Install Mupen64Plus-Next core
  3. Enable ParaLLEl RDP and RSP plugins in core settings

and you can play every game without issues. Not a broken mess by any means.

If you have resources leftover, you can even go into the core settings and turn internal resolution to 4x for better 3D graphics

[–] A_Random_Idiot@lemmy.world 12 points 8 hours ago (2 children)

You didnt watch the video, did you?

Cause the whole needing plugins and hacks to run games was exactly the point he was making, on why emulation of n64 is still in a poor shape, despite consoles before and after being emulated just fine without issue.

[–] kadup@lemmy.world 6 points 5 hours ago* (last edited 5 hours ago)

The only reason we still have this plugin paradigm is because that's how N64 emulator culture evolved over time. That's deliberate though, there's no "mess" here.

I can easily download a cycle-accurate N64 emulator that depends on zero plugins. However, being the N64, it obviously takes a lot of power to emulate in such an accurate way.

[–] frezik@midwest.social 4 points 6 hours ago* (last edited 6 hours ago)

Right, and on different platforms, too. Yes, your gaming PC can do it fine, but a PS Vita should have the horsepower to do it, too, and that's not where things are at.

And then there's homebrew stuff. Works fine on real hardware, but emulators often fail.

[–] LibertyLizard@slrpnk.net 2 points 16 hours ago (1 children)

Not sure if this is related but I’ve been using project 64 lately and the control stick seems way more difficult to use than the original hardware. Anyone know why this is? It makes it really tough to aim.

[–] lIlIllIlIIIllIlIlII@lemmy.zip 2 points 11 hours ago (1 children)
[–] LibertyLizard@slrpnk.net 1 points 6 hours ago (1 children)

Yeah that’s part of it but also it’s just really tough to do fine adjustments and it seems to jump all over the place. That’s the bigger issue though the lag is a compounding factor.

[–] Feathercrown@lemmy.world 2 points 6 hours ago (1 children)

Try shrinking the stick's deadzone maybe?

[–] LibertyLizard@slrpnk.net 3 points 5 hours ago (1 children)

Tried that. The issue is that the it’s still too sensitive at the point the motion kicks in. Surprised p64 doesn’t have a sensitivity setting. Maybe another emulator would?

[–] Feathercrown@lemmy.world 2 points 1 hour ago* (last edited 1 hour ago)

I thought P64 has a sensitivity curve editor? Hmm. One of the emulators has gotta have it

[–] pixxelkick@lemmy.world 39 points 1 day ago (3 children)

The core if it boils down to, when emulating older machines, is the consoles processor speaks language A, and our computers all speak language B

The emulator has to translate back and forth between A<->B faster than the speed the original processors would've just spoken A

So translating A<->B is a way tougher task than just reciting A. So you need a tremendously better CPU than what the console had to emulate it.

It's kinda like, Dropping a rock in a pile of sand is easy. Simulating dropping that rock into the pile of sand in real time accurately is really challenging.

[–] magic_lobster_party@fedia.io 22 points 1 day ago (2 children)

Not only that. Emulators must often ”cheat” to achieve high speeds. This means emulators doesn’t try to achieve a 1:1 replication of what’s happening inside the hardware, but something that’s gives close enough results and better tailored for modern hardware.

The reason why N64 is particularly difficult is because each game must be optimized individually (due to the heavy reliance on microcode). The emulator must replicate the hardware at a much lower level for an accurate emulation of all games. Emulator developers can apply optimizations on each individual game, but it’s incredibly time consuming to do so for every game in the N64 library.

[–] umbrella@lemmy.ml 2 points 22 hours ago* (last edited 22 hours ago) (1 children)

why is its reliance on microcode making it so difficult? i tought this was the case across the board?

[–] yetAnotherUser@discuss.tchncs.de 4 points 12 hours ago

According to: https://emulation.gametechwiki.com/index.php/Nintendo_64_emulators

One of the biggest hurdles to emulating the Nintendo 64 was the Reality Display Processor (RDP), which used a custom design that had to be fine-tuned to get higher performance out of the system using microcode. To emulate the RDP accurately, one would have to execute said microcode the way the RDP did, which differed from the PC graphics cards of the day. To complicate matters further, API standards available on PCs two decades ago were nowhere near as flexible as they're today. If you wanted to make an accurate GPU-accelerated RDP plugin in 2003, you simply couldn't with the APIs of the time (OpenGL 1.x and Direct3D 9).

Accurate low-level emulation would only come to the GPU in 2020 when a new version of the Mupen64Plus-based ParaLLEl libretro core was released containing a rewritten RDP plugin using compute shaders in Vulkan.

load more comments (1 replies)
[–] Feyd@programming.dev 11 points 1 day ago (1 children)

It's even more complicated than that, because for full accuracy, it must also emulate the clock speed at which the emulated processor ran, as well as the various memory busses etc

load more comments (1 replies)
[–] CileTheSane@lemmy.ca 6 points 1 day ago (5 children)

Emulators exist for the Switch. So it's not just the fact that the emulator needs to translate, there is something specific about the N64's 'language' that makes translating more difficult and time consuming.

[–] Ledivin@lemmy.world 2 points 8 hours ago

The easiest way I could describe it, is that the languages are much, much more similar. Translating for the switch is like going from Spanish to Latin, while the N64 is more like going from Chinese to Latin - much less 1-to-1 and objective.

[–] Fondots@lemmy.world 2 points 12 hours ago

The "language" that the n64 used was basically in a totally different language family than what PCs and later Nintendo consoles use.

Think of it as if the N64 spoke Japanese, while PCs speak Spanish. There's a lot of things that don't translate cleanly from one language to the other, you can't just feed it into google translate and expect what comes out the other end to make sense, you're going to need someone who understands both languages to go over it, rewrite some of it to make sure all of the nuance is coming through, add some asterisks and translation notes to explain some concepts that don't really have a direct equivalent in the other language, etc.

Later Nintendo consoles spoke something more like Portuguese or maybe even Mexican Spanish instead of PC's Castilian Spanish. They're much more similar languages that translate more directly and some things may not even really need translation as long as both parties slow down, speak clearly, and maybe throw in some hand gestures here and there, and google translate will get you like 99% of the way there, without the translator needing to add as many explanatory notes.

All those translation notes are what the emulator is doing, and the N64 to PC emulator has to do a lot more interpreting than the Switch to PC emulator.

[–] rhombus@sh.itjust.works 7 points 20 hours ago

There isn’t actually a ton of translating going on with the Switch, as it’s basically just a computer (an ARM computer, but still). The N64 had a very different architecture that doesn’t work like modern computers do. On top of that, games on it relied on low level graphics code that makes it very difficult to cheat like other emulators do.

[–] otp@sh.itjust.works 4 points 1 day ago* (last edited 1 day ago)

EDIT: Sorry, I mixed up my comment chains.

Is Switch emulation HLE? Because if so, the Switch isn't relevant to what the other commenter is explaining.

HLE just means the emulator needs to have the same output as the Switch.

LLE means the Emulator is kind of running an entire Switch.

There's a difference.

EDIT: I think it's more that the Switch's "language" is much closer to a computer's "language" today. Older consoles were complex beasts built completely differently from contemporary computers, let alone modern ones.

[–] socsa@piefed.social 2 points 22 hours ago

Switch is just a pretty standard ARM+Nvidia platform.

[–] Rentlar@lemmy.ca 26 points 1 day ago (2 children)

Back in 2015 I used the emulator "1964" to play some MarioKart64 and it ran well on a very weak computer, fwiw.

[–] lIlIllIlIIIllIlIlII@lemmy.zip 27 points 1 day ago* (last edited 1 day ago) (3 children)

Do you remember if you had the black screen in this track?

It's a classical issue in n64 emulators.

[–] DoucheBagMcSwag@lemmy.dbzer0.com 6 points 1 day ago (1 children)

Or in perfect dark when the camspy didn't work with a black screen thus being hard locked out of the game pretty early in

load more comments (1 replies)
load more comments (2 replies)
[–] magic_lobster_party@fedia.io 20 points 1 day ago (2 children)

The video says that emulation has always worked better on popular games. But if you try to emulate a less popular game, you will run into major issues. This is because the emulation must be tweaked for each game specifically due to how N64 hardware works.

[–] Zoomboingding@lemmy.world 6 points 1 day ago (2 children)

I've never been able to play though Goemon's Great Adventure on emulation. It always hits a game-breaking crash :/

[–] DarkFuture@lemmy.world 1 points 3 hours ago

Oddly enough this is the game I was trying to get to work a handful of years ago when I last gave N64 emulation a shot so I could play it with a friend. Ended up realizing the N64 emulation scene just wasn't there yet. Guess it's time to give it another go.

[–] samus12345@lemm.ee 2 points 22 hours ago (1 children)

Where is the crash? I have it playing via the official N64 app on my modded Switch, but haven't gotten very far. Wondering if the issue still exists there.

[–] Zoomboingding@lemmy.world 2 points 7 hours ago

Turtle Island, it's like world 4 or so. Hopefully it's been updated, I haven't tried again for probably 8 years

load more comments (1 replies)
[–] dh3lix@lemmy.world 6 points 1 day ago (2 children)

N64 stuff runs brilliant on MisterFpga tho.

[–] rhombus@sh.itjust.works 5 points 20 hours ago (1 children)

FPGA mimics hardware 1:1 without overhead, which is why it works well. This is talking about software emulation, which has to use lots of shortcuts to make it fast enough (for most machines). The N64 has a weird architecture though that makes it difficult to find shortcuts that work well.

[–] frezik@midwest.social 2 points 6 hours ago (1 children)

People tend to overstate FPGAs. They are designed as software in a funny programming language and then "burned in" to hardware. They can and do have inaccuracies and bugs.

In the long run, real hardware is going to disappear through the attrition of time, so we do need this stuff for the sake of preservation. But people tend to put it on a pedestal without really understanding it.

[–] kadup@lemmy.world 2 points 5 hours ago

Even hypervisors can have software bugs - running GBA games on the ARM9 core in the DSi is possible and even closer to "actual hardware" than a FPGA, but there are still weird side cases and glitches that only happen on this setup rather than actual GBA hardware.

FPGAs aren't some magical hardware clone that bypasses software issues.

[–] lIlIllIlIIIllIlIlII@lemmy.zip 7 points 1 day ago* (last edited 23 hours ago)

FPGA emulation is another level. The video says that FPGA emulation is near flawless except homebrew.

load more comments
view more: next ›