Por qué no vamos a ver en el iPhone o iPad emuladores de consolas con CPUs PowerPC

Los más viejos del lugar probablemente conoceréis el término JIT, utilizado sobre todo en emuladores aunque tiene más ámbitos. Significa Just In Time en inglés y resumidamente se trata de una técnica que permite conseguir mucha más velocidad a la hora de traducir código de una arquitectura de un procesador a la de otra. Por esa razón, en emuladores, directamente multiplica el rendimiento de la CPU emulada, consiguiendo por ejemplo que un juego no funcione lento en otra máquina huésped en la que es emulado el sistema sobre el que se ejecuta.

Nintendo GameCube, predecesora de la Wii, en cuya arquitectura está completamente basada
Nintendo GameCube, predecesora de la Wii, en cuya arquitectura está completamente basada.

JIT es noticia estos días en el mundo del iPhone porque Apple no permite utilizarla en el iPhone o iPad. Esto es una faena, porque ahora que permiten publicar emuladores en la App Store como Delta, poder utilizar JIT es esencial. En el caso de Delta, los procesadores emulados son o relativamente sencillos de emular sin JIT (por ejemplo, el Z80) o utilizan la misma arquitectura de procesador que Apple en el iPhone o iPad, es decir, ARM. Un ejemplo, es la Game Boy Advance, una consola de videojuegos relativamente compleja y potente pero que al utilizar la misma arquitectura ARM del procesador del iPhone, se puede emular sin traducciones de código de ningún tipo. JIT no es necesario en este caso. Por eso, existe Delta, y por eso emula las consolas que emula.

Ahora, si miramos al resto de emuladores que podrían aparecer pronto para el iPhone, tenemos un dilema. La Wii o antes de ella la GameCube, son consolas muy similares, siendo la primera evolución directa de la segunda. Ambas utilizan un procesador con arquitectura PowerPC, habitual en esos años, y también utilizado por Apple en sus Macs antes del salto a la arquitectura x86 de Intel. Ahora que utilizan ARM, es necesario poder utilizar JIT para conseguir que el juego, como ves aquí en un iPhone, no funcione tan mal.

Lamentablemente a día de hoy Apple no ofrece solución a esto, JIT simplemente no está permitido y por esa razón al menos por ahora no vamos a ver el emulador Dolphin, de Wii y GameCube, en la App Store. Con JIT en una App de pruebas, funciona así de perfecto, utilizando el mismo emulador, en el mismo iPhone.

La diferencia es notable. Mientras Apple no permita JIT, por ahora nos tendremos que conformar con emuladores de consolas de 8 o 16 bits, y con emuladores de consolas posteriores pero sólo cuando tengan procesador ARM. De la Switch es muy probable que no veamos un emulador en muchos años por que es una consola activa y a la venta, y no retro, que es lo que parece que en Apple permiten ahora mismo. Nintendo nunca permitiría un emulador de Switch en la App Store.

Vía: 9to5Mac.

Newsletter