NPDM: Difference between revisions
m →META |
No edit summary |
||
Line 29: | Line 29: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | Magicnum "META" | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| 0x8 | | 0x8 | ||
| Reserved | | Reserved | ||
|- | |- | ||
| 0xC | | 0xC | ||
| 0x1 | | 0x1 | ||
| | | MMU flags (bit0 = use 64-bit instructions, bit1 = use 64-bit address space, bit2 = use 32-bit address space, bit3 = use 32-bit address space without reserved region) | ||
|- | |- | ||
| 0xD | | 0xD | ||
| 0x1 | | 0x1 | ||
| Reserved | | Reserved | ||
|- | |- | ||
| 0xE | | 0xE | ||
Line 49: | Line 49: | ||
| 0xF | | 0xF | ||
| 0x1 | | 0x1 | ||
| | | Main thread core number | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 57: | Line 57: | ||
| 0x14 | | 0x14 | ||
| 0x4 | | 0x4 | ||
| [3.0.0+] System resource size (max size as of 5.x: 534773760) | | [3.0.0+] System resource (PersonalMmHeap) size (max size as of 5.x: 534773760) | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| 0x4 | | 0x4 | ||
| | | Process category (0 = regular title, 1 = kernel built-in) | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| 0x4 | | 0x4 | ||
| Main | | Main thread stack size (Should(?) be page-aligned. In non-nspwn scenarios, values of 0 can also rarely break in Horizon. This might be something auto-adapting or a security feature of some sort?) | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 77: | Line 77: | ||
| 0x40 | | 0x40 | ||
| 0x30 | | 0x30 | ||
| Reserved | | Reserved | ||
|- | |- | ||
| 0x70 | | 0x70 | ||
Line 105: | Line 105: | ||
| 0x0 | | 0x0 | ||
| 0x100 | | 0x100 | ||
| RSA-2048 signature | | RSA-2048 signature over the data starting at 0x100 with the size field from 0x204 | ||
|- | |- | ||
| 0x100 | | 0x100 | ||
| 0x100 | | 0x100 | ||
| RSA-2048 public key | | RSA-2048 public key for the second [[NCA_Format|NCA]] signature | ||
|- | |- | ||
| 0x200 | | 0x200 | ||
| 0x4 | | 0x4 | ||
| | | Magicnum "ACID" | ||
|- | |- | ||
| 0x204 | | 0x204 | ||
| 0x4 | | 0x4 | ||
| | | Data size | ||
|- | |- | ||
| 0x208 | | 0x208 | ||
| 0x4 | | 0x4 | ||
| | | Reserved | ||
|- | |- | ||
| 0x20C | | 0x20C | ||
| 0x4 | | 0x4 | ||
| Flags | | Flags (bit0 = ProductionFlag, bit1 = UnqualifiedApproval, [5.0.0+] bit2-3: PoolPartition? For applets set to 0b01, for sysmodules set to 0b10. Exceptions: "starter" is set to 0, "nvservices" is set to 3) | ||
|- | |- | ||
| 0x210 | | 0x210 | ||
Line 161: | Line 161: | ||
| 0x238 | | 0x238 | ||
| 0x8 | | 0x8 | ||
| | | Reserved | ||
|} | |} | ||
Line 173: | Line 173: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | Magicnum "ACI0" | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| 0xC | | 0xC | ||
| | | Reserved | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| 0x8 | | 0x8 | ||
| Title | | Title ID | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| 0x8 | | 0x8 | ||
| Reserved | | Reserved | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 213: | Line 213: | ||
| 0x38 | | 0x38 | ||
| 0x8 | | 0x8 | ||
| | | Reserved | ||
|} | |} | ||
= FS Access Header = | = FS Access Header = | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 226: | Line 225: | ||
| 0x0 | | 0x0 | ||
| 0x1 | | 0x1 | ||
| Version | | Version (always 1, must be non-zero) | ||
|- | |- | ||
| 0x1 | | 0x1 | ||
Line 238: | Line 237: | ||
| 0xC | | 0xC | ||
| 0x4 | | 0x4 | ||
| Data Size ( | | Data Size (always 0x1C) | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 274: | Line 273: | ||
= FS Access Control = | = FS Access Control = | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 283: | Line 281: | ||
| 0x0 | | 0x0 | ||
| 0x1 | | 0x1 | ||
| Version | | Version (always 1, must be non-zero) | ||
|- | |- | ||
| 0x1 | | 0x1 | ||
Line 295: | Line 293: | ||
| 0xC | | 0xC | ||
| 0x20 | | 0x20 | ||
| | | Reserved | ||
|} | |} | ||
Line 302: | Line 300: | ||
|- | |- | ||
! Bit | ! Bit | ||
! Name | |||
! Description | ! Description | ||
|- | |- | ||
| 0 | | 0 | ||
| ApplicationInfo | |||
| MountContent* is accessible when set. | | MountContent* is accessible when set. | ||
|- | |||
| 1 | |||
| BootModeControl | |||
| | |||
|- | |||
| 2 | |||
| Calibration | |||
| | |||
|- | |||
| 3 | |||
| SystemSaveData | |||
| | |||
|- | |||
| 4 | |||
| GameCard | |||
| | |||
|- | |||
| 5 | |||
| SaveDataBackUp | |||
| | |||
|- | |||
| 6 | |||
| SaveDataManagement | |||
| | |||
|- | |||
| 7 | |||
| BisAllRaw | |||
| | |||
|- | |||
| 8 | |||
| GameCardRaw | |||
| | |||
|- | |||
| 9 | |||
| GameCardPrivate | |||
| | |||
|- | |||
| 10 | |||
| SetTime | |||
| | |||
|- | |||
| 11 | |||
| ContentManager | |||
| | |||
|- | |||
| 12 | |||
| ImageManager | |||
| | |||
|- | |||
| 13 | |||
| CreateSaveData | |||
| | |||
|- | |||
| 14 | |||
| SystemSaveDataManagement | |||
| | |||
|- | |||
| 15 | |||
| BisFileSystem | |||
| | |||
|- | |||
| 16 | |||
| SystemUpdate | |||
| | |||
|- | |||
| 17 | |||
| SaveDataMeta | |||
| | |||
|- | |||
| 18 | |||
| DeviceSaveData | |||
| | |||
|- | |||
| 19 | |||
| SettingsControl | |||
| | |||
|- | |||
| 20 | |||
| | |||
| | |||
|- | |||
| 21 | |||
| | |||
| | |||
|- | |||
| 22 | |||
| | |||
| | |||
|- | |||
| 23 | |||
| | |||
| | |||
|- | |||
| 24 | |||
| | |||
| | |||
|- | |||
| 25 | |||
| | |||
| | |||
|- | |||
| 26 | |||
| | |||
| | |||
|- | |||
| 27 | |||
| | |||
| | |||
|- | |||
| 28 | |||
| | |||
| | |||
|- | |||
| 29 | |||
| | |||
| | |||
|- | |||
| 30 | |||
| | |||
| | |||
|- | |||
| 31 | |||
| | |||
| | |||
|- | |||
| 32 | |||
| | |||
| | |||
|- | |||
| 33 | |||
| | |||
| | |||
|- | |- | ||
| 34 | | 34 | ||
| | |||
| Enables access to [[Filesystem_services|Bis]] partitionID 27 and 28? | | Enables access to [[Filesystem_services|Bis]] partitionID 27 and 28? | ||
|- | |||
| 35-61 | |||
| Reserved | |||
| | |||
|- | |||
| 62 | |||
| Debug | |||
| See [[SPL_services#GetConfig|here]]. | |||
|- | |- | ||
| 63 | | 63 | ||
| Enables access to everything: all [[Filesystem_services#Permissions|permission | | FullPermission | ||
| Enables access to everything: all [[Filesystem_services#Permissions|permission types]] which check a bitmask have this bit set. | |||
|} | |} | ||
Web-applets permissions: | Web-applets permissions: | ||
Line 425: | Line 565: | ||
|} | |} | ||
Bit31-19: Major version | Bit31-19: Major version</br> | ||
Bit18-15: Minor version | Bit18-15: Minor version</br> | ||
Bit14-0: Zeroes | Bit14-0: Zeroes |