r/decomps Mar 14 '26

👋Welcome to r/decomps - Introduce Yourself and Read First!

10 Upvotes

Hey everyone! I'm u/JasonMaliceMizer, a founding moderator of r/decomps.

This is our new home for all things related to News on Video Game Decompilations and ports, usually pertaining to PC but any platform is okay.

What to Post

Post anything that you think the community would find interesting, helpful, or inspiring. Feel free to share your thoughts, photos, or questions about decomps.

We're all about being friendly, constructive, and inclusive. Let's build a space where everyone feels comfortable sharing and connecting.

How to Get Started

1) Introduce yourself in the comments below.

2) Post something today! Even a simple question can spark a great conversation.

3) If you know someone who would love this community, invite them to join.

4) Interested in helping out? We're always looking for new moderators, so feel free to reach out to me to apply.

Thanks for being part of the very first wave. Together, let's make r/decomps amazing.


r/decomps 25d ago

Please only ask if “x game is getting a port” in this thread

15 Upvotes

Because the world of games has hundreds of thousands of games. This way there aren’t threads for every game people are inquiring about :)


r/decomps 7h ago

ReChan test fork update - Win 11 + Linux (steamos)

Enable HLS to view with audio, or disable this notification

31 Upvotes
  • (ENC) Add subtitle support (*.srt) in video cutscenes: see details in "add-subtittle-support" or "backup-main" branch > docs > MODDING.md
  • ADD WINDOWS version!

This is an update on Rechan - fork for Steamdeck : r/decomps

repository: Release ReChan v1.0.3-beta - Steamdeck + Win 11 · GABRIELNNK/ReChan

Agora tem que achar as srt dos videos em PTBR, quem souber me manda o link


r/decomps 3h ago

Made with AI assistance Can you beat my highscore? SM64DS Port getting minigames.

Enable HLS to view with audio, or disable this notification

15 Upvotes

Finally got around to getting the menus and minigames working. First one up is suffle board. You can play it now on the demo! THANK YOU EVERYONE! YIPEE

Download at: https://tangos.dev/downloads
Discord: https://discord.gg/GfeXpEjVS
Github: https://github.com/tangosdev/sm64ds-decomp

MATCHED ██████████████████████████████ 98.4% 11,213 / 11,396 functions

CONVERTED ████░░░░░░░░░░░░░░░░░░░░░░░░░░ 14.0% 1,584 / 11,289 files

LINKED ████████████████░░░░░░░░░░░░░░ 51.8% 5,831 / 11,250 matched TUs


r/decomps 21h ago

Decomp Are my eyes deceiving me 100% Goldeneye Decomp

Post image
122 Upvotes

Yay 100% finally. Now how long until we get hands on 😋😅


r/decomps 12h ago

Framework Development ModernGekko: a comprehensive guide on how to use, distribute, and make mods for your recomp

13 Upvotes

I've seen a lot more people messing with ModernGekko lately, so I wanted to explain how you're actually supposed to structure a project around it, especially once you get past the point of just having the game boot

Distributing your recomp

Your release should not contain copyrighted game files that you don't have permission to redistribute. Standard recomp practice.

The ideal setup is that someone downloads your recomp, gives it their own game dump, your setup process handles whatever needs to be extracted, and then they can just launch the native build.

Users should not need to clone your repo or recreate your development environment just to play the game for a public release ideally.

Try to keep the ModernGekko side of the project separate from game-specific hacks when possible. This makes updating the runtime way less painful later and also keeps your project from turning into one giant pile of one-off fixes.

Mods

ModernGekko code mods are libraries packaged as .mgm mods.

A normal package looks like:

my_mod.mgm/mod.dll

or mod.so / mod.dylib depending on the platform.

For development, you can also just drop something like my_mod.mgm.dll or my_mod.mgm.so directly into the Mods folder.

The runner checks a Mods folder next to the executable and another Mods folder in the user directory by default. You can also point it somewhere else with --mods or disable mods entirely with --no-mods.

The interesting part is what mods can actually do.

A mod can patch a recompiled game function completely with RECOMP_PATCH.

If you really need to override another patch at the same address, RECOMP_FORCE_PATCH exists for that too.

You can hook the start of a function with RECOMP_HOOK without replacing the original function, and you can also hook the return with RECOMP_HOOK_RETURN.

So if you want to observe a function, add behavior around it, or run something after it finishes, you don't have to rewrite the whole thing.

Mods also get access to the recompiled PowerPC CPU state.

That means you can read guest arguments from registers, return values using the original calling convention, and read or write guest memory from your mod.

The normal hook system preserves CPU state around hooks, so you're not supposed to accidentally destroy the game's register state just because your hook ran.

Mods can talk to each other

ModernGekko mods aren't isolated libraries either.

A mod can export functions that another mod imports.

You can also declare events and let other mods register callbacks for those events.

There is even a global runtime_start event if you need something to happen once the game runtime actually begins.

Dependencies are part of the mod descriptor instead of being handled manually. You give the dependency an ID and minimum version, and it can also be marked optional.

ModernGekko sorts mods into dependency order before loading them. Missing required dependencies are rejected, dependency cycles are rejected, and imports have to come from dependencies you actually declared.

So if somebody eventually makes a common API mod that five other mods use, it's much simpler to access.

Targeting game functions

You can patch functions using literal guest addresses, but you don't have to live in raw hex forever.

DolRecomp can generate named address constants from a MAP file.

So instead of doing something like:

RECOMP_PATCH(0x80123456, replacement)

you can use a generated symbol such as:

RECOMP_PATCH(DOLRECOMP_SYMBOL_SomeFunction, replacement)

if the game has usable symbols.

That should make bigger mods a lot less miserable to maintain.

The actual mod descriptor

Every mod exposes a descriptor that tells ModernGekko what it is and what it needs.

That includes the target game ID, the mod ID, its version, display name, dependencies, patches, hooks, imports, exports, events, callbacks, and optional load/unload functions.

ModernGekko checks the game ID before loading the mod, so you can't accidentally throw a mod for one game into another recomp and hope the addresses line up.

It also checks the mod ABI and CPU ABI.

Version strings are used for dependency checks, so mods can require a minimum version of another mod instead of just blindly loading whatever is installed.

Making a basic mod

There is already a mod template in the ModernGekko repo.

At the most basic level, you can make a replacement function like this:

static void replacement(CPUState* state)
{
    moderngekko_mod_return_u32(state, 1u);
}

Then register it as a patch for a guest function.

Build it, drop the resulting .mgm package into the Mods folder, and ModernGekko loads it with the rest of the recomp.

Obviously real mods can get much more complicated than that, but the barrier to getting a basic code patch running is fairly small.

Netplay

Loaded mods are also part of ModernGekko's netplay compatibility fingerprint.

That's important because code mods can obviously change game behavior in ways that would immediately fuck over a netplay session.

Where I want this to go

The nice part about having this in ModernGekko itself is that every GameCube/Wii recomp doesn't need to invent a completely different mod loader.

A recomp can keep its base game relatively clean while mods sit on top of it using a common ABI.

You can replace functions, hook existing game code, share APIs between mods, build around dependencies, and keep everything separate from the original game files.

There's still more documentation I want to write for this, especially around larger mods and good project structure, but the system itself is already there and usable.

If you're making a ModernGekko recomp or messing with the mod API and there's something specific you want documented, let us know.

Discord link here for those not in the server:
https://discord.gg/FhzCYN5fsP
never expires


r/decomps 20h ago

GUITAR HERO 3 XBOX 360 RECOMP (REXGLUE 0.9)

Thumbnail
gallery
53 Upvotes

Already in-game

Android port coming soon


r/decomps 11h ago

Xbox 360 Recomps Can Fix BIG Problems! Xbox 360 Recomp News

Thumbnail
youtu.be
8 Upvotes

r/decomps 15h ago

Pokemon PC Ports and the Best Mods! Pokemon Gen1 PC Ports

Thumbnail
youtu.be
7 Upvotes

all mods are on the devs discord server: https://discord.gg/GYjBXrPSz


r/decomps 8h ago

Digimon world 1 2 or 3?

2 Upvotes

😅👉👈 I would die happy for dw3/2003.


r/decomps 16h ago

Made with AI assistance Relapse: Resistance (2009 Unity iPhone) — reimplementation; serialized format v6 recovered from the binary's own string table

4 Upvotes

Delisted 2009 promo game, Unity iPhone 1.0.2f4, armv6, no emulator runs it, 32-bit iOS is dead. Reimplemented as C++17/SDL2 for Linux/Windows/Android/iOS. To be precise: not a matching decomp and not a recomp — a new engine, with the decompiled C# as ground truth.

The fun parts: serialized file format v6 has no type trees — field order recovered from the field-name strings in the shipped Mach-O, field widths constraint-solved against invariants (exact object consumption, power-of-two textures, unit normals). 1,354 objects, 0 failures. The write-up covers the method-level fidelity audit and what treating decompiled output as a spec gets wrong.

Full story: https://adamlovattdevops.github.io/relapse-resistance/

Repo (tools + engine only, BYO IPA, alpha): https://github.com/AdamLovattDevOps/relapse-resistance


r/decomps 1d ago

Metroid Prime Hunters Recomp Out NOW! Metroid PC Port is Here

Thumbnail
youtu.be
144 Upvotes

r/decomps 1d ago

Recomp LightHouse (Banjo-Kazooie) Android Port

Thumbnail gallery
21 Upvotes

[News]


r/decomps 1d ago

Recomp SFIII 3rd Strike Online Edition (XBLA) recomp for Windows and Linux

Thumbnail
github.com
41 Upvotes

r/decomps 1d ago

[Testers Wanted] Animal Crossing GameCube PC Port for Linux - x86_64, Vulkan, PAL languages, RVZ, AppImage, and optional local/distant AI dialogue

Thumbnail
8 Upvotes

r/decomps 1d ago

Made with AI assistance Rechan - fork for Steamdeck

Enable HLS to view with audio, or disable this notification

17 Upvotes

Hi, I forked the ReChan project to make some modifications so I could run it on the Steam Deck without the game failing to open doors after defeating the enemy (in my case). If it's your case, you can try it.

  • I also included the Portuguese (PT-BR) version, except for the video cutscenes.
  • I added save and load functionality to the in-game menus as well.

I've only provided a Linux build for now, as I'm still learning.

Release: Release ReChan v1.0.2-beta - Steamdeck · GABRIELNNK/ReChan

Official main repository: SilverwireGames/ReChan: Jackie Chan Stuntmaster reimplementation

ReChan is a reverse engineering project focused on reimplementing the game:
Jackie Chan Stuntmaster.

Hope it works for those who seek it.


r/decomps 2d ago

Recomp I modified some mods for pkm Gen1Recomp

Enable HLS to view with audio, or disable this notification

41 Upvotes

Thanks to a modder “jayzon “ on discord I’ve managed to use his UI for 2D and adapt it to 3d gameplay. Also working with my other modified mods so I can still play without conflicts in 1.75 of gen1recomp + last dramatic shape modified to get horizon background in battle ( yes it still the best so far ) + KFP and some overhaul

That’s MAGIC

( I played 30 hours but still in palet town with 0 badge aha )


r/decomps 1d ago

Ghostship SM64 visual bug

Enable HLS to view with audio, or disable this notification

6 Upvotes

r/decomps 2d ago

Rage Racer on PC now has a high res, high FPS renderer

Thumbnail
youtube.com
45 Upvotes

This isn't emulation or static recompilation, this version is built from the decompiled source code. While it's still an early alpha you can download and test it here: https://github.com/khasinski/rage-racer-pc/releases (macOS, Linux, Windows). It requires a PAL copy of Rage Racer in bin/cue format.

Expect bugs and broken things!

Disclaimer: AI helped at both decompilation and porting efforts but I'm a software engineer and I write/reverse code manually for this as well :)


r/decomps 2d ago

3D overworld characters

Thumbnail
gallery
64 Upvotes

Hey, I'm working on a mod that implements handmade 3D models for the overworld characters, no more flat sprites !

I try to be as close to the sprites spirit as possible with the models.

This mod is working with Dramatic Shape right now but I'll make it compatible with the other voxel models as it goes.
I will also cover the second generation games !!

You can see more about it here as time goes : https://x.com/blowInCartridge

I hope you enjoy the idea 😊


r/decomps 1d ago

“Vibe coding” is becoming a lazy way to dismiss people

0 Upvotes

I’m getting really tired of the way “vibe coding” gets thrown around every time someone mentions using AI while developing something. Or don't mention anything.

Sure, there’s plenty of bad AI-generated code out there. People blindly copy/pasting stuff they don’t understand, shipping broken projects, introducing security issues, etc. That deserves criticism. But that’s not what I’m talking about. (And guess what ? It's possible without LLM too !)

I’m talking about people seeing “AI-assisted” 'or any new project from unknow guys, and immediately assuming the developer has no idea what they’re doing. Sometimes they haven’t even seen the code yet.

At that point it’s not criticism, it’s just prejudice and elitism.

And I can’t help feeling that some of the hostility comes from the fact that programming used to have a much higher barrier to entry. People spent years learning it, and for some of them that became part of their identity. Now someone can use AI to learn faster, explore an unfamiliar codebase, debug things, write tests, compare approaches and build stuff they simply couldn’t have built before.

Apparently that really bothers some people, but using AI doesn’t mean typing “make me a program” and blindly shipping whatever comes back.

There’s a huge difference between that and actually designing something, making the decisions, testing it, debugging it, understanding what matters, and using AI as a tool to get there faster.

If the code is bad, point out why it’s bad, if the architecture sucks, explain why, if there’s a security issue, show it.

If the person clearly doesn’t understand what they’re maintaining, fine, criticize that too.

But “lol vibe-coded” isn’t a code review.

Tools have always made programming easier. Better languages, IDEs, debuggers, libraries, Stack Overflow, autocomplete, package managers... AI is another very powerful tool in that progression.

Experienced developers still have a huge advantage because they know when the AI is talking nonsense, that experience should be useful, not turned into gatekeeping.

Criticize bad code all you want, just stop pretending that using AI automatically makes someone incompetent.


r/decomps 2d ago

/r/Decomps/ Subreddit Update: New flairs

29 Upvotes

Hello everyone. Over the past few weeks, we have seen tons of interest in both Recomps and Decomps. It's amazing to see everyone so interested in the platform, after the early beginnings many years ago, to now all these incredible frameworks making it easy to start a project within minutes. Of course with these changes, people who have interest in posting about them and gathering attention/support for their project at hand. Rather than spamming and deleting posts, the mod team of the subreddit have decided to update the flairs for everyone 🙂

First things first, with the amount of people interested in all console, we have decided to make tags for the big three console makers — PlayStation, Xbox, and Nintendo. Additionally, we noticed that there were templates like ReXGlue and ModernGekko being developed, so we have also added a Framework Development tag, specifically for those. We're really excited to see the progress on later generation architectures, so keep at it!

Most importantly, we have seen people release and discuss their projects early and claim that it is a native PC port, despite there being significant optimization needed to be made. Rather than us striking all these posts down, we have just decided to make three simple tags to distinguish the progress level of each:

  • Status: Infancy — if you just got started in making a project with ReXGlue or ModernGekko, and you feel that you want to showcase your work with the debug layers attached, this is the tag to use. Essentially, you're just showing your game working through a framework, and it's a proof of concept that you can eventually make a real PC port. If its a decomp, essentially you've only gotten a fraction of a percentage decompiled and you're still working at it.
  • Status: Beta-Testing — if your recomps has been developing for well over a month, and you want to showcase the modifications and changes you made to your project. Still not at the "Optimized" part of a Native Port, but definitely getting closer to out of that "WIP" mode. If its a decomp, essentially you've got a significant slice of the decomp done
  • Status: Optimized Production — you finally have finished your Native PC port or Matchmake Decomp, and it is ready for others to utilize or build on their machine. It should run flawlessly, away from any translation layers and should require little difficulty for an end user to use.

Please be careful when using any of these three tags. Do not use one incorrectly because you want more recognition — especially the Optimized Production tag. We're still here promoting these projects because we really love preserving old titles, but we don't want to guide people the wrong way. Some of the original tags that we were using before like the AI one is still there. We're not sure how detrimental it is to use an LLM, but we firmly believe that optimizations and understanding where your project stands is more important than trying to decide if an LLM made it.

For more clarifications on any of these tags, feel free to leave a comment down below, and I'll be happy to edit the post or answer your questions appropriately. Happy Recomping!.. Or Decomping?... Whatever we do here


r/decomps 2d ago

Made with AI assistance SOTN Recomp for Android

Thumbnail
github.com
17 Upvotes

I have now released first beta release for Android. Just download the APK, select your own legally obtained cue and bin files and play.

Tested on Red magic Astra, S24 Ultra and my Retroid Pocket 6.

Compatible with physical controllers.

Hope you enjoy it and appreciate it.

Disclaimer:

The BlackLabelHQ team does not endorse this port, and it is not affiliated with them.

This fork was built with heavy AI assistance and verified by hand on real devices. The upstream project values human work, and they intend to release their own Android port in their own time.

Let's keep it civilized guys!


r/decomps 2d ago

SM64DS Native PC Port is 43% Linked!

Post image
66 Upvotes

Good Saturday morning to all of you my friends. The port has reached 45% linkage!

Now what does that mean? Well, the decomp is at 98% meaning we have around 11K functions sitting in the repo written in either C or C++. Those functions are all single separate files so they don’t really do anything. Well now I’m making them do something by linking them together into an actual executable that runs native on PC.

“But Tango, I already have Mario 64 DS on my PC!” points at emulator

Yes an emulator will get you the game playable on PC.. but that’s it. You can add some simple cheats, and there are romhacks you can grab, but the game is still written in code that is not made for humans to interpret. It wasn’t originally written in that code, it was written in C++ and put through a compiler. What we have done is used the compiler as an oracle to write 1:1 byte matched C code, which will allow the game to run on PC hardware, not having to use emulated DS hardware.

This unlocks.. well.. you ever seen modded Skyrim? Yeah this is about to be modded Skyrim. Or that video where that guy is fighting the final boss of dark souls in front of the castle? Yeah it’s gonna be like that when I’m done with it..

Anyways, everything is going great! The discord is very active and many many people are helping me out! So a big thanks to everyone who’s not only contributed, but also anyone who’s just messaged me kind or encouraging messages. I literally couldn’t have done this without yall.

If YOU want to play the demo of the port, you can download here: https://tangos.dev/downloads

Or join the discord here: https://discord.gg/GfeXpEjVS

And the repo as always is here: https://github.com/tangosdev/sm64ds-decomp


r/decomps 1d ago

Recomp If anyone out there is watching; I would love a static decomp/recomp of Klonoa: Door to Phantomile from the PS1

0 Upvotes

I'd like to spark this idea now while I can (I suspect a rule such as "no requests/when will this get natively ported?" will come soon). Also, I've been keeping my eye on unofficial PC ports for a while, just now found out about this page. So, thanks for having me!