Algumas dúvidas sobre emular jogos de 3DS traduzidos

Iniciado por lobo, Janeiro 03, 2019, 12:32:44 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

lobo

  Com o avançado do emulador Citra, resolvi me aventurar pela emulação de jogos de 3DS. Na hora de emular os jogos em si se saiu tudo bem, mas quando fui me aventurar em baixar traduções de jogos de 3DS me vi em uma situação que ainda não tinha presenciado.

  Bem, para emular jogos de 3DS eles devem ser decrypted (se não me engano é assim o nome) e pelo que vi na página da tradução do jogo Cave Story, lá só ensina a aplicar a tradução via o próprio Console. Eu até poderia tentar adaptar as informações lá na ROM que eu baixei para rodar no Citra, mas ela vem em um arquivo ao invés de vir em pasta para eu simplesmente adicionar os arquivos traduzidos.

  Minha dúvida é: o que preciso fazer para aplicar a tradução na ROM para rodar no Citra? Ou melhor, é possível? No caso do Cave Story 3D os tradutores disponibilizaram os arquivos traduzidos.


ajkmetiuk

Citação de: lobo online Janeiro 03, 2019, 12:32:44 PM
Minha dúvida é: o que preciso fazer para aplicar a tradução na ROM para rodar no Citra? Ou melhor, é possível? No caso do Cave Story 3D os tradutores disponibilizaram os arquivos traduzidos.

vc tem que aplicar diretamente no .3ds descriptografado para poder funcionar.
se quiser, siga esse tutorial que eu fiz para o super mario maker, na parte onde diz
Aplicando no .cia/.3ds: https://www.romhacking.net.br/index.php?topic=566.0
o arquivo de tradução vc baixa, extrai, copia todo o conteúdo da pasta romfs e substitui todos arquivos dentro da pasta ExtractedRomFS, depois siga o tutorial novamente para poder compactar o .3ds e poder jogar no emulador, não tem segredo e não precisa de nenhum patch adicional, do jeito que eles compartilharam vc tb consegue aplicar no .3ds normal. A única diferença é que eles explicaram somente como faz para funcionar no portátil. boa sorte!
supremex!

Solid One

#2
Sou um dos membros que trabalhou nessa tradução, e de fato ela foi pensada inicialmente apenas para usuários de 3DS. Na época o Citra ainda não estava tão maduro assim a ponto de conseguir rodar jogos mais pesados sem travar, e considerando que praticamente todos os membros possuem 3DS para testar a rom direto do portátil, esse release foi inteiramente focado para esse caso.

No entanto, é possível gerar uma rom traduzida com base nos arquivos de formato "luma3ds" que fornecemos, e segue abaixo as instruções para tal. Porém, não sei ao certo se o Citra é capaz de rodar esse jogo, logo recomendo que você primeiramente verifique se esse emulador consegue, de fato, executar esse jogo sem travamentos e bugs de emulação, pois caso não funcione, todo o trabalho abaixo será em vão. Uma das formas de fazer isso é instalando o CIA no próprio Citra, caso você não tenha em mãos a rom em formato .CXI ou .3DS, que é o que o Citra consegue rodar diretamente.

Enfim, segue as instruções para gerar a rom traduzida do Cave Story 3DS. Tomei a liberdade de dividi-la em três partes.

Extração:


  • Tenha em mãos a rom do Cave Story 3DS, seja em formato CIA ou CXI / 3DS (de preferência a européia, mas até onde testei, a americana também funciona);
  • Baixe a ferramenta "HackingToolkit9DS", pois ela será necessária para extrairmos todos os arquivos internos da rom. A mesma pode ser encontrado no site https://github.com/Asia81/HackingToolkit9DS-Deprecated-/releases;
  • Descompacte os arquivos da ferramenta acima para uma pasta de nome, digamos, "CaveStory3DS";
  • Copie a rom, do item 1 acima, para a pasta "CaveStory3DS", e depois renomeie-a para um nome simplificado, sem espaços e traços (Ex.: CS3DS.cia, CS3DS.cxi ou CS3DS.3ds);
  • Execute primeiro o "SetupUS.exe" para efetuar configurações iniciais do programa, e em seguida execute o "HackingToolkit9DS.exe";
  • Com o "HackingToolkit9DS" aberto, agora vamos escolher o método de extração de arquivos:
    • Caso sua rom esteja em formato CIA, digite "CE" e tecle Enter;
    • Caso sua rom esteja em formato CXI / 3DS, digite "E" e tecle Enter;
  • Após escolher o método de extração do item 6, digite o nome da rom conforme citado no item 4, porém sem extensão (Ex.: CS3DS);
  • Se ele perguntar para descomprimir o "code.bin", confirme que sim. E para as duas perguntas seguintes, digite 0 e tecle Enter em ambas;
  • Caso os passos acima tenham sido feitos corretamente, os arquivos extraídos da rom estarão na mesma pasta da ferramenta, sendo dividido em várias pastas de nome "ExtractedBanner", "ExtractedExeFS" e "ExtractedRomFS".
(Mais detalhes aqui do passo-a-passo acima aqui: https://gbatemp.net/threads/tutorial-decrypt-unpack-rebuild-3ds-and-cia-files.433934/)

Substituição de arquivos:

  • Abra o arquivo .zip do Patch da tradução, em formato "luma3ds";
  • Dentro do .zip, navegue até as pastas /luma/titles/000400000004D200;
  • Extraia o arquivo "code.bin" do .zip e copie-o para a pasta "ExtractedExeFS", substituindo o arquivo que lá consta;
  • Extraia os conteúdos da pasta "romfs" do .zip e copie-os para a pasta "ExtractedRomFS", também substituindo os arquivos que lá constam.

Remontagem da rom modificada:

  • Execute novamente a ferramenta "HackingToolkit9DS.exe" citado na extração;
  • Com o "HackingToolkit9DS" aberto, agora vamos escolher o método de remontagem da rom modificada:
    • Caso a rom extraída esteja em formato CIA, digite "CR" e tecle Enter;
    • Caso a rom extraída esteja em formato CXI / 3DS, digite "E" e tecle Enter;
  • Após escolher o método de remontagem do item 2, digite o mesmo nome da rom que você feito no item 7 da extração (Ex.: CS3DS);
  • Para as duas perguntas seguintes, digite 0 e tecle Enter em ambas;
  • Caso os passos acima tenham sido feitos corretamente, a rom remontada estará na mesma pasta da ferramenta, com nome de arquivo "CS3DS_Edited.cia" ou "CS3DS_Edited.cia".
"Quem não vive para servir, não serve para viver."

lobo

Obrigado aos dois pelos esclarecimentos!

E sim, está rodando normal no Citra sim.

lobo

#4
  Desculpem uma mensagem em cima da outra, mas é que tive tempo de testar o que os amigos sugeriram só agora.

  Eu consegui fazer exatamente o que diz no guia do Solid, porém só com ROMs encriptadas, ou seja, que não rodam no Citra. Por algum motivo quando tentei fazer isso com "Decrypted" roms essas duas pastas importantes "ExtractedExeFS" e "ROMfs" não são extraídas no processo.

[spoiler]O que é extraído em uma ROM desencriptada.
[/spoiler]

  O que eu teria que fazer então seria pegar uma ROM encriptada, fazer todo o processo de instalar a tradução e só então desencriptar ela para rodar no emulador?

Solid One

#5
Citação de: lobo online Março 01, 2019, 17:23:50 PM
  Desculpem uma mensagem em cima da outra, mas é que tive tempo de testar o que os amigos sugeriram só agora.

  Eu consegui fazer exatamente o que diz no guia do Solid, porém só com ROMs encriptadas, ou seja, que não rodam no Citra. Por algum motivo quando tentei fazer isso com "Decrypted" roms essas duas pastas importantes "ExtractedExeFS" e "ROMfs" não são extraídas no processo.

[spoiler]O que é extraído em uma ROM desencriptada.
[/spoiler]

  O que eu teria que fazer então seria pegar uma ROM encriptada, fazer todo o processo de instalar a tradução e só então desencriptar ela para rodar no emulador?

De fato o Citra não roda roms encriptadas. Elas tem que estar obrigatoriamente desencriptadas (Decrypted), e preferencialmente em formato .3ds. O Citra também suporta roms em formato .cia, através de uma rotina interna onde o emulador consegue pegar a rom dentro do .cia e instalá-la no cartão SD fictício criado pelo programa, porém não vai adiantar de nada se o .cia tiver encriptado.

Também existe meios de desencriptar roms de 3ds encriptadas, mas eu mesmo não obtive sucesso algum tentando desencriptar uma rom encriptada. É um processo complicado pra caramba, que exige a obtenção de vários arquivos proprietários que você só consegue obter com um 3ds desbloqueado, ou futucando em vários lugares cavernosos da net. Caso queira tentar essa abordagem, esse link pode ajudar.

Como não tive sorte com a abordagem de desencriptar a rom, eu fiz um teste com uma versão da rom em formato .3ds, já desencriptada, e em versão americana. E para a minha surpresa, a tradução funcionou inclusive na versão americana (esperava que fosse funcionar apenas com a européia):



Então basicamente é isso: Tente seguir os passos acima tendo em mãos uma rom desencriptada do Cave Story 3D (tanto faz ela ser americana ou européia), e deve funcionar.
"Quem não vive para servir, não serve para viver."

ro8

#6
Citação de: Solid One online Junho 27, 2019, 16:43:28 PM
Citação de: lobo online Março 01, 2019, 17:23:50 PM
  Desculpem uma mensagem em cima da outra, mas é que tive tempo de testar o que os amigos sugeriram só agora.

  Eu consegui fazer exatamente o que diz no guia do Solid, porém só com ROMs encriptadas, ou seja, que não rodam no Citra. Por algum motivo quando tentei fazer isso com "Decrypted" roms essas duas pastas importantes "ExtractedExeFS" e "ROMfs" não são extraídas no processo.

[spoiler]O que é extraído em uma ROM desencriptada.
[/spoiler]

  O que eu teria que fazer então seria pegar uma ROM encriptada, fazer todo o processo de instalar a tradução e só então desencriptar ela para rodar no emulador?

De fato o Citra não roda roms encriptadas. Elas tem que estar obrigatoriamente desencriptadas (Decrypted), e preferencialmente em formato .3ds. O Citra também suporta roms em formato .cia, através de uma rotina interna onde o emulador consegue pegar a rom dentro do .cia e instalá-la no cartão SD fictício criado pelo programa, porém não vai adiantar de nada se o .cia tiver encriptado.
Errado o Citra já a algum tmp suporta roms encriptadas tbm mas vc irá precisar das aes_keys arquivos originais do próprio 3DS e colocá-los dentro da pasta sysdata em C:\Users\seu usuário\AppData\Roaming\Citra\sysdata...como eles são arquivos originais com direitos autorais não são facilmente encontrados por ai teria que dumpar do seu próprio console e jogar na pasta indicada do emulador ai poderia aplicar á tradução direto na rom encriptada mesmo,sem á necessidade de desencriptar á rom Fika á dica.

Você pode ver mais aqui sobre carregar jogos encriptados no Citra: https://github.com/citra-emu/citra/wiki/AES-Keys