NPDM: Difference between revisions
Masagrator (talk | contribs) Update Debug Flags |
No edit summary |
||
| (6 intermediate revisions by 3 users not shown) | |||
| Line 9: | Line 9: | ||
| 0x0 | | 0x0 | ||
| 0x80 | | 0x80 | ||
| [[# | | [[#Meta|Meta]] | ||
|- | |- | ||
| 0x80 | | 0x80 | ||
| | | Variable | ||
| [[# | | [[#Acid|Acid]] | ||
|- | |- | ||
| | | Variable | ||
| | | Variable | ||
| [[# | | [[#Aci|Aci]] | ||
|} | |} | ||
= | = Meta = | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| Line 85: | Line 85: | ||
| 0x70 | | 0x70 | ||
| 0x4 | | 0x4 | ||
| [[# | | [[#Aci|AciOffset]] | ||
|- | |- | ||
| 0x74 | | 0x74 | ||
| 0x4 | | 0x4 | ||
| [[# | | [[#Aci|AciSize]] | ||
|- | |- | ||
| 0x78 | | 0x78 | ||
| 0x4 | | 0x4 | ||
| [[# | | [[#Acid|AcidOffset]] | ||
|- | |- | ||
| 0x7C | | 0x7C | ||
| 0x4 | | 0x4 | ||
| [[# | | [[#Acid|AcidSize]] | ||
|} | |} | ||
| Line 110: | Line 110: | ||
|- | |- | ||
| 1-3 | | 1-3 | ||
| ProcessAddressSpace | | [[#ProcessAddressSpace|ProcessAddressSpace]] | ||
|- | |- | ||
| 4 | | 4 | ||
| Line 120: | Line 120: | ||
| 6 | | 6 | ||
| [18.0.0+] EnableAliasRegionExtraSize | | [18.0.0+] EnableAliasRegionExtraSize | ||
|- | |||
| 7 | |||
| [19.0.0-19.0.1] PreventCodeReads | |||
|} | |||
=== ProcessAddressSpace === | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| AddressSpace32Bit | |||
|- | |||
| 1 | |||
| AddressSpace64BitOld | |||
|- | |||
| 2 | |||
| AddressSpace32BitNoReserved | |||
|- | |||
| 3 | |||
| AddressSpace64Bit | |||
|} | |} | ||
| Line 131: | Line 153: | ||
Maximum size as is 0x1FE00000. | Maximum size as is 0x1FE00000. | ||
== Version == | == Version == | ||
| Line 143: | Line 164: | ||
Must be aligned to 0x1000. If zero, kernel will start the process's initial thread with sp=0. | Must be aligned to 0x1000. If zero, kernel will start the process's initial thread with sp=0. | ||
= | = Acid = | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| Line 232: | Line 253: | ||
|- | |- | ||
| 2-5 | | 2-5 | ||
| [5.0.0+] MemoryRegion | | [5.0.0+] [[#MemoryRegion|MemoryRegion]] | ||
|- | |||
| 6 | |||
| Unused? | |||
|- | |||
| 7 | |||
| [21.0.0+] LoadBrowserCoreDll | |||
|} | |} | ||
MemoryRegion is set to Application for "starter" and NonSecureSystem for "nvservices". | MemoryRegion is set to Application for "starter" and NonSecureSystem for "nvservices". | ||
= | When LoadBrowserCoreDll flag is set, an additional NPDM + NSOs (wkc0-wkc9) will be loaded from program id 010000000000085D (not present on retail). | ||
=== MemoryRegion === | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| Application | |||
|- | |||
| 1 | |||
| Applet | |||
|- | |||
| 2 | |||
| SecureSystem | |||
|- | |||
| 3 | |||
| NonSecureSystem | |||
|} | |||
= Aci = | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| Line 290: | Line 338: | ||
= FsAccessControl = | = FsAccessControl = | ||
For [[# | For [[#Acid|Acid]] this is a simple descriptor as follows: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| Line 342: | Line 390: | ||
|} | |} | ||
For [[# | For [[#Aci|Aci]] this embeds data as follows: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| Line 402: | Line 450: | ||
|- | |- | ||
! Bits | ! Bits | ||
! Description | ! Description | ||
|- | |- | ||
| 0 | | 0 | ||
| ApplicationInfo | | ApplicationInfo (MountContent* is accessible when set) | ||
|- | |- | ||
| 1 | | 1 | ||
| BootModeControl | | BootModeControl | ||
|- | |- | ||
| 2 | | 2 | ||
| Calibration | | Calibration | ||
|- | |- | ||
| 3 | | 3 | ||
| SystemSaveData | | SystemSaveData | ||
|- | |- | ||
| 4 | | 4 | ||
| GameCard | | GameCard | ||
|- | |- | ||
| 5 | | 5 | ||
| SaveDataBackUp | | SaveDataBackUp | ||
|- | |- | ||
| 6 | | 6 | ||
| SaveDataManagement | | SaveDataManagement | ||
|- | |- | ||
| 7 | | 7 | ||
| BisAllRaw | | BisAllRaw | ||
|- | |- | ||
| 8 | | 8 | ||
| GameCardRaw | | GameCardRaw | ||
|- | |- | ||
| 9 | | 9 | ||
| GameCardPrivate | | GameCardPrivate | ||
|- | |- | ||
| 10 | | 10 | ||
| SetTime | | SetTime | ||
|- | |- | ||
| 11 | | 11 | ||
| ContentManager | | ContentManager | ||
|- | |- | ||
| 12 | | 12 | ||
| ImageManager | | ImageManager | ||
|- | |- | ||
| 13 | | 13 | ||
| CreateSaveData | | CreateSaveData | ||
|- | |- | ||
| 14 | | 14 | ||
| SystemSaveDataManagement | | SystemSaveDataManagement | ||
|- | |- | ||
| 15 | | 15 | ||
| BisFileSystem | | BisFileSystem | ||
|- | |- | ||
| 16 | | 16 | ||
| SystemUpdate | | SystemUpdate | ||
|- | |- | ||
| 17 | | 17 | ||
| SaveDataMeta | | SaveDataMeta | ||
|- | |- | ||
| 18 | | 18 | ||
| DeviceSaveData | | DeviceSaveData | ||
|- | |- | ||
| 19 | | 19 | ||
| SettingsControl | | SettingsControl | ||
|- | |- | ||
| 20 | | 20 | ||
| SystemData | | SystemData | ||
|- | |- | ||
| 21 | | 21 | ||
| SdCard | | SdCard | ||
|- | |- | ||
| 22 | | 22 | ||
| Host | | Host | ||
|- | |- | ||
| 23 | | 23 | ||
| FillBis | | FillBis | ||
|- | |- | ||
| 24 | | 24 | ||
| CorruptSaveData | | CorruptSaveData | ||
|- | |- | ||
| 25 | | 25 | ||
| SaveDataForDebug | | SaveDataForDebug | ||
|- | |- | ||
| 26 | | 26 | ||
| FormatSdCard | | FormatSdCard | ||
|- | |- | ||
| 27 | | 27 | ||
| GetRightsId | | GetRightsId | ||
|- | |- | ||
| 28 | | 28 | ||
| RegisterExternalKey | | RegisterExternalKey | ||
|- | |- | ||
| 29 | | 29 | ||
| RegisterUpdatePartition | | RegisterUpdatePartition | ||
|- | |- | ||
| 30 | | 30 | ||
| SaveDataTransfer | | SaveDataTransfer | ||
|- | |- | ||
| 31 | | 31 | ||
| DeviceDetection | | DeviceDetection | ||
|- | |- | ||
| 32 | | 32 | ||
| AccessFailureResolution | | AccessFailureResolution | ||
|- | |- | ||
| 33 | | 33 | ||
| SaveDataTransferVersion2 | | SaveDataTransferVersion2 | ||
|- | |- | ||
| 34 | | 34 | ||
| RegisterProgramIndexMapInfo | | RegisterProgramIndexMapInfo | ||
|- | |- | ||
| 35 | | 35 | ||
| CreateOwnSaveData | | CreateOwnSaveData | ||
|- | |- | ||
| 36 | | 36 | ||
| MoveCacheStorage | | MoveCacheStorage | ||
|- | |- | ||
| 37 | | 37 | ||
| DeviceTreeBlob | | DeviceTreeBlob | ||
|- | |- | ||
| 38 | | 38 | ||
| NotifyErrorContextServiceReady | | NotifyErrorContextServiceReady | ||
|- | |- | ||
| 39-61 | | 39 | ||
| CalibrationSystemData | |||
|- | |||
| 40 | |||
| CalibrationLog | |||
|- | |||
| 41 | |||
| StorageSecure | |||
|- | |||
| 42 | |||
| StorageControl | |||
|- | |||
| 43 | |||
| GameCardReport | |||
|- | |||
| 44 | |||
| MarkBeforeEraseBis | |||
|- | |||
| 45 | |||
| HtmlViewer | |||
|- | |||
| 46 | |||
| ApplicationSaveDataBackUp | |||
|- | |||
| 47-61 | |||
| Reserved | | Reserved | ||
|- | |- | ||
| 62 | | 62 | ||
| Debug | | Debug (ignored on non-DebugMode, see [[SPL_services#GetConfig|here]]) | ||
|- | |- | ||
| 63 | | 63 | ||
| FullPermission | | FullPermission (ignored on non-DebugMode, all [[Filesystem_services#Permissions|permission types]] which check a bitmask have this bit set) | ||
|} | |} | ||