GitHub - ran-j/PS2Recomp: Playstation 2 Static Recompiler & Runtime Tool to make native PC ports
2 months ago
- #Recompiler
- #PS2
- #Emulation
- PS2Recomp is a tool for statically recompiling PlayStation 2 ELF binaries into C++ code.
- It enables running PS2 games natively on modern platforms without traditional emulation.
- Features include MIPS R5900 instruction translation, PS2-specific 128-bit MMI instruction support, and VU0 macro mode handling.
- Configurable via TOML files with options for single-file or multi-file output.
- Works by parsing PS2 ELF files, decoding instructions, translating to C++ code, and generating a runtime.
- Requires CMake 3.20+, a C++20 compatible compiler, and SSE4/AVX support for 128-bit operations.
- Setup involves cloning the repository, building with CMake, and running the recompiler with a TOML config.
- TOML configuration specifies input ELF, output directory, functions to stub or skip, and instruction patches.
- Execution requires a runtime for memory management, system call handling, and PS2 hardware simulation.
- Limitations include limited VU1 microcode support and the need for external hardware component implementations.