iOS da la bienvenida a los emuladores retro

00:00 /23:54

¿Emuladores en tu iPhone o tu iPad? Sí, ya es posible, aunque con ciertas condiciones.

Os explicamos cómo ha de ser un emulador para poder ser aprobado por Apple y qué ha sucedido con los primeros que han llegado al App Store pero han sido expulsados o retirados por diversos motivos que no tienen nada que ver con que ahora se acepte este tipo de software en la tienda de Apple.

¿Por fin ha terminado el veto y podremos ver cualquier emulador publicado en el App Store? Casi cualquiera, pero siempre y cuando cumplan con una serie de condiciones en la forma en que están hechos que os explicamos en detalle en este episodio.

Convierte en un Senior iOS Developer con el Swift Full Stack Bootcamp. Encuentra toda la información aquí: IV Swift Full Stack Bootcamp 2024.

Descubre nuestro canal de Twitch en: twitch.tv/applecoding.

Descubre nuestras ofertas para oyentes:

---------------

Consigue las camisetas oficiales de Apple Coding con los logos de Swift y Apple Coding así como todo tipo de merchadising como tazas o fundas.

---------------

    Tema musical: "For the Win" de "Two Steps from Hell", compuesto por Thomas Bergensen. Usado con permisos de fair use. Escúchalo en Apple Music o Spotify.

    Transcripción


    Wanda, la comunidad de podcast independientes en español.

    Hola y bienvenidos a un nuevo episodio de Apple Coding Daily. Vamos a ver, hay quien dice que cuando empiezo así el podcast va a ser mejor, espero que lo sea. Sé aliado buena con el tema de los emuladores. Por sorpresa, de pronto Apple abrió la mano, abrió la mano entre comillas, pero, de pronto, sin aviso, hubo un cambio en las normas del App Store y, de pronto, apareció la palabra emuladores, algo que es, bueno, pues un tipo de software que nunca ha estado permitido dentro de el App Store. Ojo, hasta hace unos años y de una forma muy concreta, es decir, ¿al principio los emuladores estaban prohibidos?

    Sí. Los emuladores han estado prohibidos siempre, no hace años que están permitidos, pero solo bajo ciertas condiciones, y estos emuladores no era tan simple llegar a esas condiciones. Ahora, Apple, sobre todo porque no estaban concretados dentro de las normas del App Store. Ahora Apple ha concretado, ha metido la palabra emulador, por lo que automáticamente da a entender que permite este tipo de software, pero este tipo de software lo que ahora permite es poder descargar ROMS bajo la responsabilidad del usuario, ¿de acuerdo? Por lo que, uno, es responsabilidad del desarrollador que suba el emulador, cumplir con toda la legalidad que rodea al emulador, y dos, es responsabilidad del usuario que descargue el emulador, cumplir con toda la legalidad de no descargar ROMs de contenido, de juegos, que no que él no tenga derecho a ejecutar.

    Por ejemplo, si yo tengo original un juego de Pokémon de la game boy, que hoy día yo ya no puedo jugar, pero lo tengo comprado y es original, legalmente puedo bajar una copia de ese juego y jugar a él, porque yo lo compré en su día, ¿de acuerdo? ¿Es legal usar esa copia de la ROM si no viene de mi propio cartucho? Ahí hay un vacío legal que no queda muy claro, pero teóricamente, al tener el juego original, podrías usarlo. Ahora, ¿qué supone todo lo demás y este lío que ha habido de los dos emuladores que han salido hasta ahora, uno de Game Boy y otro de Nintendo, que han durado cero coma cuatro dentro del App Store. Vamos a explicar todo esto por qué tiene tela y aprender cómo funciona un emulador y cómo tiene que funcionar en iOS para ser aprobado en el App Store.

    Un emulador es un software que permite ejecutar software creado para un hardware que ya no existe, lo que hace, básicamente, es emular un hardware que ya, no es que no exista, que ya no se utiliza, o, principalmente, hacer que un hardware emule, funcione como si fuera otro hardware distinto. Obviamente, lo que nosotros recordamos son emuladores, pues, por ejemplo, de consolas retro, consolas tipo Sega Mega Drive, consolas tipo Nintendo NES, Super Nintendo, Game Boy, consolas que, Super Nintendo, en Estados Unidos la Famicom, ¿vale? La Super Famicom, Famicom, etcétera, tienen nombres distintos, ¿de acuerdo? O, por ejemplo, emuladores de ordenadores de los años ochenta, tipo Armstrat, Commodore, Spectrum, etcétera. ¿Cómo puedo yo publicar un emulador en el App Store?

    Pues bien, el App Store lo que tiene es un control de lo que llamaríamos la propiedad intelectual que rodea a lo que es este software. Entonces, esto es muy importante, Si yo soy capaz de recrear un código que no utiliza absolutamente nada del código propietario ni ningún tipo de componente propietario del hardware original, puedo publicar ese emulador sin ningún problema en el App Store. Si yo hiciera un emulador de, no lo sé, del Spectrum o un emulador de la NES o un emulador de Game Boy, y para hacer ese emulador, el software no utiliza ni un solo componente del hardware original, es decir, no utiliza volcados de las ROMs originales que permiten que la máquina funcione, sino que hemos replicado el funcionamiento a través de un código nuevo. Si yo, todo lo que hace, lo único que hace es interpretar la ROM del juego original y, a través de un código completamente nuevo, replica lo que debería hacer esa ROM, pero en un hardware distinto, entonces yo no tengo ningún problema legal para publicar ese emulador, ¿de acuerdo? Les pongo el ejemplo, por ejemplo, de el emulador ScumVM, que lleva disponible en el App Store desde hace muchos meses.

    ¿Por qué? Porque Scum significa el script creation utility for maniac mansion, es decir, la utilidad de creación de scripts para maniac mansion. Los videojuegos aventuras gráficas clásicas de Sierra Online, de LucasArts, etcétera, son aventuras gráficas que, en su esencia, eran contenedores de un tipo de script, ¿vale? Algo parecido a lo que hoy día podría ser, por ejemplo, Lua, ¿vale? Como script que está unido a lo que es el desarrollo de videojuegos, de forma que, en realidad, cuando yo jugaba al Indiana Jones, al the Fate of Atlantis, o al Last Cruiseid, o al Mansion dos, o cualquier otro juego, lo que estaba haciendo era ejecutar un intérprete de un código script, que era el que montaba todo el juego y daba los recursos para el mismo, ¿ok?

    Bien. Lo que haces QVM es crear un nuevo intérprete de ese mismo contenido que hay en los contenedores de los juegos, por lo que no está rompiendo ningún tipo de copyright de nada, porque uno, los juegos no vienen en el emulador, los tienes que poner tú, ¿vale? Y de hecho si tú tienes el juego original y tienes un volcado de los juegos originales, puedes usar tus juegos originales, ponerlos en ScrumVM y jugar, por ejemplo, en el iPad, como he hecho yo con el Fate of Atlantis, que sí, que también te lo puedes bajar pirata, pero eso no se puede controlar, eres tú el responsable de utilizarlo con un software del que tengas derecho a poder usarlo. Pero insisto, ScunVM no es ilegal, como no es ilegal el concepto del emulador, porque lo que hace es replicar, crear un nuevo intérprete de ese script que tiene dentro los juegos de LucasArts para conseguir que el juego funcione de la misma forma que lo haría en un hardware, pues dos ochenta y seis, tres ochenta y seis, o el PC que tuviéramos en aquel momento, incluso los juegos de Lucasarts funcionaban en Comodoro Amiga, en Atari ST, etcétera, porque lo que tenían era distintos intérpretes de ese contenedor donde estaba ese lenguaje de script y donde estaban todos los recursos del juego, y montaba, interpretaba el juego en tiempo real, ¿vale?

    Ese es el funcionamiento, por lo que, repito, si yo creo un nuevo intérprete con un nuevo código que no tiene nada que ver con ninguno de los que ya se usaron en los sistemas antiguos, no estoy cometiendo ningún tipo de ilegalidad, por lo tanto, es totalmente legal que eso esté publicado en el App Store. Repito, porque no estoy rompiendo ninguna regla de propiedad intelectual. Bien. Esto nos lleva a que en el App Store ahora pueden ser, se pueden publicar emuladores porque ahora Apple ya ha puesto la palabra emuladores de una manera clara, por lo que ahora cualquiera puede querer, ya podía hacerlo antes, repito, si había recreado si el emulador recrea el comportamiento del hardware original con un nuevo código que no tiene nada que ver y que no usa partes del código original, ¿vale? Si yo tengo un emulador, por ejemplo, el emulador de Nintendo Switch no va a estar disponible dentro del App Store, ¿por qué?

    Porque Apple no lo va a permitir, porque Nintendo va a denunciar, No, no va a estar permitido, porque Nintendo Switch tiene la suficiente complejidad como para que, hoy día, ningún emulador funcione sin necesitar partes de el sistema operativo o las ROMs originales de la Nintendo Switch, por lo que para que el emulador de Nintendo Switch funcione necesitamos un volcado de la de alguna de las partes del hardware de la Switch, y eso sí tiene propiedad intelectual, por lo que no puede hacerse. Tendríamos que crear un nuevo código que replicara por completo todo lo que hace la BIOS o el sistema operativo de la switch, lo cual es muy complicado y no se ha hecho a día de hoy, ¿vale? Por eso el de la switch no estaría, ¿de acuerdo? Otra cosa es que, en caso de estar, pues alguien Nintendo se ponga a denunciar y entre, porque ahí ya está un poco el concepto asusta viejas, ¿vale? Es decir, Nintendo no puede hacer nada contra un emulador de Game Boy o de Nintendo NES, pero eso no le impide usar toda su fuerza corporativa para amenazar, para asustar, para dar miedo al desarrollador para que quite ese emulador de ahí.

    Porque aunque la persona que ha puesto el emulador no ha cometido ninguna ilegalidad, y repito, es totalmente legal, ¿tú te vas a enfrentar a Nintendo y vas a pagar los abogados necesarios para que Nintendo vaya a por ti? Pues va a ser que no. Eso es lo que le ha pasado al emulador VimMe, un emulador publicado ayer, día dieciséis de abril, y que duró apenas unas horas en el App Store porque el desarrollador lo retiró del App Store de manera voluntaria por, dicho literalmente, miedo a Nintendo, porque Nintendo tiene algo que hacer contra esta persona, no. Si Nintendo lo demanda, Nintendo va a perder porque no tiene nada que hacer. El problema es que Nintendo te mete en un lío legal en el que tú tienes que pagar de tu bolsillo mientras no haya una sentencia todo lo derivado de las demandas, juicios, abogados, etcétera, por lo que, en modo asusta viejas, Nintendo intenta evitar que cualquiera publique este tipo de emuladores amenazándolos de esta manera.

    Es muy triste, pero esa es la realidad, luego se quejan de que Apple es restrictivo. En el caso de el emulador IGBA, el emulador de Game Boy, que también estuvo publicado durante un día y luego, una semana creo que estuvo, pero cuando se hizo viral duró nada, ¿vale? Es porque este emulador estaba publicado sin el consentimiento de su creador. Es decir, alguien, la persona random trescientos cuarenta y siete, había cogido había se había cogido el código fuente que está en GitHub del emulador GBA for iOS y lo había recopilado, o sea, lo había montado dentro de una aplicación de de iOS y lo había publicado cuando ese emulador, a pesar de ser código abierto, está bajo una licencia en la que requiere el permiso explícito de los del creador de ese software para poder ser publicado dentro de cualquier tipo de catálogo de aplicaciones, tienda, etcétera. Por lo tanto, Apple retiró el emulador, no porque fuera un emulador, no porque emulara una Game Boy, no, lo retiró porque el dueño de ese software, la persona que lo había creado, no había dado permiso explícito para que se publicara y, por lo tanto, esta persona le escribió a Apple y dijo, oiga, es que este software es mío, ¿vale?

    De hecho, hoy día existe un problema bastante serio con esto, porque como la gran mayoría de emuladores son de código abierto, hay un montón de, y perdonen la expresión, imbéciles y sinvergüenzas, que están bajándose esos repositorios, montando los emuladores y subiéndolos como si fueran suyos pensando al ser código abierto pueden hacer lo que sea. Y lo único que han hecho es crear una situación de spam, situación que va en contra de una norma del App Store en el que no se pueden subir muchas aplicaciones que repitan la misma funcionalidad con un montón de cosas, es decir, no puede haber cien emuladores de lo mismo que además estén hechos con el mismo exacto código, porque si yo, que es el caso, por ejemplo, que está sucediendo ahora con el emulador I dos, el emulador I dos, emulador de MS dos, que permite la ejecución de juegos clásicos, yo podría jugar al Duke Nuken, al Doom, a los Monkey Island si quisiera directamente sobre sobre emulación de PC, no sobre ScunVM, yo podría hacer todo eso. El I dos ya ha estado publicado en el App Store en el pasado, pero como en el pasado no se permitían los emuladores, al final terminó siendo expulsado.

    Ahora, el verdadero autor de I dos quiere publicarlo, pues nada, se ha encontrado con el problema de que Apple no le aprueba la aplicación, ¿por qué? Porque antes que él ha habido decenas de sinvergüenzas que han bajado el código de su repositorio, lo han metido dentro de un contenedor y han intentado publicar ese emulador, sobre todo metiendo publicidad como tenía el emulador IGBA, metiendo publicidad, metiendo todo tipo de cosas que para sacar dinero con algo que no es suyo, por lo que ahora el el el lo que es el creador original de I dos está esperando que Apple reconozca que el suyo es el verdadero y es el bueno, y permita que el suyo salga, porque el suyo puede salir porque es totalmente legal, y sin embargo no lo tome como un spam más, como un sinvergüenza más que ha robado el código original, ¿vale? Entonces, bueno, pues ahí está el pobre muchacho intentando conseguir que al final esto se publique. Porque en el caso de que se publique, ¿podría ser que se quedara? Por supuesto, porque ahora es legal, porque I dos no está utilizando ningún tipo de software de Microsoft, está recreando el comportamiento con nuevo código, por lo que es Doom o del Wolfenstein tres del Doom o del Wolfenstein tres D o de, yo que sé, cualquier juego que tuvieras original que funcionara en MS dos, ¿por qué no vas a poder ejecutarlo en un hardware como un iPad o un iPhone o incluso un Apple TV?

    Vale, pues se puede hacer, no estaría cometiendo ninguna ilegalidad. Ni él, porque no está usando trozos de código ni componentes que tengan propiedad intelectual de la original, porque lo que ha hecho ha sido recrear el comportamiento con código nuevo, ni nosotros, porque estamos usando software que ya es nuestro y que tenemos todavía guardado, ¿de acuerdo? Ese es el kit de la cuestión. Así que eso es todo lo que tiene que ver con los planteamientos legales, ¿vale? Esto es lo que tiene que ver con todo lo que está pasando con los emuladores, ¿de acuerdo?

    Entonces, nos vamos a quedar aquí, porque este sería la primera parte de dos programas que voy a hacer, porque si no sería demasiado largo. Por lo tanto, teniendo claro qué es lo que ha pasado, la conclusión es, uno, que yo tengo la capacidad de poder publicar cualquier tipo de emulador de cualquier sistema, siempre y cuando haya hecho la recreación del comportamiento del hardware original desde cero, sin usar ninguna parte de código ni ningún componente del hardware original. Obviamente, un hardware original tiene un comportamiento, hace unas cosas determinadas, es decir, un emulador lo que pretende es replicar el funcionamiento que tenía un hardware que está, o sea, que ya no existe o un hardware que no es aquel en el que se está ejecutando, salvo así, pues debe ser, pues como el emulador de Android cuando estoy desarrollando en Android Studio, lo que hace es emular el comportamiento de un dispositivo con sistema operativo Android dentro de un PC o dentro de un iOS o, o sea, un iOS no, de un Mac, etcétera, para lo que es trabajo, ¿vale? Pues eso es un emulador. Entonces, si yo no utilizo partes de software ni partes de hardware ni volcados de ROMs, de BIOS ni de nada originales, sino que hago un software nuevo que replique cómo funcionaba el original y que sea capaz de interpretar el los ejecutables o las ROMs originales, pues insisto, no hay ningún problema.

    ¿Tendremos emuladores de Game Boy? Tendremos emuladores de Game Boy, siempre y cuando el autor quiera, porque claro, el problema es que el autor del emulador de game boy es el mismo que es dueño de la Alt Store punto IO, que es una tienda alternativa ha pedido permiso en la Unión Europea, por lo que no creo que quiera dar permiso a que nadie ponga el emulador de game boy. Si hubiera otro port, otra adaptación para iOS de una de un emulador de game boy hecho por otra persona, pues podríamos tener un emulador de game boy dentro de iOS o un emulador de Nintendo, un emulador de Super Nintendo, Super Famicom o un emulador de, yo que sé, incluso de Nintendo sesenta y cuatro podríamos llegar a tener, es decir, de o de Armstrid o Spectrum o de lo que sea, o sea, preparémonos para empezar a ver emuladores, pero claro, emuladores que, repito, por lo menos tengan el permiso de la persona que los creó para ser publicados, que ese es el problema por el que puede ser que tardemos algo más en ver emuladores en lo que es el App Store, ¿de acuerdo? Pero, a verlos lo va los va a ver, siempre y cuando, repito, uno, sea un código hecho nuevo desde cero, que no utilice nada del original, y dos, que no llegue Nintendo o o quien sea y te meta miedo y te asuste y salgas corriendo como el de Vimi porque, hostia, es que como venga Nintendo y se ponga tal y me amenace y no sé qué, pues la hemos liado, ¿de acuerdo?

    Entonces, eso es un poco el tema, ¿vale? Entonces, ante eso, en fin, poco se puede hacer. ¿Podremos tener cualquier tipo de emuladores dentro del App Store? No, no por imposibilidades técnicas, y de eso va a tratar el siguiente episodio, porque podremos tener emuladores de sistemas más antiguos que no requieran tanta potencia, pero a partir ya de una, no sé si una Nintendo sesenta y cuatro, pero a lo mejor, pues eso, una game cube, una cosa un poquito más avanzada, ¿vale? Un hardware, una PlayStation uno, a lo mejor sí, pero no la dos.

    Cuando ya empecemos a movernos hacia adelante a sistemas más potentes, nos vamos a encontrar con un impedimento dentro de lo que es la seguridad de iOS que va a impedir que estos emuladores puedan llegar al App Store. Llegarían, sí, el problema es que no funcionarían bien, ¿vale? No funcionarían como deberían porque tiene Apple una limitación con el compilador en tiempo real que impide que esos emuladores funcionen de una manera correcta, pero eso lo hablaremos en otro episodio donde contaremos cómo funciona un emulador y cuál es ese impedimento que tienen los sistemas en años. Y poco más. Sé que es un tema complejo, sé que es un tema muy técnico, pero como oigo a mucha gente hablar de este tema sin conocer las implicaciones técnicas, por eso he querido hacer este programa y luego haré el siguiente hablando sobre cómo funciona un emulador.

    De forma que lo que quiero decirle a todo el mundo es que sí va a haber emuladores, sí están permitidos en el App Store, sí lo están permitidos a nivel mundial, no tiene nada que ver la ley europea. Aunque es cierto que el hecho de las tiendas alternativas, una de las excusas para irse a ellas era precisamente que hubiera emuladores, por lo que no es casualidad que Apple haya permitido a nivel mundial los emuladores ahora, ¿vale? O sea, en fin, la casualidad, en fin. Pero bueno, el caso es que los emuladores están permitidos en todo el mundo, no solo en Europa, Pero siempre y cuando cumplan estas condiciones legales, porque Apple tiene que cumplir la legalidad. Apple no puede permitirse el publicar algo que vaya en contra de la propiedad intelectual de nadie, ni de la tuya ni de la de Nintendo ni de la de Sony, ni de la de nadie, ¿vale?

    Por lo que tú, como desarrollador, tienes que garantizar que el software de emulación no solo tengas permiso para publicarlo, como en el caso de IGBA, sino que además no utilice ningún tipo de código, volcados de ROM, BIOS, etcétera, que utilizara el hardware original, que todo sea recreado desde un código hecho desde cero. Y poco más. Si les ha gustado, por favor, dennos un like, suscríbanse, etcétera, que siempre nos ayuda bastante, y nos oímos pronto para hablar de emuladores más a nivel técnico, y hasta entonces un saludo y got, Apple Cody.

    Puedes escuchar más episodios de Apple Coding en Wanda punto com, la comunidad de podcast independientes en español.

    Episodios recientes