Process Services

Revision as of 19:20, 26 November 2014 by Yellows8 (talk | contribs)
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.