Tutorial: Como rodar ROMs de GBA no Nintendo 3DS (GBA VC Injection)

Aprenda a converter ROMs de GBA no formato CIA para instalar no seu 3DS desbloqueado



O Nintendo 3DS é um console bastante versátil, especialmente após ser desbloqueado. Em adição ao Virtual Console oficial que permite o pequeno portátil a rodar jogos de NES e Game Boy, por exemplo, o 3DS tem uma função quase que desconhecida por muitos usuários: retrocompatibilidade com os jogos de Game Boy Advance.

Por causa da sua herança com software de DSi, o 3DS tem hardware de DSi, o que o faz ser parte Nintendo DS, e assim, parte Game Boy Advance. Sendo assim, o 3DS tem retrocompatibilidade nativa com os jogos do GBA.

O método que irei ensinar nesse tutorial se aproveita dessa compatibilidade nativa e do Programa Embaixador oficial da Nintendo.


O Ambassador Program foi um programa lançado pela Nintendo em 2011, como pedido de desculpas a todos que compraram o 3DS antes do corte drástico de preço em agosto daquele ano. O programa permitia o download gratuito de 20 jogos antigos, dentre eles 10 eram de GBA, que rodavam via retrocompatibilidade nativa. Esse método se chama GBA Virtual Console Injection, e, basicamente, injeta uma ROM qualquer de GBA no "emulador" de GBA do Programa Embaixador.


AVISO: Esse método não te permite utilizar save states ou fazer melhorias nos gráficos, ou mesmo remapear os botões, mas te entrega a melhor performance e fidelidade nos jogos. Cabo Link não funciona, pois ele não emula nada e o wireless é desabilitado quando o 3DS entra no modo GBA. Jogos que requerem algum hardware especial como E-Reader também não funcionam, pois não há slot de GBA. 

--Ferramentas e Links--

Para esse tutorial você precisará:

-Um 3DS com CFW instalado e um instalador de CIAs;
-Uma ROM de um jogo de GBA que você quer jogar. Essa ROM deverá estar no formato .gba.
-Uma BIOS original de GBA. O arquivo irá se chamar bios.bin, e não é difícil de se achar.
-New Super Ultimate Injector for 3DS (baixe a versão mais recente).

Baixe o NSUI, extraia a pasta para algum lugar no seu PC e execute o programa. Você será apresentado a uma tela como essa:



O NSUI é um programa que injeta ROMs de NES/FDS, SNES, GB, GBC, GBA, Mega Drive, Game Gear e PC Engine nos respectivos Virtual Consoles do 3DS. Dessa vez iremos usar apenas a opção de GBA.

O programa deverá estar em espanhol, se estiver, clique em Tools/herramientas e então em Options.../opciones...


Na aba Misc. troque o idioma para English e salve. Vá na aba Bios e clique nos três pontos. Procure e selecione a BIOS de GBA que você baixou na parte de GBA e salve.



Agora que já temos nosso NSUI configurado e funcionando, vamos dar início ao projeto. Clique em File>New>Game Boy Advance CIA. Na nova janela, clique em Project>Load ROM. Navegue pelas suas pastas e abra a ROM de GBA que você quer injetar no seu 3DS. Lembre-se que a ROM precisa estar descompactada e no formato .gba.

No meu caso, esterei utilizando a ROM do jogo Pokémon Emerald Version (U).



O programa tentará carregar automaticamente informações de capa e artes baseada no código interno da ROM. Se o NSUI não conseguir detectar qual jogo é, essa caixa de diálogo irá aparecer. Clique em Sim para fazer uma busca manual.



Como mostra na imagem abaixo, você pode ou digitar o nome do jogo pra encontrar na lista, ou procurar manualmente na lista, dentre os jogos disponíveis no banco de dados interno do NSUI. Como minha ROM é a do Pokémon Emerald americano, então procurei por Pokémon Emerald (U) e cliquei em Add Info.



Agora que as artes já foram carregadas, só precisamos fazer mais algumas configurações. A grande maioria é opcional. 

Escolhendo o Ícone de jogo:
É o ícone menor que aparece na tela de baixo no menu HOME após a CIA ser instalada. Clique em "Download Title Screen from database" para colocar a imagem da tela de título do jogo no ícone. Ou clique em "Download Box Art from database" para botar a foto da capa do jogo no ícone.

Fit image by width - Preenche toda a largura do ícone com a arte completa escolhida, ignorando o espaço vazio vertical.
Fit image by height - Preenche todo o ícone com a arte escolhida, ignorando se parte da arte fica "para fora" do quadro horizontal do ícone.

Hide game from Activity Log - marque isso para que o app do sistema Registro de Atividades do 3DS não monitore a ROM inserida. Isso pode evitar possíveis banimentos no futuro, caso a Nintendo vasculhe seu 3DS em busca de programas não autorizados.

Escolhendo o banner do jogo:

Aqui você escolhe a imagem que aparece na tela de cima do menu HOME.

Clique em "Download Title Screen from database" para colocar a imagem da tela de título do jogo no ícone. Ou clique em "Download Box Art from database" para botar a foto da capa do jogo no ícone.

Fit image by width - Preenche toda a largura do banner com a arte completa escolhida, ignorando o espaço vazio vertical.
Fit image by height - Preenche todo o banner com a arte escolhida, ignorando se parte da arte fica "para fora" do quadro horizontal do ícone.



No banner "Virtual Console" você edita o texto que aparece no banner. Clique nele para editar. Você pode digitar o que quiser, até mesmo escolher a fonte utilizada. Clique em Ok quando terminar as alterações.



Injection Method:

Aqui você escolhe o "contêiner" utilizado para criar a CIA. Basicamente você escolhe o emulador que irá rodar sua ROM. Certifique-se de que a opção GBA Virtual Console está marcada.

Game patches and extras:

Apply an IPS patch before injecting - marque essa opção e escolhe o respectivo patch no forma .ips para adiciona à ROM antes de criar a CIA. Essa opção só se faz necessária quando a ROM escolhida precisa de algum patch específico para corrigir algum problema, geralmente causado por algum sistema anti-pirataria. Certifique-se de que o jogo que você estará injetando precisa ou não de algum patch.

ROM save type - Geralmente já vem selecionado na opção correta, mas é sempre bom dar uma olhada. Essa caixa escolhe o tipo de save utilizado pela ROM. Tome nota que alguns jogos de GBA, como Pokémon Emerald, utilizavam uma bateria para guardar informações do relógio em tempo real, então, para esses jogos, certifique-se de que a opção de save venha acompanho de um "+ RTC" no final.

Tudo pronto, clique em Project>Export CIA...
Escolha um lugar para guardar a CIA e clique em salvar. Uma caixa de diálogo dizendo que a operação foi um sucesso deverá aparecer.





Pode fechar o NSUI. Agora é só pegar a CIA da ROM criada, copiar para o seu cartão SD usado no seu 3DS e utilizar um programa como o FBI para instalar a CIA normalmente.





O resultado é esse:




Não dá pra escolher em qual tela o jogo aparecerá. Modo Soneca
também não funciona, mesmo se fechar o console. Isso porque
o GBA não tem modo soneca programado. Mas é possível botar
um patch que adiciona essa função na ROM, antes da injeção.


Ao abrir o jogo, segure o botão Start até o jogo iniciar.
Isso inicia o jogo no modo "Pixel Perfect", que reduz
a tela do jogo, mas os pixels da imagem aparecem corretamente.

E é isso pessoal. O GBA VC Injection deve ser compatível com 99% dos jogos lançados pro GBA. Ele basicamente funciona como o Modo GBA do Nintendo DS/Lite. Sendo assim, não é possível utilizar cabo link (pois ele não emula nada), e por não ter slot de GBA, não tem como usar o E-Reader ou qualquer outro hardware especial do GBA.

Para saber o status de competibilidade e qual configuração especifica colocar para cada ROM, veja essa lista do GBATemp: Custom GBA Compatibility List

É isso, e até a próxima.

Comentários

  1. obrigado. nao da pra converter em massa?

    ResponderExcluir
    Respostas
    1. Infelizmente, não. Apenas uma ROM por vez. Mas no 3DS o FBI tem opção pra instalar várias CIAS de uma vez só.

      Excluir
  2. Respostas
    1. Deve funcionar, mas nunca testei, nem com Rom Hacks. Faz um teste aí. Como os jogos rodam via hardware e não emulação, deverá funcionar sim.

      Excluir
  3. Entendi. Testei em Mother 3 traduzido pra Pt e funcionou. Só percebi uma queda rápida de frames em dois momentos, não sei se por conta da tradução, não testei na rom em idioma original.
    Só sei que funciona bem até onde testei: na parte inicial onde tem que correr e esbarrar no dragão.

    ResponderExcluir
  4. Sensacional essa dica. Muito obrigado.

    ResponderExcluir
  5. queria mapear os botões, no futuro isso será possível?

    ResponderExcluir
    Respostas
    1. Não, não é e nunca será possível. O GBA VC Injection não é um emulador, os botões usados são correspondentes aos mesmos botões do GBA. Durante a injeção você pode patchear a ROM na CIA par adicionar algumas funções extras com combinações de botões, mas apenas isso, não tem como remapear os botões. Apenas emuladores de GBA permitem isso, mas aí você vai precisar de um New 3DS.

      Excluir
  6. Respostas
    1. No site Emulation Wiki você encontra BIOS e arquivos de sistemas para vários consoles e computadores para baixar sem problemas.

      Excluir
  7. Gostaria de saber se tem como colocar capa na tela de baixo do 3ds como as cias de SNES?

    ResponderExcluir
  8. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  9. Fiz todo o processo direitinho... Porém na hora de abrir os jogos a tela fica preta. Fiz com um jogo de super Nintendo e ele funcionou. Somente os de GBA que não funcionaram.

    ResponderExcluir
    Respostas
    1. Jogos de Super Nintendo rodam via emulação no Modo 3DS. Os jogos de GBA rodam dentro do Modo NDS do 3DS. Teste um jogo de Nintendo DS ou DSiware no seu console 3DS e veja se funciona. Caso a tela fique preta também, significa que a firmware interna do Modo NDS do seu console 3DS está corrompida. Existe jeito de corrigir isso caso seu 3DS seja destravado com o Luma3DS CFW. Por favor, verifique isso e me diga quais foram os resultados.

      Excluir

Postar um comentário