RomFS: Difference between revisions
Marius851000 (talk | contribs) |
Lillehavard (talk | contribs) m →Overall RomFS file structure: Forgot to add the proper amounts of zeros 0x0000 -> 0x00000 |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 13: | Line 13: | ||
(There may be more implementations in the future) | (There may be more implementations in the future) | ||
=== Overall RomFS file structure === | |||
The overall structure of the RomFS is as follows: | |||
{| class="wikitable" border="1" | |||
|- | |||
! START | |||
! SIZE | |||
! DESCRIPTION | |||
! TYPE | |||
|- | |||
| 0x00000 | |||
| 0x5C | |||
| RomFS Header (see below) | |||
| Header | |||
|- | |||
| 0x0005C | |||
| 0x4 | |||
| Padding to the 0x20-byte boundary (0) | |||
| Padding | |||
|- | |||
| 0x00060 | |||
| 0x20*N | |||
| SHA256's on the 0x1000-byte block(s) at 0xXX000 | |||
| Master Hash | |||
|- | |||
| ... | |||
| .. | |||
| Padding to block-byte boundary (0) | |||
| Padding | |||
|- | |||
| 0x01000 | |||
| .... | |||
| RomFS Directory/Files (see below) | |||
| Level 3 | |||
|- | |||
| ... | |||
| .. | |||
| Padding to block-byte boundary (0) | |||
| Padding | |||
|- | |||
| 0xXX000 | |||
| 0x20*NN | |||
| SHA256's on each 0x1000-byte block at 0xYY000 and up. | |||
| Level 1 | |||
|- | |||
| ... | |||
| .. | |||
| Padding to block-byte boundary (0) | |||
| Padding | |||
|- | |||
| 0xYY000 | |||
| 0x20*NNN | |||
| SHA256's on each 0x1000-byte block at 0x1000 and up. | |||
| Level 2 | |||
|} | |||
=== Format === | === Format === | ||
| Line 221: | Line 277: | ||
| Directory Name (Unicode) | | Directory Name (Unicode) | ||
|} | |} | ||
=== File Metadata Structure === | === File Metadata Structure === | ||