[NES] Snake's Revenge, MGS2 De/Compressor v0.3

« Older   Newer »
  Share  
White Dragon
CAT_IMG Posted on 7/9/2007, 13:19     +1   -1




Ecco un altro titolo konami per nintendo: Metal Gear 2: Snake's Revenge

Qui un apposito tool che feci tempo fa per la de/compressione del testo del gioco:

MGS2 De/Compressor v0.3 (DivShare.com)

image

Ecco spiegata la compressione (da http://www.romhacking.it by White Dragon):

guarda bene la tabella delle fonts.

image

come vedi ad ogni lettera corrisponde un valore.
IMPORTANTE: la compressione consiste nel comprimere 2 caratteri per volta in modo tale ke da 4 nibbles (2 bytes) occupino 3 nibbles (1 byte e mezzo).
mo tu dirai... e per mezzo byte a carattere mi devono rompere i marones??
eh la konami fa questo ed altro...
dunque ogni 3 nibbles avremo 2 caratteri ok?
proviamo dunque a capire come funziona provando a scrivere "ABCD"
come vedi alla lettera A corrisponde il valore hex 2C o meglio dal 2C al 2F
perkč??
perkč dalla C alla F non fai altro ke scegliere una delle 4 righe della tabella.
C=prima riga, D=seconda... ecc...
ora dopo la A noi dobbiamo scrivere la B. Vediamo ke B si trova sulla prima riga.
Quindi scriviamo prima di tutto il byte 2C.
Ora essendo ke la tabella č 16x4 dobbiamo ricavarci le coordinate di B.
in esadecimale come hai visto ho messo le ascisse da 0 a F.
la lettera B si trova sull'ascissa C quindi se noi scriviamo i nibbles: '2C C'
otteniamo la scritta "AB". adiamo avanti. dobbiamo scrivere ankora "CD"
la lettera C corrisponde a 34 e quindi aggiungiamo il valore ai nostri bytes precedenti:
2C C3 4
adesso dobbiamo scrivere la D. questa si trova sulla prima riga.
in questa caso essendo ke abbiamo scritto 34, le righe saranno date da:
4=prima riga, 5=seconda ecc.. (da 4 a 7)
quindi lasciamo il 4 (perkč la D sta sulla rpima riga) e scriviamo il nuovo nibble: 0xE
ke corrisponde alla lettera D sulle ascisse. i bytes da noi scritti saranno quindi:
"2C C3 4E" ed avremo cosě scritto "ABCD".


in sostanza si scrivono 2 caratteri ogni 3 nibbles:
primo nibble(+secondo nibble)=primo carattere
secondo nibble=parte del primo nibble+ordinata del secondo carattere
terzo nibble=ascissa del secondo carattere

tutto kiaro??(inutile dire ke questa compressione č valida solo x le stringhe e nn x qualsiasi file binario)
 
Top
Alucard84!
CAT_IMG Posted on 18/10/2007, 00:58     +1   -1




ho capito tutto
 
Top
atleta de cristo
CAT_IMG Posted on 18/10/2007, 11:24     +1   -1




parla comu cachi
 
Top
cicciovic
CAT_IMG Posted on 19/10/2007, 18:46     +1   -1




ma che cazz ce ne frega di un gioco del 1990??
 
Top
White Dragon
CAT_IMG Posted on 20/10/2007, 01:19     +1   -1




=))) giusto xkč il metal gear solid per psx in realta č metal gear 3, il primo ed il secondo erano per nintendo
 
Top
Carl Attrezzi
CAT_IMG Posted on 8/11/2007, 11:10     +1   -1




questo lo si sapeva da almeno 10 anni...ma cosa centrano le ascisse?
 
Top
White Dragon
CAT_IMG Posted on 8/11/2007, 11:28     +1   -1




CITAZIONE (Carl Attrezzi @ 8/11/2007, 11:10)
questo lo si sapeva da almeno 10 anni...ma cosa centrano le ascisse?

č la compressione del testo del gioko =)
 
Top
6 replies since 7/9/2007, 13:17   247 views
  Share