ps2-web-recomp es un proyecto de software que permite ejecutar juegos de PlayStation 2 directamente en el navegador web sin necesidad de emuladores tradicionales. El sistema traduce el código máquina del Emotion Engine de los juegos en C++, lo compila a WebAssembly y lo vincula con una reimplementación del sistema operativo y hardware de la PS2, utilizando WebGPU para la renderización gráfica.
El proyecto destaca por su enfoque en la recompilación estática, que preserva las particularidades de la arquitectura R5900, incluyendo registros de 128 bits y comportamientos de punto flotante específicos. Gran Turismo 4 y God of War II son los títulos de referencia, logrando 50 y 60 fps respectivamente en hardware integrado de portátiles. El sistema procesa los datos de los juegos mediante HTTP Range requests, descargando únicamente el ejecutable inicial, lo que permite ejecutar títulos con 3 MB de texturas de forma eficiente.
La implementación incluye una emulación de alto nivel para el kernel del sistema, un intérprete para la CPU R3000 del procesador de entrada/salida y shaders de computación WebGPU para la memoria de video. Se han optimizado las transferencias de datos entre WebAssembly y la GPU, reduciendo el tráfico por frame en un 60% mediante caché. Además, se han corregido errores críticos en la sincronización de las unidades vectoriales y el procesamiento de audio, que afectaban la estabilidad del juego. El proyecto requiere un entorno de desarrollo con C++20, Python 3 y herramientas de compilación como CMake y Ninja, y está diseñado para funcionar en Linux con hardware x86-64.
