El lanzamiento de la semana pasada de la suite de emulación Delta finalmente brindó a los usuarios de iOS acceso fácil y sin necesidad de descarga a la emulación de juegos clásicos de Nintendo hasta la era Nintendo 64. Sin embargo, cuando se trata de emular las siguientes consolas domésticas de Nintendo en iOS, algunas restricciones técnicas impuestas por Apple dificultan la obtención de un emulador funcional en la App Store.
En una publicación de blog recientedesarrollador de DolphiniOS (y largo tiempo Cambiar hacker) OatmealDome explica cómo un delfín bifurcación de código—que traslada el popular emulador de GameCube y Wii al sistema operativo de los teléfonos inteligentes de Apple—utiliza la compilación justo a tiempo (JIT) para traducir las instrucciones de PowerPC de esas consolas retro a código iOS compatible con ARM. Pero Apple Regulaciones de la tienda de aplicaciones contra aplicaciones que «instalan código ejecutable» (Sección 3.3.1B) en general evitar la recompilación JIT en iOS, con excepciones muy limitadas, como los navegadores web. esa restricción puede tener algún razonamiento de seguridad válido detrás de estopero también puede obstaculizar a los desarrolladores de herramientas como motores de navegador de terceros (excepto recientemente en la UE).
Si bien los desarrolladores de MacOS pueden hacer uso de un derecho explícito para permitir la recompilación JIT en una aplicación, esa excepción no se aplica a los desarrolladores de iOS. Y aunque las tiendas de aplicaciones alternativas y las aplicaciones descargadas (incluido DolphiniOS) tienen descubierto varios maneras para habilitar la compilación JIT en dispositivos iOS con jailbreak y stock, estas soluciones pueden volverse bastante arcanas y ocasionalmente rompe con nuevas versiones de iOS.
OatmealDome pidió una excepción a las restricciones JIT de Apple bajo la DMA europeapero «Apple denegó la solicitud hace unas semanas».
Por qué es necesario JIT
Los emuladores de GameCube y Wii como Dolphin son técnicamente posibles sin recompilación JIT, por supuesto; un simple intérprete También puede traducir el código PowerPC sin necesidad de una recompilación completa. Pero OatmealDome escribe que la sobrecarga de procesamiento implicada significa «desafortunadamente, el intérprete es muchas veces más lento que el recompilador JIT». Como prueba, OatmealDome compartió video de la emulación de GameCube «interpretada» que se ejecuta con una lentitud imposible de reproducir en un iPhone 15 Pro Max y la contrastó con imágenes de un ejemplo compilado por JIT que se ejecuta fácilmente a toda velocidad.
«Si bien podríamos enviar DolphiniOS a la App Store solo con el intérprete, probablemente recibiríamos infinitas quejas de los usuarios sobre el bajo rendimiento», escribió OatmealDome. «App Review también podría rechazarnos de todos modos porque la aplicación no se puede utilizar».
Los aficionados a la emulación también recordarán que una versión Steam planificada de Dolphin fue sacado de esa tienda después de nintendo expresó su preocupación a Valve sobre la incorporación del emulador del Clave común de Wii. Eso significa que cualquier versión de Dolphin aprobada por la App Store podría tener que navegar algunas aguas legales complicadas además de las restricciones técnicas de Apple.
También vale la pena mencionar que La reciente apertura de la App Store de Apple para la emulación de juegos sólo menciona específicamente «emuladores de consolas de juegos retro», sin aclarar un límite específico de lo que hace que una consola sea «retro». Sin meternos demasiado en la maleza ese polémico debate semánticosospechamos mucho que la Wii, que lanzado hace casi 18 añosencajaría incluso en la definición «retro» más estricta que Apple quisiera imponer.
Imagen de listado de Dolphin Team