Settings services: Difference between revisions

No edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 96: Line 96:
|-
|-
| 23 || [9.0.0+] SetMemoryUsageRateFlag
| 23 || [9.0.0+] SetMemoryUsageRateFlag
|-
| 24 || [20.0.0+] CommitSettings
|-
| 27 || [21.0.0+] SetHttpAuthConfigs
|}
|}


Line 366: Line 370:
| 2 || GetNetworkSettings
| 2 || GetNetworkSettings
|-
|-
| 3 || [[#GetFirmwareVersion]]
| 3 || [S1] [[#GetFirmwareVersion]]
|-
|-
| 4 || [3.0.0+] GetFirmwareVersion2
| 4 || [3.0.0+] GetFirmwareVersion2
|-
|-
| 5 || [5.0.0+] GetFirmwareVersionDigest
| 5 || [S1] [5.0.0+] GetFirmwareVersionDigest
|-
|-
| 7 || GetLockScreenFlag
| 7 || GetLockScreenFlag
Line 380: Line 384:
| 10 || SetBacklightSettings
| 10 || SetBacklightSettings
|-
|-
| 11 || SetBluetoothDevicesSettings
| 11 || [S1] SetBluetoothDevicesSettings
|-
|-
| 12 || GetBluetoothDevicesSettings
| 12 || [S1] GetBluetoothDevicesSettings
|-
|-
| 13 || GetExternalSteadyClockSourceId
| 13 || GetExternalSteadyClockSourceId
Line 408: Line 412:
| 24 || [[#SetColorSetId]]
| 24 || [[#SetColorSetId]]
|-
|-
| 25 || GetConsoleInformationUploadFlag
| 25 || [S1] GetConsoleInformationUploadFlag
|-
|-
| 26 || SetConsoleInformationUploadFlag
| 26 || [S1] SetConsoleInformationUploadFlag
|-
|-
| 27 || GetAutomaticApplicationDownloadFlag
| 27 || [S1] GetAutomaticApplicationDownloadFlag
|-
|-
| 28 || SetAutomaticApplicationDownloadFlag
| 28 || [S1] SetAutomaticApplicationDownloadFlag
|-
|-
| 29 || [[#GetNotificationSettings]]
| 29 || [[#GetNotificationSettings]]
Line 452: Line 456:
| 48 || SetQuestFlag
| 48 || SetQuestFlag
|-
|-
| 49 || [[#GetDataDeletionSettings]]
| 49 || [S1] [[#GetDataDeletionSettings]]
|-
|-
| 50 || [[#SetDataDeletionSettings]]
| 50 || [S1] [[#SetDataDeletionSettings]]
|-
|-
| 51 || GetInitialSystemAppletProgramId
| 51 || [S1] GetInitialSystemAppletProgramId
|-
|-
| 52 || GetOverlayDispProgramId
| 52 || [S1] GetOverlayDispProgramId
|-
|-
| 53 || GetDeviceTimeZoneLocationName
| 53 || GetDeviceTimeZoneLocationName
Line 464: Line 468:
| 54 || SetDeviceTimeZoneLocationName
| 54 || SetDeviceTimeZoneLocationName
|-
|-
| 55 || [[#GetWirelessCertificationFileSize]]
| 55 || [S1] [[#GetWirelessCertificationFileSize]]
|-
|-
| 56 || [[#GetWirelessCertificationFile]]
| 56 || [S1] [[#GetWirelessCertificationFile]]
|-
|-
| 57 || [[#SetRegionCode]]
| 57 || [[#SetRegionCode]]
Line 484: Line 488:
| 64 || [[#SetPrimaryAlbumStorage]]
| 64 || [[#SetPrimaryAlbumStorage]]
|-
|-
| 65 || GetUsb30EnableFlag
| 65 || [S1] GetUsb30EnableFlag
|-
|-
| 66 || SetUsb30EnableFlag
| 66 || [S1] SetUsb30EnableFlag
|-
|-
| 67 || [[#GetBatteryLot]]
| 67 || [[#GetBatteryLot]]
Line 504: Line 508:
| 74 || SetWirelessLanEnableFlag
| 74 || SetWirelessLanEnableFlag
|-
|-
| 75 || [[#GetInitialLaunchSettings]]
| 75 || [S1] [[#GetInitialLaunchSettings]]
|-
|-
| 76 || [[#SetInitialLaunchSettings]]
| 76 || [S1] [[#SetInitialLaunchSettings]]
|-
|-
| 77 || [[#GetDeviceNickName]]
| 77 || [[#GetDeviceNickName]]
Line 514: Line 518:
| 79 || [[#GetProductModel]]
| 79 || [[#GetProductModel]]
|-
|-
| 80 || GetLdnChannel
| 80 || [S1] GetLdnChannel
|-
|-
| 81 || SetLdnChannel
| 81 || [S1] SetLdnChannel
|-
|-
| 82 || AcquireTelemetryDirtyFlagEventHandle
| 82 || AcquireTelemetryDirtyFlagEventHandle
Line 548: Line 552:
| 96 || [2.0.0+] SetAutoUpdateEnableFlag
| 96 || [2.0.0+] SetAutoUpdateEnableFlag
|-
|-
| 97 || [2.0.0+] GetNxControllerSettings
| 97 || [S1] [2.0.0+] GetNxControllerSettings
|-
|-
| 98 || [2.0.0+] SetNxControllerSettings
| 98 || [S1] [2.0.0+] SetNxControllerSettings
|-
|-
| 99 || [2.0.0+] GetBatteryPercentageFlag
| 99 || [2.0.0+] GetBatteryPercentageFlag
Line 556: Line 560:
| 100 || [2.0.0+] SetBatteryPercentageFlag
| 100 || [2.0.0+] SetBatteryPercentageFlag
|-
|-
| 101 || [2.0.0+] GetExternalRtcResetFlag
| 101 || [S1] [2.0.0+] GetExternalRtcResetFlag
|-
|-
| 102 || [2.0.0+] SetExternalRtcResetFlag
| 102 || [S1] [2.0.0+] SetExternalRtcResetFlag
|-
|-
| 103 || [3.0.0+] GetUsbFullKeyEnableFlag
| 103 || [3.0.0+] GetUsbFullKeyEnableFlag
Line 576: Line 580:
| 110 || [3.0.0+] SetHeadphoneVolumeWarningCount
| 110 || [3.0.0+] SetHeadphoneVolumeWarningCount
|-
|-
| 111 || [3.0.0+] GetBluetoothAfhEnableFlag
| 111 || [S1] [3.0.0+] GetBluetoothAfhEnableFlag
|-
|-
| 112 || [3.0.0+] SetBluetoothAfhEnableFlag
| 112 || [S1] [3.0.0+] SetBluetoothAfhEnableFlag
|-
|-
| 113 || [3.0.0+] GetBluetoothBoostEnableFlag
| 113 || [S1] [3.0.0+] GetBluetoothBoostEnableFlag
|-
|-
| 114 || [3.0.0+] SetBluetoothBoostEnableFlag
| 114 || [S1] [3.0.0+] SetBluetoothBoostEnableFlag
|-
|-
| 115 || [3.0.0+] GetInRepairProcessEnableFlag
| 115 || [3.0.0+] GetInRepairProcessEnableFlag
Line 588: Line 592:
| 116 || [3.0.0+] SetInRepairProcessEnableFlag
| 116 || [3.0.0+] SetInRepairProcessEnableFlag
|-
|-
| 117 || [3.0.0+] GetHeadphoneVolumeUpdateFlag
| 117 || [S1] [3.0.0+] GetHeadphoneVolumeUpdateFlag
|-
|-
| 118 || [3.0.0+] SetHeadphoneVolumeUpdateFlag
| 118 || [S1] [3.0.0+] SetHeadphoneVolumeUpdateFlag
|-
|-
| 119 || [3.0.0-14.1.2] NeedsToUpdateHeadphoneVolume
| 119 || [3.0.0-14.1.2] NeedsToUpdateHeadphoneVolume
Line 610: Line 614:
| 127 || [4.0.0+] [[#SetAppletLaunchFlags]]
| 127 || [4.0.0+] [[#SetAppletLaunchFlags]]
|-
|-
| 128 || [4.0.0+] GetConsoleSixAxisSensorAccelerationBias
| 128 || [S1] [4.0.0+] GetConsoleSixAxisSensorAccelerationBias
|-
|-
| 129 || [4.0.0+] SetConsoleSixAxisSensorAccelerationBias
| 129 || [S1] [4.0.0+] SetConsoleSixAxisSensorAccelerationBias
|-
|-
| 130 || [4.0.0+] GetConsoleSixAxisSensorAngularVelocityBias
| 130 || [S1] [4.0.0+] GetConsoleSixAxisSensorAngularVelocityBias
|-
|-
| 131 || [4.0.0+] SetConsoleSixAxisSensorAngularVelocityBias
| 131 || [S1] [4.0.0+] SetConsoleSixAxisSensorAngularVelocityBias
|-
|-
| 132 || [4.0.0+] GetConsoleSixAxisSensorAccelerationGain
| 132 || [S1] [4.0.0+] GetConsoleSixAxisSensorAccelerationGain
|-
|-
| 133 || [4.0.0+] SetConsoleSixAxisSensorAccelerationGain
| 133 || [S1] [4.0.0+] SetConsoleSixAxisSensorAccelerationGain
|-
|-
| 134 || [4.0.0+] GetConsoleSixAxisSensorAngularVelocityGain
| 134 || [S1] [4.0.0+] GetConsoleSixAxisSensorAngularVelocityGain
|-
|-
| 135 || [4.0.0+] SetConsoleSixAxisSensorAngularVelocityGain
| 135 || [S1] [4.0.0+] SetConsoleSixAxisSensorAngularVelocityGain
|-
|-
| 136 || [4.0.0+] [[#GetKeyboardLayout]]
| 136 || [4.0.0+] [[#GetKeyboardLayout]]
Line 640: Line 644:
| 142 || [5.0.0+] SetRequiresRunRepairTimeReviser
| 142 || [5.0.0+] SetRequiresRunRepairTimeReviser
|-
|-
| 143 || [5.0.0+] SetBlePairingSettings
| 143 || [S1] [5.0.0+] SetBlePairingSettings
|-
|-
| 144 || [5.0.0+] GetBlePairingSettings
| 144 || [S1] [5.0.0+] GetBlePairingSettings
|-
|-
| 145 || [5.0.0+] GetConsoleSixAxisSensorAngularVelocityTimeBias
| 145 || [S1] [5.0.0+] GetConsoleSixAxisSensorAngularVelocityTimeBias
|-
|-
| 146 || [5.0.0+] SetConsoleSixAxisSensorAngularVelocityTimeBias
| 146 || [S1] [5.0.0+] SetConsoleSixAxisSensorAngularVelocityTimeBias
|-
|-
| 147 || [5.0.0+] GetConsoleSixAxisSensorAngularAcceleration
| 147 || [S1] [5.0.0+] GetConsoleSixAxisSensorAngularAcceleration
|-
|-
| 148 || [5.0.0+] SetConsoleSixAxisSensorAngularAcceleration
| 148 || [S1] [5.0.0+] SetConsoleSixAxisSensorAngularAcceleration
|-
|-
| 149 || [5.0.0+] [[#GetRebootlessSystemUpdateVersion]]
| 149 || [5.0.0+] [[#GetRebootlessSystemUpdateVersion]]
Line 662: Line 666:
| 153 || [6.0.0+] SetUserSystemClockAutomaticCorrectionUpdatedTime
| 153 || [6.0.0+] SetUserSystemClockAutomaticCorrectionUpdatedTime
|-
|-
| 154 || [6.0.0+] GetAccountOnlineStorageSettings
| 154 || [S1] [6.0.0+] GetAccountOnlineStorageSettings
|-
|-
| 155 || [6.0.0+] SetAccountOnlineStorageSettings
| 155 || [S1] [6.0.0+] SetAccountOnlineStorageSettings
|-
|-
| 156 || [6.0.0+] GetPctlReadyFlag
| 156 || [S1] [6.0.0+] GetPctlReadyFlag
|-
|-
| 157 || [6.0.0+] SetPctlReadyFlag
| 157 || [S1] [6.0.0+] SetPctlReadyFlag
|-
|-
| 158 || [8.1.1+] GetAnalogStickUserCalibrationL
| 158 || [S1] [8.1.1+] GetAnalogStickUserCalibrationL
|-
|-
| 159 || [8.1.1+] SetAnalogStickUserCalibrationL
| 159 || [S1] [8.1.1+] SetAnalogStickUserCalibrationL
|-
|-
| 160 || [8.1.1+] GetAnalogStickUserCalibrationR
| 160 || [S1] [8.1.1+] GetAnalogStickUserCalibrationR
|-
|-
| 161 || [8.1.1+] SetAnalogStickUserCalibrationR
| 161 || [S1] [8.1.1+] SetAnalogStickUserCalibrationR
|-
|-
| 162 || [6.0.0+] GetPtmBatteryVersion
| 162 || [6.0.0+] GetPtmBatteryVersion
Line 690: Line 694:
| 167 || [6.0.0+] SetUsb30DeviceEnableFlag
| 167 || [6.0.0+] SetUsb30DeviceEnableFlag
|-
|-
| 168 || [7.0.0+] GetThemeId
| 168 || [S1] [7.0.0+] GetThemeId
|-
|-
| 169 || [7.0.0+] SetThemeId
| 169 || [S1] [7.0.0+] SetThemeId
|-
|-
| 170 || [7.0.0+] [[#GetChineseTraditionalInputMethod]]
| 170 || [7.0.0+] [[#GetChineseTraditionalInputMethod]]
Line 704: Line 708:
| 174 || [8.1.1+] [[#GetHomeMenuScheme]]
| 174 || [8.1.1+] [[#GetHomeMenuScheme]]
|-
|-
| 175 || [7.0.0+] GetThemeSettings
| 175 || [S1] [7.0.0+] GetThemeSettings
|-
|-
| 176 || [7.0.0+] SetThemeSettings
| 176 || [S1] [7.0.0+] SetThemeSettings
|-
|-
| 177 || [7.0.0+] GetThemeKey
| 177 || [S1] [7.0.0+] GetThemeKey
|-
|-
| 178 || [7.0.0+] SetThemeKey
| 178 || [S1] [7.0.0+] SetThemeKey
|-
|-
| 179 || [8.0.0+] GetZoomFlag
| 179 || [8.0.0+] GetZoomFlag
Line 716: Line 720:
| 180 || [8.0.0+] SetZoomFlag
| 180 || [8.0.0+] SetZoomFlag
|-
|-
| 181 || [8.0.0+] [[#GetT]]
| 181 || [S1] [8.0.0+] [[#GetT]]
|-
|-
| 182 || [8.0.0+] [[#SetT]]
| 182 || [S1] [8.0.0+] [[#SetT]]
|-
|-
| 183 || [9.0.0+] [[#GetPlatformRegion]]
| 183 || [9.0.0+] [[#GetPlatformRegion]]
Line 728: Line 732:
| 186 || [9.0.0+] [[#GetMemoryUsageRateFlag]]
| 186 || [9.0.0+] [[#GetMemoryUsageRateFlag]]
|-
|-
| 187 || [9.0.0+] [[#GetTouchScreenMode]]
| 187 || [S1] [9.0.0+] [[#GetTouchScreenMode]]
|-
|-
| 188 || [9.0.0+] [[#SetTouchScreenMode]]
| 188 || [S1] [9.0.0+] [[#SetTouchScreenMode]]
|-
|-
| 189 || [10.0.0+] [[#GetButtonConfigSettingsFull]]
| 189 || [S1] [10.0.0+] [[#GetButtonConfigSettingsFull]]
|-
|-
| 190 || [10.0.0+] [[#SetButtonConfigSettingsFull]]
| 190 || [S1] [10.0.0+] [[#SetButtonConfigSettingsFull]]
|-
|-
| 191 || [10.0.0+] [[#GetButtonConfigSettingsEmbedded]]
| 191 || [S1] [10.0.0+] [[#GetButtonConfigSettingsEmbedded]]
|-
|-
| 192 || [10.0.0+] [[#SetButtonConfigSettingsEmbedded]]
| 192 || [S1] [10.0.0+] [[#SetButtonConfigSettingsEmbedded]]
|-
|-
| 193 || [10.0.0+] [[#GetButtonConfigSettingsLeft]]
| 193 || [S1] [10.0.0+] [[#GetButtonConfigSettingsLeft]]
|-
|-
| 194 || [10.0.0+] [[#SetButtonConfigSettingsLeft]]
| 194 || [S1] [10.0.0+] [[#SetButtonConfigSettingsLeft]]
|-
|-
| 195 || [10.0.0+] [[#GetButtonConfigSettingsRight]]
| 195 || [S1] [10.0.0+] [[#GetButtonConfigSettingsRight]]
|-
|-
| 196 || [10.0.0+] [[#SetButtonConfigSettingsRight]]
| 196 || [S1] [10.0.0+] [[#SetButtonConfigSettingsRight]]
|-
|-
| 197 || [10.0.0+] [[#GetButtonConfigRegisteredSettingsEmbedded]]
| 197 || [S1] [10.0.0+] [[#GetButtonConfigRegisteredSettingsEmbedded]]
|-
|-
| 198 || [10.0.0+] [[#SetButtonConfigRegisteredSettingsEmbedded]]
| 198 || [S1] [10.0.0+] [[#SetButtonConfigRegisteredSettingsEmbedded]]
|-
|-
| 199 || [10.0.0+] [[#GetButtonConfigRegisteredSettings]]
| 199 || [S1] [10.0.0+] [[#GetButtonConfigRegisteredSettings]]
|-
|-
| 200 || [10.0.0+] [[#SetButtonConfigRegisteredSettings]]
| 200 || [S1] [10.0.0+] [[#SetButtonConfigRegisteredSettings]]
|-
|-
| 201 || [10.1.0+] [[#GetFieldTestingFlag]]
| 201 || [10.1.0+] [[#GetFieldTestingFlag]]
Line 764: Line 768:
| 204 || [11.0.0+] SetPanelCrcMode
| 204 || [11.0.0+] SetPanelCrcMode
|-
|-
| 205 || [13.0.0+] GetNxControllerSettingsEx
| 205 || [S1] [13.0.0+] GetNxControllerSettingsEx
|-
| 206 || [S1] [13.0.0+] SetNxControllerSettingsEx
|-
| 207 || [S1] [14.0.0+] GetHearingProtectionSafeguardFlag
|-
| 208 || [S1] [14.0.0+] SetHearingProtectionSafeguardFlag
|-
| 209 || [S1] [14.0.0+] GetHearingProtectionSafeguardRemainingTime
|-
| 210 || [S1] [14.0.0+] SetHearingProtectionSafeguardRemainingTime
|-
|-
| 206 || [13.0.0+] SetNxControllerSettingsEx
| 211 || [S2]
|-
|-
| 207 || [14.0.0+] GetHearingProtectionSafeguardFlag
| 212 || [S2]
|-
|-
| 208 || [14.0.0+] SetHearingProtectionSafeguardFlag
| 213 || [S2]
|-
|-
| 209 || [14.0.0+] GetHearingProtectionSafeguardRemainingTime
| 214 || [S2]
|-
|-
| 210 || [14.0.0+] SetHearingProtectionSafeguardRemainingTime
| 215 || [S2]
|-
| 216 || [S2]
|-
| 217 || [S2]
|-
| 218 || [S2]
|-
| 219 || [S2]
|-
| 220 || [S2]
|-
|-
| 221 || [17.0.0+] GetForceMonauralOutputFlag
| 221 || [17.0.0+] GetForceMonauralOutputFlag
Line 780: Line 804:
| 222 || [17.0.0+] SetForceMonauralOutputFlag
| 222 || [17.0.0+] SetForceMonauralOutputFlag
|-
|-
| 251 || [18.0.0+] GetAccountIdentificationSettings
| 223 || [S2]
|-
| 224 || [S2]
|-
| 225 || [S2]
|-
| 226 || [S2]
|-
| 227 || [S2]
|-
| 228 || [S2]
|-
| 229 || [S2]
|-
| 230 || [S2]
|-
| 235 || [S2]
|-
| 236 || [S2]
|-
|-
| 252 || [18.0.0+] SetAccountIdentificationSettings
| 237 || [S2]
|}
|-
 
| 238 || [S2]
Official user-processes gets a new service session handle each time a set:sys cmd is used, with the session being closed afterwards.
|-
 
| 239 || [S2]
== SetLanguageCode ==
|-
Takes an input [[#LanguageCode]], no output.
| 240 || [S2]
 
|-
== GetFirmwareVersion ==
| 241 || [S2]
Takes a type-0x1A output buffer. User-processes use hard-coded size 0x100.
|-
 
| 242 || [S2]
If needed, reads the content of the [[System_Version_Title]] "/file" into state. This is only done once.
|-
 
| 243 || [S2]
Then the above 0x100-byte data is copied to the output buffer.
|-
 
| 244 || [S2]
== GetAccountSettings ==
|-
No input, returns an output [[#AccountSettings]].
| 245 || [S2]
 
|-
== SetAccountSettings ==
| 246 || [S2]
Takes an input [[#AccountSettings]], no output.
|-
 
| 247 || [S2]
== GetEulaVersions ==
|-
Takes a type-0x6 output buffer containing an array of [[#EulaVersion]], returns an output s32 total_out.
| 248 || [S2]
|-
| 249 || [S2]
|-
| 250 || [S2]
|-
| 251 || [18.0.0+] GetAccountIdentificationSettings
|-
| 252 || [18.0.0+] SetAccountIdentificationSettings
|-
| 253 || [S2]
|-
| 254 || [S2]
|-
| 255 || [S2]
|-
| 256 || [S2]
|-
| 257 || [S2]
|-
| 258 || [S2]
|-
| 259 || [S2]
|-
| 260 || [S2]
|-
| 261 || [S2]
|-
| 262 || [S2]
|-
| 263 || [20.0.0+] AcquireVphymDirtyFlagEventHandle
|-
| 264 || [20.0.0+] GetVphymDirtyFlags
|-
| 265 || [S2]
|-
| 266 || [S2]
|-
| 267 || [S2]
|-
| 268 || [S2]
|-
| 269 || [S2]
|-
| 270 || [S2]
|-
| 271 || [S2]
|-
| 272 || [S2]
|-
| 273 || [S2]
|-
| 274 || [S2]
|-
| 275 || [S2]
|-
| 276 || [S2]
|-
| 277 || [S2]
|-
| 278 || [S2]
|-
| 279 || [S2]
|-
| 280 || [S2]
|-
| 281 || [S2]
|-
| 282 || [20.0.0+] ConvertToProductModel
|-
| 283 || [20.0.0+] ConvertToProductModelName
|-
| 284 || [S2]
|-
| 285 || [S2]
|-
| 286 || [S2]
|-
| 287 || [S2]
|-
| 288 || [S2]
|-
| 289 || [20.0.0+] GetDefaultAccountIdentificationFlagSet
|-
| 290 || [S2]
|-
| 291 || [S2]
|-
| 292 || [S2]
|-
| 293 || [S2]
|-
| 294 || [S2]
|-
| 295 || [S2]
|-
| 296 || [S2]
|-
| 297 || [S2]
|-
| 298 || [S2]
|-
| 299 || [S2]
|-
| 300 || [20.0.0+] AcquirePushNotificationDirtyFlagEventHandle
|-
| 301 || [20.0.0+] GetPushNotificationDirtyFlags
|-
| 302 || [S2]
|-
| 303 || [S2]
|-
| 304 || [S2]
|-
| 305 || [S2]
|-
| 306 || [20.0.0+] GetPinCodeReregistrationGuideAccounts
|-
| 307 || [20.0.0+] SetPinCodeReregistrationGuideAccounts
|-
| 308 || [S2]
|-
| 309 || [S2]
|-
| 310 || [S2]
|-
| 311 || [S2]
|-
| 312 || [S2]
|-
| 315 || [21.0.0+] GetHttpAuthConfigs
|-
| 319 || [21.0.0+] GetAccountUserSettings
|-
| 320 || [21.0.0+] SetAccountUserSettings
|-
| 321 || [21.0.0+] GetDefaultAccountUserSettings
|}
 
Official user-processes gets a new service session handle each time a set:sys cmd is used, with the session being closed afterwards.
 
== SetLanguageCode ==
Takes an input [[#LanguageCode]], no output.
 
== GetFirmwareVersion ==
Takes a type-0x1A output buffer. User-processes use hard-coded size 0x100.
 
This was removed with S2.
 
If needed, reads the content of the [[System_Version_Title]] "/file" into state. This is only done once.
 
Then the above 0x100-byte data is copied to the output buffer.
 
== GetAccountSettings ==
No input, returns an output [[#AccountSettings]].
 
== SetAccountSettings ==
Takes an input [[#AccountSettings]], no output.
 
== GetEulaVersions ==
Takes a type-0x6 output buffer containing an array of [[#EulaVersion]], returns an output s32 total_out.
 
== SetEulaVersions ==
Takes a type-0x5 input buffer containing an array of [[#EulaVersion]], no output.
 
== GetColorSetId ==
No input, returns an output s32.
 
This is the current Theme set by System Settings.
 
* 0: "Basic White"
* 1: "Basic Black"
 
== SetColorSetId ==
Takes an input s32, no output.
 
== GetNotificationSettings ==
No input, returns an output [[#NotificationSettings]].
 
== SetNotificationSettings ==
Takes an input [[#NotificationSettings]], no output.
 
== GetAccountNotificationSettings ==
Takes a type-0x6 output buffer containing an array of [[#AccountNotificationSettings]], returns an output s32 total_out.
 
== SetAccountNotificationSettings ==
Takes a type-0x5 input buffer containing an array of [[#AccountNotificationSettings]], no output.
 
== GetSettingsItemValue ==
Takes two type-0x19 input buffers and a type-0x6 output buffer. Returns an output u64 for the actual size written to the outbuf.
 
The outbuf_size is compared with the config_size. When config_size is larger than outbuf_size, outbuf_size is used for the memcpy, otherwise config_size is used. Afterwards the size used for the memcpy is written to output(see above).
 
If loading from main config fails, it will also attempt to load config from various state if the input strings match hard-coded strings.
 
== GetTvSettings ==
No input, returns an output [[#TvSettings]].
 
== SetTvSettings ==
Takes an input [[#TvSettings]], no output.
 
== GetDebugModeFlag ==
Returns an output u8.
 
Loads the 1-byte config for <"settings_debug", "is_debug_mode_enabled">. If that fails, value 0x1 is written to output. This uses the same func as ReadSetting internally.
 
Returned retval is always 0.


== SetEulaVersions ==
== GetPrimaryAlbumStorage ==
Takes a type-0x5 input buffer containing an array of [[#EulaVersion]], no output.
No input, returns an output s32 [[#PrimaryAlbumStorage]].


== GetColorSetId ==
== SetPrimaryAlbumStorage ==
No input, returns an output s32.
Takes an input s32 [[#PrimaryAlbumStorage]], no output.


This is the current Theme set by System Settings.
== GetBatteryLot ==
No input, returns an output [[#BatteryLot]].


* 0: "Basic White"
== GetSerialNumber ==
* 1: "Basic Black"
Returns the 0x18-byte SerialNumber string.


== SetColorSetId ==
== GetSleepSettings ==
Takes an input s32, no output.
No input, returns an output [[#SleepSettings]].


== GetNotificationSettings ==
== SetSleepSettings ==
No input, returns an output [[#NotificationSettings]].
Takes an input [[#SleepSettings]], no output.


== SetNotificationSettings ==
== GetInitialLaunchSettings ==
Takes an input [[#NotificationSettings]], no output.
No input, returns an output [[#InitialLaunchSettings]].


== GetAccountNotificationSettings ==
== SetInitialLaunchSettings ==
Takes a type-0x6 output buffer containing an array of [[#AccountNotificationSettings]], returns an output s32 total_out.
Takes an input [[#InitialLaunchSettings]], no output.


== SetAccountNotificationSettings ==
== GetDeviceNickName ==
Takes a type-0x5 input buffer containing an array of [[#AccountNotificationSettings]], no output.
Takes a type-0x16 output buffer containing a [[#DeviceNickName]].


== GetSettingsItemValue ==
With [10.1.0+] sdknso now uses the set cmd instead of the setsys cmd.
Takes two type-0x19 input buffers and a type-0x6 output buffer. Returns an output u64 for the actual size written to the outbuf.


The outbuf_size is compared with the config_size. When config_size is larger than outbuf_size, outbuf_size is used for the memcpy, otherwise config_size is used. Afterwards the size used for the memcpy is written to output(see above).
== SetDeviceNickName ==
Takes a type-0x15 input buffer containing a [[#DeviceNickName]].


If loading from main config fails, it will also attempt to load config from various state if the input strings match hard-coded strings.
== GetProductModel ==
No input, returns an output s32.


== GetTvSettings ==
== GetMiiAuthorId ==
No input, returns an output [[#TvSettings]].
No input, returns an output "nn::util::Uuid".


== SetTvSettings ==
== GetServiceDiscoveryControlSettings ==
Takes an input [[#TvSettings]], no output.
Returns an u32 [[#ServiceDiscoveryControlSettings|ServiceDiscoveryControlSettings]].


== GetDebugModeFlag ==
== GetErrorReportSharePermission ==
Returns an output u8.
No input, returns an output s32 [[#ErrorReportSharePermission]].


Loads the 1-byte config for <"settings_debug", "is_debug_mode_enabled">. If that fails, value 0x1 is written to output. This uses the same func as ReadSetting internally.
== SetErrorReportSharePermission ==
Takes an input s32 [[#ErrorReportSharePermission]], no output.


Returned retval is always 0.
== GetAppletLaunchFlags ==
No input, returns an u32 bitmask [[#AppletLaunchFlag]].


== GetPrimaryAlbumStorage ==
== SetAppletLaunchFlags ==
No input, returns an output s32 [[#PrimaryAlbumStorage]].
Takes an input u32 bitmask [[#AppletLaunchFlag]], no output.


== SetPrimaryAlbumStorage ==
== GetKeyboardLayout ==
Takes an input s32 [[#PrimaryAlbumStorage]], no output.
No input, returns an output s32 [[#KeyboardLayout]].


== GetBatteryLot ==
== SetKeyboardLayout ==
No input, returns an output [[#BatteryLot]].
Takes an input s32 [[#KeyboardLayout]], no output.


== GetSerialNumber ==
== GetAllowedSslHosts ==
Returns the 0x18-byte SerialNumber string.
Takes a type-0x6 output buffer. Returns an output s32 entry count.


== GetSleepSettings ==
== GetRebootlessSystemUpdateVersion ==
No input, returns an output [[#SleepSettings]].
No input, returns an output [[#RebootlessSystemUpdateVersion]].


== SetSleepSettings ==
== GetQuestFlag ==
Takes an input [[#SleepSettings]], no output.
Gets a flag determining whether the console is a kiosk unit (codenamed "Quest"). Used by qlaunch to determine whether to launch Retail Interactive Display Menu.


== GetInitialLaunchSettings ==
== GetDataDeletionSettings ==
No input, returns an output [[#InitialLaunchSettings]].
No input, returns an output [[#DataDeletionSettings]].


== SetInitialLaunchSettings ==
== SetDataDeletionSettings ==
Takes an input [[#InitialLaunchSettings]], no output.
Takes an input [[#DataDeletionSettings]], no output.
 
== GetWirelessCertificationFileSize ==
No input, returns an output u64 size.


== GetDeviceNickName ==
== GetWirelessCertificationFile ==
Takes a type-0x16 output buffer containing a [[#DeviceNickName]].
Takes a type-0x6 output buffer, returns an output u64 size.


With [10.1.0+] sdknso now uses the set cmd instead of the setsys cmd.
This gets the [[Flash_Filesystem#PRODINFOF|WirelessCertificationFile]].


== SetDeviceNickName ==
== SetRegionCode ==
Takes a type-0x15 input buffer containing a [[#DeviceNickName]].
Takes an input s32 [[#RegionCode_2|RegionCode]], no output.


== GetProductModel ==
== GetChineseTraditionalInputMethod ==
No input, returns an output s32.
No input, returns an output s32 [[#ChineseTraditionalInputMethod]].


== GetMiiAuthorId ==
== SetChineseTraditionalInputMethod ==
No input, returns an output "nn::util::Uuid".
Takes an input s32 [[#ChineseTraditionalInputMethod]], no output.


== GetServiceDiscoveryControlSettings ==
== GetHomeMenuScheme ==
Returns an u32 [[#ServiceDiscoveryControlSettings|ServiceDiscoveryControlSettings]].
No input. Returns an output [[#HomeMenuScheme]].


== GetErrorReportSharePermission ==
The colors are loaded from [[Calibration]], with the set of fields to use selected by [[Calibration#ColorVariation|ColorVariation]].
No input, returns an output s32 [[#ErrorReportSharePermission]].


== SetErrorReportSharePermission ==
== GetT ==
Takes an input s32 [[#ErrorReportSharePermission]], no output.
No input, returns an output u8 bool '''IsT'''.


== GetAppletLaunchFlags ==
[9.0.0+] This is a wrapper for [[#GetPlatformRegion]]: <code>IsT = (PlatformRegion == 2)</code>.
No input, returns an u32 bitmask [[#AppletLaunchFlag]].


== SetAppletLaunchFlags ==
== SetT ==
Takes an input u32 bitmask [[#AppletLaunchFlag]], no output.
Takes an input u8 bool '''IsT''', no output.


== GetKeyboardLayout ==
[9.0.0+] This is a wrapper for [[#SetPlatformRegion]]: <code>PlatformRegion = 1 + (IsT & 1)</code>.
No input, returns an output s32 [[#KeyboardLayout]].


== SetKeyboardLayout ==
== GetPlatformRegion ==
Takes an input s32 [[#KeyboardLayout]], no output.
No input, returns an output s32.


== GetAllowedSslHosts ==
== SetPlatformRegion ==
Takes a type-0x6 output buffer, returns an output s32 entry count. This buffer contains an array of 0x100-byte "nn::settings::system::AllowedSslHost" entries.
Takes an input s32, no output.


== GetRebootlessSystemUpdateVersion ==
== GetHomeMenuSchemeModel ==
No input, returns an output [[#RebootlessSystemUpdateVersion]].
No input. Returns an output u32.


== GetQuestFlag ==
Loads the 0xB-byte setting <"settings_debug", "home_menu_scheme_model">, throwing an error if loading this fails. Depending on the content of the setting, the output u32 is either determined by the value of this setting, or loaded from [[Calibration#ColorModel|ColorModel]].
Gets a flag determining whether the console is a kiosk unit (codenamed "Quest"). Used by qlaunch to determine whether to launch Retail Interactive Display Menu.


== GetDataDeletionSettings ==
== GetMemoryUsageRateFlag ==
No input, returns an output [[#DataDeletionSettings]].
No input, returns an output u8 bool.


== SetDataDeletionSettings ==
== GetTouchScreenMode ==
Takes an input [[#DataDeletionSettings]], no output.
No input, returns an output s32.


== GetWirelessCertificationFileSize ==
Official sw loads the output as an u8 and copies it to an output [[#TouchScreenMode]].
No input, returns an output u64 size.


== GetWirelessCertificationFile ==
== SetTouchScreenMode ==
Takes a type-0x6 output buffer, returns an output u64 size.
Takes an input s32, no output.


This gets the [[Flash_Filesystem#PRODINFOF|WirelessCertificationFile]].
Official sw sets the input to an u8 loaded from an input [[#TouchScreenMode]].


== SetRegionCode ==
== GetButtonConfigSettingsFull ==
Takes an input s32 [[#RegionCode_2|RegionCode]], no output.
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.


== GetChineseTraditionalInputMethod ==
== SetButtonConfigSettingsFull ==
No input, returns an output s32 [[#ChineseTraditionalInputMethod]].
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.


== SetChineseTraditionalInputMethod ==
== GetButtonConfigSettingsEmbedded ==
Takes an input s32 [[#ChineseTraditionalInputMethod]], no output.
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.


== GetHomeMenuScheme ==
== SetButtonConfigSettingsEmbedded ==
No input, returns an output 0x14-byte struct "nn::settings::system::HomeMenuScheme".
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.


This struct contains 5 RGBA8 u32s for colors: '''Main''', '''Back''', '''Sub''', '''Bezel''' and '''Extra'''.
== GetButtonConfigSettingsLeft ==
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.


The colors are loaded from [[Calibration]], with the set of fields to use selected by ColorVariation. When ColorVariation is invalid (must be 1-4), the following fixed color values are returned: 0xFF323232, 0xFF323232, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF000000.
== SetButtonConfigSettingsLeft ==
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.
 
== GetButtonConfigSettingsRight ==
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.


== GetT ==
== SetButtonConfigSettingsRight ==
No input, returns an output u8 bool '''IsT'''.
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.


[9.0.0+] This is a wrapper for [[#GetPlatformRegion]]: <code>IsT = (PlatformRegion == 2)</code>.
== GetButtonConfigRegisteredSettingsEmbedded ==
Takes a type-0x16 output buffer containing a [[#ButtonConfigRegisteredSettings]], no output.


== SetT ==
== SetButtonConfigRegisteredSettingsEmbedded ==
Takes an input u8 bool '''IsT''', no output.
Takes a type-0x15 input buffer containing a [[#ButtonConfigRegisteredSettings]], no output.


[9.0.0+] This is a wrapper for [[#SetPlatformRegion]]: <code>PlatformRegion = 1 + (IsT & 1)</code>.
== GetButtonConfigRegisteredSettings ==
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigRegisteredSettings]], returns an output s32.


== GetPlatformRegion ==
== SetButtonConfigRegisteredSettings ==
No input, returns an output s32.
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigRegisteredSettings]], no output.


== SetPlatformRegion ==
== GetFieldTestingFlag ==
Takes an input s32, no output.
No input, returns an output bool.


== GetHomeMenuSchemeModel ==
== SetFieldTestingFlag ==
No input, returns an output u32.
Takes an input bool, no output.


Loads the 0xB-byte setting <"settings_debug", "home_menu_scheme_model">, throwing an error if loading this fails. Depending on the content of the setting, the output u32 is either determined by the value of this setting, or loaded from [[Calibration]].
== Cmd219 ==
This is exclusive to S2.


== GetMemoryUsageRateFlag ==
This is likely GetTextMagnificationRatio?
No input, returns an output u8 bool.


== GetTouchScreenMode ==
No input, returns an output float.
No input, returns an output s32.


Official sw loads the output as an u8 and copies it to an output [[#TouchScreenMode]].
= Language =
This is "nn::settings::Language".


== SetTouchScreenMode ==
{| class="wikitable" border="1"
Takes an input s32, no output.
|-
 
! Value
Official sw sets the input to an u8 loaded from an input [[#TouchScreenMode]].
! Description
 
|-
== GetButtonConfigSettingsFull ==
| 0 || Japanese
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.
|-
 
| 1 || AmericanEnglish
== SetButtonConfigSettingsFull ==
|-
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.
| 2 || French
 
|-
== GetButtonConfigSettingsEmbedded ==
| 3 || German
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.
|-
 
| 4 || Italian
== SetButtonConfigSettingsEmbedded ==
|-
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.
| 5 || Spanish
 
|-
== GetButtonConfigSettingsLeft ==
| 6 || Chinese
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.
|-
 
| 7 || Korean
== SetButtonConfigSettingsLeft ==
|-
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.
| 8 || Dutch
 
|-
== GetButtonConfigSettingsRight ==
| 9 || Portuguese
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigSettings]], returns an output s32.
|-
 
| 10 || Russian
== SetButtonConfigSettingsRight ==
|-
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigSettings]], no output.
| 11 || Taiwanese
|-
| 12 || BritishEnglish
|-
| 13 || CanadianFrench
|-
| 14 || LatinAmericanSpanish
|-
| 15 || [4.0.0+] SimplifiedChinese
|-
| 16 || [4.0.0+] TraditionalChinese
|-
| 17 || [10.1.0+] BrazilianPortuguese
|}


== GetButtonConfigRegisteredSettingsEmbedded ==
= LanguageCode =
Takes a type-0x16 output buffer containing a [[#ButtonConfigRegisteredSettings]], no output.
This is "nn::settings::LanguageCode". This is an u64, which is a NUL-terminated string.


== SetButtonConfigRegisteredSettingsEmbedded ==
{| class="wikitable" border="1"
Takes a type-0x15 input buffer containing a [[#ButtonConfigRegisteredSettings]], no output.
|-
 
! Value || [[#Language]]
== GetButtonConfigRegisteredSettings ==
|-
Takes a type-0x6 output buffer containing an array of [[#ButtonConfigRegisteredSettings]], returns an output s32.
| "ja" || Japanese
 
== SetButtonConfigRegisteredSettings ==
Takes a type-0x5 input buffer containing an array of [[#ButtonConfigRegisteredSettings]], no output.
 
== GetFieldTestingFlag ==
No input, returns an output bool.
 
== SetFieldTestingFlag ==
Takes an input bool, no output.
 
= Language =
This is "nn::settings::Language".
 
{| class="wikitable" border="1"
|-
|-
! Value
| "en-US" || AmericanEnglish
! Description
|-
|-
| 0 || Japanese
| "fr" || French
|-
|-
| 1 || AmericanEnglish
| "de" || German
|-
|-
| 2 || French
| "it" || Italian
|-
|-
| 3 || German
| "es" || Spanish
|-
|-
| 4 || Italian
| "zh-CN" || Chinese
|-
|-
| 5 || Spanish
| "ko" || Korean
|-
|-
| 6 || Chinese
| "nl" || Dutch
|-
|-
| 7 || Korean
| "pt" || Portuguese
|-
|-
| 8 || Dutch
| "ru" || Russian
|-
|-
| 9 || Portuguese
| "zh-TW" || Taiwanese
|-
|-
| 10 || Russian
| "en-GB" || BritishEnglish
|-
|-
| 11 || Taiwanese
| "fr-CA" || CanadianFrench
|-
|-
| 12 || BritishEnglish
| "es-419" || LatinAmericanSpanish
|-
|-
| 13 || CanadianFrench
| "zh-Hans" || [4.0.0+] SimplifiedChinese
|-
|-
| 14 || LatinAmericanSpanish
| "zh-Hant" || [4.0.0+] TraditionalChinese
|-
|-
| 15 || [4.0.0+] SimplifiedChinese
| "pt-BR" || [10.1.0+] BrazilianPortuguese
|-
| 16 || [4.0.0+] TraditionalChinese
|-
| 17 || [10.1.0+] BrazilianPortuguese
|}
|}


= LanguageCode =
= AccelerometerOffset =
This is "nn::settings::LanguageCode". This is an u64, which is a NUL-terminated string.
This is "nn::settings::factory::AccelerometerOffset".


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Value || [[#Language]]
! Offset || Size || Description
|-
|-
| "ja" || Japanese
| 0x0 || 0x2 || X
|-
|-
| "en-US" || AmericanEnglish
| 0x2 || 0x2 || Y
|-
|-
| "fr" || French
| 0x4 || 0x2 || Z
|}
 
= AccelerometerScale =
This is "nn::settings::factory::AccelerometerScale".
 
{| class="wikitable" border="1"
|-
|-
| "de" || German
! Offset || Size || Description
|-
|-
| "it" || Italian
| 0x0 || 0x2 || X
|-
|-
| "es" || Spanish
| 0x2 || 0x2 || Y
|-
|-
| "zh-CN" || Chinese
| 0x4 || 0x2 || Z
|-
|}
| "ko" || Korean
 
|-
= AmiiboEcdsaCertificate =
| "nl" || Dutch
This is "nn::settings::factory::AmiiboEcdsaCertificate". This is a 0x70-byte struct.
|-
 
| "pt" || Portuguese
= AmiiboEcqvBlsCertificate =
|-
This is "nn::settings::factory::AmiiboEcqvBlsCertificate". This is a 0x20-byte struct.
| "ru" || Russian
|-
| "zh-TW" || Taiwanese
|-
| "en-GB" || BritishEnglish
|-
| "fr-CA" || CanadianFrench
|-
| "es-419" || LatinAmericanSpanish
|-
| "zh-Hans" || [4.0.0+] SimplifiedChinese
|-
| "zh-Hant" || [4.0.0+] TraditionalChinese
|-
| "pt-BR" || [10.1.0+] BrazilianPortuguese
|}


= AccelerometerOffset =
= AmiiboEcqvBlsKey =
This is "nn::settings::factory::AccelerometerOffset".
This is "nn::settings::factory::AmiiboEcqvBlsKey". This is a 0x40-byte struct.


If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x0 || 0x2 || X
| 0x0 || 0x40 || Key
|-
|-
| 0x2 || 0x2 || Y
| 0x40 || 0x4 || KeyGeneration
|-
| 0x4 || 0x2 || Z
|}
|}


= AccelerometerScale =
= AmiiboEcqvBlsRootCertificate =
This is "nn::settings::factory::AccelerometerScale".
This is "nn::settings::factory::AmiiboEcqvBlsRootCertificate". This is a 0x90-byte struct.
 
= AmiiboEcqvCertificate =
This is "nn::settings::factory::AmiiboEcqvCertificate". This is a 0x14-byte struct.
 
= AmiiboKey =
This is "nn::settings::factory::AmiiboKey". This is a 0x50-byte struct.


If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x0 || 0x2 || X
| 0x0 || 0x50 || Key
|-
|-
| 0x2 || 0x2 || Y
| 0x50 || 0x4 || KeyGeneration
|-
| 0x4 || 0x2 || Z
|}
|}


= AmiiboEcdsaCertificate =
= AnalogStickFactoryCalibration =
This is "nn::settings::factory::AmiiboEcdsaCertificate". This is a 0x70-byte struct.
This is "nn::settings::factory::AnalogStickFactoryCalibration". Same as [[Calibration#AnalogStickFactoryCalibration|AnalogStickFactoryCalibration]].


= AmiiboEcqvBlsCertificate =
= AnalogStickModelParameter =
This is "nn::settings::factory::AmiiboEcqvBlsCertificate". This is a 0x20-byte struct.
This is "nn::settings::factory::AnalogStickModelParameter". Same as [[Calibration#AnalogStickModelParameter|AnalogStickModelParameter]].


= AmiiboEcqvBlsKey =
= BatteryLot =
This is "nn::settings::factory::AmiiboEcqvBlsKey". This is a 0x40-byte struct.
This is "nn::settings::BatteryLot". This is a 0x18-byte struct.


If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
= BdAddress =
{| class="wikitable" border="1"
This is "nn::settings::factory::BdAddress". This is a 0x6-byte struct.
|-
! Offset || Size || Description
|-
| 0x0 || 0x40 || Key
|-
| 0x40 || 0x4 || KeyGeneration
|}


= AmiiboEcqvBlsRootCertificate =
= ConfigurationId1 =
This is "nn::settings::factory::AmiiboEcqvBlsRootCertificate". This is a 0x90-byte struct.
This is "nn::settings::factory::ConfigurationId1". This is a 0x1E-byte struct.


= AmiiboEcqvCertificate =
Usually, this is a string with the following format:
This is "nn::settings::factory::AmiiboEcqvCertificate". This is a 0x14-byte struct.
  {EventType}_{ProductModelType}_{MajorVersion}_{MinorVersion}_{MicroVersion}


= AmiiboKey =
== EventType ==
This is "nn::settings::factory::AmiiboKey". This is a 0x50-byte struct.
 
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Offset || Size || Description
! Value
! Description
|-
|-
| 0x0 || 0x50 || Key
| "FP" || Functional prototype
|-
|-
| 0x50 || 0x4 || KeyGeneration
| "EP" || Engineering prototype
|}
 
= AnalogStickFactoryCalibration =
This is "nn::settings::factory::AnalogStickFactoryCalibration". Same as [[Calibration#AnalogStickFactoryCalibration|AnalogStickFactoryCalibration]].
 
= AnalogStickModelParameter =
This is "nn::settings::factory::AnalogStickModelParameter". Same as [[Calibration#AnalogStickModelParameter|AnalogStickModelParameter]].
 
= BatteryLot =
This is "nn::settings::BatteryLot". This is a 0x18-byte struct.
 
= BdAddress =
This is "nn::settings::factory::BdAddress". This is a 0x6-byte struct.
 
= ConfigurationId1 =
This is "nn::settings::factory::ConfigurationId1". This is a 0x1E-byte struct.
 
Usually, this is a string with the following format:
  {EventType}_{ProductModelType}_{MajorVersion}_{MinorVersion}_{MicroVersion}
 
== EventType ==
{| class="wikitable" border="1"
|-
! Value
! Description
|-
| "FP" || Functional prototype
|-
| "EP" || Engineering prototype
|-
|-
| "DP" || Design prototype
| "DP" || Design prototype
Line 1,232: Line 1,439:
|-
|-
| "MNX" || Mariko NX (retail Iowa)
| "MNX" || Mariko NX (retail Iowa)
|-
| "HNX" || Hoag NX (retail Hoag)
|-
|-
| "ANX" || Aula NX (retail Aula)
| "ANX" || Aula NX (retail Aula)
Line 2,014: Line 2,223:
| 5 || FrenchCa
| 5 || FrenchCa
|-
|-
| 6 || Spanish
| 6 || Spanish
|-
|-
| 7 || SpanishLatin
| 7 || SpanishLatin
|-
|-
| 8 || German
| 8 || German
|-
|-
| 9 || Italian
| 9 || Italian
|-
|-
| 10 || Portuguese
| 10 || Portuguese
|-
|-
| 11 || Russian
| 11 || Russian
|-
|-
| 12 || Korean
| 12 || Korean
|-
|-
| 13 || ChineseSimplified
| 13 || ChineseSimplified
|-
|-
| 14 || ChineseTraditional
| 14 || ChineseTraditional
|}
|}
 
 
= ChineseTraditionalInputMethod =
= ChineseTraditionalInputMethod =
This is "nn::settings::ChineseTraditionalInputMethod".
This is "nn::settings::ChineseTraditionalInputMethod".
 
 
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Value
! Value
! Description
! Description
|-
|-
| 1 ||  
| 1 ||  
|-
|-
| 2 ||  
| 2 ||  
|}
 
= HomeMenuScheme =
This is "nn::settings::system::HomeMenuScheme".
 
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x4 || MainColor
|-
| 0x4 || 0x4 || BackColor
|-
| 0x8 || 0x4 || SubColor
|-
| 0xC || 0x4 || Reserved
|-
| 0x10 || 0x4 || BezelColor
|}
|}