Playstation 2 Granturismo GT3.VOL explained
GRANTURISMO GT3.VOL
This is what i have discovered....
00000000 AD90B9AC 02000200 BFAA0100 F0700100 CF390000
End of File name table (01AABF)
00000000 AD90B9AC 02000200 BFAA0100 F0700100 CF390000
Start of File name table (0170F0)
00000000 AD90B9AC 02000200 BFAA0100 F0700100 CF390000
Lenght of File name table (0170F0)
Here is where the table starts...
000170E8 50D20000 00000000 00D1FF9E 9B899A8D 8B968C9A
000170FC FF9D9892 FF9C9E92 9A8D9E8C FF9C9E8D 8CFF9C90
00017110 8A8D8C9A 8CFF9B9E 8B9E9D9E 8C9AFF9B 9A9290FF
The file name start from one &hFF and ends to one &hFF
In example:
000170E8 50D20000 00000000 00D1FF9E 9B899A8D 8B968C9A
000170FC FF9D9892 FF9C9E92 9A8D9E8C FF9C9E8D 8CFF9C90
00017110 8A8D8C9A 8CFF9B9E 8B9E9D9E 8C9AFF9B 9A9290FF
Take it byte a byte and operate in this way:
&h9E xor &hFF = &h61
in the ASCII table &h61 = a
so the file (or dir) name is advertise
Ok this is the File Name Table....
Now we return to offset 00000014.
00000014 F1700101 15000000 00000000 70000000 88000000
00000028 58010000 6C010000 88010000 A8010000 00020000
0000003C 10040000 38040000 4C040000 6C040000 BC050000
00000050 4C070000 64070000 48080000 60080000 B0080000
00000064 84090000 94090000 440A0000
Read the first 4 bytes and the important is
00000014 F1700101 15000000 00000000 70000000 88000000
This mean that it's a Directory... so...
010170F1-01000000= 0170F1 (Pointer to the file name table)
After that you see:
00000014 F1700101 15000000 00000000 70000000 88000000
This is the number of file/dir that this Dir contains....
After that you see:
00000014 F1700101 15000000 00000000 70000000 88000000
This is the offset of the Directory parent!
After that starts the pointer of the file/dir that are contained in this dir...
00000014 F1700101 15000000 00000000 70000000 88000000
00000028 58010000 6C010000 88010000 A8010000 00020000
0000003C 10040000 38040000 4C040000 6C040000 BC050000
00000050 4C070000 64070000 48080000 60080000 B0080000
00000064 84090000 94090000 440A0000
The first offset infact point another dir...(so recurse routine...)
00000064 84090000 94090000 440A0000 F3700101 04000000
00000078 14000000 CC110000 D8110000 E4110000
(this directory infact has 4-1 child and it's parent is at offset &h14...
If the point you find it's
(XXXXXXXX AND &H10000) < > 0 this is a pointer to the file name table
In example at the offset &h702C we find:
00007028 04401601 86880100 38C80200 0400710F 92880100
Ok this is the pointer to the file name table:
opening.pss
00007028 04401601 86880100 38C80200 0400710F 92880100
this is where the file starts....
&h0002C838 * &h800 = &H1641C000 (the file are always saved as multiple of 2048 bytes (&h800)
00007028 04401601 86880100 38C80200 0400710F 92880100
this is the REAL lenght of the file....
&h0F710004 = 259063812 bytes (the big pss movie file!)
This is what i do....
There are some offset as the directory that i dont understand....
I.e.:
00003174 D77B0102 B3A41500 F0AE0000 380A0000
Notice the 02... Can be a 2nd level dir????....
and what are these??
00003174 D77B0102 B3A41500 F0AE0000 380A0000
I'm away for 2-3 days.... so i must stop to work on it!
Zandal
< < Open And Free Your Mind > >