Recompilation: An Incredible New Way to Keep N64 Games Alive
Summary
TLDRThe video script discusses a revolutionary tool developed by modder Wiseguy, which transforms N64 ROMs into executable files for modern processors in seconds. This 'static recompilation' method not only preserves the original game's processing but also opens up possibilities for enhancements like ray tracing, 4k resolution, widescreen support, and high framerates. The tool, which converts N64 code into C, is set to make a significant impact on retro gaming by allowing even obscure games to run natively on PCs. Wiseguy's demonstration showcases the tool's effectiveness, with near-Parallel-RDP accuracy and minimal glitches. The script also highlights the potential for extensive modding and the tool's compatibility with Linux, including the ability to run on a Steam Deck without needing Proton. The video concludes by encouraging other modders to use this tool to bring more N64 games to PC.
Takeaways
- 🚀 **Static Recompilation Tool**: A tool by modder Wiseguy can convert N64 ROMs into runnable executables in seconds, opening up possibilities for enhanced N64 games on PC.
- 📚 **No Need for Decompilation**: The new method doesn't require full decompilation, which traditionally takes years, allowing for quicker porting of games.
- 💻 **Modern Hardware Compatibility**: The tool translates N64 code into C, making it compatible with modern processors and enabling features like ray tracing, 4k resolution, and high framerates.
- 📈 **Performance Improvements**: The recompilation process is fast and efficient, not requiring multithreading for the workload, and can produce a fully playable port in a short time.
- 📦 **Pre-built Ports**: End users won't need to compile games themselves as the ports do not include original game assets, allowing for pre-built sharing by Wiseguy.
- 🔍 **High Accuracy**: The method claims to achieve near-Parallel-RDP accuracy, ensuring original lighting and effects are preserved without extensive settings configuration.
- 🔩 **Modding and Patching**: While the recomp code is not human-readable, having fully reverse-engineered source code is beneficial for modding and patching, even when using this tool.
- 🧩 **Enhanced Features**: The ports are designed to support extensive modding, including auto-save modes, gyro aiming, D-pad mappings, and widescreen HUD placements.
- 📉 **Lower Latency**: The recompilation process focuses on low latency and smooth gameplay, using an ubershader approach for a fluid experience.
- 🎶 **Improved Audio Quality**: The audio system was rewritten multiple times for clarity, resulting in high-quality sound without common issues like crackling or timing problems.
- 🌟 **Community Contribution**: Wiseguy encourages other modders to use the tool for recompilation, potentially bringing many more N64 games to PC natively.
Q & A
What has been the primary challenge in N64 emulation?
-The primary challenge in N64 emulation has been the outdated software from the 2000s era, which has been built on an archaic plugin system, making it difficult to achieve compatibility and performance on modern systems.
What does the term 'static recompilation' refer to in the context of the script?
-Static recompilation refers to a process developed by modder Wiseguy that can convert an N64 ROM into a runnable executable file in a matter of minutes, which is significantly faster than traditional decompilation and porting methods.
How does the recompilation tool by Wiseguy differ from a full decompilation?
-The recompilation tool by Wiseguy differs from a full decompilation in that it translates the N64 code into C for modern processors and uses modern low-level API calls for graphics operations, while keeping the internal processing similar to the original hardware. It does not require the end user to handle the original game assets.
What are some of the enhancements that come with the recompilation tool?
-The recompilation tool opens the door to enhancements such as ray tracing, 4k resolution, widescreen support, gyroscopic controls, and high framerates for N64 games.
How does the recompilation tool handle the game's original assets?
-The compiled ports created by the recompilation tool do not include the original game assets. Instead, users are prompted to load from their own ROM dump on the first startup, similar to current PC ports.
What is the significance of the 'low latency' and 'no stuttering' design in the recompilation tool?
-The significance of the 'low latency' and 'no stuttering' design is to ensure that the gameplay experience is smooth and fluid, with no delays or interruptions, which is crucial for maintaining the quality of the gaming experience.
What is the role of Dario's RT64 renderer in the recompilation process?
-Dario's RT64 renderer is used to provide major enhancements to the recompiled games, such as ray tracing and high framerates. It relies heavily on the GPU, using compute shaders and low-level APIs to make these enhancements possible.
What are some of the limitations of the recompilation tool?
-The recompilation tool may not work as effectively with games that have custom microcodes, which could require a different approach or limit the enhancements available. Additionally, the recomp code is not readable, which means that having fully reverse-engineered source code is still beneficial for modding and patching.
How does the recompilation tool affect the modding community?
-The recompilation tool empowers the modding community by providing a streamlined method to create ports of N64 games for PC. It allows modders to focus on enhancements and polishing, rather than the laborious process of full decompilation and porting.
What is the process for users to use the recompilation tool?
-Users need to provide a US ROM of their own to use the recompilation tool. The tool is designed to be user-friendly, with a restrained interface that allows users to get into the game with minimal fuss.
What are some of the future enhancements planned for the recompilation tool?
-Future enhancements for the recompilation tool include support for DLSS, custom textures, free cameras, and further improvements to ray tracing. These enhancements aim to improve the visual quality and gameplay experience of N64 games on PC.
How does the recompilation tool compare to the emulator plugin that is planned for release?
-While the emulator plugin is still in development and will offer a sampling of Dario's RT work, the recompilation tool allows for a more direct and unrestricted approach to enhancing and playing N64 games on PC, without the need for an emulator.
Outlines
🚀 N64 Emulation Breakthrough with Static Recompilation
The paragraph discusses the limitations of N64 emulation due to outdated software and the time-consuming process of native porting. It introduces a new tool by modder Wiseguy that can convert N64 ROMs into executables in seconds, opening up possibilities for enhancements like ray tracing and high framerates. The tool works by translating N64 code into C for modern processors and uses modern graphics APIs. It preserves the original game's internal processing, aiming for high accuracy in emulation. The paragraph also mentions the potential for this technology to allow ports of obscure games and the collaborative efforts between Wiseguy and Dario on the RT64 renderer for graphical enhancements.
🎮 Advanced Emulation Features and Modding Capabilities
This paragraph delves into the technical aspects of the recompilation tool's rendering process, which allows for high framerates and smooth animations. It covers how the tool records frame data and creates additional frames for smooth transitions, as well as how it supports model replacements and ultrawide aspect ratios. The paragraph also highlights the extensive modding support, including gyro aiming and widescreen HUD placements for Zelda games. It discusses the auto-save feature, low latency design, and the improved audio system. The benefits of having both decompilation-based ports and recompilation ports are mentioned, emphasizing that they cater to different experiences. The paragraph concludes with the future plans for the recompilation tool, including support for sequels and additional enhancements.
📚 User Guide and Future Prospects for N64 Recompilation
The final paragraph provides practical information on how users can utilize the recompilation tool, regardless of whether they own a physical or digital version of the game. It mentions the ease of running the native Linux version on certain devices without additional software. The paragraph encourages those interested in recomps or RT64 to seek out more information and provides a humorous, exaggerated reference to the game 'Superman 64', emphasizing the tool's capability to port even the most challenging titles.
Mindmap
Keywords
💡N64 emulation
💡Static recompilation
💡Direct3D12 and Vulkan
💡Ray tracing
💡High frame rates
💡Gyroscope (gyro)
💡Multithreading
💡ROM dump
💡Decompilation
💡Modding
💡Zelda games
Highlights
N64 emulation has been improved with a new tool by modder Wiseguy, which allows for 'static recompilation' of N64 ROMs into runnable executables.
The recompilation process can be done in a matter of minutes, a significant reduction from the years it takes for full decompilation.
The tool opens the possibility for ray tracing, 4k resolution, widescreen, gyro controls, and high framerates for N64 games.
Wiseguy's tool converts N64 code into C language for compilation on modern processors and translates graphics operations to modern API calls like Direct3D12 and Vulkan.
The recompilation method maintains the original game's internal processing, achieving near-Parallel-RDP accuracy.
Issues like depth effects, which traditional emulators struggle with, work perfectly in the recompiled versions without needing complex settings.
The recompiled ports do not crash or have stability issues, offering a smooth gaming experience.
The recompilation process is not perfect and requires manual fixes for modern hardware speeds, but it's significantly faster than full decompilation.
Wiseguy managed to create a fully playable port of Majora’s Mask in just two days using the recompilation tool.
The recompilation tool does not make decompilation and traditional porting obsolete, as fully reverse-engineered source code is beneficial for modding.
The recompilation method allows for the porting of even the most obscure N64 games to run natively on PC.
Games with custom microcodes may require a different approach, potentially sacrificing enhancements like ray tracing and high framerates.
The RT64 renderer by Dario brings major enhancements like ray tracing and high framerates to the recompiled games.
The recompiled ports achieve high framerates by recording and queuing full frame data for the renderer, rather than immediate draw calls.
Model replacements and extensive modding support are possible with the recompiled ports, including auto-save modes and HUD enhancements.
The recompilation tool corrects timings and offers low latency, no stuttering gameplay with an ubershader approach.
The audio system in the recompiled ports has been rewritten for excellent clarity, with no crackling or timing issues.
The recompilation tool is designed for simplicity and streamlined gameplay, allowing for coexistence with more complex, modding-focused ports.
The recompilation tool is set to be used for other games in the future, with plans for features like DLSS, custom textures, free cameras, and more.
The recompilation process is a significant step forward for the N64 platform, potentially improving the playability of many games and keeping them accessible.
Wiseguy encourages other modders to use the recompilation tool to bring more N64 games to PC, providing a link for those interested.
Transcripts
N64 emulation has long been held back by 2000s era software- there have certainly been advancements
over the years, but mostly built atop the same archaic plugin system.
Native ports solve that issue but they take a lot of time and work.
A full decompilation can take years-
"It is done. Two years! We started this in 2019"
and the ports themselves are usually separate projects taking months more.
Not every game can get this treatment, with most efforts so far focusing on the same handful
of popular games that emulators did.
What if there were a way to…
I don’t know… magically turn an N64 ROM into a runnable exe?
Like, in a matter of minutes?
While opening the door to ray tracing, 4k, widescreen, gyro, and high framerates,
if it’s not too much trouble?
It may sound like a late April Fool’s Day joke, but that’s what the “static recompilation”
tool made by modder Wiseguy is capable of.
I thought viewers might not believe this was real, so I asked Wiseguy to record a demonstration.
A standard ROM is loaded, translated, and ready for compiling, in mere seconds.
It’s so fast, the workload doesn’t even bother multithreading.
It’s important to note that the end user won’t have to do this- the compiled ports
don’t include the original game assets, so Wiseguy should be able to share them pre-built.
You’ll be prompted to load from your own ROM dump on first startup, similar to the
current PC ports.
As far as how it works, the tool converts the N64 code into C so it can be compiled
to run on a modern processor, and at runtime the renderer translates the graphics operations
to modern low level API calls- Direct3D12 on Windows and Vulkan on Linux.
Wiseguy likened this to the way Valve’s Proton compatibility layer works, and also
compared it to the approach taken by the Mega Man Legacy Collection.
A decompiled port may alter the game’s source code to make it easier to run on PC, but the
translation based approach of these recomps keeps the internal processing the same as
original hardware.
Wiseguy claims their method achieves near Parallel-RDP accuracy, having created dozens
of test ROMs to make sure the original lighting and effects are correct, and I’ve seen nothing
so far to suggest otherwise.
Issues GlideN64 still struggles with, like depth effects, work perfectly here without
the need to configure pages of settings.
Any glitches I ran into were related to the high framerate feature and have been patched.
The only suspected bugs otherwise, like this tearing effect when the screen shrinks, turned
out to be accurate behavior, though the effect was fixed anyway for good measure.
I didn't experience a single crash or stability issue.
There was a game ending bug involving a lot of head stepping, but that's a known issue
within the game itself.
That said, the automated process isn’t perfect and the recomps usually require manual fixes
for things like modern hardware speeds being way faster than expected.
But the amount of time and work needed to patch them up pales in comparison to a full
decompilation and port process- while the Majora’s Mask repo is still inching towards
completion, Wiseguy claims to have had a fully playable port as early as February 2023-
and it only took two days to make.
The time since was spent on polishing the recompilation process and various enhancements.
In no way does this render decompilation and traditional porting obsolete- the recomp code
is not readable, so having fully reverse engineered source code is a big help for modding and
patching even when using this tool.
Part of the reason Majora’s Mask only took two days is that there was a decompilation
to reference.
But of course, the point is that you don’t need a decompilation to create a port anymore,
opening the door to the most obscure games running natively on PC.
Wiseguy’s first successful recomp test was Rocket: Robot on Wheels, a game I had never
even heard of before, but that now has a port thanks to this tool.
Even Superman 64- a direct affront to God- has a port thanks to this tool.
That’s not a joke!
This piece of shit is on PC!
Testing has been limited to a handful of games so far, but Wiseguy expects the tool to generally
work with the full N64 library.
The exceptions will be games with custom microcodes- for Majora’s Mask, the lighting microcode
was already understood well enough to be implemented in its port.
For other and less documented microcodes, ports could still work but in LLE mode, which
would mean sacrificing the major enhancements like ray tracing and high framerates.
Speaking of- major enhancements, like ray tracing and high framerates.
These come courtesy of Dario’s RT64 renderer; you may know Dario from his excellent Mario
64 ray tracing fork.
When preparing to bring RT64 to Ocarina of Time he realized that he could carry his work
over to an emulator plugin and deliver his enhancements to many games at once.
From there, Wiseguy’s experimental recomp tool allowed RT64 to bypass emulators altogether.
Some of the screenshots Dario has been sharing for the RT plugin were secretly from recomp
ports instead.
That emulator plugin is still planned for release, but the recomps will be less restricted
when it comes to enhancement potential.
And in specific ways, the recomps will be less restricted than the current PC ports.
I’m a big fan of Ship of Harkinian, so I don’t mean to disparage it in any way- it’s
a great port with amazing features and compatibility, but its use of older APIs and reliance on
the CPU for processing vertices creates roadblocks for certain enhancements.
RT64 relies much more heavily on the GPU, taking advantage of compute shaders and low
level APIs to make enhancements easier.
High framerates are achieved with the game logic running at 20fps, but instead of sending
commands as draw calls right away, the full frame data is recorded and queued for the
renderer- that difference is apparently critical to everything RT64 does.
The queued frames are checked for matching draw calls, and then the renderer creates
the additional frames between them.
In the event the renderer gets something wrong, specific animations can be tagged with IDs
that tell the renderer how to do it right.
The results are extremely smooth.
The animations don’t look out of place to me (as they often can at higher rates) and
even the texture scrolling effects for fire and water are interpolated- without this,
the game action and 2D effects can be wildly mismatched.
Model replacements will also be done at the render stage, not unlike RTX remix, so modern
formats can be used and there’s no danger of the game exploding due to a larger than
expected file, since it’s internally using the original assets.
Much like MY BODY, ultrawide aspect ratios are supported and mostly work well.
The 3D cone for song effects was patched to extend beyond the 4:3 window, though the camera
still clips through the landscape during some cutscenes.
There's support extensive modding, and it should be possible to port existing ROMhacks
over- the Zelda games will support gyro aiming, D-pad mappings and widescreen HUD placements
out of the box.
Majora’s Mask also has an auto-save mode, which hijacks the owl slot to intermittently
back up your progress.
Everything is saved but your location, so you can quit as soon as the icon appears.
Here I’ve closed the recomp just at the end of the laborious Don Gero quest, and picked
right back up where I left off.
The last auto-save loads at startup by default, though you can still choose the song of time
saves using the “rewind” button.
Using an owl statue will overwrite the autosave, and like the 3DS version these are permanent.
You could rely on this system entirely if you want a more modern experience, but you’re
free to disable it and play the original way.
Everybody wins.
The recomp also has corrected timings to keep the Giant’s sequence from finishing before
the music.
These ports have been designed from the ground up to have low latency and no stuttering,
using an ubershader approach similar to Dolphin.
It’s unbelievable how fluid and smooth Majora’s Mask is every step of the way- from the pause
menu to the pictobox, there’s no hanging or delay in any of the usual places.
The audio is also deserving of praise, with excellent clarity and no crackling or timing
issues.
Wiseguy rewrote the audio system three times to get a satisfactory result and didn’t
take the shortcuts with frame pacing that most audio plugins have, resulting in the
clearest N64 sound quality I’ve heard:
After years of fiddling with plugins and still getting bad results, it’s a relief for the
sound to just work, and to work this well.
The existence of this recomp shouldn’t dampen anyone’s enthusiasm for the decompilation-based
port that’s coming.
Ship of Harkinian aims for a different experience, crafted with the help of speedrunners and
people familiar with all of the game’s quirks and absolutely loaded with options to customize
each and every one of them.
The Majora’s Mask port should offer the same depth, as well as lower hardware requirements.
The recomps are streamlined for simplicity- the interface is restrained to get you into
the game with minimal fuss, more like an official release.
These are very much focused on playing rather than tinkering, so there’s room enough for
two ports to coexist.
Majora’s Mask is the only recomp launching now, but Ocarina of Time will be added soon.
The plan is for sequels, like the Zeldas or Banjo games, to be combined together in one
launcher.
Some features, like DLSS, custom textures, free cameras, and of course ray tracing will
arrive in upcoming builds.
I didn’t get a chance to go hands-on with an RT build, but everything I’ve seen gels
with the 64 graphics surprisingly well, and the results are worlds apart from ReShade’s
RT.
Zelda’s time of day systems especially take on a new realism when you can actually see
the sun casting shadows on the landscape.
There are even more possible enhancements Dario would like to bring afterward, but the
roadmap is already too full to mention anything else.
The emulator plugin likely won’t be ready until late this year but it should offer a
great sampling of Dario’s RT work until more recomps arrive.
The RT64 library is shared between recomps and the plugin, so any-
I’m sorry, he put ray tracing in this...
This piece of shit!
…So any fixes or updates made for one branch will benefit the other.
The plugin can theoretically be integrated into Ship of Harkinian as a rendering backend
as well, though a lot of tech details would have to be worked out first.
Even without the fancy enhancements, this is a monumental step forward for keeping the
full N64 platform accessible and should vastly improve the playability of many games.
It’s yet another testament to the ingenuity of the fan community and the ever-escalating
level of quality it delivers for retro gaming.
Wiseguy is only able to do so much, so his hope is for other modders to take the tool
into their own hands and do recomps from here.
If you’ve always wanted a certain game on PC and know how to COMPUTER, this could be
your chance.
The recomp is linked below, and again, you’ll need to provide a US ROM of your own to use
it.
Whether you own a physical or digital version of the game, this is easily done.
And because there’s a native Linux version it can easily run on a Deck- no Protoning
required.
If you want to learn more about recomps or RT64- and you should- check out the official
trailer from Wiseguy, as well as RT64’s development history
on TWITTERI’mNotCallingItX
Barf!
Koolooh Limpah!
SUPERMAN, in short time your fate will be sealed,
SUPERMAN.
SUPERMAN, in short time your SUPERMAN will be sealed,
SUPERMAN.
SUPERMAN.
SUPERMAN, in short time your SUPERMAN
will be SUPERMAN.
Piece of shit!
SUPERMAN
5.0 / 5 (0 votes)