Difference between revisions of "Config Services"
Jump to navigation
Jump to search
Line 127: | Line 127: | ||
|- | |- | ||
! Command Header | ! Command Header | ||
+ | ! Available since system version | ||
! Description | ! Description | ||
|- | |- | ||
| 0x04010082 | | 0x04010082 | ||
+ | | | ||
| [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] | | [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] | ||
|- | |- | ||
| 0x04020082 | | 0x04020082 | ||
+ | | | ||
| [[CfgS:SetConfigInfoBlk4|SetConfigInfoBlk4]] | | [[CfgS:SetConfigInfoBlk4|SetConfigInfoBlk4]] | ||
|- | |- | ||
| 0x04030000 | | 0x04030000 | ||
+ | | | ||
| [[Cfg:UpdateConfigNANDSavegame|UpdateConfigNANDSavegame]] | | [[Cfg:UpdateConfigNANDSavegame|UpdateConfigNANDSavegame]] | ||
|- | |- | ||
| 0x04040042 | | 0x04040042 | ||
+ | | | ||
| [[Cfg:GetLocalFriendCodeSeedData|GetLocalFriendCodeSeedData]] | | [[Cfg:GetLocalFriendCodeSeedData|GetLocalFriendCodeSeedData]] | ||
|- | |- | ||
| 0x04050000 | | 0x04050000 | ||
+ | | | ||
| [[CfgS:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]] | | [[CfgS:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]] | ||
|- | |- | ||
| 0x04060000 | | 0x04060000 | ||
+ | | | ||
| [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]] | | [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]] | ||
|- | |- | ||
| 0x04070000 | | 0x04070000 | ||
+ | | | ||
| [[CfgS:SecureInfoGetByte101|SecureInfoGetByte101]] | | [[CfgS:SecureInfoGetByte101|SecureInfoGetByte101]] | ||
|- | |- | ||
| 0x04080042 | | 0x04080042 | ||
+ | | | ||
| [[CfgS:SecureInfoGetSerialNo|SecureInfoGetSerialNo]] | | [[CfgS:SecureInfoGetSerialNo|SecureInfoGetSerialNo]] | ||
|- | |- | ||
| 0x04090000 | | 0x04090000 | ||
+ | | | ||
| [[Cfg:UpdateConfigBlk00040003|UpdateConfigBlk00040003]] | | [[Cfg:UpdateConfigBlk00040003|UpdateConfigBlk00040003]] | ||
+ | |- | ||
+ | | 0x040A0000 | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x040B0000 | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x040C0000 | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x040D0040 | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x040E0000 | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x040F0000 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x08010082 | | 0x08010082 | ||
+ | | | ||
| [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] | | [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] | ||
|- | |- | ||
| 0x08020082 | | 0x08020082 | ||
+ | | | ||
| [[CfgS:SetConfigInfoBlk4|SetConfigInfoBlk4]] | | [[CfgS:SetConfigInfoBlk4|SetConfigInfoBlk4]] | ||
|- | |- | ||
| 0x08030000 | | 0x08030000 | ||
+ | | | ||
| [[Cfg:UpdateConfigNANDSavegame|UpdateConfigNANDSavegame]] | | [[Cfg:UpdateConfigNANDSavegame|UpdateConfigNANDSavegame]] | ||
|- | |- | ||
| 0x080400C2 | | 0x080400C2 | ||
+ | | | ||
| [[CfgI:CreateConfigInfoBlk|CreateConfigInfoBlk]] | | [[CfgI:CreateConfigInfoBlk|CreateConfigInfoBlk]] | ||
|- | |- | ||
| 0x08050000 | | 0x08050000 | ||
+ | | | ||
| [[CfgI:DeleteConfigNANDSavefile|DeleteConfigNANDSavefile]] | | [[CfgI:DeleteConfigNANDSavefile|DeleteConfigNANDSavefile]] | ||
|- | |- | ||
| 0x08060000 | | 0x08060000 | ||
+ | | | ||
| [[CfgI:FormatConfig|FormatConfig]] | | [[CfgI:FormatConfig|FormatConfig]] | ||
|- | |- | ||
| 0x08070000 | | 0x08070000 | ||
+ | | | ||
| This basically just returns result-code value 0x0, due to code this eventually executes being NOPed out. | | This basically just returns result-code value 0x0, due to code this eventually executes being NOPed out. | ||
|- | |- | ||
| 0x08080000 | | 0x08080000 | ||
+ | | | ||
| This updates the config blocks for blkIDs 0x0 and 0x20000. In certain cases this may call the code for [[CfgI:FormatConfig|FormatConfig]]. | | This updates the config blocks for blkIDs 0x0 and 0x20000. In certain cases this may call the code for [[CfgI:FormatConfig|FormatConfig]]. | ||
|- | |- | ||
| 0x08090000 | | 0x08090000 | ||
+ | | | ||
| This updates the config block for blkID 0x60000. | | This updates the config block for blkID 0x60000. | ||
|- | |- | ||
| 0x080A0000 | | 0x080A0000 | ||
+ | | | ||
| This updates the config block for blkID 0x00040001. | | This updates the config block for blkID 0x00040001. | ||
|- | |- | ||
| 0x080B0082 | | 0x080B0082 | ||
+ | | | ||
| [[CfgI:SetGetLocalFriendCodeSeedData|SetGetLocalFriendCodeSeedData]] | | [[CfgI:SetGetLocalFriendCodeSeedData|SetGetLocalFriendCodeSeedData]] | ||
|- | |- | ||
| 0x080C0042 | | 0x080C0042 | ||
+ | | | ||
| [[CfgI:SetLocalFriendCodeSeedSignature|SetLocalFriendCodeSeedSignature]] | | [[CfgI:SetLocalFriendCodeSeedSignature|SetLocalFriendCodeSeedSignature]] | ||
|- | |- | ||
| 0x080D0000 | | 0x080D0000 | ||
+ | | | ||
| [[CfgI:DeleteCreateNANDLocalFriendCodeSeed|DeleteCreateNANDLocalFriendCodeSeed]] | | [[CfgI:DeleteCreateNANDLocalFriendCodeSeed|DeleteCreateNANDLocalFriendCodeSeed]] | ||
|- | |- | ||
| 0x080E0000 | | 0x080E0000 | ||
+ | | | ||
| [[CfgI:VerifySigLocalFriendCodeSeed|VerifySigLocalFriendCodeSeed]] | | [[CfgI:VerifySigLocalFriendCodeSeed|VerifySigLocalFriendCodeSeed]] | ||
|- | |- | ||
| 0x080F0042 | | 0x080F0042 | ||
+ | | | ||
| [[Cfg:GetLocalFriendCodeSeedData|GetLocalFriendCodeSeedData]] | | [[Cfg:GetLocalFriendCodeSeedData|GetLocalFriendCodeSeedData]] | ||
|- | |- | ||
| 0x08100000 | | 0x08100000 | ||
+ | | | ||
| [[CfgS:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]] | | [[CfgS:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]] | ||
|- | |- | ||
| 0x08110084 | | 0x08110084 | ||
+ | | | ||
| [[CfgI:SetSecureInfo|SetSecureInfo]] | | [[CfgI:SetSecureInfo|SetSecureInfo]] | ||
|- | |- | ||
| 0x08120000 | | 0x08120000 | ||
+ | | | ||
| [[CfgI:DeleteCreateNANDSecureInfo|DeleteCreateNANDSecureInfo]] | | [[CfgI:DeleteCreateNANDSecureInfo|DeleteCreateNANDSecureInfo]] | ||
|- | |- | ||
| 0x08130000 | | 0x08130000 | ||
+ | | | ||
| [[CfgI:VerifySigSecureInfo|VerifySigSecureInfo]] | | [[CfgI:VerifySigSecureInfo|VerifySigSecureInfo]] | ||
|- | |- | ||
| 0x08140042 | | 0x08140042 | ||
+ | | | ||
| [[CfgI:SecureInfoGetData|SecureInfoGetData]] | | [[CfgI:SecureInfoGetData|SecureInfoGetData]] | ||
|- | |- | ||
| 0x08150042 | | 0x08150042 | ||
+ | | | ||
| [[CfgI:SecureInfoGetSignature|SecureInfoGetSignature]] | | [[CfgI:SecureInfoGetSignature|SecureInfoGetSignature]] | ||
|- | |- | ||
| 0x08160000 | | 0x08160000 | ||
+ | | | ||
| [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]] | | [[Cfg:SecureInfoGetRegion|SecureInfoGetRegion]] | ||
|- | |- | ||
| 0x08170000 | | 0x08170000 | ||
+ | | | ||
| [[CfgS:SecureInfoGetByte101|SecureInfoGetByte101]] | | [[CfgS:SecureInfoGetByte101|SecureInfoGetByte101]] | ||
|- | |- | ||
| 0x08180042 | | 0x08180042 | ||
+ | | | ||
| [[CfgS:SecureInfoGetSerialNo|SecureInfoGetSerialNo]] | | [[CfgS:SecureInfoGetSerialNo|SecureInfoGetSerialNo]] | ||
+ | |- | ||
+ | | 0x0819.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x081A.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x081B.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x081C.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x081D.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x081E.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x081F.... | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 0x0820.... | ||
+ | | ? | ||
+ | | ? | ||
|} | |} | ||
Revision as of 02:01, 2 April 2015
Config services
Command Header | Available since system version | Description |
---|---|---|
0x00010082 | GetConfigInfoBlk2 | |
0x00020000 | SecureInfoGetRegion | |
0x00030040 | GenHashConsoleUnique/GetTransferableId | |
0x00040000 | 3.0.0-5 | GetRegionCanadaUSA/IsCoppacsSupported |
0x00050000 | 5.0.0-11 | GetSystemModel |
0x00060000 | 6.0.0-11 | GetModelNintendo2DS |
0x00070040 | 7.0.0-13 | (u8 val) This writes the input u8 to the first byte in the config-block for blkID 0x00160000. |
0x00080080 | 7.0.0-13 | (u32 value, u8 type) This goes through a table containing 5 entries, each entry is 2-words. Type0: compare entry-word0 with input value, on match write entry-word1 to cmdreply+8 output. Type1: compare entry-word1 with input value, on match write entry-word0 to output. |
0x00090040 | 7.0.0-13 | GetCountryCodeString |
0x000A0040 | 7.0.0-13 | GetCountryCodeID |
0x000B0000 | 9.3.0-X | Unknown. Starting with 9.6.0-X this is hard-coded to write u8 value 0x1 to cmdreply[2](originally this checked various state/config for determining the output value). |
Config service "cfg:s"
Command Header | Available since system version | Description |
---|---|---|
0x04010082 | GetConfigInfoBlk8 | |
0x04020082 | SetConfigInfoBlk4 | |
0x04030000 | UpdateConfigNANDSavegame | |
0x04040042 | GetLocalFriendCodeSeedData | |
0x04050000 | GetLocalFriendCodeSeed | |
0x04060000 | SecureInfoGetRegion | |
0x04070000 | SecureInfoGetByte101 | |
0x04080042 | SecureInfoGetSerialNo | |
0x04090000 | UpdateConfigBlk00040003 | |
0x040A0000 | ? | ? |
0x040B0000 | ? | ? |
0x040C0000 | ? | ? |
0x040D0040 | ? | ? |
0x040E0000 | ? | ? |
0x040F0000 | ? | ? |
CfgS command 0x04060000(SecureInfoGetRegion) is used by NIM module to determine the SOAP RegionId, when sending SOAP requests. See here.
Config service "cfg:i"
Command Header | Available since system version | Description |
---|---|---|
0x04010082 | GetConfigInfoBlk8 | |
0x04020082 | SetConfigInfoBlk4 | |
0x04030000 | UpdateConfigNANDSavegame | |
0x04040042 | GetLocalFriendCodeSeedData | |
0x04050000 | GetLocalFriendCodeSeed | |
0x04060000 | SecureInfoGetRegion | |
0x04070000 | SecureInfoGetByte101 | |
0x04080042 | SecureInfoGetSerialNo | |
0x04090000 | UpdateConfigBlk00040003 | |
0x040A0000 | ? | ? |
0x040B0000 | ? | ? |
0x040C0000 | ? | ? |
0x040D0040 | ? | ? |
0x040E0000 | ? | ? |
0x040F0000 | ? | ? |
0x08010082 | GetConfigInfoBlk8 | |
0x08020082 | SetConfigInfoBlk4 | |
0x08030000 | UpdateConfigNANDSavegame | |
0x080400C2 | CreateConfigInfoBlk | |
0x08050000 | DeleteConfigNANDSavefile | |
0x08060000 | FormatConfig | |
0x08070000 | This basically just returns result-code value 0x0, due to code this eventually executes being NOPed out. | |
0x08080000 | This updates the config blocks for blkIDs 0x0 and 0x20000. In certain cases this may call the code for FormatConfig. | |
0x08090000 | This updates the config block for blkID 0x60000. | |
0x080A0000 | This updates the config block for blkID 0x00040001. | |
0x080B0082 | SetGetLocalFriendCodeSeedData | |
0x080C0042 | SetLocalFriendCodeSeedSignature | |
0x080D0000 | DeleteCreateNANDLocalFriendCodeSeed | |
0x080E0000 | VerifySigLocalFriendCodeSeed | |
0x080F0042 | GetLocalFriendCodeSeedData | |
0x08100000 | GetLocalFriendCodeSeed | |
0x08110084 | SetSecureInfo | |
0x08120000 | DeleteCreateNANDSecureInfo | |
0x08130000 | VerifySigSecureInfo | |
0x08140042 | SecureInfoGetData | |
0x08150042 | SecureInfoGetSignature | |
0x08160000 | SecureInfoGetRegion | |
0x08170000 | SecureInfoGetByte101 | |
0x08180042 | SecureInfoGetSerialNo | |
0x0819.... | ? | ? |
0x081A.... | ? | ? |
0x081B.... | ? | ? |
0x081C.... | ? | ? |
0x081D.... | ? | ? |
0x081E.... | ? | ? |
0x081F.... | ? | ? |
0x0820.... | ? | ? |
Config service "cfg:u"
This only handles the commands listed under the above "Config services", no additional commands.
Config NVRAM service "cfg:nor"
Command Header | Description |
---|---|
0x00010040 | Initialize |
0x00020000 | Shutdown |
0x00050082 | ReadData |
0x00060082 | WriteData |
This is an interface for the "SPI::NOR" service, for accessing the Wifi NVRAM/SPI Flash.