Old worlds.
Native foundations.

PlayStation game code, recompiled for PC. It plays as it always did. You choose how it looks.

Explore the technology

An exploded technical view of a fighter jet, half rendered and half wireframe

Original behaviour

The game’s own code still makes every decision. Physics, AI and timing run unchanged.

Modern presentation

Sharp, stable and widescreen at your display’s resolution, with the original look one key away.

Per-game knowledge

Everything specific to one game lives in its title profile. The engine itself knows only the PlayStation.

Process

From original data to a modern experience.

Each game needs its own profile and integration. The engine supplies everything they have in common.

Original game data to native presentation pipelineOriginal game dataGAME DISCDATA FILESASSETSEXECUTABLETitle profileGAME RULESDATA MAPSBEHAVIOUR NOTESINTEGRATION CODEPER GAMENative runtimeRECOMPILED CODEHARDWARE SERVICESSCENE CAPTUREDEBUG SERVERRendererMODERN GRAPHICSHIGHER RESOLUTIONSIMPROVED EFFECTSCONFIGURABLE OUTPUTPSX REMIX ENGINE Original game data to native presentation pipelineOriginal game dataGAME DISCDATA FILESASSETSEXECUTABLETitle profileGAME RULESDATA MAPSBEHAVIOUR NOTESINTEGRATION CODEPER GAMENative runtimeRECOMPILED CODEHARDWARE SERVICESSCENE CAPTUREDEBUG SERVERRendererMODERN GRAPHICSHIGHER RESOLUTIONSIMPROVED EFFECTSCONFIGURABLE OUTPUTPSX REMIX ENGINE
  1. Original game data

    Code is lifted ahead of time. You play from your own disc image.

  2. Title profile

    Rules, addresses and quirks for one game, kept out of the engine.

  3. Native runtime

    Recompiled code on rebuilt PlayStation hardware services. No CPU emulator, no BIOS file.

  4. Renderer

    Draws the game’s own scene in three looks, from 1:1 original to remaster.

Native execution

Recompiled for PC.

The game’s code is translated function by function from MIPS R3000A machine code to C++ and compiled for PC. The interpreter that checks it never ships.

Static recompilation and behaviour verificationPLAYSTATION EXECUTABLEMIPS R3000Aaddiu sp, sp, -56sw s5, 0x24(sp)move s5, a0lw a0, 0x3c4(gp)sw ra, 0x34(sp)sw fp, 0x30(sp)sw s7, 0x2c(sp)NATIVE PC CODEC++ for x86-64void func_8008AB14(Ctx& c) {c.r[29] = addu(c.r[29], -56);sw(c, c.r[29] + 0x24, c.r[21]);c.r[21] = addu(c.r[4], 0);c.r[4] = lw(c, c.r[28] + 0x3C4);}STATIC RECOMPILERDiscoverLift to C++CompileBEHAVIOUR CHECKOriginal code, interpretedRecompiled codeMatchOriginal MIPS codeRecompiled native code (PC) Static recompilation and behaviour verificationPLAYSTATION EXECUTABLEMIPS R3000Aaddiu sp, sp, -56sw s5, 0x24(sp)move s5, a0lw a0, 0x3c4(gp)sw ra, 0x34(sp)sw fp, 0x30(sp)sw s7, 0x2c(sp)STATIC RECOMPILERDiscoverLift to C++CompileNATIVE PC CODEC++ for x86-64void func_8008AB14(Ctx& c) {c.r[29] = addu(c.r[29], -56);sw(c, c.r[29] + 0x24, c.r[21]);c.r[21] = addu(c.r[4], 0);c.r[4] = lw(c, c.r[28] + 0x3C4);}BEHAVIOUR CHECKOriginal code, interpretedRecompiled codeMatchOriginal MIPS codeRecompiled native code (PC)

Architecture

The engine and the game, clearly separated.

One PSX Remix engine works for every game, and a title profile for each game plugs into it; wherever the profile has no answer, the engine does what the PlayStation did.SWAPSWAPPlayStationoriginalTitle profileKnows one gameONE PER GAMEControlsCameraWorldDisplayPSX Remix engineKnows the PlayStationSAME FOR EVERY GAME One PSX Remix engine works for every game, and a title profile for each game plugs into it; wherever the profile has no answer, the engine does what the PlayStation did.SWAPPlayStationoriginalTitle profileKnows one gameONE PER GAMEControlsCameraWorldDisplayPSX Remix engineKnows the PlayStationSAME FOR EVERY GAME

Engine code knows the PlayStation, never the game. Where a profile has no answer, it does what the console did.

Development tools

Tools that make the work visible.

A live debug server in every player, recordable GPU, scene and sound traces, and tools for worlds and models.

Stage editor

A wireframe city block on a perspective grid
  • Stage
  • Lighting
  • Atmosphere
  • Camera
  • Renderer

Open any level’s world without the game and tune its sky, light and haze.

Model viewer

  • Models
  • Moving parts
  • Light
  • Compare
A fighter jet model displayed in a dark 3D viewer

Every rebuilt model, with its moving parts, under adjustable light.

Frame comparison

The same coastal city rendered in the Remaster style
A coastal city with a central tower, rendered in the original PlayStation style
Original Remaster

Replay a recorded session on two builds or looks and compare every pixel.

Behaviour, verified.

Recompiled functions run beside an interpreter of the original code, and the results must match. The Original picture and sound are checked against DuckStation.

Frame comparison and behaviour validation loopOriginal codeRecompiledCompareBehaviour match