• Popular
  • PS4 games on PC
  • FSR 4 games
  • Bloodborne on PC
  • Switch games on PC
  • OptiScaler guide
  • CONTACT US
FramesGames FramesGames
EN
  • ENEnglish
  • NLNederlands
  • Games
    • S.T.A.L.K.E.R.
    • GTA 6
    • The Witcher
    • Warframe
    • Hunt: Showdown
    • Creators and characters
    • Free games
  • Hardware
    • PC Builds
    • PC build calculator
    • DLSS and FSR
  • Guides
    • PC Ports and Recompilation
      • PlayStation 4
      • PlayStation 3
      • PlayStation 2
  • Reviews
  • News
    • Game News
    • Hardware News
Reading: How game recompilation works: how fans turn console games into PC programs
Share
FramesGamesFramesGames
Font ResizerAa
  • PC Ports and Recompilation
  • S.T.A.L.K.E.R.
  • DLSS 5
  • GTA 6
  • Free games
Search
  • Games
    • S.T.A.L.K.E.R.
    • GTA 6
    • The Witcher
    • Warframe
    • Hunt: Showdown
    • Creators and characters
    • Free games
  • Hardware
    • PC Builds
    • PC build calculator
    • DLSS and FSR
  • Guides
    • PC Ports and Recompilation
  • Reviews
  • News
    • Game News
    • Hardware News
Have an existing account? Sign In
Follow US

Home / How-to / PC Ports and Recompilation / How game recompilation works: how fans turn console games into PC programs

PC Ports and Recompilation

How game recompilation works: how fans turn console games into PC programs

Dave Freeman
Dave Freeman
Share
16 Min Read
Sonic Unleashed with a plate: how game recompilation works, 6 steps from disc to .exe, 1644 new repositories in October
How recompilation works
SHARE
PlatformsPCSteam DeckLinuxmacOS

Sonic Unleashed, Majora's Mask, Gran Turismo 4 and Demon's Souls now run on PC as ordinary programs, without an emulator, and none of their publishers had a hand in it. Behind all of them is one idea: take the game's machine code from your own disc or cartridge, translate it into C or C++ once, and build a normal executable from it. This is called static recompilation. Below we explain how it works step by step, using the documentation of the tools themselves: N64Recomp, XenonRecomp, ReXGlue, PS2Recomp, ps3recomp and others. You will also see why every console needs its own recompiler, where the graphics come from, and what a recomp can and cannot do.

Contents
  • Emulator, recompiler, decompilation: three ways to run an old game
  • Six steps from disc to .exe
  • Graphics: where most of the work goes
  • Every console is its own puzzle
  • Why so many ports appeared in 2026
  • What a recomp gives you, and what it can't do

Emulator, recompiler, decompilation: three ways to run an old game

Diagram: an emulator translates every instruction while you play and imitates the console GPU, a recompiler translates the code once and builds an .exe with its own renderer
Emulator vs recompilation

An emulator pretends to be the whole console. While you play, it reads the game's instructions for a foreign processor and translates them on the fly, either one by one or in blocks with a JIT compiler, and at the same time it imitates the graphics chip, the sound chip and the system software. That is why one emulator can run hundreds of games, and why it needs a much stronger PC than the console it copies.

A static recompiler does the translation once, before you play. The N64Recomp documentation puts it simply: the tool splits the binary into functions, with each one "individually recompiled into a C function". A C or C++ compiler then builds an ordinary program from that code. There is nothing left to translate while the game runs, so the PC spends its power on the game itself.

Decompilation is the third route. People rebuild readable source code of the game by hand, function by function, until it compiles back into exactly the original binary. That took years for Super Mario 64 or Ocarina of Time, but the result can be changed freely. A recomp is much faster to make, which is why the Zelda64Recomp README stresses that it is "not based on the source code provided by a decompilation". In practice the two help each other: Majora's Mask uses headers and some functions from the decompilation project to add its improvements.

Six steps from disc to .exe

Diagram: six steps of a recompilation, the executable, finding functions, translating instructions, the hard parts, the runtime and the build
Six steps of a recompilation

1. The executable. Everything starts with the program file from your copy of the game: a .z64 ROM on N64, default.xex on Xbox 360, an ELF file on PS2, default.xbe on the original Xbox, EBOOT on PS3. On PS3 that file is encrypted, so it has to be decrypted first, usually with RPCS3. No real recomp ships this file: it comes only from your own copy, and many projects check its hash.

2. Finding the functions. To a machine, the code is one long stream of bytes, and the recompiler has to find where each function begins and ends. N64Recomp currently needs an ELF file with symbols, and the easiest way to get one is from a disassembly or decompilation. On Xbox 360, XenonRecomp's analyser reads the .pdata section of the executable, where the boundaries of most functions are recorded, and finds the rest by searching for calls. On PS2, the PS2Recomp authors recommend opening the game in Ghidra and exporting the function list with their script.

3. Translating instructions. This part is deliberately literal. In N64Recomp the MIPS instruction addiu $r4, $r4, 0x20 becomes the C line ctx->r4 = ADD32(ctx->r4, 0X20);, and PS2Recomp uses the same example for the PS2's R5900. The console's registers live in a "context" structure that is passed to every function, a call instruction becomes an ordinary function call, and the console's memory becomes a block of the PC's RAM. The XenonRecomp authors write that the output is "not very human-readable", and that is fine: a compiler reads it, not a person.

4. The hard parts. Some things cannot be translated line by line. A switch statement in the original game often compiles into a jump table, where the address is computed while the game runs; recompilers recognise such patterns and turn them back into real switch statements. Calls through pointers, virtual functions in C++ games, become lookups in a table of already translated functions. The Xbox 360 and PS3 are big-endian, unlike the PC, so every memory read and write swaps the byte order. MIPS processors have branch delay slots, where the instruction after a jump still runs, and N64Recomp handles them by duplicating instructions. Some things are still unsupported: XenonRecomp, for example, does not handle exceptions.

5. The runtime. The translated code still expects a console around it: system calls, threads, a file system, a controller, a sound chip, a graphics chip. All of that is provided by a runtime library. XenonRecomp's README warns that it "does not provide a runtime implementation" and that making the game work is up to the porter. For the PS3, ps3recomp ships its own implementation of the LV2 kernel with more than 300 system calls and over 100 system libraries, from cellAudio to cellSaveData.

6. The build. Clang, GCC or MSVC compile the generated code together with the runtime into a normal program for Windows, Linux or macOS. Because the output is C or C++, the same code can be built for ARM too, which is why some recomps also run on Android phones or Apple Silicon Macs. Many projects let you do this step yourself: the installer downloads the build tools and compiles the game from your copy, so the download itself contains no game code.

Graphics: where most of the work goes

Sonic on a dragon in Sonic Unleashed with a plate: Xbox 360 shaders converted to HLSL, a new renderer on D3D12 and Vulkan
Sonic Unleashed

Translating the CPU code is only half a port. Console games talk to their graphics chip directly, and the PC has nothing like it, so each recomp needs a renderer. There are two approaches.

The first is to translate the console's graphics commands for a modern API while staying faithful to the original. Majora's Mask uses RT64 for that, and its README says the effects are drawn "exactly as they did originally", while RT64 also adds any frame rate, widescreen and ultrawide. The game logic still runs at the original rate: "Changing framerate has no effect on gameplay." PS2 recomps for Gran Turismo 4, Killzone and Urban Reign borrow the graphics part of the PCSX2 emulator, so emulation there has not disappeared, it has just moved to the GPU side.

The second is to write a new renderer for one particular game. In Sonic Unleashed, the XenonRecomp authors also built XenosRecomp, which converts the Xbox 360 shaders into HLSL, and wrote a renderer "from scratch" that sends the game's draw calls to Direct3D 12 or Vulkan. Because the GPU doesn't have to be emulated, they skipped the hardware quirks a PC port doesn't need, and built shader compilation into asset loading, so new objects appear without the stutter familiar from emulators. Their README calls this an improvement "that'd never be possible with an emulator".

Every console is its own puzzle

A battle in Fable II with a plate: Xbox 360, PowerPC processor, big-endian byte order, XenonRecomp and ReXGlue
Fable II

A recompiler is tied to a processor and to a console's hardware, so each platform got its own tool, and the difficulty differs a lot.

ConsoleProcessorMain toolWhat is hardest
PS1MIPS R3000ARecompOnethe hardware environment; the code is translated into C#
Nintendo 64MIPS R4300N64Recomp, N64ModernRuntime, RT64overlays loaded at different addresses, the RSP microcode
PS2MIPS R5900 plus VU0, VU1 and the IOPPS2Recompvector unit microprograms, the GS graphics chip, the second IOP processor
Original Xboxx86, Pentium IIIxboxrecompthe Direct3D 8 layer and the NV2A graphics chip
GameCube, WiiPowerPC Gekko and BroadwayNWiiRecompthe GX graphics pipeline, solved here with its own rasteriser
Xbox 360PowerPC Xenon, three coresXenonRecomp, ReXGluebig-endian data, VMX vectors, Xenos shaders, jump tables
PS3Cell: one PPU and six SPUsps3recompSPU programs with 256 KB of local memory and DMA, the LV2 kernel, encrypted EBOOT

The PS3 is the hardest case. Besides the main PowerPC core, the Cell has six SPU coprocessors, each with its own instruction set, its own 256 KB of memory and data moved by DMA. ps3recomp translates SPU programs separately: each SPU's local memory becomes an array, DMA transfers become memory copies, and the communication channels become message queues between threads. The original Xbox is the opposite: its processor is the same x86 family as a PC, and the xboxrecomp authors call their toolkit the first public static recompiler for that console.

The PS4 stands apart. Its x86-64 code can run on a PC processor almost as is, so PS4 ports such as Bloodborne or God of War III don't translate code at all: they replace the system libraries and send graphics to Vulkan through the shadPS4 video core. More on that in our list of PS4 ports.

Why so many ports appeared in 2026

Chart: GitHub repositories with recomp in the name created per month, about 40 a month in 2025 and 1644 in October 2026
Recomp repositories on GitHub

We counted GitHub repositories with "recomp" in the name by the month they were created. In October 2025 there were 37 new ones, in March 2026 already 111, in August 596, and in October 2026 as many as 1644, more than in all of 2024 and 2025 combined (681). Not every one is a game port: the count also includes tools, forks and tests. But the curve shows when the wave started: in the summer of 2026.

There are three reasons. First, ready-made templates: for the N64 most ports are built on the Zelda64Recomp template, for the Xbox 360 on ReXGlue, which according to its README is "heavily rooted" in the Xenia emulator, and a new porter starts from a working skeleton instead of a blank page. Second, the tools learned from each other: XenonRecomp was "heavily inspired" by N64Recomp, and ps3recomp names N64Recomp, Unleashed Recompiled, PS2Recomp and ReXGlue as its relatives. Third, AI assistants. Many authors state in their README that they wrote the port with Claude, Codex or other models, and the work of finding thousands of functions, missing instructions and system calls went from months to weeks.

The last point has a downside. Projects appear in a day and can be abandoned just as fast, some READMEs promise more than the build delivers, and fake repositories with someone else's name pop up next to real ones. We check every project by its README and release list before adding it to our recomp list.

What a recomp gives you, and what it can't do

Sonic running through a desert town in Sonic Unleashed with a plate: what a recomp gives, any frame rate, any resolution, mods; one game in one version
Sonic Unleashed
  • Speed. There is no translation while you play, so a recomp needs far less CPU than an emulator. In Unleashed Recompiled, extra optimisations shrank the executable by about 20 MB and cut frame times by several milliseconds.
  • PC features. Resolution, frame rate, widescreen, mouse, DLSS or FSR are added in the runtime and renderer, not hacked on top of an emulator.
  • Mods. Any translated function can be replaced with your own: XenonRecomp makes functions easy to hook, and N64Recomp lets you link patched versions of functions over the originals.
  • One game, one version. A recomp is not an emulator. Majora's Mask accepts only the US N64 ROM, and the README answers the question about other ROMs with "You don't."
  • Bugs of a young project. Anything the authors didn't foresee breaks: an untranslated instruction, a missing system call, an effect the renderer doesn't know. That is why most recomps of 2026 are still marked alpha or beta.

Finally, legality. A proper recomp contains no textures, sounds or levels: it reads them from your copy. With the code itself it depends on how the project is shipped. If the installer builds the game on your PC, the download contains only the tools. If the release is a ready .exe, the translated game code is inside it, and several authors say so openly in their README. We only ever link to the repositories, never to game files, and every list on our site includes what you need to own to play.

Read also

Monster Hunter Generations Ultimate with a plate: 237 recomp games on PC across 15 platforms, 7549 GitHub stars for Majora's Mask
Recomp Games on PC: 237 Console Games That Run Without an Emulator
PS2 games on PC without an emulator: 39 native ports, from ICO to Gran Turismo 4

Sources

README files of N64Recomp, Zelda64Recomp, XenonRecomp, Unleashed Recompiled, ReXGlue, PS2Recomp, ps3recomp, xboxrecomp, NWiiRecomp and RecompOne, read on November 2, 2026. Repository counts: GitHub search API, query "recomp in:name" with a creation date per month, November 2, 2026. Diagrams and chart by FramesGames. Images: Microsoft Store.

Pokémon Let's Go on PC: download, requirements and fixes for the native port
Every PlayStation Game on PC: 30 Sony Ports, 8 Partner Exclusives and 19 That Never Came
Demon's Souls (PS3) on PC: download, requirements and fixes for the fan ports
Knack and Knack II on PC: download, requirements and fixes for the fan ports
inFAMOUS First Light on PC: download, requirements and fixes for the two fan ports
TAGGED:PC
Share This Article
Facebook Email Print
Dave Freeman
ByDave Freeman
Follow:
Dave Freeman is the pen name behind FramesGames. Specs come from the manufacturer, test numbers only from benchmarks with a published method, and the charts are ours, with the source printed on the image.
Leave a Comment Leave a Comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

- Advertisement -
Ad imageAd image

Trending Stories

Deadlock updates tracker: 44 heroes, 4 hero bans in ranked, Season 2 ends March 11, 2027
DeadlockHow-to

Deadlock updates: every patch and new hero (updated November 8)

November 11, 2026
Biotic attack in a Mass Effect 3 multiplayer match running in Legendary Edition with the ME3Tweaks mod
Game News

Mass Effect 3 co-op is back in Legendary Edition, rebuilt by ME3Tweaks over three years

November 10, 2026
GeForce 8800 GTX held over its box in NVIDIA's free path traced Steam demo, RTX 4070 minimum
Hardware News

NVIDIA's free GeForce 8800 GTX demo needs an RTX 4070, so the 8800 GTX can't run it

November 10, 2026
New Epic Games Launcher Preview library window, Epic names SteamOS among supported Linux systems
Game News

Epic's new launcher is coming to SteamOS, but Fortnite still can't run on Steam Deck

November 10, 2026
Radeon RX 9070 XT render with the prices of three gaming PC builds for November 2026: 979, 1507 and 2085 euro
PC Builds

Best gaming PC build for November 2026: DDR5 now costs more than the CPU, so AM4 is back

November 10, 2026
Infernalist with burning hounds in Path of Exile 2 1.0 art, full release on 11 December
Game News

Path of Exile 2 1.0: two new classes, Acts 5 and 6 and a faction war on 11 December

November 9, 2026

You Might Also Like

Red dragon on a hoard of gold in Dragon's Crown Pro, panel: Dragon's Crown Pro on PC, version 0.9.2, seven game builds supported, up to 4K
PC Ports and RecompilationPlayStation 4Port News

Dragon's Crown Pro on PC: download, requirements and fixes for the fan port

November 7, 2026
Trico the giant creature looking at the boy on a stone ledge, cover: The Last Guardian on PC, 30 FPS steady as on PS4, 60 FPS experimental, game update 01.03 needed
PC Ports and RecompilationPlayStation 4Port News

The Last Guardian on PC: download, requirements and fixes for the fan port

November 6, 2026
Kat floating above a city in Gravity Rush 2, cover: Gravity Rush on PC, Remastered port 0.1.12, two games with two separate ports, 30 FPS in Gravity Rush 2
PC Ports and RecompilationPlayStation 4Port News

Gravity Rush on PC: download, requirements and fixes for the fan ports

November 6, 2026
Claire Redfield in a burning street in Resident Evil Code: Veronica X, panel: PS3 games on PC, 25 games with a native port, 4 played to the end, 0 emulators
PC Ports and RecompilationPlayStation 3

PS3 games on PC without an emulator: 25 native ports, from Demon's Souls to Killzone 3

November 4, 2026

Follow US on Social Media

Telegram

© 2026 FramesGames. All rights reserved.

FramesGames

Information

  • Contact
  • About
  • Editorial standards
  • Privacy Policy
  • Disclaimer
  • Cookie Policy (EU)
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?