Show HN: Juegos de PS2 recompilados estáticamente a WebAssembly
Un nuevo proyecto recompila estáticamente juegos de PlayStation 2 a WebAssembly para que puedan ejecutarse en un navegador o como binarios nativos, modelando componentes clave del hardware como las unidades vectoriales y el sintetizador gráfico en lugar de hacer emulación ciclo a ciclo. Los comentaristas profundizan en los compromisos técnicos sobre precisión de temporización, rendimiento en dispositivos que van desde netbooks antiguos hasta Steam Deck, y elecciones de API gráficas como WebGPU frente a OpenGL heredado. El trabajo también plantea preguntas más amplias sobre cómo la recompilación asistida por IA afecta la preservación de juegos, el riesgo de piratería y los incentivos a largo plazo para el desarrollo comercial de videojuegos.
Enfoque técnico y precisión
- Recompilación AOT estática del código “EE” de PS2 a WebAssembly / nativo; cada bloque básico decrementa un presupuesto de ciclos.
- La sincronización es aproximada, no ciclo a ciclo; las interrupciones, DMA, temporizadores y vblank se entregan en los límites de bloque.
- Los comentaristas señalan que la mayoría de los juegos se sincronizan mediante interrupciones/semaforos, así que esto funciona para muchos títulos; los fallos de temporización aparecen como casos límite concretos que hay que corregir.
- Los microprogramas de VU1 se capturan cuando se suben por primera vez vía DMA, se compilan AOT por juego; los no vistos se recompilan con JIT a WASM.
- Se modelan algunas peculiaridades del pipeline de PS2: latencia de banderas, floats no IEEE al estilo PS2 con limitación, y VU1 en su propio hilo.
- GS (gráficos) se emula con shaders de cómputo de WebGPU; el muestreo de texturas es un gran cuello de botella de GPU. GS frontend y VU1 ocupan cada uno grandes cuotas de CPU.
Rendimiento y objetivos de plataforma
- La versión para navegador funciona bien en una iGPU razonablemente potente a resolución 1x–2x; las GPUs integradas pueden quedar limitadas por la GPU.
- La versión nativa para Linux usa Vulkan mediante wgpu + SDL2 (ventana, audio, mando). En Steam Deck, 1x de resolución es el objetivo realista; el host nativo multihilo aún está en progreso.
- Se discutió apuntar a APIs antiguas como OpenGL 2.1 / WebGL 1 frente a WebGPU/WebGL 2.0 más nuevos para abarcar más hardware, con compromisos en complejidad y “coste de tokens”.
Mandos y fidelidad de entrada
- Existe una fuerte preocupación por perder los botones sensibles a la presión de PS2 (por ejemplo, en Gran Turismo).
- Algunos informan de éxito usando adaptadores específicos de PS2 a PS3 y mandos modernos con curvas correctas; otros consideran que los mapeos son insatisfactorios o ergonómicamente malos.
Distribución, legalidad y alojamiento
- El autor no puede alojar legalmente compilaciones de juegos; los usuarios deben convertir sus propias ISOs localmente.
- Se sugiere ejecutar el recompilador en WASM para que la conversión ocurra del lado del cliente, evitando la distribución de activos con copyright.
- Alojar juegos completos en el navegador se compara con otros archivos de zona gris; se espera la posibilidad de retiradas.
IA, confianza y terminología
- Reacciones mixtas ante las recompilaciones habilitadas por IA: entusiasmo por el progreso técnico frente a frustración por los efectos en la programación como profesión.
- Escepticismo hacia proyectos que afirman “sin emulación” mientras siguen interpretando algunos núcleos (p. ej., IOP) o modelando el hardware de forma intensiva.
- Quejas de que algunos “ports nativos” son solo emuladores empaquetados con ROMs, lo que dificulta encontrar recompilaciones genuinas.
- Preocupaciones de seguridad: las descompilaciones nativas podrían ocultar malware; algunos sostienen que WASM es relativamente más seguro, pero los ecosistemas de emuladores/ROMs llevan mucho tiempo teniendo problemas de confianza.
Piratería, incentivos y preservación de juegos
- Debate sobre si la recompilación y el rehosteo fáciles socavan los incentivos para crear juegos de gran presupuesto.
- Réplicas: la piratería ha existido durante décadas; la gente sigue comprando juegos, y además los títulos antiguos a menudo no se venden ni se apoyan de todos modos.
- Varios ven las recompilaciones como herramientas de preservación y como una forma de volver a jugar clásicos de forma nativa en distintas plataformas, incluidos dispositivos embebidos y PC de mano.