🛠️ Tutorial: Criando Tabelas para Tradução de ROMs

🛠️ Tutorial: Criando Tabelas para Tradução de ROMs

Este tutorial ensina o processo básico de criação de tabelas para tradução de ROMs usando editores hexadecimais.

💻 Editores Hexadecimais Recomendados

Hex Workshop

Editor preferido para muitos projetos, com interface amigável e recursos avançados.

TransHex

Considerado por muitos como o melhor editor, mas pode apresentar instabilidades.

WindHex

Editor antigo mas eficiente, será utilizado neste tutorial.

🔍 Entendendo Editores Hexadecimais

1 Estrutura Básica

Um editor hexadecimal mostra os dados em duas colunas:

  • Lado esquerdo: Dados em hexadecimal (valores de 00 a FF)
  • Lado direito: Representação textual dos dados hexadecimais
Hexadecimal Texto Explicação
4C L Letra "L" na tabela padrão ASCII
20 (espaço) Espaço entre palavras
0D (quebra de linha) Equivalente ao Enter

⚠️ Nem todas as ROMs usam a tabela padrão ASCII. Cada jogo pode ter seu próprio mapeamento de caracteres, tornando necessária a criação de uma tabela específica.

📝 Criando uma Tabela Personalizada

2 Localizando Texto na ROM

  1. Abra a ROM no emulador e encontre algum texto visível (ex: "understand")
  2. Anote a frase exata como aparece no jogo

3 Usando o MonkeMod

  1. Baixe o MonkeMod no site romhacking.org
  2. Abra a ROM no programa
  3. Digite o texto encontrado ("understand") no campo de busca
  4. Clique em "Criar Tabela" quando o texto for encontrado
  5. Salve a tabela com o mesmo nome da ROM (sem a extensão .smc)

O MonkeMod automatiza o processo de busca relativa (relative search) que identifica o mapeamento de caracteres usado pela ROM.

4 Carregando a Tabela no WindHex

  1. Abra a ROM no WindHex
  2. Vá em "Open File" e selecione o arquivo de tabela criado
  3. Localize novamente o texto ("understand") para verificar se a tabela está funcionando

✏️ Refinando a Tabela

5 Identificando Caracteres Especiais

Analise o texto no editor hexadecimal para identificar:

  • 20 - Espaço entre palavras
  • 2E - Ponto final
  • 0D - Quebra de linha (equivalente ao Enter)
  • 00 - Caractere NUL (indica fim de texto)

6 Editando a Tabela

  1. Abra o arquivo de tabela em um editor de texto
  2. Adicione linhas para os caracteres especiais identificados:
    20= 
    
    2E=.
    
    0D=\n
    
    00=[F]
  3. Salve as alterações e recarregue a tabela no WindHex

A notação \n representa quebra de linha. O código [F] será explicado em tutoriais avançados sobre ponteiros.

🔄 Testando e Editando Texto

7 Primeiras Edições

  1. Localize o texto original no editor hexadecimal
  2. Substitua apenas o texto entre os códigos de controle (início e fim)
  3. Mantenha os códigos especiais (0D, 00) intactos
  4. Salve as alterações e teste no emulador

Não edite os códigos especiais sem conhecimento sobre ponteiros - isso pode corromper outras partes do jogo!

⚠️ Limitação atual: A ROM pode não suportar caracteres acentuados. Isso será abordado no próximo tutorial sobre edição de fontes.

📚 Próximos Passos

Nos próximos tutoriais abordaremos:

  • Inserção de caracteres acentuados na fonte do jogo
  • Trabalhando com ponteiros para textos de tamanho variável
  • Técnicas avançadas de edição de tabelas

🎉 Você completou o primeiro passo para se tornar um tradutor de ROMs!

Pratique com diferentes jogos e textos antes de avançar para lições mais complexas.

Nenhum comentário

Tecnologia do Blogger.