SceCompat: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) No edit summary |
CelesteBlue (talk | contribs) No edit summary |
||
Line 114: | Line 114: | ||
| 0.990 || not present | | 0.990 || not present | ||
|- | |- | ||
| 1. | | 1.03-3.60 || 0x1CD51530 | ||
|} | |} | ||
<source lang="C"> | |||
// some_id must be between 0x80 and 0x8A | |||
int sceCompatWriteShared32(SceUInt32 some_id, SceUInt32 value); | |||
</source> | |||
=== sceCompatWriteSharedCtrl === | === sceCompatWriteSharedCtrl === | ||
Line 126: | Line 131: | ||
| 1.69-3.60 || 0x2306FFED | | 1.69-3.60 || 0x2306FFED | ||
|} | |} | ||
<source lang="C"> | |||
// buf max size is 0x10, but only 0xC bytes are written to Shared SRAM | |||
int sceCompatWriteSharedCtrl(void *buf); | |||
</source> | |||
=== sceCompatSetSettings === | === sceCompatSetSettings === | ||
Line 134: | Line 144: | ||
| 0.990 || not present | | 0.990 || not present | ||
|- | |- | ||
| 1.69 || 0x312782DC | | 1.03-1.69 || 0x312782DC | ||
|- | |- | ||
| 3.60 || not present | | 3.60 || not present | ||
|} | |} | ||
<source lang="C"> | |||
typedef struct SceCompatSettings { // size is 4 on FW 1.03 | |||
SceUInt32 disp_filter : 1; | |||
SceUInt32 camera_direction : 1; | |||
SceUInt32 ra_up : 4; | |||
SceUInt32 ra_down : 4; | |||
SceUInt32 ra_left : 4; | |||
SceUInt32 ra_right : 4; | |||
SceUInt32 reserved : 14; | |||
} SceCompatSettings; | |||
int sceCompatSetSettings(SceCompatSettings settings); | |||
</source> | |||
=== sceCompatSuspendResume === | === sceCompatSuspendResume === | ||
Line 148: | Line 172: | ||
| 1.69-3.60 || 0x324112CA | | 1.69-3.60 || 0x324112CA | ||
|} | |} | ||
<source lang="C"> | |||
// mode: 0: suspend, 1: resume | |||
// step: 1: first step, 2: second step | |||
int sceCompatSuspendResume(SceUInt32 mode, SceUInt32 step); | |||
</source> | |||
=== sceCompatSetDisplayConfig === | === sceCompatSetDisplayConfig === | ||
Line 221: | Line 251: | ||
| 0.990 || not present | | 0.990 || not present | ||
|- | |- | ||
| 1. | | 1.03-3.60 || 0x73AA4871 | ||
|} | |} | ||
<source lang="C"> | |||
// some_id must be between 0 and 6 | |||
int sceCompatReadShared32(SceUInt32 some_id, SceUInt32 *pValue); | |||
</source> | |||
=== sceCompatGetSettings === | === sceCompatGetSettings === | ||
Line 365: | Line 400: | ||
| 0.990 || not present | | 0.990 || not present | ||
|- | |- | ||
| 1. | | 1.03-3.60 || 0xBD177787 | ||
|} | |} | ||
<source lang="C">int sceCompatLCDCSync(void);</source> | |||
=== sceCompatWaitIntr === | === sceCompatWaitIntr === | ||
Line 441: | Line 478: | ||
| 0.990 || not present | | 0.990 || not present | ||
|- | |- | ||
| 1. | | 1.03-3.60 || 0xD8B69F23 | ||
|} | |} | ||
<source lang="C"> | |||
// Example of entitlementId: AA0000-AAAA00000_00-0000000000000000 | |||
int sceCompatSetRif(const char *entitlementId); | |||
</source> | |||
=== sceCompatGetPrimaryHead === | === sceCompatGetPrimaryHead === |
Revision as of 09:45, 12 April 2020
This is the primary kernel interface to the PSP Emulator.
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceCompat | Non-secure | Kernel | 0x7FA33B9B |
3.60-3.65 | SceCompat | Non-secure | Kernel | 0x8F2D0378 |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
3.60-3.65 | SceCompatForDriver | Non-secure | Kernel | 0x7CFA62CD |
3.60-3.65 | SceCompatForVsh | Non-secure | User | 0xF68A1AD0 |
0.990-3.65 | SceCompat | Non-secure | User | 0x0F35909D |
SceCompatForDriver
SceCompatForDriver_6EBD9E01
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x6EBD9E01 |
SceCompatForVsh
SceCompatForVsh_4915DEE7
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x4915DEE7 |
SceCompatForVsh_70997F92
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x70997F92 |
SceCompatForVsh_9C107CC9
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x9C107CC9 |
SceCompat
sceCompatGetUpdateState
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x0CDE9EC5 |
sceCompatGetDevInf
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0x138006A8 |
sceCompatGetPeripheralState
Version | NID |
---|---|
0.990-3.60 | 0x176B2906 |
// periph_id: 1: IsHeadphoneExist, 2: GetBatteryLifePercent, 3: GetBatteryLifeTime, 4: IsSuspendRequired int sceCompatGetPeripheralState(SceUInt32 periph_id);
Version | NID |
---|---|
0.990 | not present |
1.03-3.60 | 0x1CD51530 |
// some_id must be between 0x80 and 0x8A int sceCompatWriteShared32(SceUInt32 some_id, SceUInt32 value);
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0x2306FFED |
// buf max size is 0x10, but only 0xC bytes are written to Shared SRAM int sceCompatWriteSharedCtrl(void *buf);
sceCompatSetSettings
Version | NID |
---|---|
0.990 | not present |
1.03-1.69 | 0x312782DC |
3.60 | not present |
typedef struct SceCompatSettings { // size is 4 on FW 1.03 SceUInt32 disp_filter : 1; SceUInt32 camera_direction : 1; SceUInt32 ra_up : 4; SceUInt32 ra_down : 4; SceUInt32 ra_left : 4; SceUInt32 ra_right : 4; SceUInt32 reserved : 14; } SceCompatSettings; int sceCompatSetSettings(SceCompatSettings settings);
sceCompatSuspendResume
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0x324112CA |
// mode: 0: suspend, 1: resume // step: 1: first step, 2: second step int sceCompatSuspendResume(SceUInt32 mode, SceUInt32 step);
sceCompatSetDisplayConfig
Version | NID |
---|---|
0.990 | not present |
1.69 | 0x32BA3DCF |
sceCompatRegRead
Version | NID |
---|---|
0.990-1.69 | 0x4521505D |
3.60 | not present |
int sceCompatRegRead(SceUInt32 unk_bool, SceUInt32 offset, void *pBuf, SceSize size);
sceCompatAvailableColorSpaceSetting
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x456226DD |
sceCompatCache
Version | NID |
---|---|
0.940-3.60 | 0x6777390E |
// mode: 1: Invalidate, 2: Clean and Invalidate, 3: Clean int sceCompatCache(SceUInt32 mode, void *base, SceSize size);
sceCompatAllocCdram
Version | NID |
---|---|
0.990 | not present |
1.69 | 0x6E8E3BA8 |
sceCompatWaitSpecialRequest
Version | NID |
---|---|
0.940-3.60 | 0x714F7ED6 |
int sceCompatWaitSpecialRequest(SceUInt32 req_id);
Version | NID |
---|---|
0.990 | not present |
1.03-3.60 | 0x73AA4871 |
// some_id must be between 0 and 6 int sceCompatReadShared32(SceUInt32 some_id, SceUInt32 *pValue);
sceCompatGetSettings
Version | NID |
---|---|
0.990 | not present |
1.69 | 0x782C980E |
3.60 | not present |
sceCompatIsPocketStationTitle
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x7DCFBCCE |
sceCompatWaitAndGetRequest
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x8176C238 |
int sceCompatWaitAndGetRequest(SceUInt32 req_id, SceUInt32 a2);
sceCompatSetUpdateState
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x8A44206F |
sceCompatStart
Version | NID |
---|---|
0.940-3.60 | 0x8CA1632D |
sceCompatRegWrite
Version | NID |
---|---|
0.990-1.69 | 0x912B1C28 |
3.60 | not present |
int sceCompatRegWrite(SceUInt32 unk_bool, SceUInt32 offset, const void *pBuf, SceSize size);
sceCompatIdStorageLookup
Version | NID |
---|---|
0.940-3.60 | 0x94AAA245 |
int sceCompatIdStorageLookup(SceUInt16 key, SceUInt32 offset, void *pBuf, SceSize size);
sceCompatCheckPocketStation
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x96FC2A87 |
sceCompatGetTitleList
Version | NID |
---|---|
0.990 | not present |
3.60 | 0x99F13E04 |
sceCompatGetCurrentSecureTick
Version | NID |
---|---|
0.990 | not present |
3.60 | 0xA073EBEE |
sceCompatAllocCdramWithHole
Version | NID |
---|---|
0.990 | not present |
3.60 | 0xA5039FFA |
sceCompatGetPspSystemSoftwareVersion
Version | NID |
---|---|
0.990-3.60 | 0xB113DCC0 |
int sceCompatGetPspSystemSoftwareVersion(void);
sceCompatFrameBufferInit
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0xBC0E2B4C |
sceCompatLCDCSync
Version | NID |
---|---|
0.990 | not present |
1.03-3.60 | 0xBD177787 |
int sceCompatLCDCSync(void);
sceCompatWaitIntr
Version | NID |
---|---|
0.990 | not present |
3.60 | 0xC1E14CF5 |
sceCompatGetRequest
Version | NID |
---|---|
0.990 | not present |
1.69 | 0xCB9F607B |
sceCompatDatRead
Version | NID |
---|---|
0.990-3.60 | 0xCBE73EBE |
// index must be 0 // offset + size must be lower or equal to 0x1038 int sceCompatDatRead(SceUInt32 index, SceUInt32 offset, void *pBuf, SceSize size);
sceCompatReturnValueEx
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0xCC02A9FF |
sceCompatGetStatus
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0xD2E3370E |
sceCompatInterrupt
Version | NID |
---|---|
0.940-3.60 | 0xD6AA36DD |
Use a custom SceCompatMailbox address.
int sceCompatInterrupt(void *pMailbox);
sceCompatSetRif
Version | NID |
---|---|
0.990 | not present |
1.03-3.60 | 0xD8B69F23 |
// Example of entitlementId: AA0000-AAAA00000_00-0000000000000000 int sceCompatSetRif(const char *entitlementId);
sceCompatGetPrimaryHead
Version | NID |
---|---|
0.990 | not present |
1.69 | 0xDC9EE33A |
sceCompatSetSuspendSema
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0xDD30239E |
sceCompatInitEx
Version | NID |
---|---|
0.990 | not present |
1.69-3.60 | 0xE97C1B5F |
sceCompatUninit
Version | NID |
---|---|
0.990-3.60 | 0xEF929397 |
int sceCompatUninit(void);
sceCompatStop
Version | NID |
---|---|
0.990-3.60 | 0xFCE2422F |
int sceCompatStop(void);
sceCompatInit
Version | NID |
---|---|
0.940-0.990 | 0xB9DBD54A |
3.60 | not present |
Loads Pcff and Pcbc.
sceCompatLCDCInit
Version | NID |
---|---|
0.940-0.990 | 0x3021D626 |
int sceCompatLCDCInit(const SceDisplayFrameBuf *pFrameBuf);
sceCompatLCDCExec
Version | NID |
---|---|
0.940-0.990 | 0x7E3E266D |
int sceCompatLCDCExec(void);
sceCompatResume
Version | NID |
---|---|
0.990 | 0xCA184D5B |
3.60 | not present |
// step: must be either 1 (resume Pervasive, restore CPU speed) or 2 (init lcd dmac, write resume payload, reload act.dat) int sceCompatResume(SceUInt32 step, int maybe_addr);
sceCompatSuspend
Version | NID |
---|---|
0.990 | 0x9EFFE36E |
3.60 | not present |
// step: must be either 1 (black screen) or 2 (suspend Pervasive, slow down CPU, wipe act.dat in memory) int sceCompatSuspend(SceUInt32 step);
Version | NID |
---|---|
0.990 | 0xC37A463C |
3.60 | not present |
Writes to SceCompatSharedSram.
int sceCompatWriteShared(SceUInt32 offset, const void *pBuf, SceSize size);
sceCompatWaitRequest
Version | NID |
---|---|
0.990 | 0x434BDAB0 |
3.60 | not present |
int sceCompatWaitRequest(SceUInt32 req_id);
sceCompatReturnResult
Version | NID |
---|---|
0.990 | 0x02F5CF19 |
3.60 | not present |
int sceCompatReturnResult(SceUInt32 req_id);
sceCompatReturnValue
Version | NID |
---|---|
0.990 | 0x61DB492A |
3.60 | not present |
int sceCompatReturnValue(SceUInt32 req_id, uint a2, uint a3);
sceCompatSetDisplayBuffer
Version | NID |
---|---|
0.990 | 0xC820EC43 |
3.60 | not present |
int sceCompatSetDisplayBuffer(const SceDisplayFrameBuf *pFrameBuf);
Version | NID |
---|---|
0.990 | 0xC983287E |
3.60 | not present |
int sceCompatReadShared(SceUInt32 offset, void *pBuf, SceSize size);