SPL services

From Nintendo Switch Brew
Revision as of 18:44, 16 July 2017 by Hexkyz (talk | contribs) (→‎spl:)
Jump to navigation Jump to search

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.