Difference between revisions of "Manu services"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 9: Line 9:
 
| 0 || || Takes 4 bytes of input, and produces 0 bytes output.
 
| 0 || || Takes 4 bytes of input, and produces 0 bytes output.
 
|-
 
|-
| 1 || || Takes an X descriptor, and produces, 8 bytes output.
+
| 1 || FsFile_Exists || Takes an X descriptor, and produces, 8 bytes output.
 
|-
 
|-
 
| 2 || || Takes 0x18 bytes of input, a B descriptor, and an X descriptor, and produces 0 bytes of output.
 
| 2 || || Takes 0x18 bytes of input, a B descriptor, and an X descriptor, and produces 0 bytes of output.
Line 24: Line 24:
  
 
This seems to interface with [[USB_services|usb:ds]]. SystemInitializer only uses cmd1..cmd3.
 
This seems to interface with [[USB_services|usb:ds]]. SystemInitializer only uses cmd1..cmd3.
 +
 +
== FsFile_Exists ==
 +
Takes an input path string, returns 8-bytes for the output u8 flag.
 +
 +
Checks whether the specified file exists.
 +
 +
This is "FsFile::Exists" in SystemInitializer.

Revision as of 04:55, 1 September 2017

Manu ("Manufacturing") services are provided by the 010000000000B14A sysmodule, which is installed at the factory but not on normal retail systems.

manu

Cmd Name Notes
0 Takes 4 bytes of input, and produces 0 bytes output.
1 FsFile_Exists Takes an X descriptor, and produces, 8 bytes output.
2 Takes 0x18 bytes of input, a B descriptor, and an X descriptor, and produces 0 bytes of output.
3 Takes 0x18 bytes of input, an A descriptor, and an X descriptor, and produces 0 bytes of output.
4 Takes 4 bytes of input, and produces 0 bytes of output.
5 Takes 0x10 bytes of input and a B descriptor, and produces 8 bytes of output.
6 Takes 0x10 bytes of input and an A descriptor, and produces 8 bytes of output.

This seems to interface with usb:ds. SystemInitializer only uses cmd1..cmd3.

FsFile_Exists

Takes an input path string, returns 8-bytes for the output u8 flag.

Checks whether the specified file exists.

This is "FsFile::Exists" in SystemInitializer.