
Fans and coders have been working on decompiling multiple classic Nintendo 64 games over the years, with Ocarina of Time, Super Mario 64, Perfect Dark, and Majora's Mask just being a handful of titles they've managed to revert to source code. Now, a Nintendo Life favourite is joining the roster of decompiled N64 games (thanks to CM30 for the tip!).
Thanks to Banjo Kazooie (a coder, not the game...), Banjo-Kazooie has now been fully decompiled, pushing the way for PC ports and mods galore. The news was shared on Twitter by Bring Back Banjo.
This will open up the game to those who don't have Nintendo Switch Online or an Xbox — which are just a couple of ways you can play the game in 2024. Potential fan-made PC ports will be able to run at a smooth 60fps and get a full HD facelift.
But the big news is that, because the decompiling process reverts the game to its source code, many issues and bugs that have plagued potential mods will now be able to be fixed.
You can have a look at all the files over on GitLab, but this is another fantastic step forward in game preservation from fans. So surely, surely, Banjo-Tooie isn't far behind, right...?
Are you a Banjo fan? Do you want to see a PC port of the game? let us know in the comments.
[source gitlab.com, via x.com, gamingreinvented.com]
Comments 17
Damn, I started reading as Banjo Tooie now online, but sadly not
The code is such utter gibberish. The functions don't have meaningful names, the decompiler just names them with hex values. Do modders really work on it like that or is there some subsequent effort to name stuff after what it actually does?
@dystome
Documenting the decompiled source code is the next step.
The decompilation is considered a success when they've completely mapped out a source code that can be recompiled into a perfectly matching reference binary file (e.g. the ROM they decompiled).
I'm really looking forward to what can be done with the Banjo Kazooie decompilation, absolutely amazing things have been done with the Super Mario 64 decompilation whether it be playing PC ports with bells and whistles, extremely thorough optimisations for real hardware, or incredibly creative mods with brand new functionality also on real hardware.
It looks like we will finally have the definitive version of this game. I hope they add a mod that make Musical Notes not reset when you leave a level.
@RupeeClock I hope they are able to port the game, Paper Mario was decompiled last year but there is no projects using that decompilation yet.
Tbh I really Don’t like seeing stuff like this happening
@fenlix
I was wondering about that, despite the successful decompilation nobody seems to have picked it up.
I don't see that being the case for this Banjo Kazooie decompilation though, it's probably going to see some immediate use for extra impressive mods, perhaps in places you wouldn't expect.
Did you know that there are mods for Half-Life 2 and Grand Theft Auto San Andreas that make use of the SM64 decompilation and a user-provided ROM to make for a playable Mario? Full platforming physics, models, and sound effects all working in a completely different game.
That's the sort of thing that source code makes possible, we could see a merger of Banjo Kazooie and Super Mario 64 in pretty funky ways, maybe a cross-over randomizer?
@RupeeClock This is one of the few places where I feel AI could really help out. I say that as a coder for over 25 years. I can see this step becoming faster over time.
I really have no idea how this stuff works. Even if it’s been decompiled, don’t Rare still own the IP so any copies of it would count as copyright infringement?
@montrayjak
With which step exactly? The decompilation of the binary, or the process of documenting the unnamed variables and functions into something human readable?
AI tools in IDEs at present mostly amount to giving code writing assistance to inexperienced developers with guidance trained on answers from inexperienced developers on StackOverflow.
That could change over time.
For the actual documentation of functions and variables, I don't think would be too hard. I imagine the process just involves compiling the ROM with debugging symbols attached to the variables and functions you wish to identify, and then doing a playthrough of the game (possibly with a TAS recording). You monitor the playthrough of the game with a debugging console open so you can see which variables update in response to given player actions, thereby letting you quickly identify if they correspond to a flag, a health value, a position/co-ordinate, a speed value, etc. That's the sort of stuff that is already readily identified through memory inspection and is the basis of cheat code devices like Game Genie, Action Replay, Game Shark, Code Breaker, etc.
Looking forward to seeing what will come out of this especially when it comes to mods and yes, I hope it will eventually happen for Banjo-Tooie, too!
Kaze Emanuar, renowned SM64 modder has put out a really informative video about what the Banjo Kazooie decompilation means. Definitely recommend watching it if you want to learn more.
https://youtu.be/dH1ErhJa3Qo
And now I patiently wait for Banjo Tooie's turn.
@RupeeClock Ah sorry! I should have been more specific!
I was referring specifically to the step of making the variable names readable and/or adding comments and other documentation.
I frequently use copilot to help me with documentation, and sometimes coming up with variable names, and it's actually fairly good at it. I could see it working really well in something like this.
PS Vita native port maybe pretty please?
Either rare or nintendo should hire this guy and let him remake banjo series for the switch 😃
@fenlix you mean making the xbox360 port?
Leave A Comment
Hold on there, you need to login to post a comment...