Pular para o conteúdo
NovidadesIA

Repositórios em Alta

Camada aberta leva Diablo II nativo ao iOS a 60 fps estáveis

Projeto em C executa o binário do Switch diretamente no iPhone e iPad com controles por toque e renderização em Metal.

Edição: Anderson Gomes
· 5 min de leitura

Camada aberta leva Diablo II nativo ao iOS a 60 fps estáveis
Imagem: Reprodução · user-images.githubusercontent.com · reprodução · licença não declarada

O desenvolvedor jhaizhou-ops publicou o d2r-mobile, uma camada de compatibilidade de código aberto que permite executar a versão de Nintendo Switch de Diablo II: Resurrected com a expansão Reign of the Warlock diretamente no iPhone e no iPad. O software ganhou tração rápida na comunidade de desenvolvimento por solucionar o gargalo de desempenho dos emuladores tradicionais, entregando execução nativa do código original sem camadas intermediárias de CPU. O projeto soluciona a falta de uma versão móvel oficial mantendo a fidelidade das mecânicas, regras de itens e fluxo de missões.

Dados rápidos

  • Repositório: jhaizhou-ops/d2r-mobile
  • Licença: MIT
  • Linguagem principal: C
  • Métricas: 890 estrelas, 199 no período e 351 forks
  • Posição no ranking: 22º lugar diário no Trendshift
  • Data da consulta: 2026-10-13

O problema que o projeto resolve

Jogadores que desejam rodar títulos de console em dispositivos móveis costumam enfrentar perdas severas de desempenho causadas por emuladores convencionais. A emulação completa de hardware exige grande capacidade de processamento para traduzir instruções e chamadas do sistema em tempo real, o que costuma gerar quedas constantes de quadros e aquecimento térmico excessivo.

Outro obstáculo frequente no ecossistema iOS envolve a adaptação de controles e formatos de tela. Projetos de streaming ou portas parciais sofrem com latência de rede, ausência de interfaces adaptadas ao toque e falta de suporte para proporções de tela inteira em celulares modernos e tablets.

O d2r-mobile aborda essas falhas ao reaproveitar o binário original já compilado para arquitetura aarch64, o mesmo conjunto de instruções presente tanto no Nintendo Switch quanto nos processadores da Apple. Com isso, o software elimina o consumo desnecessário de processamento e viabiliza a execução local com interface desenhada especificamente para telas sensíveis ao toque.

Como a camada de compatibilidade funciona

A estrutura do projeto atua como um hospedeiro enxuto que intercepta e atende às requisições do jogo para chamadas de sistema, áudio, entrada de comandos e sistema de arquivos. As instruções do binário original rodam de forma direta na CPU do aparelho Apple, passando apenas por ajustes nas poucas instruções que o núcleo do sistema operacional da Apple não aceita diretamente.

Na parte visual, a API gráfica foi reconstruída diretamente sobre a Metal, tecnologia de aceleração gráfica da Apple, sem emuladores gráficos no caminho. Os sombreadores, que são os pequenos programas responsáveis por efeitos de iluminação e renderização de superfícies, passam por tradução prévia fora do aparelho a partir dos arquivos originais do jogo.

O fluxo de funcionamento do projeto pode ser resumido nas seguintes etapas de processamento:

  1. Leitura dos arquivos legítimos do Switch extraídos pelo próprio usuário.
  2. Tradução prévia dos sombreadores gráficos originais para o padrão Metal.
  3. Carga do binário aarch64 modificado apenas nas instruções incompatíveis com o sistema operacional da Apple.
  4. Execução direta na CPU do dispositivo com chamadas de sistema e comandos de toque gerenciados pelo hospedeiro em C.

Casos de uso práticos

  • Sessões completas de jogo individual em modo offline durante viagens ou locais sem sinal de internet, sem necessidade de conexão com contas externas.
  • Execução em smartphones modernos com economia de energia a 30 quadros por segundo, reduzindo o consumo de energia para cerca de 1,85 watts.
  • Aproveitamento de telas grandes no iPad com exibição em tela cheia real e suporte a controles físicos externos para maior conforto.
  • Partidas regulares no iPhone com taxa de 60 quadros por segundo e consumo do aparelho próximo a 3,8 watts com brilho em metade da capacidade.

Diferenças em relação a outras abordagens

Diferente de emuladores tradicionais de Switch, o d2r-mobile não virtualiza uma CPU completa, reduzindo o esforço do processador e o aquecimento do dispositivo. Isso permite que aparelhos com chip A16 e 6 gigabytes de memória, como o iPhone 14 Pro Max, sustentem 60 quadros por segundo contínuos após o aquecimento do circuito.

Em comparação com serviços de jogos em nuvem, a solução dispensa conexões de rede e não introduz atrasos de transmissão de vídeo. O tempo de transição entre o menu principal e a partida fica em torno de um segundo, com reinicializações rápidas de sessão registradas em 1,2 segundo.

Limitações e cuidados

O repositório adota a política de exigir que o usuário forneça os próprios arquivos do jogo, não distribuindo programas protegidos, artes visuais, textos, tabelas ou sombreadores. Quem utilizar o projeto precisa possuir uma cópia legal da versão de Switch na revisão 1.0.34.0, correspondente à versão 3.3.94012 de computador.

A maturidade do projeto ainda requer cautela, pois o repositório foi registrado recentemente e conta com 3 problemas em aberto. O modo multijogador online não existe nesta implementação, funcionando estritamente como uma experiência local. O comando exato de instalação via terminal é não informado no repositório, assim como a lista de dependências externas detalhadas. O suporte cobre dispositivos com iOS 26 ou superior, o que restringe o uso a sistemas atualizados.

Resumo rápido

  • Projeto: jhaizhou-ops/d2r-mobile
  • Licença: MIT
  • Linguagem: C
  • Estrelas: 890
  • Ranking: 22º no Trendshift diário
  • Risco principal: Dependência de extração manual de arquivos proprietários e ausência de suporte online

Fontes

  • Repositório no GitHub: https://github.com/jhaizhou-ops/d2r-mobile
  • Versão v1.0.4: https://github.com/jhaizhou-ops/d2r-mobile/releases/tag/v1.0.4
  • Página oficial: sem site oficial
  • C
  • MIT
  • Repositórios em Alta
  • Trendshift

Fonte: Repositório no GitHub · Como produzimos as matérias