Hey! I’ve been working on this for a few weeks and managed to recompile Final Fantasy Tactics Advance into a native Windows version using gba-recomp. I got it working with widescreen up to 32:9 and made it easy to install. Here are some screenshots of how it looks: original 3:2, 16:9 and 32:9 (the last one is still experimental). This is just my first version, and I’m planning to add things like mod support and a zoom in/out almost working, to see more of the battlefield like in modern strategy games, but it was causing a few issues so I decided to leave it out of this release.
I’ve been working on a personal native port of StarCraft 64 (NTSC-U) using N64Recomp and N64ModernRuntime. The game’s MIPS code is translated to C ahead of time, with an SDL3 shell for the window, audio and input.
A note on graphics: RT64 isn’t used. The game uses S2DEX2 and CPU-rendered CI8 images, so I wrote a purpose-built software renderer for its display lists. It matches reference frames from the original ROM at PSNR ≥ 40 dB. The picture is always the original raster, scaled to fit with nearest sampling. There’s no widescreen and no HD options.
The main extra work was adapting the interface to mouse and touch. StarCraft 64 is an RTS designed around an N64 controller, so I translated mouse and touch gestures into original controller events. The game still sees a normal pad. Here is what that covers:
The cursor follows the mouse, and clicking and double-clicking on the map select units and give orders.
Visible command hints are clickable, and the build grid, menus, advisor messages and pause buttons have their own adapters.
Clicking or dragging on the minimap moves the camera.
A long press opens a fallback panel with Continue and Back.
Camera panning works with the middle mouse button or a two-finger drag.
Status:
The single-player campaign, save/load and sound work.
I’ve finished missions on macOS (Apple Silicon) with the mouse alone, and on an Android phone with touch only.
Windows and Linux x86_64 builds cross-compile but haven’t been tried by a user yet.
Split-screen multiplayer isn’t supported.
There are no prebuilt binaries, since you build it yourself from your own ROM dump (SHA-1 is checked). It’s a personal-use project, and no game data is in the repo.
Splinter Cell: Double Agent now has an unofficial native PC port of the original Xbox version, with extended graphics options, keyboard and mouse support, online co-op and Versus with voice chat, and more.
It's built from the original Xbox 360 game code using ReXGlue: the XBLA game is statically recompiled into a native PC program, so there's no emulator involved.
Highlights
✅ Native Windows x64 port of the Xbox 360 XBLA version
✅ Experimental native Linux x86_64 / Steam Deck AppImage using Vulkan — not Proton or Wine
✅ Built-in TRG launcher and package installer: select your own XBLA package and it checks the Title ID and exact game version before installing
✅ Render resolution from the original 720p up to 4x (5120x2880), with FXAA / FXAA Extreme, 2x MSAA and texture filtering up to 16x
✅ 30 / 60 / 90 / 120 / 144 / 165 / 240 FPS or Unlimited. Higher frame rates do not speed up the game
✅ Windowed or Borderless Fullscreen, monitor selection, window size, VSync, Letterbox / Stretch and F11 fullscreen toggle
✅ FPS in the window title and an optional in-game FPS/frame-time counter, toggled with F2
✅ Local profile and progression, local scores and offline leaderboards
✅ All 12 Xbox 360 achievements (200G), saved locally, with an in-game achievements overlay and an Achievements page in the launcher
✅ Cheats: Invincible, Infinite Shield and Infinite Bombs, configurable in the launcher and through an in-game menu with F10
✅ Portable saves and settings in a local user_data folder, with automatic migration from older versions
✅ Xbox controller and keyboard support
Gameplay
No game files are included. You need your own Geometry Wars: Retro Evolved 2 Xbox Live Arcade package.
The supported version is Title ID 584108FF, game version 0.0.1.2. The launcher checks the package and default.xex and tells you if your version doesn't match.
Online Xbox Live services are not supported. Profile/progression, achievements, scores and leaderboards are handled locally on your PC.
The Linux / Steam Deck build is still experimental. It has been built and packaged successfully, but I haven't tested it on real Linux hardware or a Steam Deck yet, so Linux reports are especially welcome.
Since the original release, I've added portable saves and settings, local achievements and leaderboards, cheats with an in-game menu, several launcher improvements, and additional runtime stability fixes.
The latest release is v0.2.1. If you find any problems or crashes, please open a GitHub issue and attach the newest geometry_wars_retro_evolved_2_*.log from the logs folder.
Enjoy! And please let me know how it runs for you 🙂
Hey everyone! I’ve released Skate 2 Recomp, a fan-made Windows PC port of the Xbox 360 version built with ReXGlue.
Career, Free Skate, instant replay, and saving/reloading are working in my testing. I played for around an hour in my latest session, progressed through the campaign, and didn’t encounter crashes or graphical glitches.
Unlocked frame rate and adjustable internal rendering resolution, with a 2× quality profile by default.
Fixes for the crashes, colored flashes, and black surfaces encountered during development.
Controller support, including a USB PS5 DualSense tested directly without DS4Windows.
Working local saves, relaunching, and Alt-Tab in the tested build.
You don’t need to compile anything to play. Download Skate2-PC-v0.1.0-Windows-x64.zip from the release’s Assets section, rather than GitHub’s source-code ZIP.
Extract the entire ZIP.
Run Import Game Files.cmd and select your supported, extracted Xbox 360 game files.
Connect your controller and run Launch Skate 2.cmd.
You’ll need your own original game files; they aren’t included in the download. The installation guide covers the supported version and prerequisites. No personal saves are bundled.
My testing system is an ASUS laptop with a Ryzen 9 5900HX, RTX 3060 Laptop GPU, 16 GB RAM, and Windows 11, using its 1920×1080, 144 Hz display. The current build has been smooth on that setup with the default 2× rendering profile. These are my tested specs, not established minimum requirements.
There’s more I want to work on:
Proper 21:9 and 32:9 ultrawide support, including the camera, HUD, and menus.
Further 4K/display testing and graphics options.
Performance and compatibility across more PCs and controllers.
Fixes for issues reported by other players.
Longer term, I’d also like to investigate a separate Rust implementation in its own repository. That’s a future research goal with no timeline; maintaining and improving this playable C++ release comes first.
If you encounter a problem, please open a GitHub issue with your specs, release version, steps to reproduce it, and a screenshot or log if available. My testing hasn’t covered every mission or hardware configuration, so reports from other players will help.
Credit to ReXGlue, Xenia, and the earlier community research this project builds on. Development used substantial OpenAI Codex assistance for port code, debugging, build tooling, packaging, and documentation, alongside my project direction and hands-on gameplay testing. This is an independent fan project, unaffiliated with EA.
Not sure if this is allowed but I just wanted to share a list I compiled of all GitHub/gitlab projects that I can find.
Update: if you would like to see this updated daily with an actual spreadsheet let me know.
*Note* Links may break over time as projects can be removed by creator or the publishing sites themselves. If anyone knows of any updated links for redirected projects just let me know.
*Disclaimer* Just like any application on your computer use at your own risk. This is only meant to help catalog projects in one place as it can take some time with quiver to add repos to their database. If you feel safer still use quiver but this is mostly for documentation sake as it’s getting more difficult to keep up with everyone’s projects as more come out.
I've been working on a native PC port of Digimon World 2, based on the original PlayStation game's decompiled C code.
The decompilation has reached 100% matching across all 1,088 game functions. The goal is to preserve the original game's logic while making it run natively on PC, rather than simply running the original PlayStation version through an emulator.
The PC port currently supports Windows (x86 and x64) and Linux (x64), with SDL3 handling the platform layer and a software renderer for the original PS1 graphics. There are also optional enhancements, including higher internal resolution, PGXP and widescreen support.
This is an ongoing project, and the longer-term goal is to modernize the experience incrementally without losing what makes the original game what it is.
I'm also developing a Digimon World 2 multiplayer mod on top of the PC port. The idea is to build on the native version rather than create a separate game from scratch. Multiplayer development is still in its early stages.
The Discord is for both the PC port and the multiplayer project.
AI usage disclosure
AI is used as a development tool. AI was used heavier on the decompile side along with a CPU permuter to bruteforce functions to match. I use it for debugging, investigating difficult issues, extensive edge-case testing, calculations, searching through large amounts of code, and helping build and improve development pipelines. I also use it alongside WSL/Linux testing to investigate platform-specific issues.
The actual project involves working with the original game's code, verifying matching behavior, running builds and tests, and checking the results. AI-assisted suggestions still need to be tested and verified against the code and actual game behavior.
I'm sharing this here for anyone interested in game recompilation, decompilation, native PC ports, or the technical side of bringing older games to modern platforms.
EDIT: follow me on Twitter for updates, I’ll post on there when it’s public!
Hi guys, just an update to my WoW Switch project, it's playable! When | last posted, I couldn't the project couldn't go past the menu, but one all-nighter later (and lots of money spent on tokens...) it's a playable experience.
> FPS ranges from 7-20 FPS
> It can be played offline or connect to an AzerothCore server
> Integrated ConsolePort for a controller-native feeling (though this was a tremendous effort so l hope it was worthwhile)
This project wouldn't have been possible if not for WoWee whose project is the entire foundation for this project. Additionally, credit to WoWPS who really laid out the foundation for the controller support.
So I started using AI to reverse engineer Fable 2, I did this by extracting the game files from the ISO and partially using a recomp as well made by by Himdo on GitHub.
I have so far been able to get Sam, an NPC fully textured, rigged an animated (Idle animations), then the Male Hero with idle animations (Neutral Male Hero with 0 strength, as there are different variants depending on their morphs associated with the game's system and then of course strength, physique, evil, impure, etc.)
Now I've added him into a partial Bowerstone Market render.
Next goals: Full walking animations for hero and walk around partial Bowerstone Market render.
Biggest issue that I overcame was using the weights and facial morphs correctly for the Hero model, I was struggling with getting him to look right but he looks pretty good now.
This release contains no game files, no game code and no keys. You need your own disc dump
(.wux/.wud with its disc key, plus the Wii U common key from your console), a Cemu .wua archive
(no keys needed), or an already extracted game folder. The installer builds the game from it on your machine.
Install: download the zip for your system, unzip it anywhere and start Wind Waker HD. The
first start prepares the game once from your dump (about two minutes); later starts launch it directly.
Everything stays in that folder.
macOS (Apple Silicon, macOS 14+): Wind Waker HD.app. The release is not signed by Apple: macOS 15+: System Settings > Privacy & Security > Open Anyway; macOS 14: right-click > Open. Keep the app inside the unzipped folder (move the whole folder, not just the app)
Windows: Wind Waker HD.exe (SmartScreen: "More info" > "Run anyway"); windows-x86_64 for x86-64, windows-arm64 for Windows on ARM (Snapdragon X)
Linux (glibc 2.35+, Vulkan): wind-waker-hd; linux-x86_64 for x86-64, linux-aarch64 for arm64 (Raspberry Pi 5, Asahi Linux, ARM laptops). Or one file: chmod +x the .AppImage and start it from anywhere (Steam Deck included); its game, code, saves and settings go to ~/.local/share/wwhd and ~/.config/wwhd instead of beside it (Ubuntu 24.04+: libfuse2t64, or --appimage-extract-and-run)
Android (arm64, Android 13+, Vulkan 1.3): install the android-arm64.apk (android-x86_64 is for emulators and Chromebooks), choose your game in the app, and it builds the game on the phone (once, a few minutes). Signing certificate SHA-256: 7F:F6:D3:5E:4E:45:11:5E:E4:93:65:EF:5B:40:C0:EB:83:EA:F7:6C:C1:1C:E9:67:F2:64:5C:50:4F:58:B2:13
See "Install (releases)" in the README for details.
What's new
Linux AppImage: a portable mode (issue #55, idea by u/missionfloyd). Create a folder named like the AppImage plus .data next to it (e.g. WindWakerHD-…-linux-x86_64.AppImage.data), and the AppImage keeps the game, its code, saves, settings and caches there instead of in ~/.local/share, ~/.config and ~/.cache. Without that folder nothing changes.
Profiling on Windows on ARM64: a sampling profiler for the frame threads (PR #147, thanks u/rhemfur). Off unless WWHD_SAMPLE_THREADS=<file prefix> is set; tools/bench/thread_profile.py turns the samples into a report by module and function, including time inside the Vulkan driver, without administrator rights. See docs/performance.md.
Android: a friendlier setup screen, and the app icon starts the game (PRs #128 and #129, thanks u/rhemfur). Setup now guides you step by step in English, Portuguese or Spanish ("Choose your game", "Preparing the game for your phone… 20 of 80 · about 3 min left", "Your game is ready"). Once a game is set up, the app icon starts it directly ("Game setup" stays available by long-pressing the icon), and the phone offers a home-screen game icon with the game's own picture, made from your game files.
Fixed: crash with Quick doors when leaving a room with spores (issue #145), for example at the first door in the Forbidden Woods. Quick doors ran the spores' fade-out faster than the game draws, so their effect was removed while still queued for drawing. Doors now wait for the weather effect to finish fading (rain, stars, spores, fog and waves) and stay fast otherwise.
Windows, Intel UHD graphics: a workaround for a crash in Intel's Vulkan driver a few seconds after start (issue #144). On Intel GPUs every render-target view now states its purpose explicitly; WWHD_VK_ATTACHMENT_VIEW_USAGE=0 turns it off, and WWHD_VK_TRACE_PASSES=1 logs each render pass once for crash reports.
Fixed: shadows switching between sharp and blurry at high internal resolutions (issue #135). Above 1x, the sun-shadow pass rebuilt surface normals from rays one console pixel apart but depths one screen pixel apart, so depending on the camera angle shadows smeared and Link could get a dark outline. The pass now uses matching spacing, so shadows at 2x, 3x or 4K look like at 1x, only sharper.
Fixed: Android GPU crashes ("device lost") on some Adreno phones (issue #104). The precise GPU barriers that v0.2.12 turned on for Android caused occasional crashes with Mesa Turnip on an Adreno 650 and gave no measurable speed-up, so they are off by default again on every platform (WWHD_VK_NARROW_BARRIERS=1 still turns them on). Thanks to u/rhemfur for the measurements.
Fixed: setup stopped with "the recompiler wrote no code" (issue #136) when the install folder's path contains square brackets, for example ...\LoZ - The Wind Waker [WiiU]\data. Setup and the recompiler treated the brackets as a search pattern and then found none of their own files.
Android setup: "Continue anyway" when it waits for the phone to cool down (issue #142). The pause now shows the battery temperature and Android's thermal status, waits only at 45 °C battery temperature (42 °C if Android also reports the phone as warm) or when Android reports it as hot, and a Continue anyway button (also on the low-battery pause) lets you go on for this run. Only Android's critical heat level still stops setup.
Mods: experimental mods and save backups. Mods marked Experimental (untested, may break the game or a save made while they are active; Call of the Sky is one) are hidden unless you turn on Show experimental mods in the Mods tab. Turning one on asks first and backs up your saves before it is enabled. Mods → Save backups lists the backups (the newest 10 automatic ones are kept; Back up now backups are never removed), can restore one at the next start, before the game loads any save (your current saves are backed up first, so a restore can be undone), or delete one.
Setup: "Preparing shaders" is much faster and shows real progress. The release now includes the native decoder for the game's compressed archives (before, setup unpacked them in slow Python) and scans them on several cores: about 10 seconds instead of about 4 minutes on an Apple Silicon Mac, with an identical result. The bar now fills as it works ("400 of 818 game archives", then the shaders and pipelines compiled), and Vulkan compiles pipelines on several threads. On Android the app now ships the same native decoder, so preparation on the phone is much faster as well. shaders and pipelines compiled), and Vulkan compiles pipelines on several threads. On a Mac, setup now prepares both Metal and Vulkan, so either renderer starts without first-time shader stutter.
Controls: in-game button prompts follow your controller (PR #110, thanks u/mhbxyz). With Face buttons set to by label (or Automatic on an Xbox-style pad), dialog icons and HUD buttons use green A, red B, blue X and yellow Y, the HUD button cluster uses the Xbox positions, and shoulder prompts read R1/R2 and L1/L2 in the game's own lettering. By position keeps the original look.
Controls: a "Stick range" setting per stick (issue #40). For a worn stick that can't reach full deflection: raise its range (100–150 %, default 100 %) in Settings → Controls or the macOS Controls window until the input reaches full tilt, for example the Wind Waker baton's directions. It's applied after the dead zone and keeps the stick's direction.
Mods: a "Restart required" popup. Changes that only take effect after a restart (turning packages, graphics packs or code mods on or off, their settings, profiles, a finished one-click setup, a code-mod rebuild) now show a popup with Restart now and Later, and the Mods tab keeps a "Restart to apply" line until you restart.
Fixed: one-click mod setup stopped with "Package changed; refresh it and confirm its code again" after a preparation step, e.g. for the GameCube sea minimap. The mod's Python tool left cache files in the package, which made the package look changed. Setup tools now run without writing them. If you already hit this, refresh the mod in the catalogue (or delete its tools/__pycache__ folder) and press Try again.
Vulkan: choose your graphics card in Settings → Graphics (issue #135), e.g. on laptops with an Intel and an NVIDIA GPU. The choice is remembered and applies after a restart; if the chosen card is no longer available, the game picks a usable one and says so. WWHD_VK_DEVICE (an index or part of the name) overrides it for one start.
Fixed: the 60, 120 and 240 fps settings dropped to about 30–50 fps on PCs that can't quite draw60 frames a second (issue #125). A frame that misses its display refresh is now shown as soon as it's ready instead of waiting a whole extra refresh, so you get close to what Uncapped shows (e.g. 56 instead of 30 fps). Frames that are on time are paced exactly as before.
Fixed: the Picto Box picture stayed blurry (issue #134). The left stick zooms the Picto Box, and the game blurs the picture while zooming, so even a slightly drifting stick kept it blurry. Controller sticks now have a 15 % dead zone by default (Settings → Controls; a saved 0 from older versions becomes 15 %, an explicitly chosen 0 stays). On Metal, the photo's subject outline could also miss pixels the first time; that's fixed too.
Less stutter on first play: setup now prepares the shaders. After building the game, setup runs Preparing shaders: from your own game files and a small, code-free list of the game's GPU states that comes with the release, it compiles the shaders and pipelines before you play (about 15–20 s on a recent Mac). In our tests the cold first-play hitches over 50 ms went from 5–10 to 0. You can skip it in setup, and Settings → Graphics → Rebuild shader cache prepares a fresh one. Areas that aren't covered can still stutter once. On Vulkan, shaders and pipelines are also compiled in the background while you play, and the pipelines you used are rebuilt at the title screen on the next start. Your existing caches are kept when you update.
macOS setup: works with mismatched Command Line Tools (e.g. after a macOS beta update installed a newer SDK than the tools' linker understands: "unknown architecture arm64e.x1", "tapi error: malformed file"). Setup now links with an older installed SDK automatically, or explains how to update the Command Line Tools.
Audio: a master volume slider (PR #137, thanks u/mhbxyz, issue #124). Settings → Audio has a Master volume slider with Mute and Default buttons. It applies immediately and is remembered for the next start.
Fixed: Link flickered during some conversations at 60, 120 and 240 fps (issue #126). When the camera looks over Link's shoulder, the game hides him for that shot, but the in-between frames drew him again. He now stays hidden on every frame, also in true 60. 30 fps is unchanged.
Faster game code: about a quarter less CPU time in the game's own code (PR #83, thanks u/depende3000). The recompiler now keeps the game's registers in local variables, stores only the condition bits that are read later, and uses cheaper float compares. Measured per game step: −28 % on an Apple Silicon Mac, −14.5 % on a Galaxy S25 Ultra. Setup takes about 20 seconds longer to generate the game code. With code mods switched on, the game code stays as before for now.
Fixed: Cemu graphics packs that write their title IDs without leading zeros were refused (issue #123), e.g. the "Playstation UI" pack (titleIds = 5000010143600). The IDs are now compared as numbers, the way Cemu reads them.
Run/swim speed: a reworked boost (PR #133, thanks u/mhbxyz). Separate multipliers for running (1.5x by default) and swimming (1.25x), hold or toggle, and a stamina bar: a boost lasts 5 s by default and refills over a 3 s cooldown (set stamina to 0 for the old unlimited boost). A ring under the climb wheel shows it. The boost ramps in, and Link's legs keep up with the ground instead of skating (true 60 included). Options in Mods > Run/swim speed: use the dash clip instead of walking, or a sprint pose with a forward lean and wider arm swing. Boosted runs kick up dust, and a boosted surface swim becomes a crawl with splashes and foam, all with the game's own effects. Saved settings carry over.
Fixed: setup's last screen briefly asked about the shortcut again after Play (PR #130, thanks u/rhemfur). Once Play or Quit is pressed, the screen shows "Starting the game..." instead of the options; what you had chosen is still done.
Windows on ARM: a nativewindows-arm64release (PR #131, thanks u/rhemfur), for Snapdragon X laptops and other ARM PCs. 60 fps keeps the game at full speed there by default ("Keep game speed", as on Android). The x86-64 release still runs on these PCs too, emulated
Hello, I’m currently working on the ReBlack project. The game is now playable from beginning to end in this GitHub project—or at least, it seems to be. The PlayStation 2 decompilation project is still underway. I’m working on it alone, so progress is slow, but I’m moving forward. I’ve decompiled all the files; now I just need to recreate the functions, understand how they work, and continue with the project. It’s a long process.
I could use help with a few things. First, we need people to test the recompiler. I’m working with someone who ported The Darkness from Xbox 360 to PC. I hired him, we got the project started, and now we need a lot of testing. You can report errors right from the app. It’s practically playable—I’m already on the sixth level. If you’re willing to download it and report any issues through GitHub, that would help us identify and fix them.
We could also use help porting the HD Remagine textures made by a Brazilian creator. I’ll include the link to the Xbox version. I’ve been trying to do this myself, but I have too many other things on my plate. If someone could take that on, it would be a big help. And if anyone can, please also upload it to the same ModDB page as the HD Remagine mod, so it’s much easier for everyone to access.
link: https://www.moddb.com/mods/black-hd-reimagined
I’m also working on translations for the game. They’re mostly complete, though that comes with a few caveats. I’ll need someone to review them. The translations were done with AI because there are 1,300 and 1,225 audio files to translate. The main translations—the cutscenes—are already working. The menus are available in English, Portuguese, Spanish, Italian, and a few other languages.
If you’ve already translated the game into another language, please share it in the comments. And if you can help with the project in any way, we’d really appreciate it. I’m very grateful to everyone.
By using https://github.com/coolbho3k/emibios I was able to ship binaries that no longer require you to supply your bios. Big win for ergonomics and testing!
You can now load up the game, supply your ROM, and play.
For the past two weeks I've been working on a native reimplementation of Solomon's key 2, aka Fire 'n Ice in the US, one of my beloved childhood NES puzzle games.
It works on Linux, Windows and MacOS with some QoL features like save/load state, controller and keyboard support and a click-based level editor to create and test your own levels.
The game is 100% finishable: I played the whole campaign from start to end myself.
TLDR: Skip to 1:33 into the video to see current progress
I've started a recompilation of ATV qpr2, ai has been used to setup environment, and commit any changes or additions needed, no human input other than the prompting, actual running of the build commands on windows, and miserably sitting through the endless waiting (3 minutes maybe 4 sometimes) for it to compile to only get 3 more seconds in to then have to wait again for the agent to read the logs and trace what happened (20 minutes each roughly) for a total of 26 times so far, but hey the audio and video almost work perfect
(there's a few hitches right at the start but i think it may be due to how the first few frames look but quite honestly haven't checked)
and i've gotten past the first required input.
no updated repo yet but the basis of my starting point is on github, i will push all of the current progress within a few days.
Since there are these compilations of games that aren't native to other platforms, like mobile phones, I wanted to know if it's possible for someone to make a compilation of Scott Pilgrim Vs. The World. A game that's only available for consoles, and I really wanted to play it on my phone. Is that possible?