Process Services
Command Header | Description |
---|---|
0x00010244 | SignRsaSha256 |
0x00020244 | VerifyRsaSha256 |
Not implemented | SetAesKey |
0x00040204 | EncryptDecryptAes |
0x00050284 | EncryptSignDecryptVerifyAesCcm |
0x00060040 | GetRomId (u32 processID) |
0x00070040 | GetRomId2 (u32 processID) |
0x00080040 | GetRomMakerCode (u32 processID) |
0x00090000 | GetCTRCardAutoStartupBit |
0x000A0000 | GetLocalFriendCodeSeed |
0x000B0000 | GetDeviceId |
0x000C0000 | GatherEntropy |
0x000D0042 | GenerateRandomBytes |
0x000E0082 | Interface for Process_Services_PXI New3DS command 0x04010084. |
0x000F0082 | Interface for Process_Services_PXI New3DS command 0x04020082. |
0x00100042 | Interface for Process_Services_PXI New3DS command 0x04030044. |
0x00110042 | Interface for Process_Services_PXI New3DS command 0x04040044. |
These commands are an interface for Process_Services_PXI.
For GetRomId, GetRomId2, and GetRomMakerCode, PS-module uses FS:GetProgramLaunchInfo with the processID which was sent to PS-module via the command input. If GetProgramLaunchInfo fails, PS-module returns error 0xC90107FA. When the mediatype is value2 for gamecard, the PSPXI command is used, otherwise PS-module just clears the output data for the command response.
PS module does not use any CheckNew3DS commands: commands 0x000E0082..0x00110042 are handled by PS module regardless of whether this is running on Old3DS/New3DS. Using these commands on Old3DS will result in Process9 returning an invalid command header error.