Difference between revisions of "SPL services"
From Nintendo Switch Brew
| (3 intermediate revisions by 3 users not shown) | |||
| Line 4: | Line 4: | ||
! Cmd || Name || Notes | ! Cmd || Name || Notes | ||
|- | |- | ||
| − | | 0 || [[# | + | | 0 || [[#GetConfig]] || |
|- | |- | ||
| 1 || || Unknown marshalling. | | 1 || || Unknown marshalling. | ||
| Line 15: | Line 15: | ||
|- | |- | ||
| 5 || || Always returns 0x41A? | | 5 || || Always returns 0x41A? | ||
| + | |- | ||
| + | | 7 || || | ||
| + | |- | ||
| + | | 9 || || | ||
| + | |- | ||
| + | | 10 || || | ||
|- | |- | ||
| 11 || [[#GetDevunitFlag]] || | | 11 || [[#GetDevunitFlag]] || | ||
| + | |- | ||
| + | | 12 || || | ||
|- | |- | ||
| 13 || || | | 13 || || | ||
| + | |- | ||
| + | | 14 || || | ||
| + | |- | ||
| + | | 15 || || | ||
| + | |- | ||
| + | | 16 || || | ||
| + | |- | ||
| + | | 17 || || | ||
| + | |- | ||
| + | | 18 || || | ||
| + | |- | ||
| + | | 19 || || | ||
| + | |- | ||
| + | | 20 || || | ||
| + | |- | ||
| + | | 21 || || | ||
| + | |- | ||
| + | | 22 || || | ||
| + | |- | ||
| + | | 23 || || | ||
|} | |} | ||
| − | == | + | == GetConfig == |
| − | Takes input word, and returns u64. | + | Takes an input word (ConfigItem), and returns a u64 with the config params. |
| + | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| − | ! | + | ! ConfigItem || Name |
| + | |- | ||
| + | | 5 || HardwareType (0=Icosa, 1=Copper) | ||
|- | |- | ||
| 8 || 64bit DeviceId with byte7 clear. | | 8 || 64bit DeviceId with byte7 clear. | ||
| Line 39: | Line 70: | ||
Takes 16-bytes as input and two u32s. Outputs random-looking 16-bytes. | Takes 16-bytes as input and two u32s. Outputs random-looking 16-bytes. | ||
| − | Same input gives same output. | + | Same input gives same output. Output changes when system is rebooted. |
== ScrambleKeyB == | == ScrambleKeyB == | ||
| Line 49: | Line 80: | ||
No input params. | No input params. | ||
| − | Returns an u8 flag for whether the system is devunit | + | Returns an u8 flag for whether the system is devunit. Output flag is 0 on retail. |
== Cmd13 == | == Cmd13 == | ||
Last SPL cmd used by [[SSL_services|SSL]]-sysmodule for TLS client-privk. | Last SPL cmd used by [[SSL_services|SSL]]-sysmodule for TLS client-privk. | ||
Latest revision as of 17:37, 4 July 2017
spl:
| Cmd | Name | Notes |
|---|---|---|
| 0 | #GetConfig | |
| 1 | Unknown marshalling. | |
| 2 | #ScrambleKeyA | |
| 3 | Always returns 0x2D1A? | |
| 4 | #ScrambleKeyB | |
| 5 | Always returns 0x41A? | |
| 7 | ||
| 9 | ||
| 10 | ||
| 11 | #GetDevunitFlag | |
| 12 | ||
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | ||
| 17 | ||
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | ||
| 22 | ||
| 23 |
GetConfig
Takes an input word (ConfigItem), and returns a u64 with the config params.
| ConfigItem | Name |
|---|---|
| 5 | HardwareType (0=Icosa, 1=Copper) |
| 8 | 64bit DeviceId with byte7 clear. |
| 11 | Allow skipping RSA signatures on NRR. |
Output from this when used by NIM must match the set:cal DeviceId with byte7 cleared, otherwise NIM will panic.
RO checks id11, if set then skipping NRR rsa signatures is allowed.
ScrambleKeyA
Takes 16-bytes as input and two u32s. Outputs random-looking 16-bytes.
Same input gives same output. Output changes when system is rebooted.
ScrambleKeyB
Behaves similar to #ScrambleKeyA, but with different output.
Also console unique. This is not the inverse operation of #ScrambleKeyA.
GetDevunitFlag
No input params.
Returns an u8 flag for whether the system is devunit. Output flag is 0 on retail.
Cmd13
Last SPL cmd used by SSL-sysmodule for TLS client-privk.