PSCode: Difference between revisions
CelesteBlue (talk | contribs) No edit summary |
CelesteBlue (talk | contribs) No edit summary |
||
Line 28: | Line 28: | ||
= Where is it used ? = | = Where is it used ? = | ||
It is get by | It is get in userland by _vshSblAimgrGetPscode, _vshSblAimgrGetPscode2, and used by sceRegMgrSrvCnvRegionPsCode. | ||
It is | 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 | - IsCEX, IsDEX, IsTool, IsTest | ||
- IsVita, IsDolce, IsGenuineVita, IsGenuineDolce | - IsVita, IsDolce, IsGenuineVita, IsGenuineDolce | ||
but also the region by the [[TargetId]] it embeds. | but also in userland to detect the region by the [[TargetId]] that it embeds. |
Revision as of 18:16, 9 March 2018
The PSCode is a 8 bytes code that contains console specific information like Region or Model Type.
It is derived from the ConsoleId.
Knowing PSCode we are able to deduce the 9 first Bytes of ConsoleId.
What information this stores is almost completely known (see ConsoleId#Structure). For global info (not PSVita dependant), see [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 is the PSCode magic
3th and 4th bytes represent the Target ID TODO:list PSVita target id
5th and 6th bytes represent the Vita SKU Model
7th and 8th bytes represent the Chassis Revision
Where is it used ?
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.