Parabéns pelo projeto.

Esta seção permite que você visualize todas as postagens feitas por este membro. Observe que você só pode ver postagens feitas em áreas às quais tem acesso atualmente.
Menu Mostrar postagensCitação de: kuroi online Dezembro 23, 2022, 02:30:34 AM
Citação de: kuroi online Setembro 24, 2021, 00:38:41 AM
Boa noite, TheBossBR!
Eu fiz um debug do jogo que você está hackeando e encontrei o endereço inicial da tabela de ponteiros que você procura. Vou explicar as duas maneiras que usei para encontrar os ponteiros:
Modo 1: Via Debug:
Obs: Siga o tutorial do Denim que o Kamppello mandou aí em cima e você conseguirá chegar ao valor do ponteiro procurado para um jogo de SNES HiROM. Mas se tiver dificuldades, eu escrevi um "mini tutorial" aqui:
[spoiler]1.1- Para começar a Debugar esse jogo, eu usei o endereço do diálogo: "Hi, I'm Dottie.{nl}Pleased to meet you!", que é 0x64E9D;
1.2- Depois eu converti o endereço para o formato do SNES usando o programa "SNEStuff" em formato HiROM de SNES. Com isso, o endereço ficou: 0xC64E9D;
1.3- Depois eu abri a ROM no emulador Debuger "Geiger's SNES9x", criei um Breakpoint de leitura no endereço 0xC64E9D e rodei o jogo;
1.4- No momento em que o jogo deveria exibir o diálogo: "Hi, I'm [...]you!", a execução pausa. Isso mostra que o BP funcionou;
1.5- Então eu resetei o jogo e iniciei a captura de logs do debug há alguns segundos antes do Breakpoint, clicando em CPU;
1.6- Ao chegar ao Breakpoint, eu cliquei em "Step into" uma vez e depois desmarquei o CPU;
1.7- Abri o último arquivo de debug gerado fui até a última linha do mesmo:$C0/A621 B7 14 LDA [$14],y[$C6:4E9D] A:091F X:0110 Y:0000 P:envmxdiZc
1.8- Como a instrução acima está carregando o valor 0x4E9D na posição $14 da memória, procurei nas instruções anteriores a gravação desse valor e encontrei:$C0/62ED 85 14 STA $14 [$00:1D0E] A:4E9D X:0000 Y:002E P:envmxdizc
1.9- Após isso, bastou encontrar a instrução acima da linha anterior, que buscava o 4E9D vinda da ROM e cheguei até a instrução:$C0/62E4 B7 14 LDA [$14],y[$C9:2322] A:C922 X:0000 Y:002D P:eNvmxdizc
1.10- A instrução acima carrega o endereço da ROM 0xC92322
1.11- Por último, converti novamente o endereço da ROM encontrado para o formato do PC usando o "SNEStuff" (para HiROM) e obtive o Offset: 0x92322
1.12- Fui até o Offset 0x92322 na ROM e Voilà! Abemos endereço do ponteiro do diálogo que começa em 0x64E9D! Ele está gravado no Offset 0x92322, assim como os outros ponteiros subsequentes (mas cuidado que eles não estão em ordem!).
Modo 2: Modo Noob:
2.1- Obtenha o endereço do diálogo que quer encontrar o ponteiro, que no caso é o 0x64E9D
2.2- Utilize a "regra geral" do cálculo de ponteiros para jogos de SNES HiROM sem Header, somando o Offset atual do diálogo ao valor 0xC00000, ficando assim: 0x64E9D + 0xC00000 = 0xC64E9D, que invertido (pois trata-se de uma plataforma Litte Endian) fica: "9D4EC6"
2.3- Procure pelos valores acima em um Editor Hexadecimal e você chegará ao mesmo Offset 0x92322
Pronto! Agora o próximo passo seria desenvolver um programinha Dumper/Inserter para utilizar essa lógica descrita em um dos modos acima para Dumpar os textos (já com os ponteiros), traduzir os txts e Inserir novamente com os ponteiros editados!
Até mais!![/spoiler]
Citação de: Anime_World online Setembro 22, 2021, 18:33:53 PM[/spoiler]
Vai depender de como funciona a rotina de impressão de caracteres da fonte no jogo. Se ela mapear de $00 a $FF. Você consegue incluir o restante. Agora se ela mapear uma faixa apenas de caracteres, precisa fazer alterações em assembly na rotina pra imprimir os extras.
Citação de: Anime_World online Setembro 22, 2021, 18:33:53 PM
Vai depender de como funciona a rotina de impressão de caracteres da fonte no jogo. Se ela mapear de $00 a $FF. Você consegue incluir o restante. Agora se ela mapear uma faixa apenas de caracteres, precisa fazer alterações em assembly na rotina pra imprimir os extras.
Citação de: Kamppello online Setembro 22, 2021, 07:47:39 AMEntão eu vou substituir mesmo, mas vai ficar difícil achar 12 caracteres para substituir
Olá, TheBossBR!
Sim tem! Mas é inúmeras vezes mais difícil do que substituir os existentes. Você tem que fazer uma busca mais profunda na Rom, se não encontrar é por que a fonte deve estar comprimida, você vai ter que dar um jeito de descomprimir antes de poder mexer nela.
Citação de: Kamppello online Setembro 22, 2021, 07:47:39 AMVou tentar novamente e fazer o teste. (me passa o link do tutorial)
Se na base da observação você não conseguir encontrá-los, terá que tentar via debug, havia um tutorial aqui no fórum que ensinava a fazer isso.
Citação de: huskie online Setembro 21, 2021, 23:41:17 PM
Favor alterar a imagem de exibição e a assinatura para um tema mais condizente com este forum.
E a assinatura mesmo, completamente fora das regras. Leia as regras para saber os limites de imagens. Evite usar Gifs animadas também. A animação de gifs em PGs, creia, pesa em PCs modestos além de deixar o visual da página discrepante.