New static recompiler tool N64Recomp aims to seamlessly modernize N64 games

zelda.png

As each year passes, retro games become harder and harder to play, as the physical media begins to fall apart and becomes more difficult and expensive to obtain. The onward marching of time and evolution of technology also means that video games that were once landmark titles in their day, are now thought of as clunky, awkward, or just not viable by today's standards.

These reasons are why so many individuals have dedicated years of their lives to reverse engineering beloved video games, combining their efforts to create decompilations that allow for classic games to be experienced in new ways, on new technology, with new features and improvements that were never possible on original hardware or through emulation. These decompilation projects take massive amounts of effort, however; for example, one such undertaking for The Legend of Zelda: Majora's Mask, has been worked on since early 2021, and after years of steady, painstaking progress, is still not yet ready for release.

A new piece of software might be a big game-changer in that department, though. A modder by the name of Mr-Wiseguy quietly released two projects--one of which is titled Zelda 64: Recompiled, which can play The Legend of Zelda: Majora's Mask with numerous modern-day features, including support for autosaves, ultrawide resolutions, high framerates, gyro aiming, custom textures, and more. All of this can be utilized by downloading his release of Zelda 64: Recompiled, and providing your own legal cart dump of Majora's Mask.



According to Mr-Wiseguy, the project was made using a tool he created: N64 Recomp. It is a static recompiler for Nintendo 64 games that can turn N64 binaries into C code, and then be compiled into a platform of your choosing. By using N64 Recomp, the modder was able to create "recompilations" of Nintendo 64 games that lack decompilations, such as Rocket Robot on Wheels, Banjo-Kazooie, and Superman 64.

A highly-detailed breakdown of the process is explained below.

The recompiler works by accepting a list of symbols and metadata alongside the binary with the goal of splitting the input binary into functions that are each individually recompiled into a C function, named according to the metadata.

Instructions are processed one-by-one and corresponding C code is emitted as each one gets processed. This translation is very literal in order to keep complexity low. For example, the instruction addiu $r4, $r4, 0x20, which adds 0x20 to the 32-bit value in the low bytes of register $r4 and stores the sign extended 64-bit result in $r4, gets recompiled into ctx->r4 = ADD32(ctx->r4, 0X20); The jal (jump-and-link) instruction is recompiled directly into a function call, and j or b instructions (unconditional jumps and branches) that can be identified as tail-call optimizations are also recompiled into function calls as well. Branch delay slots are handled by duplicating instructions as necessary. There are other specific behaviors for certain instructions, such as the recompiler attempting to turn a jr instruction into a switch-case statement if it can tell that it's being used with a jump table. The recompiler has mostly been tested on binaries built with old MIPS compilers (e.g. mips gcc 2.7.2 and IDO) as well as modern clang targeting mips. Modern mips gcc may trip up the recompiler due to certain optimizations it can do, but those cases can probably be avoided by setting specific compilation flags.

Every output function created by the recompiler is currently emitted into its own file. An option may be provided in the future to group functions together into output files, which should help improve build times of the recompiler output by reducing file I/O in the build process.

Recompiler output can be compiled with any C compiler (tested with msvc, gcc and clang). The output is expected to be used with a runtime that can provide the necessary functionality and macro implementations to run it. An example of most of the required macro implementations can be found in the Zelda 64: Recompiled project here, with the project also containing accompanying code for implementing the rest of the required runtime.

Additionally, a collaborative video between Mr-Wiseguy and YouTuber Narrel was released, which goes into further technical explanation on how the tool works, and what it can be capable of. It also showcases demos of recompiled games running.



Zelda 64: Recompiled currently supports The Legend of Zelda: Majora's Mask, with plans to support Ocarina of Time soon. A release on GitHub is linked below. N64 Recomp is not publically available yet, though you can browse the GitHub page for the project below as well, so that you can keep up to date on any new updates as they happen.

:arrow: Source: Zelda 64 Recompiled GitHub
:arrow: Source: N64Recomp GitHub
 

LuigiXHero

Well-Known Member
Member
Joined
Dec 16, 2014
Messages
185
Trophies
0
XP
1,142
Country
United States
Amazing work. The thought of being able to play Conker's Bad Fur Day or Perfect Dark at a high, stable frame rate is a nice one indeed.

I've mucked around with it and it's impressive. Can cheats be used with it? I'll be honest, when playing old games on an emulator nowadays it's rare that I don't use an infinite lives cheat or something!
No cheats support (you could probably make some in cheat engine though) and you shouldn't even expect most games to even be that enhanced it literally spits out unreadable code and it's not a magic trigger like wiseguy is advertising he still spent a year on the MM port after all.

Also perfect dark already has a fan PC port already: https://github.com/fgsfdsfgs/perfect_dark
 
  • Like
Reactions: cearp

weatMod

Well-Known Member
Member
Joined
Aug 24, 2013
Messages
3,309
Trophies
2
Age
47
XP
3,356
Country
United States
Playing the Mario 64 recompilation
On my 3DS with with the 3D effect was amazing.
I hope this means we can get other N64 games ported to 3DS with the 3D effect added like with Mario 64.
I really want to play the Castlevania 64 games in 3D on my new 3DS XL, I was disappointed that Dadelus for 3DS was incompatible with the CV games but hopefully now there is a chance this can happen
Also mystical ninja starring Goemon in 3D on 3DS would be amazing.
 

WindMageVaati

Member
Newcomer
Joined
Mar 8, 2024
Messages
24
Trophies
0
Age
15
XP
65
Country
United States

As each year passes, retro games become harder and harder to play, as the physical media begins to fall apart and becomes more difficult and expensive to obtain. The onward marching of time and evolution of technology also means that video games that were once landmark titles in their day, are now thought of as clunky, awkward, or just not viable by today's standards.

These reasons are why so many individuals have dedicated years of their lives to reverse engineering beloved video games, combining their efforts to create decompilations that allow for classic games to be experienced in new ways, on new technology, with new features and improvements that were never possible on original hardware or through emulation. These decompilation projects take massive amounts of effort, however; for example, one such undertaking for The Legend of Zelda: Majora's Mask, has been worked on since early 2021, and after years of steady, painstaking progress, is still not yet ready for release.

A new piece of software might be a big game-changer in that department, though. A modder by the name of Mr-Wiseguy quietly released two projects--one of which is titled Zelda 64: Recompiled, which can play The Legend of Zelda: Majora's Mask with numerous modern-day features, including support for autosaves, ultrawide resolutions, high framerates, gyro aiming, custom textures, and more. All of this can be utilized by downloading his release of Zelda 64: Recompiled, and providing your own legal cart dump of Majora's Mask.



According to Mr-Wiseguy, the project was made using a tool he created: N64 Recomp. It is a static recompiler for Nintendo 64 games that can turn N64 binaries into C code, and then be compiled into a platform of your choosing. By using N64 Recomp, the modder was able to create "recompilations" of Nintendo 64 games that lack decompilations, such as Rocket Robot on Wheels, Banjo-Kazooie, and Superman 64.

A highly-detailed breakdown of the process is explained below.



Additionally, a collaborative video between Mr-Wiseguy and YouTuber Narrel was released, which goes into further technical explanation on how the tool works, and what it can be capable of. It also showcases demos of recompiled games running.



Zelda 64: Recompiled currently supports The Legend of Zelda: Majora's Mask, with plans to support Ocarina of Time soon. A release on GitHub is linked below. N64 Recomp is not publically available yet, though you can browse the GitHub page for the project below as well, so that you can keep up to date on any new updates as they happen.

:arrow: Source: Zelda 64 Recompiled GitHub
:arrow: Source: N64Recomp GitHub

Great! Where do I download it?
Post automatically merged:

Playing the Mario 64 recompilation
On my 3DS with with the 3D effect was amazing.
I hope this means we can get other N64 games ported to 3DS with the 3D effect added like with Mario 64.
I really want to play the Castlevania 64 games in 3D on my new 3DS XL, I was disappointed that Dadelus for 3DS was incompatible with the CV games but hopefully now there is a chance this can happen
Also mystical ninja starring Goemon in 3D on 3DS would be amazing.
How do I take recompiled game to 3ds?
 
  • Like
Reactions: weatMod

weatMod

Well-Known Member
Member
Joined
Aug 24, 2013
Messages
3,309
Trophies
2
Age
47
XP
3,356
Country
United States
Great! Where do I download it?
Post automatically merged:


How do I take recompiled game to 3ds?
I have no idea
I wish I knew, not sure if it is even possible yet with recompilation.
I have a .cia for mario64 from the mario64 decompilation project that was recompiled for 3DS with the 3D effect added and I am hoping it will become possible for the recompilation to do similar things for other titles.
 

WindMageVaati

Member
Newcomer
Joined
Mar 8, 2024
Messages
24
Trophies
0
Age
15
XP
65
Country
United States
I have no idea
I wish I knew, not sure if it is even possible yet with recompilation.
I have a .cia for mario64 from the mario64 decompilation project that was recompiled for 3DS with the 3D effect added and I am hoping it will become possible for the recompilation to do similar things for other titles.
oot for 3ds but old n64 version will be fire
Post automatically merged:


As each year passes, retro games become harder and harder to play, as the physical media begins to fall apart and becomes more difficult and expensive to obtain. The onward marching of time and evolution of technology also means that video games that were once landmark titles in their day, are now thought of as clunky, awkward, or just not viable by today's standards.

These reasons are why so many individuals have dedicated years of their lives to reverse engineering beloved video games, combining their efforts to create decompilations that allow for classic games to be experienced in new ways, on new technology, with new features and improvements that were never possible on original hardware or through emulation. These decompilation projects take massive amounts of effort, however; for example, one such undertaking for The Legend of Zelda: Majora's Mask, has been worked on since early 2021, and after years of steady, painstaking progress, is still not yet ready for release.

A new piece of software might be a big game-changer in that department, though. A modder by the name of Mr-Wiseguy quietly released two projects--one of which is titled Zelda 64: Recompiled, which can play The Legend of Zelda: Majora's Mask with numerous modern-day features, including support for autosaves, ultrawide resolutions, high framerates, gyro aiming, custom textures, and more. All of this can be utilized by downloading his release of Zelda 64: Recompiled, and providing your own legal cart dump of Majora's Mask.



According to Mr-Wiseguy, the project was made using a tool he created: N64 Recomp. It is a static recompiler for Nintendo 64 games that can turn N64 binaries into C code, and then be compiled into a platform of your choosing. By using N64 Recomp, the modder was able to create "recompilations" of Nintendo 64 games that lack decompilations, such as Rocket Robot on Wheels, Banjo-Kazooie, and Superman 64.

A highly-detailed breakdown of the process is explained below.



Additionally, a collaborative video between Mr-Wiseguy and YouTuber Narrel was released, which goes into further technical explanation on how the tool works, and what it can be capable of. It also showcases demos of recompiled games running.



Zelda 64: Recompiled currently supports The Legend of Zelda: Majora's Mask, with plans to support Ocarina of Time soon. A release on GitHub is linked below. N64 Recomp is not publically available yet, though you can browse the GitHub page for the project below as well, so that you can keep up to date on any new updates as they happen.

:arrow: Source: Zelda 64 Recompiled GitHub
:arrow: Source: N64Recomp GitHub

Lisetn man. I want the game, so i can recomp to 3ds. But I dont know where to find it.
 

WindMageVaati

Member
Newcomer
Joined
Mar 8, 2024
Messages
24
Trophies
0
Age
15
XP
65
Country
United States

As each year passes, retro games become harder and harder to play, as the physical media begins to fall apart and becomes more difficult and expensive to obtain. The onward marching of time and evolution of technology also means that video games that were once landmark titles in their day, are now thought of as clunky, awkward, or just not viable by today's standards.

These reasons are why so many individuals have dedicated years of their lives to reverse engineering beloved video games, combining their efforts to create decompilations that allow for classic games to be experienced in new ways, on new technology, with new features and improvements that were never possible on original hardware or through emulation. These decompilation projects take massive amounts of effort, however; for example, one such undertaking for The Legend of Zelda: Majora's Mask, has been worked on since early 2021, and after years of steady, painstaking progress, is still not yet ready for release.

A new piece of software might be a big game-changer in that department, though. A modder by the name of Mr-Wiseguy quietly released two projects--one of which is titled Zelda 64: Recompiled, which can play The Legend of Zelda: Majora's Mask with numerous modern-day features, including support for autosaves, ultrawide resolutions, high framerates, gyro aiming, custom textures, and more. All of this can be utilized by downloading his release of Zelda 64: Recompiled, and providing your own legal cart dump of Majora's Mask.



According to Mr-Wiseguy, the project was made using a tool he created: N64 Recomp. It is a static recompiler for Nintendo 64 games that can turn N64 binaries into C code, and then be compiled into a platform of your choosing. By using N64 Recomp, the modder was able to create "recompilations" of Nintendo 64 games that lack decompilations, such as Rocket Robot on Wheels, Banjo-Kazooie, and Superman 64.

A highly-detailed breakdown of the process is explained below.



Additionally, a collaborative video between Mr-Wiseguy and YouTuber Narrel was released, which goes into further technical explanation on how the tool works, and what it can be capable of. It also showcases demos of recompiled games running.



Zelda 64: Recompiled currently supports The Legend of Zelda: Majora's Mask, with plans to support Ocarina of Time soon. A release on GitHub is linked below. N64 Recomp is not publically available yet, though you can browse the GitHub page for the project below as well, so that you can keep up to date on any new updates as they happen.

:arrow: Source: Zelda 64 Recompiled GitHub
:arrow: Source: N64Recomp GitHub

How do I contact Mr-Wiseguy?
 

Defective1Up

Active Member
Newcomer
Joined
Jul 11, 2021
Messages
32
Trophies
0
Age
33
XP
318
Country
United States
Finally, Banjo Kazooie and Tooie can be ported to PC, upscaled, and with tons of new features added, like the original Stop N' Swap. And Banjo Threeie projects
 

Ampersound

Well-Known Member
Member
Joined
Feb 4, 2018
Messages
284
Trophies
0
Age
37
XP
1,495
Country
Germany
You could do Diddy Kong Racing DS with widescreen, some emulators support that. Something to do because this tool is going to take a while to come out.
Hmm but aren't there a bunch of touchscreen features in that version?
I remember you having to spin the wheel, or blow into the mic for a boost at the start of a race.

If you wanna play on a regular controller, that sounds like a hassle.

No idea about emulators, but on console the sound is very compressed too.
 

legaiaflame

Well-Known Member
Newcomer
Joined
Nov 21, 2008
Messages
71
Trophies
1
XP
768
Country
United States
Playing the Mario 64 recompilation
On my 3DS with with the 3D effect was amazing.
I hope this means we can get other N64 games ported to 3DS with the 3D effect added like with Mario 64.
I really want to play the Castlevania 64 games in 3D on my new 3DS XL, I was disappointed that Dadelus for 3DS was incompatible with the CV games but hopefully now there is a chance this can happen
Also mystical ninja starring Goemon in 3D on 3DS would be amazing.

You can actually play many of these N64 games in full VR. Go to the Dolphin VR Reddit to find out how. There is info on how to do it in the setup and game guides.
Post automatically merged:

oot for 3ds but old n64 version will be fire
Post automatically merged:


Lisetn man. I want the game, so i can recomp to 3ds. But I dont know where to find it.
You have to hombrew/Mod your 3DS first to even be able to play it. But just do a google search and it's pretty easy to find it.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: 90K it's fine lol