Difference between revisions of "SPL services"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 4: Line 4:
 
! Cmd || Name || Notes
 
! Cmd || Name || Notes
 
|-
 
|-
| 0 || [[#ReadConsoleConfig]] ||  
+
| 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 || ||
 
|}
 
|}
  
== ReadConsoleConfig ==
+
== 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"
 
|-
 
|-
! Id || Name
+
! ConfigItem || Name
 +
|-
 +
| 5 || HardwareType
 
|-
 
|-
 
| 8 || 64bit DeviceId with byte7 clear.
 
| 8 || 64bit DeviceId with byte7 clear.

Revision as of 20:20, 28 June 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
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. Console unique.

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.