Line 1: |
Line 1: |
| + | This is '''control.nacp''', "nn::ns::ApplicationControlProperty". |
| + | |
| Roughly equivalent to non-gfx areas of 3DS SMDH. All strings for language-entries are UTF-8, unlike SMDH which uses UTF-16. | | Roughly equivalent to non-gfx areas of 3DS SMDH. All strings for language-entries are UTF-8, unlike SMDH which uses UTF-16. |
| | | |
Line 24: |
Line 26: |
| | 0x3026 | | | 0x3026 |
| | 0x1 | | | 0x1 |
− | | ? | + | | UserAccountSwitchLock |
| |- | | |- |
| | 0x3027 | | | 0x3027 |
| | 0x1 | | | 0x1 |
− | | ? | + | | AddOnContentRegistrationType |
| |- | | |- |
| | 0x3028 | | | 0x3028 |
Line 44: |
Line 46: |
| | 0x3034 | | | 0x3034 |
| | 0x1 | | | 0x1 |
− | | isScreenshotEnabled | + | | Screenshot |
| |- | | |- |
| | 0x3035 | | | 0x3035 |
Line 52: |
Line 54: |
| | 0x3036 | | | 0x3036 |
| | 0x1 | | | 0x1 |
− | | isDataLossConfirmationEnabled | + | | DataLossConfirmation |
| |- | | |- |
| | 0x3037 | | | 0x3037 |
| | 0x1 | | | 0x1 |
− | | ? | + | | [[#PlayLogPolicy]] |
| |- | | |- |
| | 0x3038 | | | 0x3038 |
Line 88: |
Line 90: |
| | 0x3090 | | | 0x3090 |
| | 0x8 | | | 0x8 |
− | | ? | + | | DeviceSaveDataSize |
| |- | | |- |
| | 0x3098 | | | 0x3098 |
| | 0x8 | | | 0x8 |
− | | ? | + | | DeviceSaveDataJournalSize |
| |- | | |- |
| | 0x30A0 | | | 0x30A0 |
| | 0x8 | | | 0x8 |
− | | ? | + | | BcatDeliveryCacheStorageSize |
| |- | | |- |
| | 0x30A8 | | | 0x30A8 |
Line 116: |
Line 118: |
| | 0x30F2 | | | 0x30F2 |
| | 0x1 | | | 0x1 |
− | | isRuntimeAddOnContentInstallEnabled | + | | RuntimeAddOnContentInstall |
| |- | | |- |
| | 0x30F3 | | | 0x30F3 |
| | 0x3 | | | 0x3 |
− | | ? | + | | Reserved |
| |- | | |- |
| | 0x30F6 | | | 0x30F6 |
| | 0x1 | | | 0x1 |
− | | ? | + | | CrashReport |
| |- | | |- |
| | 0x30F7 | | | 0x30F7 |
| | 0x1 | | | 0x1 |
− | | ? | + | | Hdcp |
| |- | | |- |
| | 0x30F8 | | | 0x30F8 |
Line 136: |
Line 138: |
| | 0x3100 | | | 0x3100 |
| | 0x41 | | | 0x41 |
− | | [[BCAT_Content_Container|BcatPassphrase]], all-zero when unused. | + | | [[BCAT_Content_Container|BcatPassphrase]] (all-zero when unused) |
| |- | | |- |
| | 0x3141 | | | 0x3141 |
| | 0x1 | | | 0x1 |
− | | ? | + | | StartupUserAccountOption |
| |- | | |- |
| | 0x3142 | | | 0x3142 |
| | 0x6 | | | 0x6 |
− | | ? | + | | ReservedForUserAccountSaveDataOperation |
| |- | | |- |
| | 0x3148 | | | 0x3148 |
| | 0x8 | | | 0x8 |
− | | ? | + | | UserAccountSaveDataMaxSize |
| |- | | |- |
| | 0x3150 | | | 0x3150 |
| | 0x8 | | | 0x8 |
− | | ? | + | | UserAccountSaveDataMaxJournalSize |
| |- | | |- |
| | 0x3158 | | | 0x3158 |
| | 0x8 | | | 0x8 |
− | | ? | + | | DeviceSaveDataMaxSize |
| |- | | |- |
| | 0x3160 | | | 0x3160 |
| | 0x8 | | | 0x8 |
− | | ? | + | | DeviceSaveDataMaxJournalSize |
| |- | | |- |
| | 0x3168 | | | 0x3168 |
| | 0x8 | | | 0x8 |
− | | ? | + | | TemporaryStorageSize |
| |- | | |- |
| | 0x3170 | | | 0x3170 |
| | 0x8 | | | 0x8 |
− | | ? | + | | CacheStorageSize |
| |- | | |- |
| | 0x3178 | | | 0x3178 |
| | 0x8 | | | 0x8 |
− | | ? | + | | CacheStorageJournalSize |
| |- | | |- |
| | 0x3180 | | | 0x3180 |
− | | 0xE80 | + | | 0x8 |
− | | ? | + | | CacheStorageMaxSizeAndMaxJournalSize |
| + | |- |
| + | | 0x3188 |
| + | | 0x8 |
| + | | CacheStorageMaxIndex |
| + | |- |
| + | | 0x3190 |
| + | | 0x80 (0x8*0x10) |
| + | | PlayLogQueryableApplicationId |
| + | |- |
| + | | 0x3210 |
| + | | 0x1 |
| + | | PlayLogQueryCapability |
| + | |- |
| + | | 0x3211 |
| + | | 0x1 |
| + | | RepairFlag |
| + | |- |
| + | | 0x3212 |
| + | | 0x1 |
| + | | ProgramIndex |
| + | |- |
| + | | 0x3213 |
| + | | 0x1 |
| + | | RequiredNetworkServiceLicenseOnLaunchFlag |
| + | |- |
| + | | 0x3214 |
| + | | 0x4 |
| + | | Reserved |
| + | |- |
| + | | 0x3218 |
| + | | 0x18 |
| + | | [[#SendDataConfiguration/ReceivableDataConfiguration Entry|SendDataConfiguration]] |
| + | |- |
| + | | 0x3230 |
| + | | 0x180 (0x18 * 0x10) |
| + | | [[#SendDataConfiguration/ReceivableDataConfiguration Entry|ReceivableDataConfigurations]] |
| + | |- |
| + | | 0x33B0 |
| + | | 0x8 |
| + | | JitConfigurationFlag |
| + | |- |
| + | | 0x33B8 |
| + | | 0x8 |
| + | | MemorySize |
| + | |- |
| + | | 0x33C0 |
| + | | 0xC40 |
| + | | Reserved |
| |} | | |} |
| | | |
Line 229: |
Line 279: |
| | 12 || "Korean" | | | 12 || "Korean" |
| |- | | |- |
− | | 13 || "Taiwanese" | + | | 13 || "TraditionalChinese" |
| |- | | |- |
− | | 14 || "Chinese" | + | | 14 || "SimplifiedChinese" |
| |} | | |} |
| | | |
Line 237: |
Line 287: |
| | | |
| == VideoCaptureMode == | | == VideoCaptureMode == |
− |
| |
| This is the enum used to determine how gameplay recording can occur, if at all. | | This is the enum used to determine how gameplay recording can occur, if at all. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Enum Value || Meaning | + | ! Value || Meaning |
| |- | | |- |
| | 0 || Disabled | | | 0 || Disabled |
Line 249: |
Line 298: |
| |- | | |- |
| | 2 || Automatic | | | 2 || Automatic |
| + | |} |
| + | |
| + | When this value is 0, gameplay cannot be recorded. When this value is 1, the game must manually sacrifice some of its heap as transfer memory for AM's IApplicationProxy->InitializeGamePlayRecording(). When this value is 2, AM will call NS->BoostSystemMemoryResourceSize(), and allocate the required memory for recording automatically without the usermode process having to do anything. |
| + | |
| + | == PlayLogPolicy == |
| + | [[Applet_Manager_services|AM]] passes [[Shared_Database_services#PlayLogPolicy|this]] to [[Shared_Database_services|pdm:ntfy]] cmd9. |
| + | |
| + | == PlayLogQueryCapability == |
| + | This is used with [[Applet_Manager_services|AM]] commands QueryApplicationPlayStatistics and QueryApplicationPlayStatisticsByUid, to verify whether querying the specified titleIDs are allowed. When not allowed, error 0x3E880 is returned. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Value || Meaning || Description |
| + | |- |
| + | | 0 || None || The specified titleIDs must match the user-process titleID. |
| + | |- |
| + | | 1 || WhiteList || The specified titleIDs must match the user-process titleID, or one of the titleIDs from PlayLogQueryableApplicationId. |
| |- | | |- |
| + | | 2 || All || All titleIDs are allowed. |
| |} | | |} |
| | | |
− | When this value is 0, gameplay cannot be recorded. When this value is 1, the game must manually sacrifice some of its heap as transfer memory for AM's IApplicationProxy->InitializeGamePlayRecording(). When this value is 2, AM will call NS->BoostSystemMemoryResourceSize(), and allocate the required memory for recording automatically without the usermode process having to do anything.
| + | == SendDataConfiguration/ReceivableDataConfiguration Entry == |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | Id |
| + | |- |
| + | | 0x8 |
| + | | 0x10 |
| + | | Key |
| + | |} |