Xenogears Recompiled: The PS1 JRPG Classic Now Boots Natively on PC, Built on PSXRecomp

XenogearsRecomp is a static recompilation of Xenogears (USA) for the PlayStation 1, built on the PSXRecomp framework. It boots natively on PC with rendering, audio, input and memory card saves, plus a .psxmod mod system. It is alpha, and the project says so.

Xenogears Recompiled: The PS1 JRPG Classic Now Boots Natively on PC, Built on PSXRecomp

Xenogears, the 1998 PlayStation JRPG that Square has never properly re-released, now boots natively on PC. A project called XenogearsRecomp statically recompiles the USA version of the game, translating its MIPS R3000A code into C and then compiling that into a normal x64 executable. No emulator in the loop, and a single binary that contains both the game and the BIOS backends it needs.

The project is upfront about where it is: “Alpha status. The game boots, reaches the title screen and intro FMV, and is playable, but not fully validated end to end.” That is the right way to describe it, and it is worth reading carefully, because in this scene the difference between “it runs” and “it is finished” is where most disappointment comes from.

Xenogears is also one of the more ambitious games to point a recompiler at. It is a famously dense role-playing game from Squaresoft, known for a story that mixes mecha, psychology and theology, and for a Disc 2 that was infamously compressed by development realities. It is exactly the kind of game that deserves to keep running, and exactly the kind that never gets an official modern version.


What XenogearsRecomp Is

The repository describes itself as a static recompilation of Xenogears (USA) for the PlayStation 1, built on PSXRecomp, which its author Matthew Stan describes as a MIPS R3000A to C to native x64 static recompilation framework. That pipeline is the whole idea: take the console's real machine code, translate it into C, compile that C for your PC, and provide the runtime pieces the console gave the game.

What makes this one unusual is how much of the console it recompiles. Both the OpenBIOS backend and a retail SCPH1001.BIN backend are recompiled alongside the game executable, producing one binary that runs without an emulator. OpenBIOS is the default and is redistributable, so a release works out of the box; anyone who wants the authentic retail BIOS path can build that backend from their own legally obtained BIOS file.

The one line version: this is not a compatibility layer pretending to be a PlayStation. It is the game's own code, translated into C, compiled natively, running next to a BIOS that was translated the same way.


Where XenogearsRecomp Stands Right Now

The honest summary is that the opening works and the rest is unproven. From the project's own status notes, the BIOS boot, the handoff into the game, the title screen, the intro FMV and the opening gameplay all run, with rendering, audio, input and memory card saves all functional.

XenogearsRecomp status: what works and what is unverified
What works, and what has not been validated yet, in the project's own terms.

There is also a nice piece of practical engineering already in place: memory card access is roughly three times faster. The card check, load and save now take about 1.6, 1.1 and 1.4 seconds instead of 5.3, 2.1 and 3.5, with identical card data. The reason is specific and satisfying: the BIOS only granted a transfer every other frame, the save menu re-checked the cards twice, and the load and save loops waited a full frame per chunk. Two environment variables, XG_FAST_CARD_SERVICE=0 and XG_FAST_CARD_FLOW=0, restore the original timing for anyone who wants stock behavior.

What is not there: no complete playthrough has been done, so every area past the opening should be treated as unverified, and most of the optional enhancements are untested or unpolished. The project says so in plain language, which is more useful than a demo video.


How PSXRecomp Works

PSXRecomp is a framework for turning PlayStation 1 software into native PC software, and XenogearsRecomp is one of its first large customers.

PSXRecomp pipeline: MIPS R3000A to C to native x64
The pipeline, from the console's MIPS code to a Windows, Linux or macOS executable.

The chain runs from MIPS R3000A machine code, through generated C, into a native x64 build. Alongside the game, both BIOS backends are compiled in: OpenBIOS by default, or a matching retail SCPH1001.BIN if you generate that backend yourself. Then there is the part that makes a translator trustworthy: correctness is checked against references. The project uses DuckStation as an oracle and an interpreter as a failover, and every switch from emulated behavior to native code is gated on tests and observations. Anything not yet supported simply stays on the original PS1 GPU path rather than being guessed at.

Why the oracle matters: a recompiler that is “mostly right” produces bugs that look like game bugs. Comparing against a known-good reference is how you tell the difference. Keeping unsupported work on the original code path is how you ship something honest in the meantime.


The Overlay Problem, Handled Ahead of Time

PlayStation games did not fit in the console's memory, so they streamed chunks of code off the disc as they were needed. Those chunks are called overlays, and Xenogears leans on them heavily: the field, battle and worldmap are separate overlay modules. Any recompilation has to decide what to do when the game loads one.

XenogearsRecomp answers that with ahead-of-time overlay compilation. Supported overlays are authenticated and compiled into the executable during the build, using the local Disc 1 image, and since Disc 2 carries the same overlay images, the same generated code serves both discs. The practical result is that the code is already there on first launch, with no background compilation and no cache warm-up. Coverage is also treated as a hard contract: overlay_cache = false disables the dynamic overlay path, and an ahead-of-time coverage miss is an error to report, not an invitation to silently fall back to compiling code at runtime.

That is a meaningful design choice. A lot of recompilation projects quietly fall back to on-the-fly translation when they hit something they did not anticipate, which hides gaps instead of surfacing them. This one would rather fail loudly and get a bug report.


A Real Mod System: .psxmod Packages

Here is the part that surprised me most. This is an alpha recompilation, and it already ships a considered modding platform through the launcher's Mods page.

The .psxmod mod system in XenogearsRecomp
Versioned mod packages, applied over a verified disc, with a trust model for native code.

The key property is that mods apply over a verified stock disc and the original image is never rewritten. A .psxmod is a versioned ZIP with a manifest that declares its target game, its independently toggleable features, typed options, guarded patches, sparse disc overlays and authenticated replacements for the game's internal files. Support currently targets Xenogears (USA), SLUS-00664, and packages for the wrong game, or with guarded bytes that do not match your disc, fail before the game even starts.

Selections live in a state file beside the executable, and conflicts are handled explicitly: if two packages declare an incompatibility, the blocked one stays visible but greyed out, and the mod manager never silently picks a winner. Native mods, which contain actual C or C++ code, require an explicit Trust and install decision, with a clear warning that such code runs with the game's permissions and can access your files.

Texture packs are supported as well, and pleasantly: packs made for RetroArch's Beetle PSX HW texture replacement work as they are, including the well known Perfect ART Works set. They are referenced rather than copied, so you keep them wherever you already have them. Two framework enhancements ship in the catalog, Fast Loading and CD Speed, and both are off by default. The repository even includes a preloaded example mod for battle draw distance, and three separate documents cover mod usage, mod authoring, and the native hook API.


What You Need to Run It

The short answer is: your own game, and nothing else. To run a release you need legally obtained Xenogears (USA) Disc 1 and Disc 2 images, ideally as .cue plus .bin. The separate game executable, SLUS-006.64, is only needed if you are generating source yourself, not to play a release.

Setup is a launcher window. On first launch you point it at your two discs, setting Disc 1 and Disc 2 separately, and it verifies each image's ISO9660 header, region and serial, so each one always lands on the right disc. The release includes the redistributable OpenBIOS image and its MIT notice, which is why a download works without you supplying a BIOS at all. A retail SCPH1001.BIN is optional at runtime, and only required if you want to generate that second backend from source with your own file.

Worth stating plainly, because the project does: no retail BIOS image, no game disc image, and no game assets are included in or distributed by this repository or its releases. The overlay capture store, which contains verbatim game code snapshots, is explicitly not redistributable. What the repository tracks is metadata and tooling: build configuration, function entry address seeds, reverse-engineering annotations, and game settings.


Built With AI, and It Says So

Fourth project in a row on this site with an AI note on the front page, and this one takes an interesting position on it. From the README: “This project is developed with AI assistance: coding agents take part in reverse engineering, code generation, debugging, and documentation. Expect the occasional rough edge typical of AI-assisted code.”

What I like is the standard it sets. AI output “is held to the same bar as human work: it must build, boot, and match reference behavior.” Contributors are asked to disclose AI tool use but told the legal and quality requirements are identical either way. That is the mature version of this conversation: the tool does not change what counts as correct.

The pattern across 2026: decompilation and recompilation were once gated by how many people could read assembly for a given console. This year alone we have seen an AI decompilation harness, an AI-assisted GameCube recompilation, an AI-assisted Xbox recompilation, and now AI-assisted PS1 work. The bottleneck is moving from labor to verification, which is why the projects that publish their correctness rules are the ones worth watching.


Building It From Source

Prebuilt x86-64 releases are offered for each platform, but the project is fully buildable. The dependency list is ordinary modern tooling: a C or C++ compiler (GCC or Clang, Apple Clang on macOS, clang-cl, MSVC or MinGW on Windows), CMake 3.20 or newer, Ninja, pkg-config, Python 3.11 or newer, and SDL3 3.4 or newer with SDL2 kept as an explicit compatibility fallback. If CMake cannot find a compatible SDL3, the build downloads an integrity-pinned release and links it in.

Build scripts are provided for both worlds, build.sh and build.ps1, alongside a regen.ps1 for regenerating the translated code. Reverse-engineering notes live in annotations/ and function entry seeds in seeds/, and the project is explicit that those annotations are the highest-value contribution anyone can make, because they are what make the translation better over time.


Why This Matters

Xenogears is a landmark that has been left behind. It has never had a modern re-release, its story is one of the most ambitious ever attempted in the genre, and its second disc is a piece of gaming history precisely because of how rushed it was. Preserving that game means preserving something that no official channel has bothered to keep alive.

It also matters because of what console it is. The PlayStation 1 is a gigantic library, and while PS1 emulation is mature, emulation still means running a simulation of a console rather than the game itself. Static recompilation replaces that with native code, which changes what is possible: unlimited resolution, widescreen, modern input, real mod support, and a path to ports that do not depend on an emulator staying compatible with your operating system forever.

And it matters because of the framework. PSXRecomp is early, and XenogearsRecomp is one of the first big games to prove it out. If the framework keeps improving, the PlayStation 1 joins the N64, the GameCube, the Wii and the original Xbox in the growing list of consoles whose libraries are being rebuilt as native software. That is the direction of this whole year, and it is only accelerating.


  • Repository: OpokXeno/xenogears-recomp on GitHub
  • Releases: x86-64 builds for Linux, macOS and Windows
  • Framework: PSXRecomp by Matthew Stan, a MIPS R3000A to C to native x64 recompiler
  • Community: the project links a Discord for development and support
  • Mod docs: MODS.md, MOD_AUTHORING.md and MOD_NATIVE_HOOKS.md in the repository cover the .psxmod system end to end
  • Requirements: your own legally obtained Xenogears (USA) Disc 1 and Disc 2 images. Licensed under PolyForm Noncommercial 1.0.0. No game data or retail BIOS is distributed