Savegames: Difference between revisions

All savegame hashes figured out now.
Line 420: Line 420:
|}
|}


* First & Second hash are not understood yet.
* The first-hash is a SHA256 hash over the second-hash, with the buffer padded to the second-hash 1<<x block-size.
* The second-hash is a SHA256 hash over the hash-table, with the buffer padded to the hash-table 1<<x block-size.


'''DPFS'''
'''DPFS'''
Line 480: Line 481:
The first partition's data starts at 0x2000. First comes the hashtable (usually start @ 0x40 into the partition) and then the filesystem.
The first partition's data starts at 0x2000. First comes the hashtable (usually start @ 0x40 into the partition) and then the filesystem.


The hashtable entries' size is 2^x where x is the 'Hashed block size' from the IVFC block.
The hashtable entries' size is 2^x where x is the 'Filesystem block size' from the IVFC block.


'''DIFI Hash'''
'''DIFI Hash'''


The last 0x20-bytes of the partition following the DIFI, IVFC and DPFS is a 0x20-byte hash, it is unknown what it's hashing. The offset to this hash is stored in the DIFI. When a savegame image is initially created, this hash is all-zero. Later an actual SHA256 hash is written here, but it's unknown when that's done.
The last 0x20-bytes of the partition following the DIFI, IVFC and DPFS is a SHA256 hash. The offset to this hash is stored in the DIFI. This hashes the IVFC first-hash, with the buffer padded with zeros to the first-hash 1<<x block-size.


'''Summary Drawing'''
'''Summary Drawing'''