176
submitted 1 month ago* (last edited 1 month ago) by lIlIllIlIIIllIlIlII@lemmy.zip to c/retrogaming@lemmy.world

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
[-] pixxelkick@lemmy.world 39 points 1 month ago

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 23 points 1 month ago

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.

load more comments (2 replies)
[-] Feyd@programming.dev 13 points 1 month ago

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 5 points 1 month ago

Emulating DK’s Jungle Parkway in MK64 goes brrrr

[-] CileTheSane@lemmy.ca 7 points 1 month ago

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.

[-] rhombus@sh.itjust.works 8 points 1 month 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 month ago* (last edited 1 month 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.

[-] Fondots@lemmy.world 4 points 1 month 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.

[-] Ledivin@lemmy.world 3 points 1 month 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.

[-] socsa@piefed.social 3 points 1 month ago

Switch is just a pretty standard ARM+Nvidia platform.

[-] Rentlar@lemmy.ca 26 points 1 month ago

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 29 points 1 month ago* (last edited 1 month ago)

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

It's a classical issue in n64 emulators.

[-] DoucheBagMcSwag@lemmy.dbzer0.com 7 points 1 month ago

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 4 points 1 month ago

Maybe it is a similar issue: framebuffer emulation.

load more comments (1 replies)
[-] magic_lobster_party@fedia.io 22 points 1 month ago

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.

[-] altima_neo@lemmy.zip 11 points 1 month ago

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

[-] Zoomboingding@lemmy.world 7 points 1 month ago

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

[-] samus12345@lemm.ee 3 points 1 month 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.

[-] Zoomboingding@lemmy.world 3 points 1 month ago

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

[-] DarkFuture@lemmy.world 3 points 1 month 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.

[-] turkalino@lemmy.yachts 24 points 1 month 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

[-] A_Random_Idiot@lemmy.world 20 points 1 month ago

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.

[-] frezik@midwest.social 4 points 1 month ago* (last edited 1 month 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.

[-] prole 10 points 1 month ago

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

[-] KRAW@linux.community 18 points 1 month 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)

[-] altima_neo@lemmy.zip 16 points 1 month 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.

[-] glitchdx@lemmy.world 9 points 1 month ago

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

[-] deltapi@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

The first time I played ocarina of time, it was on a k6-2/450 with a voodo3-3000. It ran well enough that I considered it on par with a real N64. Edit: this would have been 2002/2003.

[-] glitchdx@lemmy.world 2 points 1 month ago

i just didn't want to say 25 years ago and have someone 'um akshuly' me about when emulation started getting viable.

load more comments (1 replies)
[-] 9tr6gyp3@lemmy.world 7 points 1 month ago* (last edited 1 month ago)

Feel free to commit a pull request. Don't talk about it. Be about it.

[-] SomethingBurger@jlai.lu 69 points 1 month ago

The creator of this video is an emulator developer.

[-] 9tr6gyp3@lemmy.world 3 points 1 month ago
[-] lime@feddit.nu 47 points 1 month ago

that means they are about it.

[-] 9tr6gyp3@lemmy.world 3 points 1 month ago

TBD. Apparently he's not happy about the state of things. Not just his project, but the development community as a whole hasn't been able to nail it down.

[-] lime@feddit.nu 6 points 1 month ago

so you didn't watch the video.

load more comments (1 replies)
[-] Kichae@lemmy.ca 29 points 1 month ago

"If you aren't a programmer, don't speak" is about what I expect from programmers, yes. That kind of elitism is why most programmer-only projects are utter shit.

[-] hedgehog@ttrpg.network 15 points 1 month ago

This is even worse tbh, because, as someone else pointed out, the YouTuber is a programmer. This is saying “only write code, don’t discuss what kinds of changes are needed.”

That + the “commit a pull request” nonsense (you submit a pull request, which comprises commits; the PR only gets committed when it’s been reviewed and merged by a maintainer) makes me doubt that the commenter you replied to has ever collaborated productively on a software project.

[-] magic_lobster_party@fedia.io 14 points 1 month ago

Well, MVG is an experienced programmer, especially with emulation and homebrews, so he knows what he’s talking about.

[-] dh3lix@lemmy.world 7 points 1 month ago

N64 stuff runs brilliant on MisterFpga tho.

[-] lIlIllIlIIIllIlIlII@lemmy.zip 7 points 1 month ago* (last edited 1 month ago)

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

[-] rhombus@sh.itjust.works 6 points 1 month 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.

[-] frezik@midwest.social 5 points 1 month ago

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.

[-] rhombus@sh.itjust.works 3 points 1 month ago

I did some FPGA programming in school, so I totally get it. The hardware is really amazing, but the janky proprietary development toolchains not so much. Plus, Verilog is kind of a pain in the ass.

[-] Endymion_Mallorn@kbin.melroy.org 4 points 1 month ago

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 1 month ago

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

[-] Aussiemandeus@aussie.zone 2 points 1 month ago

That was my issue with the video as well

load more comments
view more: next ›
this post was submitted on 08 Jan 2025
176 points (100.0% liked)

RetroGaming

20686 readers
164 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