Menu

Mostrar postagens

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 postagens

Mensagens - MachineMX

#31
Valeu tvtoon

Eu vou da uma olhada os arquivos são feitos no python é uma ferramenta com recurso completo pra tradução de texto é interessante também porque o FFVII trabalha com mais uma tabela de caracteres, vou estuda a pasta de arquivos e ve o que eu posso fazer, se não me engano ele roda em sistema em msdos pelo que eu li.
Quero cria um dumper pro FFVII, já as outras não existe compressão de texto não é.
Pra começa minha primeira ferramenta dumper pra PSX.
Preciso de informações como New Line, Space, Tabs, informações do dicionário de compressão.
x
Será preciso programar as tabelas de caracteres ASCII pra extrair os textos?
#32
E ai pessoal blz


Eu me empenho e passo a maior parte do tempo estudando compressão de dados e estruturas de dado em linguagem C e C#, resolvo problemas que vai de simples até o intermediário com ajuda do youtube.
Consegui enfim entende a compressão em pares do LZ77, que começa com um tamanho vazio e um buffer com um tamanho de 4 bits, logo que encontra um caracter novo ele adiciona 0,0 ou quando é feito a busca um caractere ou dois caractere repetido ele volta, e avança quando o mesmo é encontrado.
Mas a minha pergunta é preciso saber que tipo de compressão de texto e gráfico o Final Fantasy VII e VIII usa.r.
Abs
#33
 :toligado:
Valeu Denim vou ter que enfim fazer pela linguagem C, mais prometo dar o meu maximo, consegui há pouco descobri uma maneira certa e sem falha de acha os ponteiros, assim como vc fez pra gerar o log da rom  Actraiser, e melhorei em outras partes do loop em C.
#34
Posso usa como algo para dumpear gráficos bin, consegui extrair fontes e fazer muitas outras tarefas que envolve imagem, sou bem familiarizado com assembly 65816, mas se tratando em linguaguem c, eu tenho um caminho em progresso a percorrer pra desenvolve um programa interprete asm para C.
Abs a Todos que contribuiram com sua ajuda serei eternamente grato.
#35
Denim

Actraiser
Todo arquivo que trabalhei existe uma variavel escrita em assembly claro, sobre o controle de bits,(um ciclo de oito bits) que é encontrado em muitas roms, mais nessa tá me pegando vc sabe me dize se ele tem? Outra coisa em afim de aprendizado vou descobrir por conta propria e coloca o algoritmo aqui. Provavelmente ele usa o loop infinito do tipo True, pelo tanto que sei.
#36
Eu não posso aceita o desafio porque eu to em fase de aprendizado, aprendendo sobre algoritmo em C, lendo alguns arquivos de engenharia reversa de roms do snes escrita em C e outras em C++, eu acho que me falta muito pra chega ao nivel do Nintendo Wii e jogos dessa geração de console.
De que rom que se trata o jogo do Nintendo Wii?
#37
Valeu Denim
Agora que entendi eu tinha que te feito a soma  :huh: beefb+aa7=0xBF9A2
Mas agora só me faltava essa informação :bomba: Logo que termina eu vou publica o código em C que é de fácil entendimento.   
#38
Denim

Bom Cara

O ponteiro gráfico começa em 0xbeefb em pc address, no valor 0x1000, ele termina aonde?
Bom só isso, enquanto eu tento descobri aonde termina, só me falta isso pra termina o algoritmo, muito obrigado pelo exemplo, agora que as coisas estão batendo
#39
Há pouco tempo descobri como roda jogos sem o modchip Jtag e Rgh, baixei bastante jogos e rodei aqui, jogos demos e ripados.
Eu preciso saber se pelo horizon se eu pega a iso xbox e converter xbox 360, com os devidos ss.bin dmi.bin pfi.bin consigo roda jogos do xbox no xbox 360, já tenho a lista de compatibilidade dos jogos e as devidas versões certas, ou vou ter que compra o hd original do xbox 360?
#40
Valeu Denim
:torico:

Vou conferi os ponteiros que postou aqui,
LDA [$A5] ponteiro de leitura dos dados descomprimidos
STA ($AF) ponteiro que salva os dados descomprimidos
De acordo com que eu sei do exemplo MMX 3 SFC
Como sou novo nessa área com ajuda dos mestres anciões, logo que elabora coloca aqui, sou bem familiarizado com o Dev C++, mais tenho bom conhecimento de lógica de programação.

Edit: Achei um site bem interessante a parte da programação, o que vcs acham?
https://github.com/PeterLemon/SNES/blob/master/Compress/LZ77/LZ77WRAMGFX/LZ77WRAMGFX.asm

A respeito de uma duvida que surgiu funciona com um arquivo RLE escrito em C, no caso se eu encontro rotinas com compressão de dados de texto, posso acha algo como isso numa rom do super mario world
No editor HxD funcionaria assim:
texto orginal Draggoooonnnnnt.
dado encriptado D1r1g2o4n5t1.

Será que na rom do SMW que funciona RLE, aparece dessa forma em uma rotina gráfica ou texto. [/b] Logo eu consigo tira o algoritmo do Actraiser, consegui entender muito a instrução LDY.
#41
Valeu Ondinha.
:torico:

Agora eu posso vê o destino dos dados da rom Family Addams Values, nesse dia eu mudei o valor de propriedade de atributos YXPCCCT onde X e Y responsável pela posição, paleta de cores,
CCC = significa bits de cores e enfim T
T = significa numero do tile, eu tentava muda o texto do new game da Family Addams Value, e consegui muda pro topo da tela, vou me empenha mais nos estudos dos ponteiros que é maior dificuldade de quem programa assembly.

Falando no seu exemplo:
Agora sim faz sentido o local aonde se aloca a informação descomprimida, eu me perdia com objeto e tilemap
Ex: a imagem que logo inicia o super mario world o tilemap Nintendo.

Agora sim bateu com o endereço no canto superior esquerdo = 0x06000000  :toligado:
#42
Denim

Se você puder e passa o código lz77 além de bloco comprimido eu agradeceria pode ser de qualquer exemplo em linguagem de programação, o bloco do código comprimido pode me ser util pra resolve um problema de um jogo aqui.
Valeu denim.

Ondinha

Consegui entender melhor o exemplo
HuffUncomp, 0x081eed50, 0x06000000, VCOUNT=175

0x081eed50 lugar onde a informação comrimida está, no caso New Game(tinha me esquecido lá trás)
0x06000000 endereço o destino do dada descomprimido
0x081eed50  = A informação comprimida esta na Area Rom, o cartucho dentro do emulador, pra então a caminho do destino 0x06000000 o dado descomprmido se aloca na memória Ram Area de Video - VRAM
muito bem explicado Ondinha.
Sobre os endereço basta subtrair 0x08000000, mais só quando funcionando em cartucho no console, ou quando estiver dentro do jogo

Voce tinha declarado em uma função do python
def HuffUncomp, 0x081eed50, 0x06000000.

É possivel ve a informação alocada na saída em algum emulador?
Ex: o New Game em gráfico.
#43
Ondinha

Quando o emulador lê direto da rom o assembly ele mostra o mapeamento 0x80000000, diferente do editor binario que mostra sem nenhum mapeamento.
Subtrai é tira o 0x08 ficando 0x001eed50, com o 8 0x081eed50,
Existe algum truque de algum emulador que me dá detalhes do offset dos gráficos comprimido na memoria RAM ou Memoria ROM?

DiegoHH

Eu vou conferi o seu arquivo agora, pode ser qualquer exemplo gameboy advanced, qualquer sistema, é mais pra uma lição de aprendizado em programação, aceito algoritmos de qualquer linguagem de programação
Estudo e acompanho a página wikibooks e wikipedia sempre.
#44
Valeu Ondinha.
:torico:

Belíssimo Tutorial de captura gráfica, não tinha a menor ideia que o emulador Visual Advanced apresentava essa função de captura de dados dos três formatos mencionados RLE,LZ77 e Huffman, isso facilita e muito vida de programador RomHacker muito interessante, não é como muita gente faz no snes, esperando um frame antes e não dá detalhes de qual formato é o da saída gráfica.

Mais esse VisualAdvanced parece ser mais fácil, falando sobre o endereço do mapeamento da memória ROM em geral é 0x81 é o que aparece na janela,o endereço do PC acima 0x01eed50 onde fica o dado gráfico.
Muito Obrigado pelo exemplo LZ77
:chegamais:

Finalmente achei um emulador sem problema, havia pegado alguns defeituosos.

upload photos

Vou ler o documento completo logo que alguma dúvida surgi volta aqui. Um abração ao Todos, que postaram e contribuiram com a sua ajuda valeu.
#45
Valeu Macaco Ancião,  valeu pelas dica, O codec para texto e imagem pode ser uma boa opção, mais minha paixão é o RomHacking, tenho um pouco conhecimento como entrada e saída dos imagem e som, entendo como um Rom inicia ou entra um estado de espera, conheço sobre as condições de salto, instruções de deslocamento que é mostrado no link acima, há pouco tempo aprendi sobre a pilha escrevendo arquivos com o SMW.
Tenho interesse em desenvolve ferramentas pra extrair e comprimir de volta o gráfico. Editores de Texto como diálogos na rom.

Valeu tvtoon pelas dicas, vou olhar melhor isso, e sem pressa os arquivos em detalhes em proramação do 6502, mais ainda assim começando com otimização de código, conheço alguns truques como dribla rotina com dados gráficos, e conheço muito bem diferencia as instrucões de salto, mais ouvi dizer que o master system é mais fácil por ser mais limitado que o Nintendo, pode ser uma opção.