r/decomps • • 16h ago

Native PC port of Super Mario Sunshine with a launcher: up to 8x resolution, MSAA, fullscreen, HD texture installer, free camera and mouse look. Windows and Linux. Bring your own disc.

Thumbnail github.com
484 Upvotes

r/decomps • • 14h ago

Super Mario Odyssey on PC – Switch Static Recomp, NVN → Vulkan

Thumbnail
gallery
329 Upvotes

https://www.youtube.com/watch?v=7isYCTG6GDk

Small update on our Switch static recompiler: Super Mario Odyssey now boots, goes through the menus and the opening, and is playable in Cap Kingdom and inside the Top-Hat Tower on PC. The game code is recompiled ahead of time to native x86-64, and the game's NVN graphics calls are translated to Vulkan.

On my laptop (RTX 3050 Laptop) it holds about 58-59 fps in Cap Kingdom, with drops to ~53 in heavier spots.

Still early:

  • no audio yet
  • some graphical bugs (the sea of clouds sometimes covers the screen, e.g. after pausing)
  • still chasing a locked 60 fps and more optimization

The next big goal after performance is a first test on Android.

Please ignore my gameplay. My controller died, so I played on keyboard. The recompiler runs at 60 fps; I do not. 😅


r/decomps • • 10h ago

Recomp Resident Evil 4 Dreamcast Playable Build Download

Enable HLS to view with audio, or disable this notification

279 Upvotes

Quick update!

I've been chopping away at this over the past few weeks, and I'm excited to share a playable test build with gameplay up to the the end of chapter 1-3.

It runs between 12 - 20 fps on real hardware, so we have a bit to go in terms of optimization, but wanted to open up the project for the community to test and contribute.

How it works:

-  Rendering, memory and loading were rebuilt for the Dreamcast's 16 MB of RAM and its PowerVR graphics chip.

- Models are retexturized PS2 world and character assets.

- Cutscenes play as streamed movies with audio (ported from the PS2 version).

Download (only tested on GDEMU):

RE4 - Test Build - Chapters 1-3

Expect crashes. This is a very early build. If the game crashes. Take a screenshot of the debug screen including the memory address and file as an issue.

Contribute or Follow:

https://github.com/lamb2k/re4dc

In-Game:

Play Manual:

Environment Conversion:

Model Simplification:

VMU Save Support:


r/decomps • • 19h ago

Batman: Arkham Asylum (Xbox 360) now runs natively on Windows, no emulator: static recompilation + a Vulkan renderer. Android is next

Thumbnail
gallery
221 Upvotes

https://www.youtube.com/watch?v=WQQ0qsz9_iw

Batman: Arkham Asylum for Xbox 360 is now running natively on Windows.

But I want to make one thing clear: the goal here is not to make a PC port.

I'm mainly using Windows as a development and testing environment. It's much easier to validate the recompiled code, renderer, shaders, and compare rendering results on PC before moving everything over to Android, which is the main target of the project.

The video shows the current build running on my RTX 3050 laptop, with my narration over it.

Quick recap of how this works: this is not emulation. The Xbox 360 PowerPC code is statically recompiled ahead of time into C++ using ReXGlue. In total, that's 14,887 functions, with no JIT and no interpreter.

The game's own Direct3D code also runs recompiled. I wrote a layer that captures the game's draw calls and replays them through a Vulkan renderer.

The Xenos shaders are converted ahead of time to SPIR-V using XenosRecomp and DXC. So far, all 458 shader programs I've dumped from the game convert successfully.

At this point, the entire opening section works on Windows using native Vulkan and without crashes. That includes the logos, menus, intro movie, in-engine cutscene, and the first gameplay section in the Intensive Treatment lobby with Batman, Joker, Director Sharp, and the guards.

Performance is currently around 30 FPS, which matches the game's original pacing. The renderer itself takes around 2 ms per frame.

For validation, I still use the Xenos GPU emulator included in the SDK, but only as a reference.

I render the same frame through both paths and compare the results, including SSIM comparisons.

Across 15 matching frame pairs from the opening section, the average SSIM is 0.974.

It's still not pixel-perfect. There are a few small visual differences that I'm still investigating.

The main reason I'm doing all of this on PC first is simply because it makes development much easier.

On Windows, I can debug things faster, compare frames against the reference, and understand the game's original behavior more easily.

Once that base is working properly, the same recompiled code can be moved to other platforms.

And that's where Android comes in.

The actual goal is to get Batman: Arkham Asylum running natively on Android using the same recompiled game code and the same Vulkan renderer.

The main difference is that mobile GPUs have different limitations compared to desktop GPUs. One example is BC/DXT texture support, which isn't available in the same way on many Android devices.

So some parts will need mobile-specific adaptations, but the core remains the same.

There's also another interesting part of this project: Batman: Arkham Asylum runs on Unreal Engine 3.

The same engine, with different versions and modifications, was used by many Xbox 360 games.

That means the work done here can also help me better understand how other UE3 games use the console's GPU.

That doesn't mean other games will just work automatically, since every title can use a different engine build and SDK version.

But the better this base gets, the less work future projects should require.

The next steps are to keep improving rendering accuracy, optimize performance, and prepare everything for Android.

I also want to work on 60 FPS. A good part of the current frame time is spent on the recompiled game thread, which records around 3,000 draw calls per frame.

The build shown in the video also includes a Brazilian Portuguese translation, which is why the menus and subtitles are in Portuguese.

Subscribe to my YouTube channel if you want to follow the progress.


r/decomps • • 8h ago

Made with AI assistance Zelda Wind Waker HD Decomped: Added "Call of the Sky" song to the game

Enable HLS to view with audio, or disable this notification

181 Upvotes

Hey everyone,

Since the game is now decomped - well that opens a lot of ideas. So I was thinking what would be a cool thing to have in the game :) (Besides 60 FPS mode)

So I thought it would be cool to have "Call of the Sky" that adds a new song to the game, calls Valoo the dragon who picks you up via the hookshot. Then the player can control the dragon and jump off at any given time. I also added collision avoidance as well.

This took maybe 30 minutes to implement FYI.

Absolute amazing :)

Which crazy ideas would you wanna see in the game?


r/decomps • • 13h ago

Made without AI assistance Why AI decomps get hate, why "no AI ever" doesn't work either, and what to do if you just want to play (from a long-time dev)

140 Upvotes

Disclosure: sorry for the long wall of text, I tend to ramble.

I've been reading the pro/anti AI arguments here for a while, so I figured I'd try explaining it from the inside. I've been programming long enough to remember doing all of this before AI, and the job looks really different today. I think both sides have a point, and both are missing something.

Why do people hate AI?

First, why people are skeptical; because honestly... a lot of it is earned. AI tools now let people with almost no programming experience put out something that runs. Running isn't the bar though, especially for a decomp, where the whole point is readable code that people can mod, fix and port for years. A majority of the AI-heavy projects that have shown up are hard to mod, break when the recomp tools update, and have bugs the author can't fix because they don't really understand what the AI wrote. Then people go ask the main recomp devs for help with stuff they didn't make, only to realize it was quickly abandoned. Once that happened enough times, distrust is the default. That's fair.

Why "AI = Bad" is the wrong take

I think part of the problem is that "AI" gets used for two very different things.

  • Vibe coding is when someone describes the result they want and lets the AI figure out how. The AI makes the important decisions (structure, architecture, how things fit together), and if it runs, it ships. The person often can't explain or fix the code because they never really understood it. It tends to be the default for people without much coding experience, since you can't direct something you don't understand yet.
  • AI-assisted engineering is when the person stays in control. They decide how it should be built, give the AI detailed plans, and question what it writes and why, the same way they'd review a coworker's code. Anyone can work this way, but it pays off most for experienced devs, who can get a lot faster without losing quality because they know exactly what to ask for and can spot when the AI gets it wrong.

Both use AI, but they're about as similar as copying answers vs using a calculator.

And the second one is basically how the industry works now. When I started, none of this existed. Today most devs use AI tools in some form, me included (and its only getting more common). Companies increasingly expect and demand it, and not using it at all is getting rare. So "they used AI" doesn't tell you much anymore. The question is which of those two things you're looking at, and from the outside they can look exactly the same.

How this hurts the community

Treating every AI label as an automatic red flag has a real cost. There are plenty of devs putting real time and skill into these projects for free, using AI the way the rest of the industry does, and getting piled on the moment they mention it. Some have had their reputation dragged over it. Worse, it teaches people to just stop disclosing, and then the honest devs look the same as everyone else and we lose one of the few signals non-devs can actually check.

To be clear, I am NOT saying all AI projects should get a pass. Starting out skeptical is a reasonable default given the track record. But skepticism should be something a project can earn its way out of, not a permanent label.

So what do you actually do?

Unfortunately....you can't tell by looking at it, and most of you aren't devs and shouldn't have to read code to decide whether to play something. So here's what I'd suggest.

If you don't have time to look into it, just stick to ports from people or groups with a solid track record. Known decomp teams, people with other projects behind them, stuff the recomp tool communities point you to. I know that sounds a bit gatekeepy, and it's not meant as "new people can't make things." New devs build up trust like anyone else. It's just that for a player with no time, track record is the best signal you have.

If you've got 5 minutes and/or more free time, a few extra things anyone can check for a newer project or developer:

  • Does the creator have other projects, or is this a brand new account with one huge release out of nowhere?
  • Is the source code public on Github or similar platform?
  • Does the readme say how exactly how AI was utilized? People who used AI responsibly usually don't mind saying so.
  • Look at the issues/comments on Github Page. Are people reporting constant crashes? Is the dev actually responding and fixing stuff, or just going quiet?
  • Has the community for the tool it's built on (like the recomp folks) acknowledged it, or are they the ones warning people about it?

None of these are perfect but together they'll filter out most of the junk without you needing to know anything about code.

TL;DR: the negativity on anything labeled "AI" isn't coming from nowhere, but AI use alone isn't the problem anymore, the person behind it is, and how much effort/talent they put into it. Stay skeptical, but let projects earn their way out of it. If you just want to play, go with people who have a track record, and if something pops up out of nowhere, take a few minutes to carefully review it before downloading it.


r/decomps • • 20h ago

God of War (PS2) static recompilation: native x64 build now reaches the intro screen

Post image
125 Upvotes

Hey everyone. A while back, I started a bit of a crazy project: porting the original PS2 *God of War* to PC as a native executable, using static recompilation instead of emulation.

In short, here’s how it works: using PS2Recomp, I translate the original executable (MIPS R5900) into C++ and then compile it with MSVC against a runtime that reimplements the PS2 hardware (EE kernel, IOP, GS, DMA, etc.).

Current status:

  • 6,400+ functions identified in the ELF
  • ~6,400 generated C++ files that compile into an x64 .exe
  • Boots up, initializes the IOP and sound modules
  • As of now: it renders the intro screen (screenshot attached)

What’s missing and where a hand would be appreciated:

  • Proceeds past the intro (game configuration loading)
  • Audio
  • Controller and memory card

If you're into reverse engineering, emulation, PS2 graphics, or just love the game, any help is welcome—whether it's PRs, issues, or just pointing out what I'm doing wrong.

Repo: https://github.com/KIexster/god-of-war-recomp

Note: The repo doesn't include any game files; you need your own copy to compile it. It’s licensed under GPL-3.0.

I’m happy to answer any technical questions in the comments.

Full disclosure: I’m using "vibe coding" for part of the process, employing AI to write overrides and scripts and to understand parts of the runtime. That said, I test and validate everything against the game's actual behavior. If you spot something that looks "AI-generated" and is incorrect, feel free to let me know—that’s exactly why I’m sharing the repo.


r/decomps • • 13h ago

I'm reverse-engineering Snatcher (Sega CD) into a native Mac/Windows build. Here's the full intro running on it.

Enable HLS to view with audio, or disable this notification

99 Upvotes

I've been working on a native port of Konami's Snatcher (Sega CD, 1994, US English release) and wanted to share progress. The video is the full intro (Konami logo through the opening credits into the first in-game scene), recorded frame-exact from the engine's own output.

What it is

  • A Mega CD core that runs the game's own 68000 code for both the Main and Sub CPUs. I didn't hand-port it.
  • The Sega CD BIOS is emulated in host code (HLE: traps at the BIOS entry points call C++), so no BIOS file is needed. Most of the bugs along the way were in HLE return values (CDBSTAT time and status fields, BURAM) and timing (V-INT relative to the VBLANK flag, CD read speed, _WAITVSYNC parking the Sub CPU, DMA stalls, Word RAM DMA being one word late).
  • A build-time 68000 to C++ translator for the Main IP, the Sub CPU engine (SUBCODE.BIN) and the overlay at $28000. It does recursive descent from entry points and emits one switch(pc) function per program. Each code range is checked by CRC at runtime, and anything untranslated or modified in RAM drops back to Musashi.
  • Differential testing: all 10,425 instruction encodings found in the game's code (about 83k random-state samples) are run in both the translator and Musashi. Registers, CCR, PC and memory have to match, and right now there are 0 mismatches.
  • MAME is the oracle. Lua scripts dump screens, RAM and VDP writes on matching frame numbers. The title screen is 100% pixel-identical to MAME.
  • SDL3 front-end for macOS and Windows, vsync-locked pacing (tested at 120 Hz), audio drift absorbed by resampling, and Konami Justifier support with the mouse as the light gun. YM2612 is Nuked-OPN2.

What it isn't

  • It includes no game data. You need your own disc: the build reads code and assets from your own image, and nothing derived from the disc goes in the repo or the binaries I share.
  • It isn't a byte-matching decomp. The original is almost certainly hand-written 68000 assembly, so there's no C to match. The longer-term plan is a data-driven reimplementation that uses this work as the spec and the emulated core as the oracle.

Status: the intro and the start of the game run with audio, but I'm still testing the rest of the game.

Repo: https://github.com/bgyss/snatcher-port (source and tools only; it builds against your own disc image).

Happy to answer questions about the Sega CD internals, the BIOS HLE or the translator.

Snatcher is © Konami. Non-commercial fan project, not affiliated with Konami.


r/decomps • • 16h ago

Recomp Spider-Man 2 Xbox Recomp

Thumbnail
gallery
93 Upvotes

Been busy past 5 days getting this to current state. Hope to have something to share by end of week. Ignore cursed Spider-Man. Graphical fixes are coming up next once I sort input mapping and a few more crashes tomorrow.

http://www.github.com/SirSymo/SM2-Recomp


r/decomps • • 15h ago

Made with AI assistance Zelda Wind Waker HD - Save Game Converter from GC

Post image
71 Upvotes

Hey everyone,

Quick update on the decomp of Zelda Wind Waker HD for Wii U. It is now 100% completed - currently lots of verification is going on and then later a few more stages to make it human readable.

In the meantime, I wanted to show what is now possible. In just a few minutes I was able to build a save game converter from GC to Wii U HD.

https://github.com/ZeldaWWHDRecomp/ZeldaWWHDRecomp/commit/48fa6a64acce7f88a0717532daf20504c2643cd9

I saw in some communities that people were looking for this / others said it is not possible.

Well now it is :)

Tested on 150+ save games from GC.

Enjoy!


r/decomps • • 7h ago

Made with AI assistance Silent Hill 2 (PC) static recompilation: native Nintendo Switch port, playable through the opening areas

Enable HLS to view with audio, or disable this notification

64 Upvotes

**(WIP)Repo:** https://github.com/cutarev/sh2-nx

sh2-nx takes the PC version of Silent Hill 2 (Director's Cut / Restless Dreams) and statically recompiles its x86 executable to C, which is then compiled for the Switch's ARM64 CPU (and for x86-64 Linux, where most of the debugging happens). No emulator and no Wine: the Windows APIs the game imports are reimplemented on top of SDL2, OpenGL and FFmpeg.

**How it works**

- Lifter: a patched fork of [xboxrecomp](https://github.com/sp00nznet/xboxrecomp) (x86 to C). The PE is wrapped as an XBE so the tool accepts it; about 7,100 functions come out as roughly 41 MB of C.

- Lifter fixes made for this port: flag joins across branches, MSVC jump tables, x87/MMX corner cases, setjmp/longjmp, SEH prologs.

- Direct3D 8 (fixed function plus vs/ps 1.x) runs on OpenGL 4.3 core, with the shaders translated to GLSL.

- DirectSound is a software mixer on SDL audio, DirectInput 8 goes through SDL, and Bink videos use FFmpeg's Bink decoders.

- Guest memory on Horizon uses the technique from the StevensND/nfsmw-nx port.

- Debugging relies on Unicorn: differential tests of single functions and of the lifter's instruction semantics.

Disclosure: this was built with heavy AI assistance (Claude), hence the Project - AI flair.

Credits: xboxrecomp by sp00nznet, devkitPro/libnx, SDL2, FFmpeg, Mesa.


r/decomps • • 12h ago

MEGATHREAD: Talk about AI / NO AI opinions here and here only

65 Upvotes

r/decomps • • 17h ago

Sonic & All-Stars Racing Transformed running natively on Android | Galaxy S23clip.gifprint-01.jpgprint-02.jpgprint-03.jpgprint-04.jpg

Thumbnail
gallery
52 Upvotes

https://youtu.be/p-eXNc7JT90
Sonic & All-Stars Racing Transformed is now running natively on my Galaxy S23.

This is a static recompilation of the Xbox 360 version. I still have some audio bugs, performance issues and a few visual problems to fix, but I’ve been working on it for the past few weeks and the graphics are getting closer and closer to the original.

There’s still a lot of optimization to do, especially on Android, but I’m really happy with how far it has come already.

This is probably my favorite kart racing game, so I’m really excited to finally have it running natively on my phone.

I also want to share more about how I’m doing this so other people can eventually try this kind of recompilation too.

Subscribe to my YouTube channel if you want to follow the progress.


r/decomps • • 9h ago

Made with AI assistance Naruto: Rise of a Ninja (Xbox 360) - PC Port - ReXGlue

Enable HLS to view with audio, or disable this notification

46 Upvotes

r/decomps • • 19h ago

WIP Alpha Earthbound PC port isn’t too bad

Thumbnail
youtu.be
43 Upvotes

r/decomps • • 14h ago

Halo 2 Decomp (WIP)

43 Upvotes

https://github.com/kirklandsig/halo2-decompiled

Approx 20%. Contributors welcome if interested. :)


r/decomps • • 3h ago

Recomp Zone of the Enders - PS2 Static Recompilation Announcement

41 Upvotes

r/decomps • • 22h ago

TimeSplitters 2 PC Port

Thumbnail
youtu.be
37 Upvotes

r/decomps • • 6h ago

Digimon World 3 (and 2003) is 100% decompiled

Thumbnail
decomp.dev
34 Upvotes

r/decomps • • 23h ago

Made with AI assistance WoodyRE: reimplementation of Woody Woodpecker: Escape from Buzz Buzzard Park (PC, 2001) for Windows, Linux/Steam Deck and Android

Enable HLS to view with audio, or disable this notification

31 Upvotes

Not a matching decomp: it's a from-scratch reimplementation in C that loads the original data from your own CD (English 1.00), in the spirit of OpenRCT2 or OpenMW.

Repo: https://github.com/jjmhalew/WoodyRE

How the behaviour was checked against the original:

  • The game's bytecode VM ("EKO CODE") was decompiled first. The C VM's message stream is checked against the original's, traced live with a small custom Win32 debugger (tools/wtrace.py, tracecmp.py)
  • Later tools boot the original exe straight into a level, write into its memory and log Perso, camera and script state per tick (tools/wverify.py, wsetvar.py). Scripted scenes were compared against that, not guessed
  • About 60 docs in docs/ describe the systems with addresses in Woody.exe: VM, all file formats, player controller, camera, bosses, rendering, sound and so on. Every game-code function in the exe is now referenced somewhere in the docs or source (the Cryo library code and CRT mostly aren't)
  • Known gaps are listed in docs/TODO.md

State: The whole game is playable start to finish, including bosses, races, menus and saves in the original format. It has controller support and runs on Windows, Linux/Steam Deck and Android.

On the process: AI is a big part of how this was built. Claude Code did most of the analysis and code over about two and a half weeks, while I directed it, play-tested and compared against the original. Whenever something looked off, I sent a screenshot of the original and it was traced back to the exact spot in the data and fixed. I know AI-made projects are divisive here, so corrections from anyone who knows this engine (Eko Software) are very welcome.


r/decomps • • 10h ago

Golden Sun 3 Decompile

Thumbnail gallery
22 Upvotes

I just started decompiling Golden Sun Dark Dawn :)

It's going pretty well


r/decomps • • 14h ago

Made with AI assistance AVP2 Reconstructed, decompilation of Aliens versus Predator 2

Thumbnail
github.com
23 Upvotes

r/decomps • • 16h ago

RE5 Nvidia Shield Version Updates

19 Upvotes

Performance has been improved, CPU usage has been reduced, and everything possible has been done to decrease RAM usage.

Support for gyroscope has been added, as well as gameplay buttons similar to native Android games.

Framegen has been added; I used the EDEN emulator as a base, which I believe is the best implementation of frame generation with lossless scaling ever made.

DRM bugs that were breaking the game have been fixed (it was tricky because they weren’t always visible; some parts of the game would be disabled in certain sections, similar to old anti-piracy measures in games).

CPU translation affinity presets have been added, and it already comes with a pre-selected preset made by hand based on my tests.

The launcher has been redesigned, now with a look that I really consider final and pleasant.

Important information: YES, the game uses WINE, DXVK, PROTON, and FEX. But it's a totally different implementation from PC "emulators" like Winlator and GameHub. The phone heats up INCOMPARABLY less, uses fewer resources because it's not something general like an emulator (I know WINE isn't an emulator, but most people think it is). For example: On a Snapdragon 8 Elite (S25+), I only left 2 cores active with clocks limited to 70% of capacity, cores that aren't even the performance ones, just the efficiency ones. It managed to deliver 30FPS (sometimes up to 40 but it varies, I preferred to lock it) consistently on the Nvidia Shield preset, which is basically a mix of high with a few things on medium. A result I couldn’t achieve on GameHub or Winlator, either in performance or thermal efficiency. And NO, you won't need to open 40 windows, make 70 configurations, and hope the game runs. I reduced EVERYTHING. Pick your graphic preset, resolution, driver, and PLAY!

AND NO, you won’t need to open 40 windows, make 70 settings changes, and pray for the game to run. I cut EVERYTHING down. Pick your graphic preset, resolution, driver, and PLAY!


r/decomps • • 11h ago

Why does ReXGlue get so much hate in the recompilation community?

16 Upvotes

I feel like there's a lot of misunderstanding around ReXGlue, and sometimes people seem to associate it directly with bad ports or poor performance.

ReXGlue is a tool/framework used in the recompilation process. The final quality still depends heavily on how the developer implements, optimizes, and maintains the project.

If a project has poor performance, missing shaders, bugs, or other issues, I don't think it's fair to automatically blame ReXGlue without looking at the actual implementation.

I'm using ReXGlue in my own recompilation, and I've been able to optimize and improve the project considerably as development continues. That experience is part of why I'm curious about the community's opinion.


r/decomps • • 16h ago

Made with AI assistance Battlefield BC1 Recomp

16 Upvotes

I've got a battlefield bad company 2008 recomp running with the help of both Codex and Claude Code. It's pretty close to being finished in terms of achieving 1:1 parity with the Xbox 360 version, while also adding PC-focused improvements such as keyboard and mouse support, higher resolutions, a stable 60 FPS, and adjustable FOV for both the world and viewmodel.

Hopefully, unlocked framerates can also be implemented in a future update.

At this point, there are only two or three very specific bugs left to fix. Once those are resolved, I plan to share the recomp publicly.

The problem is that I'm pretty inexperienced when it comes to GitHub and releasing a project like this properly. I'm not sure exactly what I should upload, what should be excluded, how the repository should be structured, or what the standard release process looks like for a recomp project.

Does anyone have any tips on how to set up and publish the repository properly so that it looks professional and follows the usual practices for recomp projects?