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 || ||  
+
| 0 || [[#ReadConsoleConfig]] ||  
 
|-
 
|-
 
| 1 || || Unknown marshalling.
 
| 1 || || Unknown marshalling.
Line 21: Line 21:
 
|}
 
|}
  
== Cmd0 ==
+
== ReadConsoleConfig ==
 
Takes input word, and returns u64.
 
Takes input word, and returns u64.
 +
{| class="wikitable" border="1"
 +
|-
 +
! Id || Name
 +
|-
 +
| 8 || 64bit DeviceId with byte7 clear.
 +
|-
 +
| 11 || Allow skipping RSA signatures on NRR.
 +
|}
 +
 +
Output from this when used by [[NIM_services|NIM]] must match the [[Settings_services|set:cal]] DeviceId with byte7 cleared, otherwise NIM will panic.
  
* Input val8: 64bit DeviceId with byte7 clear. Output from this when used by [[NIM_servers|NIM]] must match the [[Settings_services|set:cal]] DeviceId with byte7 cleared, otherwise NIM will panic.
+
[[Loader services|RO]] checks id11, if set then skipping NRR rsa signatures is allowed.
  
 
== ScrambleKeyA ==
 
== ScrambleKeyA ==

Revision as of 20:05, 28 June 2017

spl:

Cmd Name Notes
0 #ReadConsoleConfig
1 Unknown marshalling.
2 #ScrambleKeyA
3 Always returns 0x2D1A?
4 #ScrambleKeyB
5 Always returns 0x41A?
11 #GetDevunitFlag
13

ReadConsoleConfig

Takes input word, and returns u64.

Id Name
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 it seems. Output flag is 0 on retail.

Cmd13

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