(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTbTDQFw1ros-sNjtodSfzH2pPwWSIuhA89K-zt5h9ZqA&s)
Nome: Wizards & Warriors Chapter X - The Fortress of Fear
Plataforma: GameBoy
Desenvolvedora: Rare
Distribuidora: Acclaim Entertainment
Ano de Lançamento: 1990
Gênero: AÇÃO/PLATAFORMA
Idioma Original: Inglês
Rom utilizada:Wizards & Warriors Chapter X - The Fortress of Fear (USA, Europe)
Status da Tradução:90%
Final do Projeto: 13 de Julho de 2026
Imagens: https://imgur.com/a/E6TZ2QX
(https://i.imgur.com/J8XfPOu.png)(https://i.imgur.com/uEpZ1hL.png)(https://i.imgur.com/XxMJuQk.png)
Equipe:
W.Souza - Romhacking e tradução
Enredo:
A incrível saga de Wizards and Warriors continua. Na pele de Kuros, você entrará na temível Fortaleza do Medo em sua busca pelo Mago do Mal, Malkil. Centenas de confrontos com inimigos o aguardam. Morcegos mortais e outras criaturas voadoras atacam do alto. Bolas de fogo abrasadoras e flechas disparam em sua direção. E aranhas arrepiantes e esqueletos mortos-vivos surgem da escuridão. Derrote a todos! Apenas aqueles com os corações mais sombrios habitam os 18 níveis de jogabilidade desafiadora. Mas as recompensas são grandiosas: riquezas inimagináveis, chaves para tesouros há muito perdidos, além de feitiços e poções mágicas. E que recompensa melhor você poderia desejar do que um confronto final com o próprio Mago do Mal, Malkil? Cuidado, Kuros. Outros já se aventuraram na Fortaleza do Medo, mas nenhum retornou com vida.
Pra mim os textos ficam bugados, preciso de alguma versão específica? O CRC32 da minha ROM é 104eb503.
(https://i.postimg.cc/59vHjQvP/13-07-2026-22-14-07.png)
(https://i.postimg.cc/c1YK6tY9/13-07-2026-22-15-18.png)
Parabéns pela tradução. Não conheço o jogo mas acho que vale a apena dar uma chance.
Percebi que as traduções que está lançando precisam de revisões.
Na primeira imagem esta como "PRESENTA" não conseguiu achar o ponteiro dela?
Entendi, fiz um teste diretamente na ROM para verificar como esta esse texto.
Vou mostrar resumidamente o que encontrei e como a alteração foi feita.
Na ROM original, a palavra
"PRESENTS" estava armazenada como texto comum no endereço:
0x1D2D
Os bytes encontrados foram:
50 52 45 53 45 4E 54 53
P R E S E N T S
O texto ocupava oito posições, de:
0x1D2D até 0x1D34
Logo depois, em
0x1D35, começava o próximo comando usado para montar a tela.
Como:
PRESENTS = 8 letras
APRESENTA = 9 letras
Não era possível simplesmente escrever "APRESENTA" por cima. A nona letra apagaria o dado seguinte e poderia corromper a tela.
Portanto, a limitação realmente existia naquele espaço específico, mas isso não significava que a tradução precisava ser abreviada.
A palavra "PRESENTS" fazia parte de um bloco maior, iniciado no endereço:
0x1D13
Esse bloco continha várias informações usadas para montar a tela de apresentação, incluindo o texto e o gráfico do título.
Para localizar os pontos do programa que utilizavam esse bloco, procurei pela referência ao endereço
0x1D13.
No Game Boy, os dois bytes de um endereço aparecem invertidos dentro da ROM:
0x1D13 aparece como 13 1D
Encontrei a sequência abaixo em dois lugares:
21 13 1D CD AF 17
Endereços das duas referências:
0x22DC
0x2AD3
De forma simples, essa sequência dizia ao jogo:
CitarUse o conteúdo que começa em 0x1D13 e envie esse conteúdo para a rotina responsável por desenhar a tela.
Ou seja, havia dois pontos diferentes do programa utilizando o mesmo bloco.
A ROM original tinha 64 KB. Ela foi expandida, criando uma nova área livre a partir de:
0x10000
O bloco da tela foi copiado para:
0x10010
No bloco original, "PRESENTS" estava
0x1A bytes depois do início:
0x1D2D - 0x1D13 = 0x1A
Aplicando a mesma distância na nova posição:
0x10010 + 0x1A = 0x1002A
Portanto,
"APRESENTA" foi inserida no endereço:
0x1002A
Agora havia espaço suficiente para as nove letras sem apagar os dados seguintes.
A nova área fica em outro banco da ROM. Por isso, foi criada uma pequena rotina no endereço:
0x3FB3
Essa rotina faz quatro tarefas:
- guarda qual banco da ROM estava sendo usado;
- abre temporariamente o banco onde está o novo bloco;
- manda o jogo desenhar a nova tela;
- restaura o banco anterior para o jogo continuar normalmente.
As referências encontradas em
0x22DC e
0x2AD3 foram alteradas para chamar essa nova rotina.
Antes:
21 13 1D CD AF 17
Depois:
CD B3 3F 00 00 00
O trecho:
CD B3 3F
significa, de forma simplificada:
CitarVá até a nova rotina localizada em 0x3FB3.
Os três bytes
00 apenas completam o espaço restante da instrução antiga.
Também foi atualizado o tamanho informado no cabeçalho da ROM e recalculadas as verificações internas do arquivo.
O resultado foi
"APRESENTA" funcionando normalmente, sem apagar os dados seguintes e sem corromper a tela.
O título
"WIZARDS & WARRIORS" funciona com a mesma logica.
O título é composto por tiles de
8×8 pixels.
O mapa que organiza esses tiles na tela estava dividido em duas linhas:
Primeira linha: 0x1D35 até 0x1D58
Segunda linha: 0x1D59 até 0x1D7C
Esses endereços possuem números que indicam quais tiles devem aparecer em cada posição da tela.
Para testar
"MAGOS & GUERREIROS", foi necessário:
- criar novos tiles com as letras da tradução;
- colocar os novos gráficos na área expandida da ROM;
- alterar o mapa da tela para usar os novos tiles;
- aumentar a quantidade de posições da segunda linha para comportar "GUERREIROS".
Portanto, a limitação do gráfico também estava relacionada apenas ao espaço e à quantidade de tiles disponíveis no local original.
A limitação de espaço original realmente existia, tanto para o texto quanto para o gráfico.
Para isso, bastou expandir a ROM, copiar os dados para uma área livre e redirecionar os pontos para esse novo endereço.
(https://i.ibb.co/SXcH34fw/imagem-2026-07-14-141020972.png) (https://i.ibb.co/H3Lbgdf/imagem-2026-07-14-141910296.png)