Line 40: |
Line 40: |
| == GetFirmwareVersionForDebug == | | == GetFirmwareVersionForDebug == |
| Takes a type-0x16 output buffer containing a 0x80-byte "nn::oe::FirmwareVersionForDebug". | | Takes a type-0x16 output buffer containing a 0x80-byte "nn::oe::FirmwareVersionForDebug". |
| + | |
| + | This uses [[#GetDebugModeFlag]] internally, if the output flag is 0 an error is thrown. |
| + | |
| + | This runs the same code as GetFirmwareVersion2, with the last 0x80-bytes of the [[System_Version_Title|output]] being copied to the output buffer. |
| | | |
| == Language == | | == Language == |
Line 51: |
Line 55: |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Array-index / [[#Language]] || [[#LanguageCode]] || Icon [[NCA_Content_FS#FS-type3|language]] filename | + | ! Array-index / [[#Language]] || [[#LanguageCode]] || Icon [[NCA_Content_FS#FS-type3|language]] filename || Name |
| |- | | |- |
− | | 0 || ja || "Japanese" | + | | 0 || ja || "Japanese" || Japanese |
| |- | | |- |
− | | 1 || en-US || "AmericanEnglish" | + | | 1 || en-US || "AmericanEnglish" || EnglishUs |
| |- | | |- |
− | | 2 || fr || "French" | + | | 2 || fr || "French" || French |
| |- | | |- |
− | | 3 || de || "German" | + | | 3 || de || "German" || German |
| |- | | |- |
− | | 4 || it || "Italian" | + | | 4 || it || "Italian" || Italian |
| |- | | |- |
− | | 5 || es || "Spanish" | + | | 5 || es || "Spanish" || Spanish |
| |- | | |- |
− | | 6 || zh-CN || "Chinese" | + | | 6 || zh-CN || "Chinese" || Chinese |
| |- | | |- |
− | | 7 || ko || "Korean" | + | | 7 || ko || "Korean" || Korean |
| |- | | |- |
− | | 8 || nl || "Dutch" | + | | 8 || nl || "Dutch" || Dutch |
| |- | | |- |
− | | 9 || pt || "Portuguese" | + | | 9 || pt || "Portuguese" || Portuguese |
| |- | | |- |
− | | 10 || ru || "Russian" | + | | 10 || ru || "Russian" || Russian |
| |- | | |- |
− | | 11 || zh-TW || "Taiwanese" | + | | 11 || zh-TW || "Taiwanese" || Taiwanese |
| |- | | |- |
− | | 12 || en-GB || "BritishEnglish" | + | | 12 || en-GB || "BritishEnglish" || EnglishUk |
| |- | | |- |
− | | 13 || fr-CA || "CanadianFrench" | + | | 13 || fr-CA || "CanadianFrench" || FrenchCa |
| |- | | |- |
− | | 14 || es-419 || "LatinAmericanSpanish" | + | | 14 || es-419 || "LatinAmericanSpanish" || SpanishLatin |
| |- | | |- |
− | | [4.0.0+] 15 || zh-Hans || "SimplifiedChinese" | + | | [4.0.0+] 15 || zh-Hans || "SimplifiedChinese" || ChineseSimplified |
| |- | | |- |
− | | [4.0.0+] 16 || zh-Hant || "TraditionalChinese" | + | | [4.0.0+] 16 || zh-Hant || "TraditionalChinese" || ChineseTraditional |
| |} | | |} |
| | | |
Line 662: |
Line 666: |
| | 173 || [7.0.0+] SetPtmCycleCountReliability | | | 173 || [7.0.0+] SetPtmCycleCountReliability |
| |- | | |- |
− | | 174 || [9.0.0+] GetHomeMenuScheme | + | | 174 || [9.0.0+] [[#GetHomeMenuScheme]] |
| |- | | |- |
| | 175 || [7.0.0+] GetThemeSettings | | | 175 || [7.0.0+] GetThemeSettings |
Line 676: |
Line 680: |
| | 180 || [8.0.0+] SetZoomFlag | | | 180 || [8.0.0+] SetZoomFlag |
| |- | | |- |
− | | 181 || [8.0.0+] GetT | + | | 181 || [8.0.0+] [[#GetT]] |
| |- | | |- |
− | | 182 || [8.0.0+] SetT | + | | 182 || [8.0.0+] [[#SetT]] |
| |- | | |- |
− | | 183 || [9.0.0+] GetPlatformRegion | + | | 183 || [9.0.0+] [[#GetPlatformRegion]] |
| |- | | |- |
− | | 184 || [9.0.0+] SetPlatformRegion | + | | 184 || [9.0.0+] [[#SetPlatformRegion]] |
| |- | | |- |
− | | 185 || [9.0.0+] GetHomeMenuSchemeModel | + | | 185 || [9.0.0+] [[#GetHomeMenuSchemeModel]] |
| |- | | |- |
| | 186 || [9.0.0+] GetMemoryUsageRateFlag | | | 186 || [9.0.0+] GetMemoryUsageRateFlag |
Line 731: |
Line 735: |
| | | |
| == GetServiceDiscoveryControlSettings == | | == GetServiceDiscoveryControlSettings == |
− | Returns 0x01 if [[Safemode|safemode]] needs to be launched. | + | Returns an u32 [[#ServiceDiscoveryControlSettings|ServiceDiscoveryControlSettings]]. |
| | | |
| == GetAllowedSslHosts == | | == GetAllowedSslHosts == |
Line 738: |
Line 742: |
| == GetQuestFlag == | | == GetQuestFlag == |
| 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. | | 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. |
| + | |
| + | == GetHomeMenuScheme == |
| + | No input, returns an output 0x14-byte struct "nn::settings::system::HomeMenuScheme". |
| + | |
| + | This struct contains 5 RGBA8 u32s for colors: '''Main''', '''Back''', '''Sub''', '''Bezel''' and '''Extra'''. |
| + | |
| + | 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. |
| + | |
| + | == GetT == |
| + | No input, returns an output u8 bool flag. |
| + | |
| + | [9.0.0+] This is a wrapper for [[#GetPlatformRegion]]: <code>flag = PlatformRegion==2</code>. |
| + | |
| + | == SetT == |
| + | Takes an input u8 bool flag, no output. |
| + | |
| + | [9.0.0+] This is a wrapper for [[#SetPlatformRegion]]: <code>PlatformRegion = 1 + (flag & 1)</code>. |
| + | |
| + | == GetPlatformRegion == |
| + | No input, returns an output s32. |
| + | |
| + | == SetPlatformRegion == |
| + | Takes an input s32, no output. |
| + | |
| + | == GetHomeMenuSchemeModel == |
| + | No input, returns an output u32. |
| + | |
| + | Loads the 0xB-byte setting <"settings_debug", "home_menu_scheme_model">. Depending on the content of the setting, the output u32 is either determined by the value of this setting, or loaded from [[Calibration]]. |
| + | |
| + | == ServiceDiscoveryControlSettings == |
| + | This is a 32-bit bitfield. |
| + | |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | IsChangeEnvironmentIdentifierDisabled |
| + | |} |
| | | |
| = System Config = | | = System Config = |
| There's a common config title (*818), and a config title for each [[SPL_services|HardwareType]]. | | There's a common config title (*818), and a config title for each [[SPL_services|HardwareType]]. |
| | | |
− | [5.0.0+] New config fields were added to the HardwareType-specific config: | + | See [[System_Settings]]. |
− | | |
− | * "systeminitializer!eks_enabled" 1 for non-Mariko, 0 otherwise.
| |
− | * "systeminitializer!bct_eks_offset" Offset within the [[BCT]] where the [[Flash_Filesystem|keyblob]]/"EKS" is stored.
| |
− | * "systeminitializer!bct_version_offset" Offset within the [[BCT]] where the keyblob version is stored (bootloader0_info.version).
| |
− | * "systeminitializer!boot_image_update_type" 0 for non-Mariko, 1 otherwise.
| |
− | | |
− | "bct_eks_offset" and "bct_version_offset" are only present in non-Mariko config, since (?) Mariko "eks_enabled" is 0. This presumably means the [[Flash_Filesystem|keyblob]]/"EKS" is not embedded in [[BCT]] with Mariko?
| |
| | | |
| [[Category:Services]] | | [[Category:Services]] |