Manual de Mágias Negras do Tio Animeco sobre Dúvidas dos Óbvio Ululante.

Iniciado por Anime_World, Junho 20, 2018, 09:22:11 AM

tópico anterior - próximo tópico

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

Anime_World

O que leio para aprender o tal do ROMHacking?
- O fascinante mundo do ROMHacking - http://romhackers.org/modules/PDdownloads1/singlefile.php?cid=49&lid=17

Quais ferramentas básicas uso para traduzir um jogo?
- Editor Hexadecimal (recomendo o Windhex)
- Editor de Tiles (recomendo o TileMolester)

só isso? Só.

O que é hexadecimal?
É uma base de representação numérica.
Por exemplo, a base comumente usada por nós para representações numéricas é chamada de decimal e contém numeros de 0 a 9.
A base de representação numérica usada por computadores é a binária e contém números de 0 a 1.
A base de representação hexadecimal contém números de 0 a F:

0 1 2 3 4 5 6 7 8 9 A B C D E F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
...FF


O que é essas coisas no editor Hexadecimal?
Para explicar melhor, separei uma imagem.

Adicionei as cores para exemplificar melhor cada item.

Em verde, estão os bytes do arquivo, aqui representados por valores hexadecimais. (Se você leu ou viu alguém chamando isso de Hexa está errado... isso se chama BYTE).
Em azul, está a representação em caractere de cada byte (que pode mudar conforme sua tabela)
Em rosa, está o endereço (posição do arquivo) que seu cursor está, comumente chamado de offset
Em vermelho, está uma barra de navegação representando os offsets de 10 em 10, nunca usa-la como referência para calcular um ponteiro. (erro muito comum de iniciantes)
Em amarelo, está a representação do byte em outras bases (Decimal, Octal, Binária)

O que é essa tal tabela usada no editor hexadecimal?
Uma tabela serve para converter os bytes do arquivo binário que você esteja editando (ROM, ISO) em caracteres reconheciveis.

O que é uma tabela 8-bits
Uma tabela 8-Bits é uma tabela em que 1 byte será convertido para 1 caractere
Exemplo:

41=A
42=B
43=C


O que é uma tabela 16-bits
Uma tabela 16-Bits é uma tabela em que 2 bytes serão convertidos para 1 caractere
Exemplo:

0041=A
0042=B
0043=C


O que é um ponteiro?
Um ponteiro é um apontamento para algum endereço da ROM ou ISO, isso quer dizer, que, o jogo quando ler aquela sequência entenderá que deve ir para outro lugar, como um atalho.


Como calculo um ponteiro?
Bem, depende de qual plataforma pertence o jogo que você está mexendo e de como isso foi programado nele.
Mas no geral ponteiros são calculados usando o endereço (offset) de onde começa um texto.

Irei alimentando este tópico conforme forem aparecendo dúvidas que eu for respondendo e achar pertinente.
nonononono

Belmont

Olá parceiro, gostei da sua explicação

Só tenho uma dúvida, como faço para calcular os ponteiros de uma rom do PSX?

douglaskraft

Citação de: Belmont online Março 29, 2023, 16:02:11 PM
Olá parceiro, gostei da sua explicação

Só tenho uma dúvida, como faço para calcular os ponteiros de uma rom do PSX?

Depende do jogo, porem, geralmente vc tem que saber o endereço do primeiro ponteiro da tabela de ponteiros e diminuir ou somar dos ponteiros que aparecem no texto do jogo.

Abra um tópico de dúvidas com nome do seu jogo e todas as dificuldades que está passando.
Pode aparecer alguém para ajudar kkkk