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.