🛠️ 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
- Abra a ROM no emulador e encontre algum texto visível (ex: "understand")
- Anote a frase exata como aparece no jogo
3 Usando o MonkeMod
- Baixe o MonkeMod no site romhacking.org
- Abra a ROM no programa
- Digite o texto encontrado ("understand") no campo de busca
- Clique em "Criar Tabela" quando o texto for encontrado
- 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
- Abra a ROM no WindHex
- Vá em "Open File" e selecione o arquivo de tabela criado
- 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 palavras2E- Ponto final0D- Quebra de linha (equivalente ao Enter)00- Caractere NUL (indica fim de texto)
6 Editando a Tabela
- Abra o arquivo de tabela em um editor de texto
- Adicione linhas para os caracteres especiais identificados:
20= 2E=. 0D=\n 00=[F]
- 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
- Localize o texto original no editor hexadecimal
- Substitua apenas o texto entre os códigos de controle (início e fim)
- Mantenha os códigos especiais (
0D,00) intactos - 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.
Post a Comment