Fórum Unificado de Romhacking e Tradução

Romhacking e Tradução de Jogos => Dúvidas e Ajuda => Tópico iniciado por: Vlad_dracul online Fevereiro 17, 2025, 21:37:51 PM

Título: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: Vlad_dracul online Fevereiro 17, 2025, 21:37:51 PM
Olá pessoal, Estou com uma dúvida sobre a tradução do Final Fantasy I para o NES.
Eu ainda sou meio novato no assunto, eu já traduzi essa ROM uma vez apenas para uso pessoal, então não liguei para detalhes como acentuação de letras, porém eu a traduzi usando o FFHacksterEX.

Esse Hackster tem mais opções de tradução do que outro Hackster que usava para o mesmo jogo.

A ROM que estou traduzindo é a Final Fantasy(USA), e o jogo já está praticamente todo traduzido, sem as acentuações de letras, não pretendo colocar acentuações de letras, apenas traduzir mesmo, tipo as traduções feitas pela Tectoy para o Phantasy Star.

Porem faltam traduzir algumas palavras que não estão mapeadas no FFHacksterEX.

São elas as palavras: 'CONTINUE', 'NEW GAME ' E 'RESPOND RATE' que aparecem na tela principal do jogo, a palavra 'SELECT  NAME' que aparece quando você vai nomear os personagens, e uma palavra que aparece percebi que aparece na tela de batalha quando você tenta usar uma magia esgotada com o nome de 'Nothing'.

Nunca traduzi um jogo usando um editor hexadecimal, apesar de ter algum conhecimento sobre numeração hexadecimal.

Tentei ver alguns tutoriais na internet, mas o pessoal só mostra como traduzir jogos, para SNES, GBA e PS1 e etc, até agora não vi nenhum sobre o NES.

Do jeito que eles mostram parece fácil, eles procuram a palavra e acham na hora, de todo modo acredito que para qualquer plataforma a maneira para traduzir com editores hexadecimais sejam parecidos.

Porém o real problema é que usando o editor hexadecimal as palavras não aparecem ou são mostradas como símbolos estranhos no 'endereço' hexadecimal.

Como estou usando o FF1 Disassembly, eu sei exatamente onde essas palavras estão, com excessão daquele 'Nothing' quando tenta usar uma magia esgotada na tela de batalha, parece que até mesmo no FF1 Disassembly, essa palavra não está mapeada.

Estou mandando alguns prints, mostrando o 'endereço' das palavras e como elas aparecem no editor hexadecimal.
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: kuroi online Fevereiro 17, 2025, 22:24:50 PM
"Ah... Essa tá muito fácil... Manda uma mais difícil!" (Chaves, 1974) rsrsrs

Como você já sabe onde estão os textos procurados, basta você criar uma tabela .tbl simples que carregue exatemente esses valores maiúsculos.
Eu vou mandar aí a tabela em anexo...
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: Vlad_dracul online Fevereiro 17, 2025, 22:40:12 PM
Citação de: kuroi online Fevereiro 17, 2025, 22:24:50 PM"Ah... Essa tá muito fácil... Manda uma mais difícil!" (Chaves, 1974) rsrsrs

Como você já sabe onde estão os textos procurados, basta você criar uma tabela .tbl simples que carregue exatemente esses valores maiúsculos.
Eu vou mandar aí a tabela em anexo...

Como eu carrego essa tabela no hexa editor? no FF Disassembly acompanha uma tabela que está mais completa, mas não tenho ideia de como uso ela. Estou usando o editor HxD.
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: kuroi online Fevereiro 18, 2025, 06:06:31 AM
Acho que o HxD não carrega tabela... Você terá que usar algum dos editores mais antigos, como o Windhex ou o Translhextion... Mas como é para uma coisa bem específica, não tem problema editar diretamente no Editor Hexadecimal.
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: Vlad_dracul online Fevereiro 18, 2025, 15:52:47 PM
Citação de: kuroi online Fevereiro 18, 2025, 06:06:31 AMWindhex

Rapaz, isso está mais complicado do que imaginava.

Eu até tentei, mas não consegui encontrar essas palavras faltantes para traduzir.

Não quero desistir agora que meu projeto está 99,99% concluído.

Mas nem sei mexer no editor hexadecimal direito, consegui abrir a rom e a tabela fornecida pelo FF1 Disassembly com o WindHex que você me indicou, com a tabela eu consigo encontar algumas palavras e outra não.

Pra falar a verdade, o FF1 Disassembly tem vários arquivos que nem sei como usar.

Você sabe como posso usar o Disassembly para traduzir essas ultimas palavras?

Eu comecei a traduzir essa ROM inspirado na tradução do mesmo jogo feita pela CBT - Central Brasileira de Traduções.

A tradução deles ficou boa, mas percebi na tela onde você nomeia os personagens, algumas letras maiúsculas sumiram, como o 'K', 'W' e 'Y', provavelmente eles fizeram isso para substituir pelas letras acentuadas de nosso idioma.

Você entende de Disassembly para me explicar como que usa e como edita a rom?
Eu peguei esse FF1 Disassembly, e nele tem duas tabelas, sendo a normal e a outra para DTE.

https://www.romhacking.net/documents/401/

As únicas palavras faltantes para traduzir são as que estão em destaque vermelho, por isso não quero desisitir agora que cheguei tão longe.

https://imgur.com/a/pYHlX3F

A palavra 'Nothing' da última imagem, só aparece na tela de batalha quando você tenta usar uma magia que você não tem ou que esteja esgotada.
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: Vlad_dracul online Fevereiro 19, 2025, 11:53:26 AM
Citação de: kuroi online Fevereiro 18, 2025, 06:06:31 AMAcho que o HxD não carrega tabela... Você terá que usar algum dos editores mais antigos, como o Windhex ou o Translhextion... Mas como é para uma coisa bem específica, não tem problema editar diretamente no Editor Hexadecimal.
Desculpe, cara falei bobagem em minha resposta anterior a essa, realmente o 'endereço' as palavras são aquelas mesmas que mandei no print da minha primeira postagem da pergunta.

Vou fazer exatamente como você me indicou; alterar diretamente no editor Hexadecimal.

Eu enviei um link do imgur mostrando onde estão as palavras que preciso alterar, e sei onde estão quase todas, somente com exceção desse 'Nothnig'.

Como preciso traduzir apenas palavras pontuais, estou testando um emulador FCEUX, pois nele tem um Debug, e posso ver onde as palavras que quero traduzir estão, com isso conseguir achar essa misteriosa palavra 'Nothing' que aparece na tela de batalha quando tenta usar uma magia que você não tem.

Porém ela só aparece nesse tal de PPU Adress que nem sei o que é, a palavra aparece perfeitamente, por que no editor hexadecimal do emulador também aceita carregar a tabela que tenho do jogo.

Com isso eu consigo traduzir a palavra diretamente pelo hexa editor do emulador, mas por algum motivo ele não salva minha tradução.

Primeiro tentei 'salvar como' e coloco outro nome na ROM por segurança para não alterar minha ROM original caso ela quebre por alguma alteração errada.

mas quando carrego a ROM que salvei novamente a palavra já não está mais traduzida.

Como preciso traduzir apenas algumas palavras pontuais, se a tradução por esse amulador funcionasse seria uma mão  na roda.

Sabe me dizer o que estou fazendo de errado, para minhas alterações na ROM não salvar?

https://imgur.com/a/dPrr8WO
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: kuroi online Fevereiro 20, 2025, 00:29:44 AM
Bom... Vamos por partes...
A PPU que você está manipulando aí é a chamada Picture Processing Unit, que é uma parte so processador do NES que lê e organiza os dados vindos da RAM e ROM, portanto, ela é volátil. Por isso você não consegue gravar nada que modifica nela, afinal, você está modificando dados que estão sendo processados em tempo real, não a memória ROM.
Por isso, se você quiser editar o tal dado da palavra "Nothing", primeiro você vai ter que encontrar os Bytes originais que são lidos da ROM para serem processados pela PPU.

Agora, falando sobre os outros dados que você encontrou na ROM, basta mudar os seus valores na ROM usando mesmo um Editor Hexadecimal. Porém (sempre tem um porém...), se você quiser mudar o tamanho de alguma palavra, não poderá simplesmente sair "atropelando" os Bytes. Terá que primeiro editar os ponteiros que apontam para o início de cada dado. Você só precisa encontrá-los.
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: Vlad_dracul online Fevereiro 24, 2025, 14:29:52 PM
Citação de: kuroi online Fevereiro 20, 2025, 00:29:44 AMAgora, falando sobre os outros dados que você encontrou na ROM, basta mudar os seus valores na ROM usando mesmo um Editor Hexadecimal. Porém (sempre tem um porém...), se você quiser mudar o tamanho de alguma palavra, não poderá simplesmente sair "atropelando" os Bytes. Terá que primeiro editar os ponteiros que apontam para o início de cada dado. Você só precisa encontrá-los.

Desculpe minha réplica tardia. A palavra 'Nothing' eu consegui achar na ROM e já a alterei, pelo jeito ela passou despercebida por mim.

Sobre a edição de ponteiros, eu tinha uma noção sobre isso, tanto que tinha um vídeo tutorial que baixei não sei de onde em meu HD, mas isso faz muito tempo, e esse meu HD pifou, levando consigo todos os arquivos com eles.

Então preciso reaprender a editar ponteiros.

Saberia me explicar como editar ponteiros? me lembro que você tinha que pegar um byte da palavra inverter o valor (0A 0B) => (0B 0A), era algo assim. mas não me lembro bem...
Título: Res: [NES] Final Fantasy I - Duvidas sobre tradução
Enviado por: kuroi online Fevereiro 24, 2025, 17:29:38 PM
Então... Não existe um padrão para lidar com ponteiros de textos, principalmente para jogos de NES, como é o seu caso. Por isso recomendo que você tente encontrar a lógica dos ponteiros usando um dos dois métodos:

1- Fazendo Debug no código Assembly durante a execução do jogo usando o emulador Fceux, por exemplo;

2- Observando os offsets de início de cada texto e, por meio de cálculos matemáticos, encontrar o offset que guarda o ponteiro de cada texto;

Independente do processo usado, você vai encontrar os ponteiros, e a partir daí, conseguirá edita-los para ajustar os inícios e fins dos Scripts.

Até mais!!