Not emulation: how recomps and decomps are turning old console games into native PC ports

AnyPS5 claims to run PS5 binaries on PC without an emulator, and AI is speeding up decompilation. Here's how recomps and decomps are turning old console games into native ports.

gamingrecompdecompilationaisteam-deckpreservationside-projects

This week a GitHub project called AnyPS5 hit Hacker News with a bold headline: port PS5 binaries to PC without emulation, with 87% of the system libraries mapped. One commenter summed it up as sitting “halfway between Wine and Rosetta”. Because the PS5 already runs on x86-64, the CPU code doesn’t need translating; the hard part is everything around it, above all the graphics API.

It’s early, and the thread was rightly sceptical about what will actually run. But it’s a good moment to step back, because AnyPS5 is the newest example of something that has been quietly changing how we play old games for a few years now.

Emulation, recompilation, decompilation: what’s the difference?

There are roughly four ways to get a console game running on a PC, and they’re often lumped together:

  1. Emulation pretends to be the original console. Flexible and battle-tested, but it carries the overhead of imitating hardware, and modern-console emulators are legally exposed: Yuzu and Ryujinx are gone, and the HN thread cites a report of around 400 Switch-emulator repositories taken down in a single day.
  2. Compatibility layers (Wine-style) run the original program and translate the calls it makes to its operating system. That’s the AnyPS5 approach.
  3. Static recompilation (“recomps”) translates the game’s machine code into native PC code ahead of time. Zelda 64: Recompiled, built on the N64Recomp tool, is the best-known example: Majora’s Mask running natively, with widescreen, high frame rates and mods.
  4. Decompilation (“decomps”) goes furthest: people rebuild readable source code that compiles back into the exact original game, byte for byte. Once that exists, a proper PC port becomes possible. Super Mario 64’s decomp led to native PC versions; Ocarina of Time’s led to Ship of Harkinian.

Alongside these sit source ports and reimplementations like OpenRCT2, OpenTTD, DevilutionX and OpenMW, which run classic PC games on modern systems, plus a huge world of fan remakes and fan games.

AI is speeding all of this up

Decompilation used to be a years-long grind for a handful of experts. That’s changing fast. Recent coverage of the scene reports AI agents taking over parts of the reverse-engineering work, with several decompilation projects reaching 100%.

The most visible result is the mashups. In a recent reaction video, Asmongold walked through clips circulating online: Super Mario 64 playable inside Elden Ring, the whole of Minecraft running as an Elden Ring mod, Spider-Man swinging through Batman: Arkham City, Mario turning up in Halo. Some of those are early experiments and not every clip can be taken at face value, but his summary sticks: “every video game is now every video game.”

He also made the point that the novelty wears off fast, but the functionality stays. A Nintendo game running natively on PC at a high frame rate, or a game locked to old hardware finally playable on a modern machine, is useful long after the Elden Ring memes are forgotten.

Why native ports matter

  • They run better. No hardware imitation means high frame rates, widescreen, modern controllers and quick loading, even on modest hardware.
  • They’re perfect for handhelds. A native port is often the difference between “technically runs” and “great” on a Steam Deck or a cheap Android handheld.
  • They’re moddable. Readable code or clean recompiled code invites texture packs, bug fixes and quality-of-life features the original never had.
  • They’re preservation. When the original hardware dies and the store pages disappear, a working port keeps the game playable.

The Spotify argument

Asmongold’s most interesting point wasn’t technical. He argued that publishers can’t send cease-and-desists to everyone, so the realistic answer is the one music found: people stopped downloading from LimeWire not because it got harder, but because Spotify was simply better and more convenient. If the official way to play a 25-year-old game is a good remaster or a well-priced re-release, most people will take it. If the only way is a dead console or nothing, fans will build their own.

The well-behaved projects all draw the same line: they don’t distribute the game. You supply your own copy, and the tool extracts what it needs from it. The code is new work; the game’s art, music and levels stay with the publisher. That hasn’t stopped takedowns, which is why many in the community keep mirrors of projects they care about. (Not legal advice; the rules differ by country.)

Finding them: FanGamesDB

The problem with all this is discovery. Projects live on GitHub, Discord and forum threads, half are abandoned, and it’s hard to tell what’s actually playable. So I built FanGamesDB, a directory of recompiled, decompiled and fan-made games.

It currently lists 360 projects, each checked by hand, with the original game and console, the project type (recomp, decomp, source port, fan remake, fan game, ROM hack, total conversion), its status (“Fully playable”, “Playable” or “In development”) and a link to the developer’s own page. You can filter by console, series or the device you want to play on. Some useful starting points:

FanGamesDB hosts no files. It’s a list of links to the people doing the work.

Full disclosure: it’s my site, a side project. If AnyPS5 or something like it ever gets a real game running, it’ll be on there. And if you know a project I’ve missed, send me a message.

← All posts