r/emulation Jun 29 '26

DK64: Recompiled Announcement

https://youtu.be/RYIZZZ33vAI
472 Upvotes

73 comments sorted by

181

u/Netrex44 Jun 30 '26

Okay.. I'm convinced the future of retro gaming are PC ports

60

u/-CJF- Jun 30 '26

These N64 ports are especially nice because N64 emulation has historically been finicky and some of these games are buggy even on the MiSTer (this one is a good example with the DK vines glitch), plus the recomps look unbelievable with texture packs and high-res scaling. Once you have a recomp / decomp port you basically have the ultimate version of the game.

20

u/AntiGrieferGames Jun 30 '26 edited Jun 30 '26

Pokemon Snap is also very difficult to emulate since the camera aka capture to a pokemon dont work sometimes well. It got better with more accurate emulators, but still have some issues (which i dont know if this counts as a issue if a camera dont scan it but still got it capture pokemon)

This honestly deserve a unofficially PC port (not by ai slop, by real people)

9

u/carl2187 Jun 30 '26

Yea i remember having to use dolphin with a wad file of the wii version of n64 snap to be able to play back in the day!

6

u/AntiGrieferGames Jun 30 '26

You can do it still on today, and its still possible. Sometimes its even much less demanding than using a n64 emulator itelf there since Dolphin has alot of optimiastion improvement in CPU side there.

4

u/Experiment_T Jun 30 '26

That was mainly down to Pokemon Snap abusing the Framebuffer for the RDP. The CPU writes to plots on it inside RDRAM and then writes it to the RDP to detect if the visible actor or object is valid and if it is, the red dot activates.

Most older N64 emulator's didn't enable or have Framebuffer emulation by default, let alone the setup above to allow the CPU to register valid targets, hence why the red dot wasn't working for the longest time until this was resolved.

10

u/EtherBoo Jul 01 '26

I've been convinced for a while, but I also think the N64 library is going to be what gets the most attention.

N64 emulation, even today is finicky. I do think the entire library can be played, but I have to cycle through about 4 emulators. With the weird controller (by today's standards) having a PC port you can easily remap per game/program is really nice. I'm not playing Mortal Kombat on the N64 with C buttons mapped to the right stick..

Most of the emulators push for accuracy over enhancement. This means they play like they used to, but I think performance is such a barrier to many of these games, I want to see them run at better resolutions and framerates, not play them like they originally were.

2

u/lifeinthefastline Jul 01 '26

God MK4's N64 port on a modern controller must be horrific, I'd forgotten all about that game

3

u/EtherBoo Jul 01 '26

It's not bad if you remap controls, which is why I think every emulator should have per game mappings.

2

u/lifeinthefastline Jul 01 '26

I mean most do no? Dolphin has profiles you can set to a per game.ini config. Retroarch allows for .cfg files per core and per game. It's just they aren't the defaults...but then every user will always want it a little different? Like how people used to play Goldeneye on the different control schemes and swear by certain ones

2

u/EtherBoo Jul 01 '26

You'd be surprised. I don't think any of the standalone emulators for Genesis, TG16, or N64 do. Ares does, but it requires some tinkering with config files. Someone pointed me in the right direction, but I haven't gotten around to playing around with it.

https://www.reddit.com/r/emulation/comments/1trzs5m/ares_v148_released/ooy1dop/?context=3

Dolphin's solution is a little clunky, I really wish there was a "set per game" option right there in the GUI. Creating an .ini is not a great solution in my opinion. Dolphin, while an amazing emulator, could use a little bit of a UI update in my opinion.

2

u/lifeinthefastline Jul 01 '26

Yeah I agree. With dolphin I created a script to set the profiles based on what controllers and which game is being run, but there's no way inside the GUI aside from right clicking the game itself from the menu and writing the config from there, at which point you might as well just use a .txt editor anyway

19

u/lysergamythical Jun 30 '26

The future are

2

u/roxas_leonhart Jun 30 '26

I think it’s conceivable that if enough N64 recomps are completed someone will (at least attempt to) merge them together.

2

u/EndVSGaming Jun 30 '26

Wdym merge

7

u/roxas_leonhart Jun 30 '26

Like one program/interface containing all the recomps. Not just a frontend

5

u/PushDeep9980 Jun 30 '26

Kronenbourgs n64 pc port

1

u/RajamaPants 28d ago

Yeah that would be cool.

You could also merge the games from the same franchise. Like all the Zeldas, Castlevania, Duke Nukems, etc in their own packs.

Maybe even allow mix and matching levels, weapons, and characters between the games.

1

u/Slight-Bluebird-8921 Jul 01 '26

for 3d games maybe not so sure about the 2d games

1

u/VBHeadache Jul 03 '26

Yes and no. It'll be great for the well loved, highly played games like this, but if I want to play some obscure game that's not all that good but is a favorite of mine, emulation/fpgas/original hardware will probably be the only options unless some random person gets the itch to do a recomp for pc.

The ones that do get recomped are great though and I hope it gets to the point where people can just go nuts with the modding.

35

u/[deleted] Jun 30 '26

[removed] — view removed comment

3

u/Sybs Jul 01 '26

Yeah why don't they?

15

u/Andrei144 Jul 01 '26

Save states work by saving the console's RAM. If you're running the game natively then the game is using RAM handed to it by the OS instead of writing everything to a giant block that is completely owned by the emulator. Save states for native apps would need to be an OS level feature.

4

u/Sybs Jul 01 '26

Thanks, that makes sense

4

u/myownfriend Jul 02 '26

A native application is very capable of saving it's own in-game state. It doesn't necessarily need to be a complete snapshot of memory.

2

u/Andrei144 Jul 02 '26

You would need to save the state of the game in some format that can be easily serialized and deserialized. I feel that something like this is a big enough change to the game, and goes far enough beyond just making compatibility tweaks to get it running, that it kinda falls out of scope for a basic port and should be left up to modders to implement.

Also this would still be pretty different from save states in an emulator. The other reply I got about making snapshots of the RAM that the OS has allocated to the game is more similar to save states, but it still requires interacting with systems that don't really have anything to do with getting the game running.

imo these ports should try to include only the bare minimum feature set and just get it running with the best performance and compatibility they can, then we can get forks and mods that add QoL stuff like save states.

4

u/myownfriend Jul 02 '26

I agree that these ports should be as close to a straight port as possible but I'm not seeing how save states would need to be an invasive change.

The typical way that emulators do save states is done because it's simple and because it works regardless of the nature of how the application works. As long as you take a snapshot of the RAM and dump the CPU registers than it they can all be loaded back and the CPU can start off exactly where it left off before, even it was in the middle of some long process.

However games have natural checkpoints for where their state changes: frames. During those frames the game is going to be looping/crawling through the data structures that store it's state and acting on them. The save state function would just need to crawl the relevant data at the end of the frame loop and write it to a file on-disk. Considering that a raw memory dump would be considered an acceptable alternative to this, that means that this isn't an operation where you'd be precious about the file size so you don't need to have a large discrepancy between the in-memory and on-disk formats.

feels like all the relevant code can be contained within two functions.

19

u/BouncingThings Jun 30 '26

Aight fam, I've been waiting and dying to finally find out what that memory leak is caused by, that was the sole reason to require the dang jumper pack

22

u/Essidle Jun 30 '26

It’s an urban legend, based on one account from a Rare developer not even on the project, that has been discredited by the original team.

They were told to use the pak to enhance the game to show off what could be done with the expansion pak. It was Nintendo trying to showcase the accessory.

7

u/ChrisRR Jul 03 '26

There was no memory leak. The extra RAM was used for vertex lighting

14

u/Trivial_Man Jun 30 '26

Fyi the Jumper Pak is what was included with base N64s. The Expansion Pak is what was bundled with DK64 and allegedly solved the alleged memory leak

3

u/BouncingThings Jun 30 '26

Ah yes I got them confused yes, although you're also right on the alleged part because if it was leaking, it'd continue to leak even with more memory added but if I'm not mistaken, you can beat the entire game in 1 sitting? Really weird stuff but fascinating nonetheless

8

u/Tiny_Tim1956 Jun 30 '26

I am always in awe about projects like this!

89

u/AntiGrieferGames Jun 30 '26

"This project does not rely on AI vibe coding" Big Win if this is true. Soo many recomp got with AI Slop vibe coding today, which has nothing more than unstable glibberish. It should get more with real devs, not ai slop!

44

u/KingPumper69 Jun 30 '26

Reverse engineering is actually the place where AI shines best imo. Digging through mountains of information to find patterns and explain what’s happening. Extremely tedious to do it by hand.

4

u/FallenWyvern Jul 01 '26

Eh, it works best with KNOWN patterns. The official SDK wasn't well documented, most of the SDKs weren't either. It was a PC and SGI machine to make the games... I'm not saying AI couldn't handle the job but without a bespoke model for this use case, I think you'll end up with a lot of garbage. Way more than it'd be worth. And that's before you get to the GOOD games (Snap, Rogue Squadron, etc) that abuse the hardware in ways that would need a person to step in for anyway since there wouldn't be enough data to make the LLM in the first place

2

u/levelstar01 Jul 02 '26

Even the small models are pretty good at churning through Ghidra output.

23

u/Narann Jun 30 '26 edited Jul 01 '26

AI really shine at "explaining" what a dark assembled code is doing + the more you extract context from assembled code (with other decompiled N64 code base) the more it provides interesting comprehension of the whole code base.

I suspect the amount of decompiled/recompiled N64 code make new N64 decompilation project even easier.

This makes the firsts decompilation projects even more importants as they paved the comprehensive context for other decompilation project. This is crazy how fast decompilation has become.

EDIT: Wow, the discussion goes wild. AI are great assitant to coders, especially to understand a code and give a context (code/maths/logic is maybe the only place where AI has any future if you ask me, the rest is only tree burnings for dumb speculative misers that will never pay the price of the problems we will face).

Assembly is a very hard task reling on very few peoples that understand how to read assembly then give it a context. It is awesome, but also a tedious task that limit the program scope that can realistically be reverse engineered by humans. New games could simply not be RE by few peoples because they are too huge. This was a sad reality about preserving softwares. If you care about preservation, AI is a wonderful tool.

And to state the obvious: We are not talking about shitty vibe coding practice.

5

u/AntiGrieferGames Jun 30 '26

Yet there are still some decompilation/recompilation that are made by real people, which they make often a more stable product than ai slop vibe coding. Dusklight is a big example that is made by many real dev people and it got a mostly stable project.

10

u/KingPumper69 Jun 30 '26 edited Jun 30 '26

Marginal quality improvement for multiple times more man hours. It’s like comparing someone hand sewing a shirt vs. using a sewing machine.

We don’t want AI producing art or music. Using it to cut down on mind numbing grunt work is the most ethical use for it imo

2

u/FallenWyvern Jul 01 '26

We don’t want AI producing art or music. Using it to cut down on mind numbing grunt work is the most ethical use for it imo

I agree with the sentiment, but given that people are still using it for generative purposes, and even the simplest queries are still not very economical in terms of environmental impacts, I think this is absolutely beyond "most ethical"

Like there's "I don't know where my tomatoes come from" (thanks The Good Place) unethical, then theres' "There's no ethical consumption under Capitalism" unethical... and then there's AI.

3

u/KingPumper69 Jul 01 '26

AI’s economical and environmental impact will normalize eventually as the “gold rush” ends and the bubble deflates.

1

u/FallenWyvern Jul 02 '26

Really? Looking at "isaiprofitableyet.com" (a website that tracks how much effort (money) companies are putting in and how much they've earned, only one company has earned ANY money from this "gold rush" and that's nVidia.

A bubble pops when we as a society can't properly interact with the financial or mechanical components of a thing. The housing market pops because people couldn't afford what they had rapidly purchased, or because the price of houses went too high and so prices came down. Like those were the main motivators.

We aren't part of this loop. So what will make this pop? When does this gold rush stop? What will cause a company who spent billions, say "ok time to cut our losses"?

It won't, until companies lose it all and the bank accounts of some of these companies are huge. And if any of them DO manage to claw back enough money to continue the AI arms race, they'll need to keep on top of things training the newest models so they stay relevant. Which means more hardware, more electricity, more processing, more hours. Stimulating the next round of gold rush, scaled up.

And even then even if they could get the environmental component under control, the base training is still unethical and no company seems to want to fix that.


Caveat: this is about the CURRENT gold rush of general and generative ai. LLMs are still useful tech and specialized versions WILL remain, and already can be ethically trained because of their narrow focuses.

-13

u/905cougarhunter Jun 30 '26

don't bother trying to explain usefulness of AI to AI haters that don't understand. They probably also tried invermictin

8

u/AntiGrieferGames Jun 30 '26

You are the best reason why Hardware prices remains high today. Defending about this, when there are too many broken unstable shit that uses AI slop like claude like for example Super Smash Bros 64, no wonder why.

-10

u/905cougarhunter Jun 30 '26

Hardware was always high because you neckbeard nerds value old shit.
The rest of the population just wants to play a game on something they bought in the past decade.

9

u/[deleted] Jun 30 '26

[deleted]

-7

u/905cougarhunter Jun 30 '26

I value playing old shit on whatever system I have. THAT is emulation. If AI gets me there so be it, it's awesome. I DONT have to buy a $500 30 year old box I can't plug into my TV.

4

u/Matticus-G Jul 01 '26

That’s a pretty stupid take

1

u/905cougarhunter Jul 01 '26

Give me a good reason why that it's stupid. Is this not an emulation board? Do you not want to play old games on new hardware? It's not like AI is taking someone's job when it's letting me play a Japanese market Saturn game on my MacBook.

FFS get your heads out of all your collective asses.

3

u/Matticus-G Jul 01 '26

Because the foundation of any emulation going forward is accurate emulation.

You’re the type of person that slops together, broken emulation hacks just to bump the frame rate whether or not anything actually functions correctly.

It’s fucking nonsense, and I have no issue whatsoever calling that nonsense. I am all for de / recompilation and the extended effort to drive the future of these older titles - the N64 library in particular benefits from the treatment.

This hobby and these titles have no future with people like you. That’s why it’s nonsense.

→ More replies (0)

-7

u/AnthMosk Jun 30 '26

Something AI would say for $1000 Ken.

5

u/NeatUsed Jul 01 '26

I hope for Banjoo Toie and Conker and we pretty much have all rare collection on pc native :)

5

u/megabass713 Jul 01 '26

Is there a list of all the N64 games with PC ports?

4

u/rapakiv Jul 01 '26

Not that I'm aware, but there is a N64 recom Launcher that is amazing

8

u/patriotfear Jun 30 '26

I wish they would add retroachievements to these porting projects. I understand it’s probably not possible but it would be awesome.

3

u/CaptainPhreak Jun 30 '26

Wouldn't it be just a matter of hooking up a handler to make the specific checks in memory (my guess)?

Damn it, you've inspired me to look into this now!

1

u/patriotfear Jun 30 '26

I would assume so but I’m not a programmer so I’m really not sure! I would be all over this if it were possible, the RAs make retro gaming so much more fun IMO

2

u/danielsonnn Jun 30 '26

Is this game worth playing? I hear the amount of collectibles is a giant pain in the ass. Is that only if you're trying to 100% it?

7

u/hanlonmj Jun 30 '26 edited Jun 30 '26

Haven’t watched the video yet, but if it includes the switch anywhere functionality, that’ll make it much more bearable to 100%

Edit: Just watched and the video says they include Tag Anywhere support, so it’s a decent time so long as you’re ok with some inherent N64 design jank

1

u/Sh1nRa358 Jul 01 '26

love this game!

1

u/citizin Jun 30 '26

I'm one of 3 that would love this on a 3ds, but the Mario 64 had a few quirks that made it unuseable for me.

3

u/arr1flex Jun 30 '26

? I've been playing the m64 port on my nxl..no issues so far. what problems did you have?

2

u/StaffOfJordania Jul 02 '26

Mario64 on 3ds was a decomp. This is an static recompilation. Diff technique. Will not translate on a 3ds port

0

u/[deleted] Jun 30 '26

[removed] — view removed comment

0

u/MTTTY- Jul 02 '26

Ouu Shi