Line 119: |
Line 119: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || GetBluetoothBdAddress | + | | 0 || [[#GetBluetoothBdAddress]] |
| |- | | |- |
| | 1 || [[#GetConfigurationId1]] | | | 1 || [[#GetConfigurationId1]] |
| |- | | |- |
− | | 2 || GetAccelerometerOffset | + | | 2 || [[#GetAccelerometerOffset]] |
| |- | | |- |
− | | 3 || GetAccelerometerScale | + | | 3 || [[#GetAccelerometerScale]] |
| |- | | |- |
− | | 4 || GetGyroscopeOffset | + | | 4 || [[#GetGyroscopeOffset]] |
| |- | | |- |
− | | 5 || GetGyroscopeScale | + | | 5 || [[#GetGyroscopeScale]] |
| |- | | |- |
− | | 6 || GetWirelessLanMacAddress | + | | 6 || [[#GetWirelessLanMacAddress]] |
| |- | | |- |
− | | 7 || GetWirelessLanCountryCodeCount | + | | 7 || [[#GetWirelessLanCountryCodeCount]] |
| |- | | |- |
− | | 8 || GetWirelessLanCountryCodes | + | | 8 || [[#GetWirelessLanCountryCodes]] |
| |- | | |- |
− | | 9 || GetSerialNumber | + | | 9 || [[#GetSerialNumber]] |
| |- | | |- |
− | | 10 || SetInitialSystemAppletProgramId | + | | 10 || [[#SetInitialSystemAppletProgramId]] |
| |- | | |- |
− | | 11 || SetOverlayDispProgramId | + | | 11 || [[#SetOverlayDispProgramId]] |
| |- | | |- |
− | | 12 || GetBatteryLot | + | | 12 || [[#GetBatteryLot]] |
| |- | | |- |
| | 14 || [[#GetEciDeviceCertificate]] | | | 14 || [[#GetEciDeviceCertificate]] |
Line 161: |
Line 161: |
| | 21 || [[#GetEticketDeviceKey]] | | | 21 || [[#GetEticketDeviceKey]] |
| |- | | |- |
− | | 22 || GetSpeakerParameter | + | | 22 || [[#GetSpeakerParameter]] |
| |- | | |- |
− | | 23 || [4.0.0+] GetLcdVendorId | + | | 23 || [4.0.0+] [[#GetLcdVendorId]] |
| |- | | |- |
| | 24 || [5.0.0+] [[#GetEciDeviceCertificate2]] | | | 24 || [5.0.0+] [[#GetEciDeviceCertificate2]] |
Line 169: |
Line 169: |
| | 25 || [5.0.0+] [[#GetEciDeviceKey2]] | | | 25 || [5.0.0+] [[#GetEciDeviceKey2]] |
| |- | | |- |
− | | 26 || [5.0.0+] GetAmiiboKey | + | | 26 || [5.0.0+] [[#GetAmiiboKey]] |
| |- | | |- |
− | | 27 || [5.0.0+] GetAmiiboEcqvCertificate | + | | 27 || [5.0.0+] [[#GetAmiiboEcqvCertificate]] |
| |- | | |- |
− | | 28 || [5.0.0+] GetAmiiboEcdsaCertificate | + | | 28 || [5.0.0+] [[#GetAmiiboEcdsaCertificate]] |
| |- | | |- |
− | | 29 || [5.0.0+] GetAmiiboEcqvBlsKey | + | | 29 || [5.0.0+] [[#GetAmiiboEcqvBlsKey]] |
| |- | | |- |
− | | 30 || [5.0.0+] GetAmiiboEcqvBlsCertificate | + | | 30 || [5.0.0+] [[#GetAmiiboEcqvBlsCertificate]] |
| |- | | |- |
− | | 31 || [5.0.0+] GetAmiiboEcqvBlsRootCertificate | + | | 31 || [5.0.0+] [[#GetAmiiboEcqvBlsRootCertificate]] |
| |- | | |- |
− | | 32 || [5.0.0+] GetUsbTypeCPowerSourceCircuitVersion | + | | 32 || [5.0.0+] [[#GetUsbTypeCPowerSourceCircuitVersion]] |
| |- | | |- |
− | | 33 || [8.1.1+] GetAnalogStickModuleTypeL | + | | 33 || [8.1.1+] [[#GetAnalogStickModuleTypeL]] |
| |- | | |- |
− | | 34 || [8.1.1+] GetAnalogStickModelParameterL | + | | 34 || [8.1.1+] [[#GetAnalogStickModelParameterL]] |
| |- | | |- |
− | | 35 || [8.1.1+] GetAnalogStickFactoryCalibrationL | + | | 35 || [8.1.1+] [[#GetAnalogStickFactoryCalibrationL]] |
| |- | | |- |
− | | 36 || [8.1.1+] GetAnalogStickModuleTypeR | + | | 36 || [8.1.1+] [[#GetAnalogStickModuleTypeR]] |
| |- | | |- |
− | | 37 || [8.1.1+] GetAnalogStickModelParameterR | + | | 37 || [8.1.1+] [[#GetAnalogStickModelParameterR]] |
| |- | | |- |
− | | 38 || [8.1.1+] GetAnalogStickFactoryCalibrationR | + | | 38 || [8.1.1+] [[#GetAnalogStickFactoryCalibrationR]] |
| |- | | |- |
− | | 39 || [8.1.1+] GetConsoleSixAxisSensorModuleType | + | | 39 || [8.1.1+] [[#GetConsoleSixAxisSensorModuleType]] |
| |- | | |- |
− | | 40 || [8.1.1+] GetConsoleSixAxisSensorHorizontalOffset | + | | 40 || [8.1.1+] [[#GetConsoleSixAxisSensorHorizontalOffset]] |
| |- | | |- |
− | | 41 || [6.0.0+] GetBatteryVersion | + | | 41 || [6.0.0+] [[#GetBatteryVersion]] |
| |- | | |- |
| | 42 || [10.0.0+] [[#GetDeviceId]] | | | 42 || [10.0.0+] [[#GetDeviceId]] |
| |- | | |- |
− | | 43 || [10.0.0+] GetConsoleSixAxisSensorMountType | + | | 43 || [10.0.0+] [[#GetConsoleSixAxisSensorMountType]] |
| |} | | |} |
| | | |
− | Used for accessing data calibrated at the factory. | + | Used for accessing data [[Calibration|calibrated]] at the factory. |
| + | |
| + | == GetBluetoothBdAddress == |
| + | No input. Returns a [[#BdAddress|BdAddress]]. |
| | | |
| == GetConfigurationId1 == | | == GetConfigurationId1 == |
− | Returns the [[#ConfigurationId1]]. | + | No input. Returns a [[#ConfigurationId1|ConfigurationId1]]. |
| + | |
| + | == GetAccelerometerOffset == |
| + | No input. Returns a [[#AccelerometerOffset|AccelerometerOffset]]. |
| + | |
| + | == GetAccelerometerScale == |
| + | No input. Returns a [[#AccelerometerScale|AccelerometerScale]]. |
| + | |
| + | == GetGyroscopeOffset == |
| + | No input. Returns a [[#GyroscopeOffset|GyroscopeOffset]]. |
| + | |
| + | == GetGyroscopeScale == |
| + | No input. Returns a [[#GyroscopeScale|GyroscopeScale]]. |
| + | |
| + | == GetWirelessLanMacAddress == |
| + | No input. Returns a [[#MacAddress|MacAddress]]. |
| + | |
| + | == GetWirelessLanCountryCodeCount == |
| + | No input. Returns a s32 '''OutCount'''. |
| + | |
| + | == GetWirelessLanCountryCodes == |
| + | Takes a type-0x16 output buffer containing an array of [[#CountryCode|CountryCode]]. Returns a s32 '''OutCount'''. |
| + | |
| + | == GetSerialNumber == |
| + | No input. Returns a [[#SerialNumber|SerialNumber]]. |
| + | |
| + | == SetInitialSystemAppletProgramId == |
| + | Takes an input [[NCM_services#ProgramId|ProgramId]]. No output. |
| + | |
| + | == SetOverlayDispProgramId == |
| + | Takes an input [[NCM_services#ProgramId|ProgramId]]. No output. |
| + | |
| + | == GetBatteryLot == |
| + | No input. Returns a [[#BatteryLot|BatteryLot]]. |
| | | |
| == GetEciDeviceCertificate == | | == GetEciDeviceCertificate == |
− | Takes a type-0x16 output buffer containing a [[#EccB233DeviceCertificate]]. | + | Takes a type-0x16 output buffer containing a [[#EccB233DeviceCertificate|EccB233DeviceCertificate]]. No output. |
| | | |
| Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this. | | Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this. |
| | | |
| == GetEticketDeviceCertificate == | | == GetEticketDeviceCertificate == |
− | Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceCertificate]]. | + | Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceCertificate|Rsa2048DeviceCertificate]]. No output. |
| | | |
| Returns the ETicket certificate (RSA signed). | | Returns the ETicket certificate (RSA signed). |
| | | |
| == GetSslKey == | | == GetSslKey == |
− | Takes a type-0x16 output buffer containing a [[#SslKey]]. | + | Takes a type-0x16 output buffer containing a [[#SslKey|SslKey]]. No output. |
| | | |
| Returns the extended SSL key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal SSL key (0x110 bytes). | | Returns the extended SSL key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal SSL key (0x110 bytes). |
Line 229: |
Line 265: |
| | | |
| == GetSslCertificate == | | == GetSslCertificate == |
− | Takes a type-0x16 output buffer containing a [[#SslCertificate]]. | + | Takes a type-0x16 output buffer containing a [[#SslCertificate|SslCertificate]]. No output. |
| | | |
| Used by SSL-sysmodule, see [[SSL_services|here]]. | | Used by SSL-sysmodule, see [[SSL_services|here]]. |
| | | |
| == GetGameCardKey == | | == GetGameCardKey == |
− | Takes a type-0x16 output buffer containing a [[#GameCardKey]]. | + | Takes a type-0x16 output buffer containing a [[#GameCardKey|GameCardKey]]. No output. |
| | | |
| Returns the extended GameCard key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes). | | Returns the extended GameCard key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes). |
| | | |
| == GetGameCardCertificate == | | == GetGameCardCertificate == |
− | Takes a type-0x16 output buffer containing a [[#GameCardCertificate]]. | + | Takes a type-0x16 output buffer containing a [[#GameCardCertificate|GameCardCertificate]]. No output. |
| | | |
| == GetEciDeviceKey == | | == GetEciDeviceKey == |
− | No input, returns an [[#EccB233DeviceKey]]. | + | No input. Returns an [[#EccB233DeviceKey|EccB233DeviceKey]]. |
| | | |
| Returns the extended device ECC-B233 key (0x50 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes). | | Returns the extended device ECC-B233 key (0x50 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes). |
| | | |
| == GetEticketDeviceKey == | | == GetEticketDeviceKey == |
− | Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceKey]]. | + | Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceKey|Rsa2048DeviceKey]]. No output. |
| | | |
| Returns the extended ETicket RSA-2048 key (0x240 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal ETicket RSA-2048 key (0x220 bytes). | | Returns the extended ETicket RSA-2048 key (0x240 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal ETicket RSA-2048 key (0x220 bytes). |
| + | |
| + | == GetSpeakerParameter == |
| + | No input. Returns a [[#SpeakerParameter|SpeakerParameter]]. |
| + | |
| + | == GetLcdVendorId == |
| + | No input. Returns a [[Calibration#LcdVendorId|LcdVendorId]]. |
| | | |
| == GetEciDeviceCertificate2 == | | == GetEciDeviceCertificate2 == |
− | Same as [[#GetEciDeviceCertificate]], but [[#Rsa2048DeviceCertificate|returns]] a RSA-2048 variant of the device certificate. | + | Same as [[#GetEciDeviceCertificate]], but returns a [[#Rsa2048DeviceCertificate|RSA-2048]] variant of the device certificate. |
| | | |
| == GetEciDeviceKey2 == | | == GetEciDeviceKey2 == |
− | Same as [[#GetEciDeviceKey]], but [[#Rsa2048DeviceKey|returns]] a RSA-2048 variant of the device key. | + | Same as [[#GetEciDeviceKey]], but returns a [[#Rsa2048DeviceKey|RSA-2048]] variant of the device key. |
| + | |
| + | == GetAmiiboKey == |
| + | No input. Returns an [[#AmiiboKey|AmiiboKey]]. |
| + | |
| + | == GetAmiiboEcqvCertificate == |
| + | No input. Returns an [[#AmiiboEcqvCertificate|AmiiboEcqvCertificate]]. |
| | | |
− | == GetDeviceId == | + | == GetAmiiboEcdsaCertificate == |
− | Returns an u64 '''DeviceId''' by reading and converting the hexadecimal string at offset 0xC6 inside [[#EccB233DeviceCertificate]] or [[#Rsa2048DeviceCertificate]]. | + | No input. Returns an [[#AmiiboEcdsaCertificate|AmiiboEcdsaCertificate]]. |
| + | |
| + | == GetAmiiboEcqvBlsKey == |
| + | No input. Returns an [[#AmiiboEcqvBlsKey|AmiiboEcqvBlsKey]]. |
| + | |
| + | == GetAmiiboEcqvBlsCertificate == |
| + | No input. Returns an [[#AmiiboEcqvBlsCertificate|AmiiboEcqvBlsCertificate]]. |
| + | |
| + | == GetAmiiboEcqvBlsRootCertificate == |
| + | No input. Returns an [[#AmiiboEcqvBlsRootCertificate|AmiiboEcqvBlsRootCertificate]]. |
| | | |
− | = set:sys = | + | == GetUsbTypeCPowerSourceCircuitVersion == |
− | This is "nn::settings::ISystemSettingsServer".
| + | No input. Returns an [[Calibration#UsbTypeCPowerSourceCircuit|UsbTypeCPowerSourceCircuitVersion]]. |
| | | |
− | {| class="wikitable" border="1" | + | == GetAnalogStickModuleTypeL == |
− | |- | + | No input. Returns an [[Calibration#AnalogStickModuleType|AnalogStickModuleType]]. |
− | ! Cmd || Name | + | |
− | |- | + | == GetAnalogStickModelParameterL == |
− | | 0 || [[#SetLanguageCode]] | + | No input. Returns an [[#AnalogStickModelParameter|AnalogStickModelParameter]]. |
| + | |
| + | == GetAnalogStickFactoryCalibrationL == |
| + | No input. Returns an [[#AnalogStickFactoryCalibration|AnalogStickFactoryCalibration]]. |
| + | |
| + | == GetAnalogStickModuleTypeR == |
| + | No input. Returns an [[Calibration#AnalogStickModuleType|AnalogStickModuleType]]. |
| + | |
| + | == GetAnalogStickModelParameterR == |
| + | No input. Returns an [[#AnalogStickModelParameter|AnalogStickModelParameter]]. |
| + | |
| + | == GetAnalogStickFactoryCalibrationR == |
| + | No input. Returns an [[#AnalogStickFactoryCalibration|AnalogStickFactoryCalibration]]. |
| + | |
| + | == GetConsoleSixAxisSensorModuleType == |
| + | No input. Returns a [[Calibration#ConsoleSixAxisSensorModuleType|ConsoleSixAxisSensorModuleType]]. |
| + | |
| + | == GetConsoleSixAxisSensorHorizontalOffset == |
| + | No input. Returns a [[#ConsoleSixAxisSensorHorizontalOffset|ConsoleSixAxisSensorHorizontalOffset]]. |
| + | |
| + | == GetBatteryVersion == |
| + | No input. Returns a [[Calibration#BatteryVersion|BatteryVersion]]. |
| + | |
| + | == GetDeviceId == |
| + | No input. Returns an u64 '''DeviceId''' by reading and converting the hexadecimal string at offset 0xC6 inside [[#EccB233DeviceCertificate]] or [[#Rsa2048DeviceCertificate]]. |
| + | |
| + | == GetConsoleSixAxisSensorMountType == |
| + | No input. Returns a [[Calibration#ConsoleSixAxisSensorMountType|ConsoleSixAxisSensorMountType]]. |
| + | |
| + | = set:sys = |
| + | This is "nn::settings::ISystemSettingsServer". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || [[#SetLanguageCode]] |
| |- | | |- |
| | 1 || SetNetworkSettings | | | 1 || SetNetworkSettings |
Line 1,089: |
Line 1,182: |
| | | |
| = AnalogStickFactoryCalibration = | | = AnalogStickFactoryCalibration = |
− | This is "nn::settings::factory::AnalogStickFactoryCalibration". This is a 0x9-byte struct. | + | This is "nn::settings::factory::AnalogStickFactoryCalibration". Same as [[Calibration#AnalogStickFactoryCalibration|AnalogStickFactoryCalibration]]. |
| | | |
| = AnalogStickModelParameter = | | = AnalogStickModelParameter = |
− | This is "nn::settings::factory::AnalogStickModelParameter". This is a 0x12-byte struct. | + | This is "nn::settings::factory::AnalogStickModelParameter". Same as [[Calibration#AnalogStickModelParameter|AnalogStickModelParameter]]. |
| | | |
| = BatteryLot = | | = BatteryLot = |
− | This is "nn::settings::factory::BatteryLot" or "nn::settings::BatteryLot". This is a 0x18-byte struct. | + | This is "nn::settings::BatteryLot". This is a 0x18-byte struct. |
| | | |
| = BdAddress = | | = BdAddress = |
Line 1,161: |
Line 1,254: |
| | | |
| = ConsoleSixAxisSensorHorizontalOffset = | | = ConsoleSixAxisSensorHorizontalOffset = |
− | This is "nn::settings::factory::ConsoleSixAxisSensorHorizontalOffset". | + | This is "nn::settings::factory::ConsoleSixAxisSensorHorizontalOffset". Same as [[Calibration#ConsoleSixAxisSensorHorizontalOffset|ConsoleSixAxisSensorHorizontalOffset]]. |
| + | |
| + | = CountryCode = |
| + | This is "nn::settings::factory::CountryCode". This is a 0x3-byte struct. |
| | | |
− | {| class="wikitable" border="1"
| + | = EccB233DeviceCertificate = |
− | |-
| + | This is "nn::settings::factory::EccB233DeviceCertificate". This is a 0x180-byte struct. |
− | ! Offset || Size || Description
| |
− | |-
| |
− | | 0x0 || 0x2 || X
| |
− | |-
| |
− | | 0x2 || 0x2 || Y
| |
− | |-
| |
− | | 0x4 || 0x2 || Z
| |
− | |}
| |
− | | |
− | = CountryCode =
| |
− | This is "nn::settings::factory::CountryCode". This is a 0x3-byte struct.
| |
− | | |
− | = EccB233DeviceCertificate = | |
− | This is "nn::settings::factory::EccB233DeviceCertificate". This is a 0x180-byte struct. | |
| | | |
| = EccB233DeviceKey = | | = EccB233DeviceKey = |
Line 1,260: |
Line 1,342: |
| | | |
| = SpeakerParameter = | | = SpeakerParameter = |
− | This is "nn::settings::factory::SpeakerParameter". | + | This is "nn::settings::factory::SpeakerParameter". This is copied from the first 0x5A bytes of [[Calibration#SpeakerCalibrationValue|SpeakerCalibrationValue]]. |
| + | |
| + | = SslCertificate = |
| + | This is "nn::settings::factory::SslCertificate". This is a 0x804-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,266: |
Line 1,351: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x2 || Version | + | | 0x0 || 0x4 || Size |
| |- | | |- |
− | | 0x2 || 0x22 || Reserved | + | | 0x4 || Variable || Data |
| + | |} |
| + | |
| + | = SslKey = |
| + | This is "nn::settings::factory::SslKey". This is a 0x110-byte struct or a 0x130-byte struct in the extended version. |
| + | |
| + | If [[Calibration#CAL0|Calibration Version]] >= 9, this is now: |
| + | {| class="wikitable" border="1" |
| |- | | |- |
− | | 0x24 || 0x2 || SpeakerHpf2A1 | + | ! Offset || Size || Description |
| |- | | |- |
− | | 0x26 || 0x2 || SpeakerHpf2A2 | + | | 0x0 || 0x130 || Key |
| |- | | |- |
− | | 0x28 || 0x2 || SpeakerHpf2H0 | + | | 0x130 || 0x4 || KeyGeneration |
− | |- | + | |} |
− | | 0x2A || 0x2 || SpeakerEqInputVolume | + | |
| + | = RegionCode = |
| + | This is "nn::settings::factory::RegionCode". |
| + | |
| + | {| class="wikitable" border="1" |
| |- | | |- |
− | | 0x2C || 0x2 || SpeakerEqOutputVolume
| + | ! Value |
| + | ! Description |
| |- | | |- |
− | | 0x2E || 0x2 || SpeakerEqCtrl1 | + | | 0 || Japan |
| |- | | |- |
− | | 0x30 || 0x2 || SpeakerEqCtrl2 | + | | 1 || Usa |
| |- | | |- |
− | | 0x32 || 0x2 || SpeakerDrcAgcCtrl2 | + | | 2 || Europe |
| |- | | |- |
− | | 0x34 || 0x2 || SpeakerDrcAgcCtrl3 | + | | 3 || Australia |
| |- | | |- |
− | | 0x36 || 0x2 || SpeakerDrcAgcCtrl1 | + | | 4 || China |
| |- | | |- |
− | | 0x38 || 0x2 || SpeakerAnalogVolume | + | | 5 || Korea |
| |- | | |- |
− | | 0x3A || 0x2 || HeadphoneAnalogVolume | + | | 6 || Taiwan |
| + | |} |
| + | |
| + | = AudioOutputMode = |
| + | This is "nn::settings::system::AudioOutputMode". |
| + | |
| + | {| class="wikitable" border="1" |
| |- | | |- |
− | | 0x3C || 0x2 || SpeakerDigitalVolumeMin
| + | ! Value |
| + | ! Description |
| |- | | |- |
− | | 0x3E || 0x2 || SpeakerDigitalVolumeMax | + | | 0 || 1ch |
| |- | | |- |
− | | 0x40 || 0x2 || HeadphoneDigitalVolumeMin | + | | 1 || 2ch |
| |- | | |- |
− | | 0x42 || 0x2 || HeadphoneDigitalVolumeMax | + | | 2 || 5_1ch |
| |- | | |- |
− | | 0x44 || 0x2 || MicFixedGain | + | | 3 || 7_1ch |
− | |-
| |
− | | 0x46 || 0x2 || MicVariableVolumeMin
| |
− | |-
| |
− | | 0x48 || 0x2 || MicVariableVolumeMax
| |
− | |-
| |
− | | 0x4A || 0x10 || Reserved
| |
| |} | | |} |
| | | |
− | = SslCertificate = | + | = AudioOutputModeTarget = |
− | This is "nn::settings::factory::SslCertificate". This is a 0x804-byte struct. | + | This is "nn::settings::system::AudioOutputModeTarget". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Offset || Size || Description | + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || Hdmi |
| |- | | |- |
− | | 0x0 || 0x4 || Size | + | | 1 || Speaker |
| |- | | |- |
− | | 0x4 || Variable || Data | + | | 2 || Headphone |
| |} | | |} |
| | | |
− | = SslKey = | + | = AudioVolumeTarget = |
− | This is "nn::settings::factory::SslKey". This is a 0x110-byte struct or a 0x130-byte struct in the extended version. | + | This is "nn::settings::system::AudioVolumeTarget". |
| | | |
− | If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
| |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Offset || Size || Description | + | ! Value |
| + | ! Description |
| |- | | |- |
− | | 0x0 || 0x130 || Key | + | | 0 || Speaker |
| |- | | |- |
− | | 0x130 || 0x4 || KeyGeneration | + | | 1 || Headphone |
| |} | | |} |
| | | |
− | = RegionCode = | + | = DeviceNickName = |
− | This is "nn::settings::factory::RegionCode". | + | This is "nn::settings::system::DeviceNickName". This is a 0x80-byte struct. |
| + | |
| + | = Edid = |
| + | This is "nn::settings::system::Edid". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Value | + | ! Offset || Size || Description |
− | ! Description
| |
| |- | | |- |
− | | 0 || Japan | + | | 0x0 || 0x80 || Data0 |
| |- | | |- |
− | | 1 || Usa | + | | 0x80 || 0x80 || Data1 |
| |- | | |- |
− | | 2 || Europe | + | | 0x100 || 0x80 || [13.0.0+] Data2 |
| |- | | |- |
− | | 3 || Australia | + | | 0x180 || 0x80 || [13.0.0+] Data3 |
− | |- | |
− | | 4 || China | |
− | |-
| |
− | | 5 || Korea
| |
− | |-
| |
− | | 6 || Taiwan
| |
| |} | | |} |
| | | |
Line 1,380: |
Line 1,477: |
| |} | | |} |
| | | |
− | = AudioOutputMode = | + | = UserSelectorFlag = |
− | This is "nn::settings::system::AudioOutputMode". | + | This is "nn::settings::system::UserSelectorFlag". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | |-
| + | ! Bits |
− | ! Value | |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || 1ch | + | | 0 || SkipsIfSingleUser |
| |- | | |- |
− | | 1 || 2ch | + | | 31 || Unknown |
− | |-
| |
− | | 2 || 5_1ch
| |
− | |-
| |
− | | 3 || 7_1ch
| |
| |} | | |} |
| | | |
− | = AudioOutputModeTarget = | + | = UserSelectorSettings = |
− | This is "nn::settings::system::AudioOutputModeTarget". | + | This is "nn::settings::system::UserSelectorSettings". |
| + | |
| + | This contains an u32 bitmask for [[#UserSelectorFlag]]. |
| + | |
| + | = AccountSettings = |
| + | This is "nn::settings::system::AccountSettings". |
| + | |
| + | This contains [[#UserSelectorSettings]]. |
| + | |
| + | = ClockSourceId = |
| + | This is "nn::settings::system::ClockSourceId". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,405: |
Line 1,507: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Hdmi | + | | 0 || NetworkSystemClock |
| |- | | |- |
− | | 1 || Speaker | + | | 1 || SteadyClock |
− | |-
| |
− | | 2 || Headphone
| |
| |} | | |} |
| | | |
− | = AudioVolumeTarget = | + | = NotificationVolume = |
− | This is "nn::settings::system::AudioVolumeTarget". | + | This is "nn::settings::system::NotificationVolume". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,420: |
Line 1,520: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Speaker | + | | 0 || Mute |
| + | |- |
| + | | 1 || Low |
| |- | | |- |
− | | 1 || Headphone | + | | 2 || High |
| |} | | |} |
| | | |
− | = DeviceNickName = | + | = FriendPresenceOverlayPermission = |
− | This is "nn::settings::system::DeviceNickName". This is a 0x80-byte struct. | + | This is "nn::settings::system::FriendPresenceOverlayPermission". |
− | | |
− | = Edid =
| |
− | This is "nn::settings::system::Edid".
| |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Offset || Size || Description | + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || NotConfirmed |
| + | |- |
| + | | 1 || NoDisplay |
| |- | | |- |
− | | 0x0 || 0x80 || Data0 | + | | 2 || FavoriteFriends |
| |- | | |- |
− | | 0x80 || 0x80 || Data1 | + | | 3 || Friends |
| |} | | |} |
| | | |
− | = UserSelectorFlag = | + | = TvResolution = |
− | This is "nn::settings::system::UserSelectorFlag". | + | This is "nn::settings::system::TvResolution". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | ! Bits
| |
− | ! Description
| |
| |- | | |- |
− | | 0 || SkipsIfSingleUser | + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || Auto |
| + | |- |
| + | | 1 || 1080p |
| + | |- |
| + | | 2 || 720p |
| |- | | |- |
− | | 31 || Unknown | + | | 3 || 480p |
| |} | | |} |
| | | |
− | = UserSelectorSettings = | + | = HdmiContentType = |
− | This is "nn::settings::system::UserSelectorSettings". | + | This is "nn::settings::system::HdmiContentType". |
− | | |
− | This contains an u32 bitmask for [[#UserSelectorFlag]].
| |
− | | |
− | = AccountSettings =
| |
− | This is "nn::settings::system::AccountSettings".
| |
− | | |
− | This contains [[#UserSelectorSettings]].
| |
− | | |
− | = ClockSourceId =
| |
− | This is "nn::settings::system::ClockSourceId".
| |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,470: |
Line 1,569: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || NetworkSystemClock | + | | 0 || None |
| |- | | |- |
− | | 1 || SteadyClock | + | | 1 || Graphics |
| + | |- |
| + | | 2 || Cinema |
| + | |- |
| + | | 3 || Photo |
| + | |- |
| + | | 4 || Game |
| |} | | |} |
| | | |
− | = NotificationVolume = | + | = RgbRange = |
− | This is "nn::settings::system::NotificationVolume". | + | This is "nn::settings::system::RgbRange". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,483: |
Line 1,588: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Mute | + | | 0 || Auto |
| |- | | |- |
− | | 1 || Low | + | | 1 || Full |
| |- | | |- |
− | | 2 || High | + | | 2 || Limited |
| |} | | |} |
| | | |
− | = FriendPresenceOverlayPermission = | + | = CmuMode = |
− | This is "nn::settings::system::FriendPresenceOverlayPermission". | + | This is "nn::settings::system::CmuMode". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,498: |
Line 1,603: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || NotConfirmed | + | | 0 || None |
| |- | | |- |
− | | 1 || NoDisplay | + | | 1 || ColorInvert |
| |- | | |- |
− | | 2 || FavoriteFriends | + | | 2 || HighContrast |
| |- | | |- |
− | | 3 || Friends | + | | 3 || GrayScale |
| |} | | |} |
| | | |
− | = TvResolution = | + | = HandheldSleepPlan = |
− | This is "nn::settings::system::TvResolution". | + | This is "nn::settings::system::HandheldSleepPlan". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,515: |
Line 1,620: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Auto | + | | 0 || 1Min |
| + | |- |
| + | | 1 || 3Min |
| + | |- |
| + | | 2 || 5Min |
| |- | | |- |
− | | 1 || 1080p | + | | 3 || 10Min |
| |- | | |- |
− | | 2 || 720p | + | | 4 || 30Min |
| |- | | |- |
− | | 3 || 480p | + | | 5 || Never |
| |} | | |} |
| | | |
− | = HdmiContentType = | + | = ConsoleSleepPlan = |
− | This is "nn::settings::system::HdmiContentType". | + | This is "nn::settings::system::ConsoleSleepPlan". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,532: |
Line 1,641: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || None | + | | 0 || 1Hour |
| |- | | |- |
− | | 1 || Graphics | + | | 1 || 2Hour |
| |- | | |- |
− | | 2 || Cinema | + | | 2 || 3Hour |
| |- | | |- |
− | | 3 || Photo | + | | 3 || 6Hour |
| |- | | |- |
− | | 4 || Game | + | | 4 || 12Hour |
| + | |- |
| + | | 5 || Never |
| |} | | |} |
| | | |
− | = RgbRange = | + | = EulaVersion = |
− | This is "nn::settings::system::RgbRange". | + | This is "nn::settings::system::EulaVersion". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Value | + | ! Offset || Size || Description |
− | ! Description
| + | |- |
| + | | 0x0 || 0x4 || Version |
| + | |- |
| + | | 0x4 || 0x4 || [[#RegionCode_2|RegionCode]] |
| + | |- |
| + | | 0x8 || 0x4 || [[#SteadyClockSourceId|ClockType]] |
| |- | | |- |
− | | 0 || Auto | + | | 0xC || 0x4 || Reserved |
| |- | | |- |
− | | 1 || Full | + | | 0x10 || 0x8 || [[Glue_services#PosixTime|NetworkSystemClock]] |
| |- | | |- |
− | | 2 || Limited | + | | 0x18 || 0x18 || [[Glue_services#SteadyClockTimePoint|SteadyClock]] |
| |} | | |} |
| | | |
− | = CmuMode = | + | = FirmwareVersion = |
− | This is "nn::settings::system::CmuMode". | + | This is "nn::settings::system::FirmwareVersion". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Value | + | ! Offset || Size || Description |
− | ! Description
| |
| |- | | |- |
− | | 0 || None | + | | 0x0 || 0x1 || Major |
| + | |- |
| + | | 0x1 || 0x1 || Minor |
| + | |- |
| + | | 0x2 || 0x1 || Micro |
| + | |- |
| + | | 0x3 || 0x1 || Reserved |
| + | |- |
| + | | 0x4 || 0x4 || ReleaseNumber |
| + | |- |
| + | | 0x8 || 0x20 || Platform |
| |- | | |- |
− | | 1 || ColorInvert | + | | 0x28 || 0x40 || Revision |
| |- | | |- |
− | | 2 || HighContrast | + | | 0x68 || 0x18 || DisplayVersion |
| |- | | |- |
− | | 3 || GrayScale | + | | 0x80 || 0x80 || DisplayName |
| |} | | |} |
| | | |
− | = HandheldSleepPlan = | + | = PtmFuelGaugeParameter = |
− | This is "nn::settings::system::HandheldSleepPlan". | + | This is "nn::settings::system::PtmFuelGaugeParameter". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Value | + | ! Offset || Size || Description |
− | ! Description
| |
| |- | | |- |
− | | 0 || 1Min | + | | 0x0 || 0x2 || Rcomp0 |
| |- | | |- |
− | | 1 || 3Min | + | | 0x2 || 0x2 || TempCo |
| |- | | |- |
− | | 2 || 5Min | + | | 0x4 || 0x2 || FullCap |
| + | |- |
| + | | 0x6 || 0x2 || FullCapNom |
| + | |- |
| + | | 0x8 || 0x2 || IavgEmpty |
| + | |- |
| + | | 0xA || 0x2 || QrTable00 |
| + | |- |
| + | | 0xC || 0x2 || QrTable10 |
| + | |- |
| + | | 0xE || 0x2 || QrTable20 |
| |- | | |- |
− | | 3 || 10Min | + | | 0x10 || 0x2 || QrTable30 |
| |- | | |- |
− | | 4 || 30Min | + | | 0x12 || 0x2 || Reserved |
| |- | | |- |
− | | 5 || Never | + | | 0x14 || 0x4 || Cycles |
| |} | | |} |
| | | |
− | = ConsoleSleepPlan = | + | = SecuritySettings = |
− | This is "nn::settings::system::ConsoleSleepPlan". | + | This is "nn::settings::system::SecuritySettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Value | + | ! Offset || Size || Description |
− | ! Description
| |
| |- | | |- |
− | | 0 || 1Hour | + | | 0x0 || 0x4 || AuthenticationMode |
| |- | | |- |
− | | 1 || 2Hour | + | | 0x4 || 0x4 || EncryptionMode |
| |- | | |- |
− | | 2 || 3Hour | + | | 0x8 || 0x40 || KeyMaterial |
| |- | | |- |
− | | 3 || 6Hour | + | | 0x48 || 0x4 || KeyMaterialLength |
− | |- | |
− | | 4 || 12Hour | |
− | |-
| |
− | | 5 || Never
| |
| |} | | |} |
| | | |
− | = EulaVersion = | + | = NotificationTime = |
− | This is "nn::settings::system::EulaVersion". | + | This is "nn::settings::system::NotificationTime". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,624: |
Line 1,753: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x4 || Version | + | | 0x0 || 0x4 || Hour |
| |- | | |- |
− | | 0x4 || 0x4 || [[#RegionCode_2|RegionCode]] | + | | 0x4 || 0x4 || Minute |
− | |-
| |
− | | 0x8 || 0x4 || [[#SteadyClockSourceId|ClockType]]
| |
− | |-
| |
− | | 0xC || 0x4 || Reserved
| |
− | |-
| |
− | | 0x10 || 0x8 || [[Glue_services#PosixTime|NetworkSystemClock]]
| |
− | |-
| |
− | | 0x18 || 0x18 || [[Glue_services#SteadyClockTimePoint|SteadyClock]]
| |
| |} | | |} |
| | | |
− | = FirmwareVersion = | + | = NotificationFlag = |
− | This is "nn::settings::system::FirmwareVersion". | + | This is "nn::settings::system::NotificationFlag". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 0 || RingtoneFlag |
| |- | | |- |
− | | 0x0 || 0x1 || Major | + | | 1 || DownloadCompletionFlag |
| |- | | |- |
− | | 0x1 || 0x1 || Minor | + | | 8 || EnablesNews |
| |- | | |- |
− | | 0x2 || 0x1 || Micro | + | | 9 || IncomingLampFlag |
− | |-
| |
− | | 0x3 || 0x1 || Reserved
| |
− | |-
| |
− | | 0x4 || 0x4 || ReleaseNumber
| |
− | |-
| |
− | | 0x8 || 0x20 || Platform
| |
− | |-
| |
− | | 0x28 || 0x40 || Revision
| |
− | |-
| |
− | | 0x68 || 0x18 || DisplayVersion
| |
− | |-
| |
− | | 0x80 || 0x80 || DisplayName
| |
| |} | | |} |
| | | |
− | = PtmFuelGaugeParameter = | + | = NotificationSettings = |
− | This is "nn::settings::system::PtmFuelGaugeParameter". | + | This is "nn::settings::system::NotificationSettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,670: |
Line 1,781: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x2 || Rcomp0 | + | | 0x0 || 0x4 || [[#NotificationFlag|Flags]] |
| |- | | |- |
− | | 0x2 || 0x2 || TempCo | + | | 0x4 || 0x4 || [[#NotificationVolume|Volume]] |
| |- | | |- |
− | | 0x4 || 0x2 || FullCap | + | | 0x8 || 0x8 || [[#NotificationTime|HeadTime]] |
| |- | | |- |
− | | 0x6 || 0x2 || FullCapNom | + | | 0x10 || 0x8 || [[#NotificationTime|TailTime]] |
| + | |} |
| + | |
| + | = AccountNotificationFlag = |
| + | This is "nn::settings::system::AccountNotificationFlag". |
| + | |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| |- | | |- |
− | | 0x8 || 0x2 || IavgEmpty | + | | 0 || FriendOnlineFlag |
| |- | | |- |
− | | 0xA || 0x2 || QrTable00 | + | | 1 || FriendRequestFlag |
| |- | | |- |
− | | 0xC || 0x2 || QrTable10 | + | | 8 || CoralInvitationFlag |
− | |-
| |
− | | 0xE || 0x2 || QrTable20
| |
− | |-
| |
− | | 0x10 || 0x2 || QrTable30
| |
− | |-
| |
− | | 0x12 || 0x2 || Reserved
| |
− | |-
| |
− | | 0x14 || 0x4 || Cycles
| |
| |} | | |} |
| | | |
− | = SecuritySettings = | + | = AccountNotificationSettings = |
− | This is "nn::settings::system::SecuritySettings". | + | This is "nn::settings::system::AccountNotificationSettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,700: |
Line 1,811: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x4 || AuthenticationMode | + | | 0x0 || 0x10 || [[Account_services#Uid|Uid]] |
| + | |- |
| + | | 0x10 || 0x4 || [[#AccountNotificationFlag|Flags]] |
| |- | | |- |
− | | 0x4 || 0x4 || EncryptionMode | + | | 0x14 || 0x1 || [[#FriendPresenceOverlayPermission|FriendPresenceOverlayPermission]] |
| |- | | |- |
− | | 0x8 || 0x40 || KeyMaterial | + | | 0x15 || 0x1 || [[#FriendPresenceOverlayPermission|FriendInvitationOverlayPermission]] |
| |- | | |- |
− | | 0x48 || 0x4 || KeyMaterialLength | + | | 0x16 || 0x2 || Reserved |
| |} | | |} |
| | | |
− | = NotificationTime = | + | = TvFlag = |
− | This is "nn::settings::system::NotificationTime". | + | This is "nn::settings::system::TvFlag". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 || Allows4k |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 1 || Allows3d |
| |- | | |- |
− | | 0x0 || 0x4 || Hour | + | | 2 || AllowsCec |
| |- | | |- |
− | | 0x4 || 0x4 || Minute | + | | 3 || PreventsScreenBurnIn |
| |} | | |} |
| | | |
− | = NotificationFlag = | + | = TvSettings = |
− | This is "nn::settings::system::NotificationFlag". | + | This is "nn::settings::system::TvSettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | ! Bits
| |
− | ! Description
| |
| |- | | |- |
− | | 0 || RingtoneFlag | + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || [[#TvFlag|Flags]] |
| |- | | |- |
− | | 1 || DownloadCompletionFlag | + | | 0x4 || 0x4 || [[#TvResolution|TvResolution]] |
| |- | | |- |
− | | 8 || EnablesNews | + | | 0x8 || 0x4 || [[#HdmiContentType|HdmiContentType]] |
| |- | | |- |
− | | 9 || IncomingLampFlag | + | | 0xC || 0x4 || [[#RgbRange|RgbRange]] |
− | |} | |
− | | |
− | = NotificationSettings =
| |
− | This is "nn::settings::system::NotificationSettings".
| |
− | | |
− | {| class="wikitable" border="1"
| |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 0x10 || 0x4 || [[#CmuMode|CmuMode]] |
| |- | | |- |
− | | 0x0 || 0x4 || [[#NotificationFlag|Flags]] | + | | 0x14 || 0x4 || TvUnderscan |
| |- | | |- |
− | | 0x4 || 0x4 || [[#NotificationVolume|Volume]] | + | | 0x18 || 0x4 || TvGamma |
| |- | | |- |
− | | 0x8 || 0x8 || [[#NotificationTime|HeadTime]] | + | | 0x1C || 0x4 || ContrastRatio |
− | |-
| |
− | | 0x10 || 0x8 || [[#NotificationTime|TailTime]]
| |
| |} | | |} |
| | | |
− | = AccountNotificationFlag = | + | = DataDeletionFlag = |
− | This is "nn::settings::system::AccountNotificationFlag". | + | This is "nn::settings::system::DataDeletionFlag". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,760: |
Line 1,869: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || FriendOnlineFlag | + | | 0 || AutomaticDeletionFlag |
− | |-
| |
− | | 1 || FriendRequestFlag
| |
− | |-
| |
− | | 8 || CoralInvitationFlag
| |
| |} | | |} |
| | | |
− | = AccountNotificationSettings = | + | = DataDeletionSettings = |
− | This is "nn::settings::system::AccountNotificationSettings". | + | This is "nn::settings::system::DataDeletionSettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,774: |
Line 1,879: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x10 || [[Account_services#Uid|Uid]] | + | | 0x0 || 0x4 || [[#DataDeletionFlag|Flags]] |
| |- | | |- |
− | | 0x10 || 0x4 || [[#AccountNotificationFlag|Flags]] | + | | 0x4 || 0x4 || UseCount |
− | |-
| |
− | | 0x14 || 0x1 || [[#FriendPresenceOverlayPermission|FriendPresenceOverlayPermission]]
| |
− | |-
| |
− | | 0x15 || 0x1 || [[#FriendPresenceOverlayPermission|FriendInvitationOverlayPermission]]
| |
− | |-
| |
− | | 0x16 || 0x2 || Reserved
| |
| |} | | |} |
| | | |
− | = TvFlag = | + | = SleepFlag = |
− | This is "nn::settings::system::TvFlag". | + | This is "nn::settings::system::SleepFlag". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,792: |
Line 1,891: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Allows4k | + | | 0 || SleepsWhilePlayingMedia |
| |- | | |- |
− | | 1 || Allows3d | + | | 1 || WakesAtPowerStateChange |
− | |-
| |
− | | 2 || AllowsCec
| |
− | |-
| |
− | | 3 || PreventsScreenBurnIn
| |
| |} | | |} |
| | | |
− | = TvSettings = | + | = SleepSettings = |
− | This is "nn::settings::system::TvSettings". | + | This is "nn::settings::system::SleepSettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,808: |
Line 1,903: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x4 || [[#TvFlag|Flags]] | + | | 0x0 || 0x4 || [[#SleepFlag|Flags]] |
| |- | | |- |
− | | 0x4 || 0x4 || [[#TvResolution|TvResolution]] | + | | 0x4 || 0x4 || [[#HandheldSleepPlan|HandheldSleepPlan]] |
| |- | | |- |
− | | 0x8 || 0x4 || [[#HdmiContentType|HdmiContentType]] | + | | 0x8 || 0x4 || [[#ConsoleSleepPlan|ConsoleSleepPlan]] |
− | |-
| |
− | | 0xC || 0x4 || [[#RgbRange|RgbRange]]
| |
− | |-
| |
− | | 0x10 || 0x4 || [[#CmuMode|CmuMode]]
| |
− | |-
| |
− | | 0x14 || 0x4 || TvUnderscan
| |
− | |-
| |
− | | 0x18 || 0x4 || TvGamma
| |
− | |-
| |
− | | 0x1C || 0x4 || ContrastRatio
| |
| |} | | |} |
| | | |
− | = DataDeletionFlag = | + | = InitialLaunchFlag = |
− | This is "nn::settings::system::DataDeletionFlag". | + | This is "nn::settings::system::InitialLaunchFlag". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,832: |
Line 1,917: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || AutomaticDeletionFlag | + | | 0 || InitialLaunchCompletionFlag |
| + | |- |
| + | | 8 || InitialLaunchUserAdditionFlag |
| + | |- |
| + | | 16 || InitialLaunchTimestampFlag |
| |} | | |} |
| | | |
− | = DataDeletionSettings = | + | = InitialLaunchSettings = |
− | This is "nn::settings::system::DataDeletionSettings". | + | This is "nn::settings::system::InitialLaunchSettings". This struct is 8-byte aligned. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,842: |
Line 1,931: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x4 || [[#DataDeletionFlag|Flags]] | + | | 0x0 || 0x4 || [[#InitialLaunchFlag|Flags]] |
| + | |- |
| + | | 0x4 || 0x4 || Reserved |
| |- | | |- |
− | | 0x4 || 0x4 || UseCount | + | | 0x8 || 0x18 || [[Glue_services#SteadyClockTimePoint|TimeStamp]] |
| |} | | |} |
| | | |
− | = SleepFlag = | + | = RebootlessSystemUpdateVersion = |
− | This is "nn::settings::system::SleepFlag". | + | This is "nn::settings::system::RebootlessSystemUpdateVersion". This struct is 4-byte aligned. |
| + | |
| + | This is the content of the RebootlessSystemUpdateVersion SystemData, in the "/version" file. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | ! Bits
| |
− | ! Description
| |
| |- | | |- |
− | | 0 || SleepsWhilePlayingMedia | + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || Version |
| |- | | |- |
− | | 1 || WakesAtPowerStateChange | + | | 0x4 || 0x1C || Reserved |
| + | |- |
| + | | 0x20 || 0x20 || DisplayVersion |
| |} | | |} |
| | | |
− | = SleepSettings = | + | = PrimaryAlbumStorage = |
− | This is "nn::settings::system::SleepSettings". | + | This is "nn::settings::system::PrimaryAlbumStorage". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Offset || Size || Description | + | ! Value |
| + | ! Description |
| |- | | |- |
− | | 0x0 || 0x4 || [[#SleepFlag|Flags]] | + | | 0 || Nand |
| |- | | |- |
− | | 0x4 || 0x4 || [[#HandheldSleepPlan|HandheldSleepPlan]] | + | | 1 || SdCard |
− | |-
| |
− | | 0x8 || 0x4 || [[#ConsoleSleepPlan|ConsoleSleepPlan]]
| |
| |} | | |} |
| | | |
− | = InitialLaunchFlag = | + | = ErrorReportSharePermission = |
− | This is "nn::settings::system::InitialLaunchFlag". | + | This is "nn::settings::system::ErrorReportSharePermission". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | ! Bits | + | |- |
| + | ! Value |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || InitialLaunchCompletionFlag | + | | 0 || NotConfirmed |
| |- | | |- |
− | | 8 || InitialLaunchUserAdditionFlag | + | | 1 || Granted |
| |- | | |- |
− | | 16 || InitialLaunchTimestampFlag | + | | 2 || Denied |
| |} | | |} |
| | | |
− | = InitialLaunchSettings = | + | = ServiceDiscoveryControlSettings = |
− | This is "nn::settings::system::InitialLaunchSettings". This struct is 8-byte aligned. | + | This is "nn::settings::system::ServiceDiscoveryControlSettings". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 0 |
− | |-
| + | | IsChangeEnvironmentIdentifierDisabled |
− | | 0x0 || 0x4 || [[#InitialLaunchFlag|Flags]]
| |
− | |- | |
− | | 0x4 || 0x4 || Reserved
| |
− | |-
| |
− | | 0x8 || 0x18 || [[Glue_services#SteadyClockTimePoint|TimeStamp]]
| |
| |} | | |} |
| | | |
− | = RebootlessSystemUpdateVersion = | + | = AppletLaunchFlag = |
− | This is "nn::settings::system::RebootlessSystemUpdateVersion". This struct is 4-byte aligned. | + | This is "nn::settings::system::AppletLaunchFlag". This is an u32 bitmask. |
| | | |
− | This is the content of the RebootlessSystemUpdateVersion SystemData, in the "/version" file. | + | = KeyboardLayout = |
| + | This is "nn::settings::KeyboardLayout". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Offset || Size || Description | + | ! Value |
| + | ! Description |
| |- | | |- |
− | | 0x0 || 0x4 || Version | + | | 1 || EnglishUs |
| |- | | |- |
− | | 0x4 || 0x1C || Reserved | + | | 2 || EnglishUsInternational |
| |- | | |- |
− | | 0x20 || 0x20 || DisplayVersion | + | | 3 || EnglishUk |
| + | |- |
| + | | 4 || French |
| + | |- |
| + | | 5 || FrenchCa |
| + | |- |
| + | | 6 || Spanish |
| + | |- |
| + | | 7 || SpanishLatin |
| + | |- |
| + | | 8 || German |
| + | |- |
| + | | 9 || Italian |
| + | |- |
| + | | 10 || Portuguese |
| + | |- |
| + | | 11 || Russian |
| + | |- |
| + | | 12 || Korean |
| + | |- |
| + | | 13 || ChineseSimplified |
| + | |- |
| + | | 14 || ChineseTraditional |
| |} | | |} |
| | | |
− | = PrimaryAlbumStorage = | + | = ChineseTraditionalInputMethod = |
− | This is "nn::settings::system::PrimaryAlbumStorage". | + | This is "nn::settings::ChineseTraditionalInputMethod". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,925: |
Line 2,041: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Nand | + | | 1 || |
| |- | | |- |
− | | 1 || SdCard | + | | 2 || |
| |} | | |} |
| | | |
− | = ErrorReportSharePermission = | + | = TouchScreenMode = |
− | This is "nn::settings::system::ErrorReportSharePermission". | + | This is "nn::settings::system::TouchScreenMode". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 1,938: |
Line 2,054: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || NotConfirmed | + | | 0 || Stylus |
| |- | | |- |
− | | 1 || Granted | + | | 1 || Standard |
− | |-
| |
− | | 2 || Denied
| |
| |} | | |} |
| | | |
− | = ServiceDiscoveryControlSettings = | + | = ButtonConfigSettings = |
− | This is "nn::settings::system::ServiceDiscoveryControlSettings". | + | This is "nn::settings::system::ButtonConfigSettings". This is a 0x5A8-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | ! Bits
| |
− | ! Description
| |
| |- | | |- |
− | | 0 | + | ! Offset || Size || Description |
− | | IsChangeEnvironmentIdentifierDisabled | + | |- |
| + | | 0x0 || 0x1 || IsFull bool flag. 0 = empty config, 1 = config set. Also accessed as an u32, but only bit0 is used. |
| + | |- |
| + | | 0x1 || 0x3 || Padding |
| + | |- |
| + | | 0x4 || 0x1C4 || Unused |
| + | |- |
| + | | 0x1C8 || 0x3E0 || Config |
| |} | | |} |
| | | |
− | = AppletLaunchFlag = | + | = ButtonConfigRegisteredSettings = |
− | This is "nn::settings::system::AppletLaunchFlag". This is an u32 bitmask. | + | This is "nn::settings::system::ButtonConfigRegisteredSettings". This is a 0x5C8-byte struct. |
| | | |
− | = KeyboardLayout = | + | = BluetoothDevicesSettings = |
− | This is "nn::settings::KeyboardLayout". | + | This is "nn::settings::system::BluetoothDevicesSettings". This is a 0x200-byte struct. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Value | + | ! Offset || Size || Description |
− | ! Description
| |
| |- | | |- |
− | | 1 || EnglishUs | + | | 0x0 || 0x6 || [[BTM_services#BdAddress|BdAddr]] |
| |- | | |- |
− | | 2 || EnglishUsInternational | + | | 0x6 || 0x20 || [13.0.0+] Reserved ([1.0.0-12.1.0] [[BTM_services#BdName|DeviceName]]) |
| |- | | |- |
− | | 3 || EnglishUk | + | | 0x26 || 0x3 || [[BTM_services#ClassOfDevice|ClassOfDevice]] |
| |- | | |- |
− | | 4 || French | + | | 0x29 || 0x10 || LinkKey |
| |- | | |- |
− | | 5 || FrenchCa | + | | 0x39 || 0x1 || LinkKeyPresent |
| |- | | |- |
− | | 6 || Spanish | + | | 0x3A || 0x2 || Version |
| |- | | |- |
− | | 7 || SpanishLatin | + | | 0x3C || 0x4 || TrustedServices |
| |- | | |- |
− | | 8 || German | + | | 0x40 || 0x2 || Vid |
| |- | | |- |
− | | 9 || Italian | + | | 0x42 || 0x2 || Pid |
| |- | | |- |
− | | 10 || Portuguese
| + | | 0x44 || 0x1 || SubClass |
− | |-
| |
− | | 11 || Russian
| |
− | |-
| |
− | | 12 || Korean
| |
− | |-
| |
− | | 13 || ChineseSimplified
| |
− | |-
| |
− | | 14 || ChineseTraditional
| |
− | |}
| |
− | | |
− | = ChineseTraditionalInputMethod =
| |
− | This is "nn::settings::ChineseTraditionalInputMethod".
| |
− | | |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Value
| |
− | ! Description
| |
− | |-
| |
− | | 1 ||
| |
− | |-
| |
− | | 2 ||
| |
− | |}
| |
− | | |
− | = TouchScreenMode =
| |
− | This is "nn::settings::system::TouchScreenMode".
| |
− | | |
− | This is an u8. This controls "Touch-Screen Sensitivity", values:
| |
− | * 0: Stylus.
| |
− | * 1: Standard, the default.
| |
− | | |
− | = ButtonConfigSettings =
| |
− | This is "nn::settings::system::ButtonConfigSettings". This is a 0x5A8-byte struct.
| |
− | | |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Offset || Size || Description
| |
− | |-
| |
− | | 0x0 || 0x1 || IsFull bool flag. 0 = empty config, 1 = config set. Also accessed as an u32, but only bit0 is used.
| |
− | |-
| |
− | | 0x1 || 0x3 || Padding
| |
− | |-
| |
− | | 0x4 || 0x1C4 || Unused
| |
− | |-
| |
− | | 0x1C8 || 0x3E0 || Config
| |
− | |}
| |
− | | |
− | = ButtonConfigRegisteredSettings =
| |
− | This is "nn::settings::system::ButtonConfigRegisteredSettings". This is a 0x5C8-byte struct.
| |
− | | |
− | = BluetoothDevicesSettings =
| |
− | This is "nn::settings::system::BluetoothDevicesSettings". This is a 0x200-byte struct.
| |
− | | |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Offset || Size || Description
| |
− | |-
| |
− | | 0x0 || 0x6 || [[BTM_services#BdAddress|BdAddr]]
| |
− | |-
| |
− | | 0x6 || 0x20 || [[BTM_services#BdName|DeviceName]]
| |
− | |-
| |
− | | 0x26 || 0x3 || [[BTM_services#ClassOfDevice|ClassOfDevice]]
| |
− | |-
| |
− | | 0x29 || 0x10 || LinkKey
| |
− | |-
| |
− | | 0x39 || 0x1 || LinkKeyPresent
| |
− | |-
| |
− | | 0x3A || 0x2 || Version
| |
− | |-
| |
− | | 0x3C || 0x4 || TrustedServices
| |
− | |-
| |
− | | 0x40 || 0x2 || Vid
| |
− | |-
| |
− | | 0x42 || 0x2 || Pid
| |
− | |-
| |
− | | 0x44 || 0x1 || SubClass | |
| |- | | |- |
| | 0x45 || 0x1 || AttributeMask | | | 0x45 || 0x1 || AttributeMask |
Line 2,076: |
Line 2,119: |
| | 0xCC || 0x9 || Brr | | | 0xCC || 0x9 || Brr |
| |- | | |- |
− | | 0xD5 || 0x12B || Reserved | + | | 0xD5 || 0x1 || [13.0.0+] AudioSourceVolume |
| + | |- |
| + | | 0xD6 || 0xF9 || [13.0.0+] DeviceName |
| + | |- |
| + | | 0x1CF || 0x1 || [15.0.0+] AudioSinkVolume |
| + | |- |
| + | | 0x1D0 || 0x4 || [14.0.0+] AudioFlags |
| + | |- |
| + | | 0x1D4 || 0x2C || Reserved |
| |} | | |} |
| | | |