Zone of the Enders PC Static Recompilation Release - 1.0
EDIT (12:07PM EST): I will be rolling out 1.0.1 with logging capabilities for those with issues to send me over github.
Trailer: youtube.com
Download / source: Yaz-Myst/ZOE-Recompiled (grab the zip under Releases)
A native Windows port of Zone of the Enders (PS2, USA), statically recompiled from the game’s own code and built on PS2Recomp.
You need your own copy: a disc image (.iso) of the USA release (SLUS-20148). The undub works too. Unzip, run ZOE-Recompiled.exe, point it at your ISO, play. No game assets are included.
What you get:
- Locked 60 fps, including the heavy boss fights
- 16:9 widescreen with the HUD repositioned for it, progressive output, higher internal resolutions
- Save states (F5/F8) on top of regular memory card saves
- Controller support (DualShock 4, DualSense, Xbox, Switch Pro…), remappable, with DS2 pressure buttons and rumble
- Two-controller Versus, plus an option to unlock Versus without a cleared save
Heads up: it’s made for a controller. The options menu (Esc) needs the keyboard for now (Q/E, arrows, Enter, Esc).
Known issues: a rare freeze when loading the warehouse before the second Neith fight (reload your save), one reported freeze after the long lift movie to the final area, and a few cockpit HUD bits that sit slightly off. Bug reports welcome on GitHub.
GPLv3. Thanks to ran-j and the PS2Recomp contributors, and to PCSX2 for the SPU2 sound core.
If you're happy and/or want to show some support, hit my Ko-fi: ko-fi.com - either way, ZOE-Recompiled and future recompilations will always be free.
91 points · 14 comments
Hice Recomp, un launcher para ports nativos de juegos de PS2 en PC y Mac, con juego en línea integrado (Windows y Mac juntos)
Recomp es un launcher para juegos de PS2 recompilados para correr nativos en Windows y Mac. No hay emulador que configurar, ni plugins, ni BIOS. Le das tu propia ISO una vez, instala y actualiza el juego, y trae el juego en línea integrado.
Juegos por ahora:
• Dragon Ball Z: Budokai Tenkaichi 4 (el mod de BT3 de Team BT4): Windows y Mac, en línea.
• Bloody Roar 4 (PAL, con el Analog Stick Mod): Windows.
Vienen más. El launcher los toma de su catálogo él solo.
Qué hace el launcher
• Biblioteca y catálogo. + Agregar juego muestra los juegos disponibles. Eliges uno y descarga la versión lista para jugar. No se descarga nada del juego: todo se lee de tu ISO, que eliges una sola vez.
• Se actualiza solo, y cada juego también. No hay que volver a bajar zips.
• Opciones de cada juego, antes de abrirlo:
• resolución interna hasta 6x, con DLSS/FSR en Windows o MetalFX en Mac;
• 60 fps (donde el juego lo permite);
• todo desbloqueado desde el principio;
• pantalla completa y controles (mandos de Xbox/PlayStation, teclado).
• En línea, igual para todos los juegos:
• Una sola cuenta para todos los juegos.
• Lobby: ves quién está conectado y a qué juega, y activas Buscar partida para que te encuentren.
• Invitaciones: invitas a quien sea y acepta con un clic.
• Salas de 2 a 4 jugadores por turnos, con contraseña si quieres y chat.
• Amigos y bloqueados.
• Estadísticas por juego: ganadas, perdidas, porcentaje de victorias, tiempo jugado y tabla de los mejores. Una pelea solo cuenta si los juegos de los dos vieron el mismo resultado.
• Encima de la partida: Back + Start (o Shift+Tab) pone el launcher sobre el juego para el chat, las invitaciones o salir de la partida.
• No hay que abrir puertos. Los dos juegos corren los mismos frames sincronizados por un servidor relay.
• Windows y Mac juegan juntos.
• Tu propio servidor, si quieres. El servidor es código abierto y se instala con un script. Lo pones en AJUSTES.
Descarga
• Windows 10/11 (64 bits, GPU con Vulkan): Recomp.exe (github.com/recomp-code/recomp-online/releases/lat…)
• Mac (Apple Silicon, macOS 14 o más nuevo): DBZ_BT4_Mac.zip (github.com/recomp-code/recomp-online/releases/lat…). En Mac el launcher trae DBZ BT4 dentro.
Cómo empezar
1. Abre el launcher.• Windows: pon Recomp.exe en una carpeta donde puedas escribir (Escritorio o Documentos, no Archivos de programa) y ábrelo.• Mac: descomprime y arrastra DBZ_BT4.app a Aplicaciones. No está firmada con una cuenta de desarrollador de Apple, así que la primera vez:
• en macOS 15, doble clic, Listo, y luego Ajustes del Sistema > Privacidad y seguridad > Abrir igualmente;
• en macOS 14, clic derecho > Abrir.
2. Agrega un juego. Dale a + Agregar juego, elígelo del catálogo y espera la descarga. En Mac, DBZ ya viene.
3. Elige tu ISO. Dale a Seleccionar ISO y elige tu propia copia:
• DBZ BT4 usa la SLUS-219.78 Beta 14 Rev2 del mod, de la página de Team BT4 (teambt4.wixsite.com);
• Bloody Roar 4 usa la PAL SLES-518.77 con el Analog Stick Mod.
4. Dale a JUGAR.
Jugar en línea
1. Entra en la pestaña EN LÍNEA y crea una cuenta.
2. Empieza una partida de una de tres formas:• dale a Invitar a alguien;• activa Buscar partida;• crea una sala.
3. Cuando aceptan la invitación, los dos juegos se abren ya conectados. En DBZ se encuentran en el menú Multijugador del juego.
4. Los dos necesitan la misma versión del juego (el launcher te avisa si no).
5. Si la partida da tirones porque están lejos, sube Retraso de controles en AJUSTES.
Código
Todo es código abierto. Los repositorios no traen datos ni código del juego: al compilar se genera desde tu propio ELF.
• Launcher y servidor en línea (recomp-code/recomp-online)
• Port de DBZ BT4 (recomp-code/dbz-bt4-recomp)
Créditos: PS2Recomp (ran-j/PS2Recomp), PCSX2 (PCSX2/pcsx2) (renderizador GS), z3xox/BT3-Recomp, Team BT4 por el mod.
9 points · 1 comment
PS2Recomp: Playstation 2 Static Recompiler & Runtime Tool to make native PC ports (3.5k stars)
What it does
All text below is quoted directly from the project README.
>PS2Recomp: PlayStation 2 Static Recompiler (Experimental)
>This project statically recompiles PS2 ELF binaries into C++ and provides a runtime to execute the generated code.
Modules:
- ps2xAnalyzer: scans ELF/functions and writes TOML config (stubs, skip, instruction patches).
- ps2xRecomp: reads TOML + ELF, decodes R5900 instructions, and generates C++ output.
- ps2xRuntime: hosts memory, function registration, syscall dispatch, and hardware stubs.
- ps2xIOP: R3000A IRX execution, a virtual IOP kernel, and generic HLE fallbacks.
Features:
- Translates MIPS R5900 instructions to C++ code
- PS2-specific MMI and VU0 macro support.
- Single-file or multi-file output.
- Configurable stubs, skips, and instruction patches.
- Instruction-driven syscall handling.
How It Works:
>PS2Recomp works by:
- Parsing a PS2 ELF file to extract functions, symbols, and relocations
- Decoding the MIPS R5900 instructions in each function
- Translating those instructions to equivalent C++ code
- Generating a runtime that can execute the recompiled code
>The translated code is very literal, with each MIPS instruction mapping to a C++ operation. For example, addiu $r4, $r4, 0x20 becomes ctx->r4 = ADD32(ctx->r4, 0X20);.
Runtime:
>ps2xRuntime currently provides:
- Guest memory model and function dispatch table.
- Some syscall dispatcher with common kernel IDs.
- Basic GS/VU/file/system stubs.
- Foundation to expand and port your game.
- ps2xIOP execution of original IRX modules with generic HLE fallbacks.
Requirements:
- CMake 3.20+
- C++20 compiler (currently tested mainly with MSVC)
- SSE4/AVX host support for some vector paths
Limitations:
- Performance is very bad for VU and GS
- Hardware emulation is partial and many paths are stubbed.
Acknowledgments:
- Inspired by N64Recomp
- Uses ELFIO for ELF parsing
- Uses toml11 for TOML parsing
- Uses fmt for string formatting
- Reference for runtime PCSX2
Repository
ran-j/PS2Recomp
Repository stats
|Metric|Value|
|:-|:-|
|Stars|3,480|
|Forks|184|
|Last release|None|
|Languages|C++ 99.3%|
|Contributors|22|
|AI contributor accounts (Claude / Codex / Cursor / Copilot)|None|
|AI co-authored commits|None|
Main contributor
|Field|Value|
|:-|:-|
|Name|Ranieri|
|GitHub|@ran-j|
|Commits to this repo|107 (top contributor)|
|Bio|Software development at Zup Innovation|
|Company / Location|Zup / Brazil|
|Followers|207|
131 points · 2 comments
God of War (PS2) static recompilation: native x64 build now reaches the intro screen
Hey everyone. A while back, I started a bit of a crazy project: porting the original PS2 *God of War* to PC as a native executable, using static recompilation instead of emulation.
In short, here’s how it works: using PS2Recomp, I translate the original executable (MIPS R5900) into C++ and then compile it with MSVC against a runtime that reimplements the PS2 hardware (EE kernel, IOP, GS, DMA, etc.).
Current status:
- 6,400+ functions identified in the ELF
- ~6,400 generated C++ files that compile into an x64 .exe
- Boots up, initializes the IOP and sound modules
- As of now: it renders the intro screen (screenshot attached)
What’s missing and where a hand would be appreciated:
- Proceeds past the intro (game configuration loading)
- Audio
- Controller and memory card
If you're into reverse engineering, emulation, PS2 graphics, or just love the game, any help is welcome—whether it's PRs, issues, or just pointing out what I'm doing wrong.
Repo: KIexster/god-of-war-recomp
Note: The repo doesn't include any game files; you need your own copy to compile it. It’s licensed under GPL-3.0.
I’m happy to answer any technical questions in the comments.
Full disclosure: I’m using "vibe coding" for part of the process, employing AI to write overrides and scripts and to understand parts of the runtime. That said, I test and validate everything against the game's actual behavior. If you spot something that looks "AI-generated" and is incorrect, feel free to let me know—that’s exactly why I’m sharing the repo.
133 points · 35 comments
[C++] Estoy portando God of War de PS2 a PC nativo (sin emulador) y ya llegué a la pantalla de intro
Buenas, gurises. Hace un tiempo arranqué un proyecto medio loco: portar el God of War original de PS2 a PC como ejecutable nativo, usando recompilación estática en vez de emulación.
Cómo funciona, en corto: con PS2Recomp traduzco el ejecutable original (MIPS R5900) a C++, y después lo compilo con MSVC contra un runtime que reimplementa el hardware de la PS2 (kernel del EE, IOP, GS, DMA, etc.).
Dónde estoy:
- 6.400+ funciones identificadas en el ELF
- ~6.400 archivos C++ generados que compilan a un .exe x64
- Arranca, inicializa el IOP y los módulos de sonido
- Ahora mismo: ya renderiza la pantalla de intro (captura adjunta)
Lo que falta y donde me vendría bien una mano:
- Que avance más allá de la intro (carga de configuración del juego)
- Audio
- Mando y memory card
Si te interesa el reversing, la emulación, los gráficos de PS2 o simplemente te copa el juego, cualquier ayuda suma: PRs, issues o que me digan qué estoy haciendo mal.
Repo: KIexster/god-of-war-recomp
Aclaración: el repo no incluye ningún archivo del juego. Hay que tener una copia propia para compilarlo. Es GPL-3.0.
Cualquier pregunta técnica, encantado de responder en los comentarios.
Transparencia: parte del proceso lo estoy haciendo con vibe coding, usando IA para escribir overrides, scripts y para entender partes del runtime. Igual, todo lo pruebo y lo voy validando contra el comportamiento del juego. Si ves algo que se nota "generado" y está mal, decímelo sin drama, que justamente para eso comparto el repo.
71 points · 10 comments
Mentions
Zone of the Enders PC Static Recompilation Release - 1.0 EDIT (12:07PM EST): I will be rolling out 1.0.1 with logging capabilities for those with issues to send me over github. Trailer: youtube.com Download / source: Yaz-Myst/ZOE-Recompiled (grab the zip under Releases) A native Windows port of Zone of the Enders (PS2, USA), statically recompiled from the game’s own code and built on PS2Recomp. You need your own copy: a disc image (.iso) of the USA release (SLUS-20148). The undub works too. Unzip, run ZOE-Recompiled.exe, point it at your ISO, play. No game assets are included. What you get: - Locked 60 fps, including the heavy boss fights - 16:9 widescreen with the HUD repositioned for it, progressive output, higher internal resolutions - Save states (F5/F8) on top of regular memory card saves - Controller support (DualShock 4, DualSense, Xbox, Switch Pro…), remappable, with DS2 pressure buttons and rumble - Two-controller Versus, plus an option to unlock Versus without a cleared save Heads up: it’s made for a controller. The options menu (Esc) needs the keyboard for now (Q/E, arrows, Enter, Esc). Known issues: a rare freeze when loading the warehouse before the second Neith fight (reload your save), one reported freeze after the long lift movie to the final area, and a few cockpit HUD bits that sit slightly off. Bug reports welcome on GitHub. GPLv3. Thanks to ran-j and the PS2Recomp contributors, and to PCSX2 for the SPU2 sound core. If you're happy and/or want to show some support, hit my Ko-fi: ko-fi.com - either way, ZOE-Recompiled and future recompilations will always be free.
Hice Recomp, un launcher para ports nativos de juegos de PS2 en PC y Mac, con juego en línea integrado (Windows y Mac juntos) Recomp es un launcher para juegos de PS2 recompilados para correr nativos en Windows y Mac. No hay emulador que configurar, ni plugins, ni BIOS. Le das tu propia ISO una vez, instala y actualiza el juego, y trae el juego en línea integrado. Juegos por ahora: • Dragon Ball Z: Budokai Tenkaichi 4 (el mod de BT3 de Team BT4): Windows y Mac, en línea. • Bloody Roar 4 (PAL, con el Analog Stick Mod): Windows. Vienen más. El launcher los toma de su catálogo él solo. Qué hace el launcher • Biblioteca y catálogo. + Agregar juego muestra los juegos disponibles. Eliges uno y descarga la versión lista para jugar. No se descarga nada del juego: todo se lee de tu ISO, que eliges una sola vez. • Se actualiza solo, y cada juego también. No hay que volver a bajar zips. • Opciones de cada juego, antes de abrirlo: • resolución interna hasta 6x, con DLSS/FSR en Windows o MetalFX en Mac; • 60 fps (donde el juego lo permite); • todo desbloqueado desde el principio; • pantalla completa y controles (mandos de Xbox/PlayStation, teclado). • En línea, igual para todos los juegos: • Una sola cuenta para todos los juegos. • Lobby: ves quién está conectado y a qué juega, y activas Buscar partida para que te encuentren. • Invitaciones: invitas a quien sea y acepta con un clic. • Salas de 2 a 4 jugadores por turnos, con contraseña si quieres y chat. • Amigos y bloqueados. • Estadísticas por juego: ganadas, perdidas, porcentaje de victorias, tiempo jugado y tabla de los mejores. Una pelea solo cuenta si los juegos de los dos vieron el mismo resultado. • Encima de la partida: Back + Start (o Shift+Tab) pone el launcher sobre el juego para el chat, las invitaciones o salir de la partida. • No hay que abrir puertos. Los dos juegos corren los mismos frames sincronizados por un servidor relay. • Windows y Mac juegan juntos. • Tu propio servidor, si quieres. El servidor es código abierto y se instala con un script. Lo pones en AJUSTES. Descarga • Windows 10/11 (64 bits, GPU con Vulkan): Recomp.exe (github.com/recomp-code/recomp-online/releases/lat…) • Mac (Apple Silicon, macOS 14 o más nuevo): DBZ_BT4_Mac.zip (github.com/recomp-code/recomp-online/releases/lat…). En Mac el launcher trae DBZ BT4 dentro. Cómo empezar 1. Abre el launcher.• Windows: pon Recomp.exe en una carpeta donde puedas escribir (Escritorio o Documentos, no Archivos de programa) y ábrelo.• Mac: descomprime y arrastra DBZ_BT4.app a Aplicaciones. No está firmada con una cuenta de desarrollador de Apple, así que la primera vez: • en macOS 15, doble clic, Listo, y luego Ajustes del Sistema > Privacidad y seguridad > Abrir igualmente; • en macOS 14, clic derecho > Abrir. 2. Agrega un juego. Dale a + Agregar juego, elígelo del catálogo y espera la descarga. En Mac, DBZ ya viene. 3. Elige tu ISO. Dale a Seleccionar ISO y elige tu propia copia: • DBZ BT4 usa la SLUS-219.78 Beta 14 Rev2 del mod, de la página de Team BT4 (teambt4.wixsite.com); • Bloody Roar 4 usa la PAL SLES-518.77 con el Analog Stick Mod. 4. Dale a JUGAR. Jugar en línea 1. Entra en la pestaña EN LÍNEA y crea una cuenta. 2. Empieza una partida de una de tres formas:• dale a Invitar a alguien;• activa Buscar partida;• crea una sala. 3. Cuando aceptan la invitación, los dos juegos se abren ya conectados. En DBZ se encuentran en el menú Multijugador del juego. 4. Los dos necesitan la misma versión del juego (el launcher te avisa si no). 5. Si la partida da tirones porque están lejos, sube Retraso de controles en AJUSTES. Código Todo es código abierto. Los repositorios no traen datos ni código del juego: al compilar se genera desde tu propio ELF. • Launcher y servidor en línea (recomp-code/recomp-online) • Port de DBZ BT4 (recomp-code/dbz-bt4-recomp) Créditos: PS2Recomp (ran-j/PS2Recomp), PCSX2 (PCSX2/pcsx2) (renderizador GS), z3xox/BT3-Recomp, Team BT4 por el mod.
PS2Recomp: Playstation 2 Static Recompiler & Runtime Tool to make native PC ports (3.5k stars) What it does All text below is quoted directly from the project README. >PS2Recomp: PlayStation 2 Static Recompiler (Experimental) >This project statically recompiles PS2 ELF binaries into C++ and provides a runtime to execute the generated code. Modules: - ps2xAnalyzer: scans ELF/functions and writes TOML config (stubs, skip, instruction patches). - ps2xRecomp: reads TOML + ELF, decodes R5900 instructions, and generates C++ output. - ps2xRuntime: hosts memory, function registration, syscall dispatch, and hardware stubs. - ps2xIOP: R3000A IRX execution, a virtual IOP kernel, and generic HLE fallbacks. Features: - Translates MIPS R5900 instructions to C++ code - PS2-specific MMI and VU0 macro support. - Single-file or multi-file output. - Configurable stubs, skips, and instruction patches. - Instruction-driven syscall handling. How It Works: >PS2Recomp works by: - Parsing a PS2 ELF file to extract functions, symbols, and relocations - Decoding the MIPS R5900 instructions in each function - Translating those instructions to equivalent C++ code - Generating a runtime that can execute the recompiled code >The translated code is very literal, with each MIPS instruction mapping to a C++ operation. For example, addiu $r4, $r4, 0x20 becomes ctx->r4 = ADD32(ctx->r4, 0X20);. Runtime: >ps2xRuntime currently provides: - Guest memory model and function dispatch table. - Some syscall dispatcher with common kernel IDs. - Basic GS/VU/file/system stubs. - Foundation to expand and port your game. - ps2xIOP execution of original IRX modules with generic HLE fallbacks. Requirements: - CMake 3.20+ - C++20 compiler (currently tested mainly with MSVC) - SSE4/AVX host support for some vector paths Limitations: - Performance is very bad for VU and GS - Hardware emulation is partial and many paths are stubbed. Acknowledgments: - Inspired by N64Recomp - Uses ELFIO for ELF parsing - Uses toml11 for TOML parsing - Uses fmt for string formatting - Reference for runtime PCSX2 Repository ran-j/PS2Recomp Repository stats |Metric|Value| |:-|:-| |Stars|3,480| |Forks|184| |Last release|None| |Languages|C++ 99.3%| |Contributors|22| |AI contributor accounts (Claude / Codex / Cursor / Copilot)|None| |AI co-authored commits|None| Main contributor |Field|Value| |:-|:-| |Name|Ranieri| |GitHub|@ran-j| |Commits to this repo|107 (top contributor)| |Bio|Software development at Zup Innovation| |Company / Location|Zup / Brazil| |Followers|207|
God of War (PS2) static recompilation: native x64 build now reaches the intro screen Hey everyone. A while back, I started a bit of a crazy project: porting the original PS2 *God of War* to PC as a native executable, using static recompilation instead of emulation. In short, here’s how it works: using PS2Recomp, I translate the original executable (MIPS R5900) into C++ and then compile it with MSVC against a runtime that reimplements the PS2 hardware (EE kernel, IOP, GS, DMA, etc.). Current status: - 6,400+ functions identified in the ELF - ~6,400 generated C++ files that compile into an x64 .exe - Boots up, initializes the IOP and sound modules - As of now: it renders the intro screen (screenshot attached) What’s missing and where a hand would be appreciated: - Proceeds past the intro (game configuration loading) - Audio - Controller and memory card If you're into reverse engineering, emulation, PS2 graphics, or just love the game, any help is welcome—whether it's PRs, issues, or just pointing out what I'm doing wrong. Repo: KIexster/god-of-war-recomp Note: The repo doesn't include any game files; you need your own copy to compile it. It’s licensed under GPL-3.0. I’m happy to answer any technical questions in the comments. Full disclosure: I’m using "vibe coding" for part of the process, employing AI to write overrides and scripts and to understand parts of the runtime. That said, I test and validate everything against the game's actual behavior. If you spot something that looks "AI-generated" and is incorrect, feel free to let me know—that’s exactly why I’m sharing the repo.
[C++] Estoy portando God of War de PS2 a PC nativo (sin emulador) y ya llegué a la pantalla de intro Buenas, gurises. Hace un tiempo arranqué un proyecto medio loco: portar el God of War original de PS2 a PC como ejecutable nativo, usando recompilación estática en vez de emulación. Cómo funciona, en corto: con PS2Recomp traduzco el ejecutable original (MIPS R5900) a C++, y después lo compilo con MSVC contra un runtime que reimplementa el hardware de la PS2 (kernel del EE, IOP, GS, DMA, etc.). Dónde estoy: - 6.400+ funciones identificadas en el ELF - ~6.400 archivos C++ generados que compilan a un .exe x64 - Arranca, inicializa el IOP y los módulos de sonido - Ahora mismo: ya renderiza la pantalla de intro (captura adjunta) Lo que falta y donde me vendría bien una mano: - Que avance más allá de la intro (carga de configuración del juego) - Audio - Mando y memory card Si te interesa el reversing, la emulación, los gráficos de PS2 o simplemente te copa el juego, cualquier ayuda suma: PRs, issues o que me digan qué estoy haciendo mal. Repo: KIexster/god-of-war-recomp Aclaración: el repo no incluye ningún archivo del juego. Hay que tener una copia propia para compilarlo. Es GPL-3.0. Cualquier pregunta técnica, encantado de responder en los comentarios. Transparencia: parte del proceso lo estoy haciendo con vibe coding, usando IA para escribir overrides, scripts y para entender partes del runtime. Igual, todo lo pruebo y lo voy validando contra el comportamiento del juego. Si ves algo que se nota "generado" y está mal, decímelo sin drama, que justamente para eso comparto el repo.