this post was submitted on 08 Jan 2025
141 points (96.7% liked)

RetroGaming

19898 readers
1000 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
[–] turkalino@lemmy.yachts 7 points 8 hours ago

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

[–] LibertyLizard@slrpnk.net 1 points 7 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.

[–] pixxelkick@lemmy.world 31 points 22 hours 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.

[–] CileTheSane@lemmy.ca 6 points 17 hours ago (4 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.

[–] Fondots@lemmy.world 1 points 3 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 5 points 11 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 15 hours ago* (last edited 15 hours 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 13 hours ago

Switch is just a pretty standard ARM+Nvidia platform.

[–] magic_lobster_party@fedia.io 15 points 21 hours 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 13 hours ago* (last edited 13 hours ago) (1 children)

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

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 9 points 19 hours 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

[–] magic_lobster_party@fedia.io 3 points 18 hours ago

Emulating DK’s Jungle Parkway in MK64 goes brrrr

[–] dh3lix@lemmy.world 5 points 17 hours ago (2 children)

N64 stuff runs brilliant on MisterFpga tho.

[–] rhombus@sh.itjust.works 4 points 11 hours ago

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.

[–] lIlIllIlIIIllIlIlII@lemmy.zip 6 points 16 hours ago* (last edited 13 hours ago)

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

[–] Rentlar@lemmy.ca 22 points 23 hours 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 24 points 23 hours ago* (last edited 23 hours 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 18 hours 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

[–] lIlIllIlIIIllIlIlII@lemmy.zip 3 points 16 hours ago

Maybe it is a similar issue: framebuffer emulation.

[–] TachyonTele@lemm.ee 10 points 23 hours ago

It looks different than I remember. Usually it was just a black screen.

[–] Endymion_Mallorn@kbin.melroy.org 1 points 15 hours ago

How about the Kirby64 HUD?

[–] magic_lobster_party@fedia.io 19 points 22 hours 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 5 points 19 hours ago (1 children)

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

[–] samus12345@lemm.ee 1 points 13 hours ago

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.

[–] altima_neo@lemmy.zip 9 points 22 hours ago

Especially Nintendo's own games. Mario 64, Mario kart, etc, were usually the first to be emulated correctly.

[–] Endymion_Mallorn@kbin.melroy.org 4 points 17 hours ago (2 children)

An interesting video, but I don't really feel it got to answer the question posed. He also didn't, for me, answer why he wants to focus on LLE instead of HLE as it's been obvious that LLE is very resource intensive.

[–] lIlIllIlIIIllIlIlII@lemmy.zip 3 points 16 hours ago

Maybe is too soon for cycle accuracy N64 emulators. We will get it eventually.

[–] Aussiemandeus@aussie.zone 2 points 15 hours ago

That was my issue with the video as well

[–] prole@lemmy.blahaj.zone 9 points 1 day ago (2 children)

I thought Kaze pretty much reverse engineered the whole thing? Or is that just for Mario 64?

[–] altima_neo@lemmy.zip 14 points 22 hours ago

Kaze just works on Mario 64. He's torn that game up and rebuilt it for his needs. He's even mentioned that emulators won't even work with some of the hardware tricks that he utilizes.

[–] KRAW@linux.community 17 points 1 day ago

Just Mario 64. However there is a very good implementation of the N64 in the Mister FPGA project. The downside is there aren't many emulation features that you'd expect out of a software emulator (e.g. save states)

load more comments
view more: next ›