
Com o lançamento do Delta Emulation Suite na semana passada, os usuários do iOS finalmente têm acesso fácil a emulações de jogos clássicos da Nintendo que datam da era Nintendo 64, sem a necessidade de sideload. No entanto, quando se trata de emular os consoles subsequentes da Nintendo no iOS, algumas limitações técnicas impostas pela Apple dificultam a obtenção de um emulador funcional na App Store.
Em uma postagem recente no blog, o desenvolvedor DolphiniOS (e hacker de longa data do Switch) OatmealDome revelou que o fork do código Dolphin, que transporta os populares emuladores GameCube e Wii para o sistema operacional de smartphone da Apple, agora está disponível no PowerPC usando just-in-time (JIT ) compilação Explica como traduzir instruções. Converta esses consoles retrô em código iOS compatível com ARM. No entanto, os regulamentos da App Store da Apple para aplicativos que “instalam código executável” (Seção 3.3.1B) geralmente impedem a recompilação JIT no iOS, com exceções muito limitadas, como navegadores da web. Esta restrição pode ter razões legítimas de segurança, mas também pode ser um obstáculo para os desenvolvedores de motores de navegador de terceiros e outras ferramentas (exceto na recente UE).
Os desenvolvedores MacOS podem usar direitos explícitos para permitir a recompilação JIT em seus aplicativos, mas essa exceção não se aplica aos desenvolvedores iOS. Também descobrimos várias maneiras de habilitar a compilação JIT em dispositivos iOS desbloqueados e de estoque para App Store alternativa e aplicativos transferidos (incluindo DolphiniOS), mas essas soluções alternativas são muito difíceis, Às vezes rompe com novos lançamentos do iOS.
OatmealDome buscou uma exceção às restrições JIT da Apple sob o DMA europeu, mas “a Apple negou esse pedido há várias semanas”.
Por que precisamos do JIT?
Claro, emuladores de GameCube e Wii como o Dolphin são tecnicamente possíveis sem recompilação JIT. Um intérprete simples também pode traduzir o código PowerPC sem exigir uma recompilação completa. No entanto, OatmealDome escreve que “infelizmente, os intérpretes são muitas vezes mais lentos que os recompiladores JIT” devido à sobrecarga de processamento envolvida. Como prova disso, OatmealDome compartilhou um vídeo de uma emulação de GameCube “interpretada” rodando incrivelmente lenta em um iPhone 15 Pro Max, depois recompilada com um JIT que pode facilmente executá-la em velocidade máxima.
Sem a recompilação JIT, a versão “interpretada” do Dolphin funciona incrivelmente lenta, mesmo em iPhones de última geração.
“Embora seja possível enviar o DolphiniOS para a App Store usando apenas o intérprete, você continuará recebendo reclamações de usuários sobre baixo desempenho”, escreve Oatmeal Dome. “As análises de aplicativos podem simplesmente rejeitar seu aplicativo porque ele é inutilizável.”
Os entusiastas da emulação também podem se lembrar que a versão planejada do Dolphin para Steam foi removida das prateleiras das lojas depois que a Nintendo levantou preocupações com a Valve sobre a chave comum do Wii estar incorporada no emulador. Isso significa que a versão do Dolphin aprovada pela App Store pode exigir algumas operações complicadas. Além das limitações técnicas da Apple, também inclui escopo legal.
Além disso, quando a Apple abriu recentemente sua App Store para emulação de jogos, ela se referiu especificamente a “emuladores de console de jogos retrô” sem especificar o que exatamente torna um console “retro”. Sem entrar muito nos controversos debates semânticos, o Wii, que foi lançado há quase 18 anos, não se enquadra nem na definição mais estrita de “retro” que a Apple deseja impor.
Imagem de listagem da equipe Dolphin

