Changes

Jump to navigation Jump to search
2,383 bytes added ,  21:31, 20 May 2019
Line 1: Line 1: −
Roughly equivalent to non-gfx areas of 3DS SMDH. Also includes a string for the display-version of this title. All strings for language-entries are UTF-8, unlike SMDH which uses UTF-16.
+
This is '''control.nacp'''.
 +
 
 +
Roughly equivalent to non-gfx areas of 3DS SMDH. All strings for language-entries are UTF-8, unlike SMDH which uses UTF-16.
    
Total size is 0x4000-bytes.
 
Total size is 0x4000-bytes.
   −
=Structure=
+
= Structure =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 11: Line 13:  
|-
 
|-
 
| 0x0
 
| 0x0
| 0x2400
+
| 0x3000 (0x300*0x10)
| Language entries
+
| [[#Title Entry|Title entries]]
 +
|-
 +
| 0x3000
 +
| 0x25
 +
| Isbn
 
|-
 
|-
| 0x2400
+
| 0x3025
| 0xC00
+
| 0x1
| Normally all-zero? Maybe more language entries?
+
| StartupUserAccount
 
|-
 
|-
| 0x3000
+
| 0x3026
| 0x24
+
| 0x1
| Zeros?
+
| UserAccountSwitchLock
 
|-
 
|-
| 0x3024
+
| 0x3027
| 0x4
+
| 0x1
| ?
+
| AddOnContentRegistrationType
 
|-
 
|-
 
| 0x3028
 
| 0x3028
 
| 0x4
 
| 0x4
| ?
+
| ApplicationAttribute
 
|-
 
|-
 
| 0x302C
 
| 0x302C
 
| 0x4
 
| 0x4
| ?
+
| SupportedLanguages
 
|-
 
|-
 
| 0x3030
 
| 0x3030
 
| 0x4
 
| 0x4
| ?
+
| ParentalControl
 
|-
 
|-
 
| 0x3034
 
| 0x3034
| 0x4
+
| 0x1
| ?
+
| Screenshot
 +
|-
 +
| 0x3035
 +
| 0x1
 +
| [[#VideoCaptureMode]]
 +
|-
 +
| 0x3036
 +
| 0x1
 +
| DataLossConfirmation
 +
|-
 +
| 0x3037
 +
| 0x1
 +
| PlayLogPolicy
 
|-
 
|-
 
| 0x3038
 
| 0x3038
 
| 0x8
 
| 0x8
| Application titleID
+
| PresenceGroupId
 
|-
 
|-
 
| 0x3040
 
| 0x3040
 
| 0x20
 
| 0x20
| ?
+
| RatingAge
 
|-
 
|-
 
| 0x3060
 
| 0x3060
 
| 0x10
 
| 0x10
| Application version string, encoding unknown.
+
| DisplayVersion
 
|-
 
|-
 
| 0x3070
 
| 0x3070
 
| 0x8
 
| 0x8
| Base titleID for DLC, set even when DLC is not used. Usually app_titleID+0x1000?
+
| AddOnContentBaseId
 
|-
 
|-
 
| 0x3078
 
| 0x3078
 
| 0x8
 
| 0x8
| Application titleID
+
| SaveDataOwnerId
 
|-
 
|-
 
| 0x3080
 
| 0x3080
| 0x4
+
| 0x8
| ?
+
| UserAccountSaveDataSize
 +
|-
 +
| 0x3088
 +
| 0x8
 +
| UserAccountSaveDataJournalSize
 
|-
 
|-
| 0x3084
+
| 0x3090
| 0x4
+
| 0x8
| ?
+
| DeviceSaveDataSize
 
|-
 
|-
| 0x3088
+
| 0x3098
| 0x4
+
| 0x8
| ?
+
| DeviceSaveDataJournalSize
 
|-
 
|-
| 0x308C
+
| 0x30A0
| 0x24
+
| 0x8
| Zeros?
+
| BcatDeliveryCacheStorageSize
 
|-
 
|-
| 0x30B0
+
| 0x30A8
 
| 0x8
 
| 0x8
| Application titleID
+
| ApplicationErrorCodeCategory
 
|-
 
|-
| 0x30B8
+
| 0x30B0
| 0x38 (0x8*0x7)
+
| 0x40 (0x8*0x8)
| Array of application titleIDs, normally the same as the above app-titleIDs. Only set for game-updates?
+
| LocalCommunicationIds
 
|-
 
|-
 
| 0x30F0
 
| 0x30F0
| 0x4
+
| 0x1
| ?
+
| LogoType
 +
|-
 +
| 0x30F1
 +
| 0x1
 +
| LogoHandling
 +
|-
 +
| 0x30F2
 +
| 0x1
 +
| RuntimeAddOnContentInstall
 +
|-
 +
| 0x30F3
 +
| 0x3
 +
| Reserved
 +
|-
 +
| 0x30F6
 +
| 0x1
 +
| CrashReport
 
|-
 
|-
| 0x30F4
+
| 0x30F7
| 0x4
+
| 0x1
| ?
+
| Hdcp
 
|-
 
|-
 
| 0x30F8
 
| 0x30F8
 
| 0x8
 
| 0x8
| Application titleID. Only set for game-updates?
+
| SeedForPseudoDeviceId
 
|-
 
|-
 
| 0x3100
 
| 0x3100
| 0x40
+
| 0x41
| [[BCAT_Content_Container|BCAT]] passphrase, all-zero when unused.
+
| [[BCAT_Content_Container|BcatPassphrase]] (all-zero when unused)
 +
|-
 +
| 0x3141
 +
| 0x1
 +
| Reserved
 +
|-
 +
| 0x3142
 +
| 0x6
 +
| Reserved
 +
|-
 +
| 0x3148
 +
| 0x8
 +
| UserAccountSaveDataMaxSize
 +
|-
 +
| 0x3150
 +
| 0x8
 +
| UserAccountSaveDataMaxJournalSize
 +
|-
 +
| 0x3158
 +
| 0x8
 +
| DeviceSaveDataMaxSize
 +
|-
 +
| 0x3160
 +
| 0x8
 +
| DeviceSaveDataMaxJournalSize
 +
|-
 +
| 0x3168
 +
| 0x8
 +
| TemporaryStorageSize
 +
|-
 +
| 0x3170
 +
| 0x8
 +
| CacheStorageSize
 +
|-
 +
| 0x3178
 +
| 0x8
 +
| CacheStorageJournalSize
 +
|-
 +
| 0x3180
 +
| 0x8
 +
| CacheStorageMaxSizeAndMaxJournalSize
 
|-
 
|-
| 0x3140
+
| 0x3188
| 0xEC0
+
| 0x8
| Normally all-zero?
+
| CacheStorageMaxIndex
 +
|-
 +
| 0x3190
 +
| 0x80 (0x10*0x8)
 +
| PlayLogQueryableApplicationId
 +
|-
 +
| 0x3210
 +
| 0x1
 +
| PlayLogQueryCapability
 +
|-
 +
| 0x3211
 +
| 0x1
 +
| RepairFlag
 +
|-
 +
| 0x3212
 +
| 0x1
 +
| ProgramIndex
 +
|-
 +
| 0x3213
 +
| 0x1
 +
| RequiredNetworkServiceLicenseOnLaunchFlag
 +
|-
 +
| 0x3214
 +
| 0xDEC
 +
| Reserved
 
|}
 
|}
   −
==Language Entry==
+
== Title Entry ==
 
Total size is 0x300-bytes.
 
Total size is 0x300-bytes.
   Line 118: Line 220:  
| 0x0
 
| 0x0
 
| 0x200
 
| 0x200
| Application name string
+
| Application name strings
 
|-
 
|-
 
| 0x200
 
| 0x200
 
| 0x100
 
| 0x100
| Application developer string
+
| Application publisher strings
 +
|}
 +
 
 +
Entry index for each [[Settings_services#LanguageCode|language]]:
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Entry-index || Icon [[NCA_Content_FS#FS-type3|language]] filename
 +
|-
 +
| 0 || "AmericanEnglish"
 +
|-
 +
| 1 || "BritishEnglish"
 +
|-
 +
| 2 || "Japanese"
 +
|-
 +
| 3 || "French"
 +
|-
 +
| 4 || "German"
 +
|-
 +
| 5 || "LatinAmericanSpanish"
 +
|-
 +
| 6 || "Spanish"
 +
|-
 +
| 7 || "Italian"
 +
|-
 +
| 8 || "Dutch"
 +
|-
 +
| 9 || "CanadianFrench"
 +
|-
 +
| 10 || "Portuguese"
 +
|-
 +
| 11 || "Russian"
 +
|-
 +
| 12 || "Korean"
 +
|-
 +
| 13 || "TraditionalChinese"
 +
|-
 +
| 14 || "SimplifiedChinese"
 
|}
 
|}
 +
 +
Official apps tend to have the title entries' strings set only to English. Some apps don't have certain title entries set at all. In addition, official apps usually (?) don't have the following title entries set: Korean, Taiwanese, and Chinese.
 +
 +
== VideoCaptureMode ==
 +
This is the enum used to determine how gameplay recording can occur, if at all.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value || Meaning
 +
|-
 +
| 0 || Disabled
 +
|-
 +
| 1 || Enabled
 +
|-
 +
| 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.
4

edits

Navigation menu