In November 2021, a team of fans at Zelda 64 Reverse Engineering—having spent two years on the project—revealed that they’d painstakingly recreated the entirety of The Legend Of Zelda: Ocarina Of Time. Now, only a few months later, we’re getting a good look at one of the main goals of that project: a proper PC port of the game.
How is this different from anyone already playing the game on a PC through emulation? That game is Nintendo’s original code for a console from the 90s, with the emulator essentially translating so it can run on a modern PC. This code, having been reverse-engineered, has been built from the ground up to run on a PC, for a PC.
What this means for fans is that they’ll get to play a version of the game that is at home on the platform. This port, for example—made by zel and vertigo—has widescreen and upscaling support, and it opens for the door some substantial mods to be made for it as well. Please also note the end of the video, where they show the Water Temple’s reflections working perfectly.
There are some catches, though. Firstly, it’s murky how legal this all is, which given we’re talking about Nintendo here is a pretty big catch. Here’s what I wrote about this conundrum last time we came across it, after fans reverse-engineered Super Mario 64:
These fans have...rebuilt the entire game’s code—albeit “using modern coding languages”—from scratch, to the point where it functionally performs identically to the original. This means there’s an expectation that technically they’ve done nothing illegal. How legally certain that is remains to be seen, but for reference, the reverse engineered Super Mario 64 code is still available at its source, despite Nintendo going after some projects that were built off that code.
The second is that you might understandably look at that video above and think that it’s still running pretty sluggishly for a game that’s been reverse-engineered specifically for the PC. Turns out there’s a very good technical explanation for that, as summed by mvit:
The n64 version runs at three framerates actually, 60fps for the pause screen, 30fps for the title screen and 20fps for the overworld. Thanks to the decomp we’ve found what controls the game speed, so in theory 60fps is already possible.
The problem really, comes from the fact that NPC routines and some of link’s moveset (Sword slash, hookshot, backflips, front flips) all calculate their distance based on framerate. So at 60fps link just triples his jump distance, hookshot distance and so on.
60fps will be realistically possible then once those functions are properly documented and a nice workaround is found to counter those results.
So fixes will be coming—this is a work-in-progress—but they haven’t been made yet. If you want to learn more about the effort, there are some links in the YouTube video’s description.