PSCode
The PSCode is a 8 bytes code that contains console specific information. It is derived from the ConsoleId.
Knowing PSCode we are able to deduce the 9 first bytes of ConsoleId.
See ConsoleId#Structure) and [PSConsoleId-wiki].
Structure
Chassis Revision ⇓ ⇓ 00000000 00 01 01 05 00 10 00 03 ⇑ ⇑ ⇑ ⇑ Target ID SKU Model (Internal: Product Code) (Internal: Product Sub Code)
1st and 2nd bytes represent the Company Code
3th and 4th bytes represent the Product Code
5th and 6th bytes represent the Product Sub Code
7th and 8th bytes represent the Factory Code
Usage in the OS
PSVita
It is get in userland by _vshSblAimgrGetPscode, _vshSblAimgrGetPscode2, and used by sceRegMgrSrvCnvRegionPsCode.
It is get in kernel by sceSblAimgrGetPscodeForDriver, sceSblAimgrGetPscode2ForDriver, and used by sceRegMgrSrvCnvRegionPsCodeForDriver.
It is used by non-secure kernel and userland to determine the model of the device: - IsCEX, IsDEX, IsTool, IsTest - IsVita, IsDolce, IsGenuineVita, IsGenuineDolce
but also in userland to detect the region by the TargetId that it embeds.