[PSX] Ponteiros, Lá e de novo novamente

Iniciado por Ramonr9, Janeiro 27, 2024, 01:14:02 AM

tópico anterior - próximo tópico

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

Ramonr9

Boa noite pessoas, em 2012 traduzi um game de ps1 porém não compreendia e nem soube mexer com os ponteiros, devido a isso algumas palavras ficaram esquisitas como o "APERTE START" que deixei como "PULSE START", vendo videos e tutoriais me ascendeu a chama novamente de traduzir algo e gostaria de refazer a tradução que fiz, eae cai de novo nos ponteiros e não consegui avançar a partir disso, bem o jogo tem dois arquivos com textos o QUEST.BIN e SHELL.DLL.
No arquivo QUEST.BIN consegui achar os ponteiros por meio do programa do Angel333139, é onde ficam os textos dos desafios e afins, até ai tudo bem, o problema se inicia com os textos que tem no menu e inicio de game que estão no arquivo SHELL.DLL tentei de várias formas achar alguma sequencia lógica ou algo do tipo e apenas falhei, gostaria de colocar APERTE START invés de PULSE START kk, se alguem puder me ajudar agradeço para poder dar continuidade a esse projeto inacabado, desde já agradeço a compreensão de todos e espero que consiga ajuda :)
https://ibb.co/xJJvcT6
Já não esquecendo o jogo é VIGILANTE 8, O FORUM não deixou eu postar os arquivos :(
Será que ainda termino o que comecei?

gledson999

Citação de: Ramonr9 online Janeiro 27, 2024, 01:14:02 AM
Boa noite pessoas, em 2012 traduzi um game de ps1 porém não compreendia e nem soube mexer com os ponteiros, devido a isso algumas palavras ficaram esquisitas como o "APERTE START" que deixei como "PULSE START", vendo videos e tutoriais me ascendeu a chama novamente de traduzir algo e gostaria de refazer a tradução que fiz, eae cai de novo nos ponteiros e não consegui avançar a partir disso, bem o jogo tem dois arquivos com textos o QUEST.BIN e SHELL.DLL.
No arquivo QUEST.BIN consegui achar os ponteiros por meio do programa do Angel333139, é onde ficam os textos dos desafios e afins, até ai tudo bem, o problema se inicia com os textos que tem no menu e inicio de game que estão no arquivo SHELL.DLL tentei de várias formas achar alguma sequencia lógica ou algo do tipo e apenas falhei, gostaria de colocar APERTE START invés de PULSE START kk, se alguem puder me ajudar agradeço para poder dar continuidade a esse projeto inacabado, desde já agradeço a compreensão de todos e espero que consiga ajuda :)
https://ibb.co/xJJvcT6
Já não esquecendo o jogo é VIGILANTE 8, O FORUM não deixou eu postar os arquivos :(

Esses arquivos são uma biblioteca dinâmica que é carregado pelo sistema, mas o ponteiro está no offset 0x25C0 possuindo o valor de $C805A524
sdd

Ramonr9

Opa Gledson, obrigado pela ajuda!
Se não for pedir muito, gostaria que me ajudasse um pouco a entender...
Bem fui a localização de PRESS START que é 05C8,

ao colocar o offset 0x25C0, chego nessa parte onde encontro o valor F1, e dai me perco.

O que estou fazendo de errado? na verdade meio que não entendi também, fico no aguardo! Se pudesse me explicar como encontrou esse também seria de grande ajuda para eu poder entender e modificar os restantes.
Será que ainda termino o que comecei?

gledson999

#3
Eu acredito que deve ser porquê estava me baseando na versão 1.1, mas visualmente dá pra ver que a sua é a versão 1.0 e o offset fica no 0x2570.


Mas essa biblioteca dinâmica não é difícil, os ponteiros se baseiam nas posições dos arquivos, por exemplo o texto PRESS START está no offset 0x05C8, você inverte o valor para little endian C8 05 faz uma busca e ele encontrará o valor.

Ele pode encontrar o valor C8 05 00 00 (Que é na maioria dos casos) ou encontrar o valor C8 05 A5 24 (Quando é carregado por um endereço direcionado à VRAM)
sdd

Ramonr9

Nossa mano, muito obrigado mesmo entendi tudo corretamente!
Acho que meu erro foi ter tentado fazer isso inicialmente na rom inteira e não ter separado os arquivos ai deu um offset 32b2a0, com esse valor menor do arquivo separado deu pra achar mais tranquilamente, vou dar continuidade ao projeto agora, muito obrigado mesmo cara valeus
Será que ainda termino o que comecei?