Manu services: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
No edit summary
No edit summary
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 06: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.