FSPXI:ReadFileSHA256: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Luigi2us (talk | contribs)
No edit summary
TimmSkiller (talk | contribs)
Unknown value -> Alignment size
 
(2 intermediate revisions by 2 users not shown)
Line 24: Line 24:
|-
|-
| 6
| 6
| Unknown (always 0x00001000)
| Alignment size (always 0x00001000)
|-
|-
| 7
| 7
Line 30: Line 30:
|-
|-
| 8
| 8
| (size of hashtable << 8)  <nowiki>|</nowiki> 4
| (size of hashtable << 8)  <nowiki>|</nowiki> 6
|-
|-
| 9
| 9

Latest revision as of 21:59, 5 June 2022

Request

Index Word Description
0 Header code [0x004D01C4]
1 File handle lower word
2 File handle upper word
3 Offset lower word
4 Offset upper word
5 Size of read buffer
6 Alignment size (always 0x00001000)
7 Size of hashtable
8 (size of hashtable << 8) | 6
9 Pointer to hashtable
10 (size of read buffer << 8) | 0x14
11 Pointer to read buffer

Response

Index Word Description
0 Header code
1 Result code
2 Size read
3 4

The data read are stored in the read buffer. For each 0x1000-byte block read, a SHA256 hash of the block is stored in the hashtable.

It is unknown how hashing behaves if the read offset/size are not aligned to a 0x1000-byte boundary.