Difference between revisions of "SPL services"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 6: Line 6:
 
| 0 || [[#GetConfig]] ||  
 
| 0 || [[#GetConfig]] ||  
 
|-
 
|-
| 1 || || Unknown marshalling.
+
| 1 || ||
 
|-
 
|-
 
| 2 || [[#ScrambleKeyA]] ||
 
| 2 || [[#ScrambleKeyA]] ||
 
|-
 
|-
| 3 || || Always returns 0x2D1A?
+
| 3 || ||
 
|-
 
|-
 
| 4 || [[#ScrambleKeyB]] ||
 
| 4 || [[#ScrambleKeyB]] ||
 
|-
 
|-
| 5 || || Always returns 0x41A?
+
| 5 || [[#SetConfig]] ||
 
|-
 
|-
 
| 7 || ||  
 
| 7 || ||  
Line 26: Line 26:
 
| 12 || ||  
 
| 12 || ||  
 
|-
 
|-
| 13 || ||  
+
| 13 || [[#EncDec0]] ||  
 
|-
 
|-
 
| 14 || ||  
 
| 14 || ||  
Line 76: Line 76:
  
 
Also console unique. This is not the inverse operation of [[#ScrambleKeyA]].
 
Also console unique. This is not the inverse operation of [[#ScrambleKeyA]].
 +
 +
== SetConfig ==
 +
Takes two input words, a ConfigItem and the value to set.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! ConfigItem || Name
 +
|-
 +
| 13 || Unknown.
 +
|}
  
 
== GetDevunitFlag ==
 
== GetDevunitFlag ==
Line 82: Line 92:
 
Returns an u8 flag for whether the system is devunit. Output flag is 0 on retail.
 
Returns an u8 flag for whether the system is devunit. Output flag is 0 on retail.
  
== Cmd13 ==
+
== EncDec0 ==
 
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.

Revision as of 18:44, 16 July 2017

spl:

Cmd Name Notes
0 #GetConfig
1
2 #ScrambleKeyA
3
4 #ScrambleKeyB
5 #SetConfig
7
9
10
11 #GetDevunitFlag
12
13 #EncDec0
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.

SetConfig

Takes two input words, a ConfigItem and the value to set.

ConfigItem Name
13 Unknown.

GetDevunitFlag

No input params.

Returns an u8 flag for whether the system is devunit. Output flag is 0 on retail.

EncDec0

Last SPL cmd used by SSL-sysmodule for TLS client-privk.