RomFS: Difference between revisions

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)
|}
|}
The root directory doesn't contain the name length of the directory name part.


=== File Metadata Structure ===
=== File Metadata Structure ===