Hasty Briefsbeta

Bilingual

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.