PS2Recomp - Playstation 2 Static Recompiler & Runtime Tool to make native PC Ports
ToolActive
Tooling used for decompilation and recompilation work.
About
PS2Recomp is an experimental static recompiler that translates PlayStation 2 ELF binaries into C++ and provides a runtime to execute the generated code. It has four modules: an analyzer, the recompiler for R5900 instructions, a runtime for memory, syscalls and hardware stubs, and an IOP module for running IRX modules.
How it differs from the original
The README notes that performance is very bad for VU and GS, and that hardware emulation is partial with many paths stubbed.
Getting started
For retail or stripped games, export function data from Ghidra, run the recompiler with the resulting TOML config, then build the generated output and link it with the runtime.
Known issues & limitations
- Performance is very bad for VU and GS.
- Hardware emulation is partial, and many paths are stubbed.
What you need to run it
Additional notes
- Inspiration
- The README says the project is inspired by N64Recomp.
- Game overrides
- Per-game runtime patch modules, called game overrides, can replace function bindings by address for one specific game build.
FAQ
- What is PS2Recomp - Playstation 2 Static Recompiler & Runtime Tool to make native PC Ports?
- PS2Recomp - Playstation 2 Static Recompiler & Runtime Tool to make native PC Ports is an open-source tool. Tooling used for decompilation and recompilation work.
- Do I need the original game files to run PS2Recomp - Playstation 2 Static Recompiler & Runtime Tool to make native PC Ports?
- Yes. The project does not include the original game's assets, so you need your own copy.