SceKernelDmacMgr: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 91: | Line 91: | ||
|} | |} | ||
<source lang="C">int sceKernelDmaOpAllocForDriver(const char* name);</source> | Allocate 0x60 bytes of heap. | ||
Return id = (uint)heap_addr >> 1 | 1; | |||
<source lang="C"> | |||
typedef struct SceDmaOpAlloc { // size is 0x60 on FW 0.990 | |||
uint unk_0; | |||
uint unk_4; | |||
uint unk_8; // 0x81005001 | |||
uint event_flag_uid; | |||
uint unk_10; | |||
uint unk_14; // 1 | |||
char unk_1C[0x1C]; | |||
uint unk_38; // 0 | |||
uint unk_3C; | |||
const char name[0x20]; | |||
} SceDmaOpAlloc; | |||
int sceKernelDmaOpAllocForDriver(const char* name);</source> | |||
=== sceKernelDmaOpAssignForDriver === | === sceKernelDmaOpAssignForDriver === |
Revision as of 11:41, 5 November 2019
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceKernelDmacMgr | Non-secure | Kernel | 0x67E3D2D2 |
3.60 | SceKernelDmacMgr | Non-secure | Kernel | 0xF926C804 |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.69-3.60 | SceDmacmgrForDriver | Non-secure | Kernel | 0xEB4E3738 |
0.990 | SceDmacmgr | Non-secure | User | not present |
3.60 | SceDmacmgr | Non-secure | User | 0xA9E5B2F0 |
Data segment layout
Address | Size | Description |
---|---|---|
0x0000 | 0x04 | void* SceDmacmgrDmac0Reg membase |
0x0004 | 0x04 | void* SceDmacmgrDmac1Reg membase |
0x0008 | 0x04 | void* SceDmacmgrDmac2Reg membase |
0x000C | 0x04 | void* SceDmacmgrDmac3Reg membase |
0x0010 | 0x04 | void* SceDmacmgrDmac4Reg membase |
0x0014 | 0x04 | void* SceDmacmgrDmac5Reg membase |
0x0018 | 0x04 | void* SceDmacmgrDmac6Reg membase |
0x001C | 0x1284 |
SceDmacmgrForDriver
sceKernelDmaOpSetupChainForDriver
Version | NID |
---|---|
0.990-3.60 | 0x167079FC |
int sceKernelDmaOpSetupChainForDriver(uint32_t opid, void *pTag, int *a3, uint32_t flag);
sceKernelDmaOpQuitForDriver
Version | NID |
---|---|
0.990-3.60 | 0x03052D0D |
sceKernelDmaOpAllocForDriver
Version | NID |
---|---|
0.990-3.60 | 0x7CD5088A |
Usages:
Module | Name |
---|---|
SceSblSsMgr | SceSblDmac5Common, Dmac5Test_Direct |
SceDisplay | SceDisplay |
SceAudio | SceSrcMix%d%d |
SceCodecEngineWrapper | SceVeneziaDmacMemcpy%02u, SceHwd0DmacMemcpy%02u |
Allocate 0x60 bytes of heap.
Return id = (uint)heap_addr >> 1 | 1;
typedef struct SceDmaOpAlloc { // size is 0x60 on FW 0.990 uint unk_0; uint unk_4; uint unk_8; // 0x81005001 uint event_flag_uid; uint unk_10; uint unk_14; // 1 char unk_1C[0x1C]; uint unk_38; // 0 uint unk_3C; const char name[0x20]; } SceDmaOpAlloc; int sceKernelDmaOpAllocForDriver(const char* name);
sceKernelDmaOpAssignForDriver
Version | NID |
---|---|
0.990-3.60 | 0xFCE4171A |
Executes Dmac5 command.
int sceKernelDmaOpAssignForDriver(int id, int unk1, int unk2);
sceKernelDmaOpFreeForDriver
Version | NID |
---|---|
0.990-3.60 | 0xADFF1186 |
int sceKernelDmaOpFreeForDriver(int id);
sceKernelDmaOpConcatenateForDriver
Version | NID |
---|---|
0.990-3.60 | 0xA4454DEA |
sceKernelDmaOpEnQueueForDriver
Version | NID |
---|---|
0.990-3.60 | 0x543F54CF |
int sceKernelDmaOpEnQueueForDriver(int id);
sceKernelDmaOpDeQueueForDriver
Version | NID |
---|---|
0.990-3.60 | 0x7433F70F |
sceKernelDmaOpSetCallbackForDriver
Version | NID |
---|---|
0.990-3.60 | 0xCF627CFD |
sceKernelDmaOpSyncForDriver
Version | NID |
---|---|
0.990-3.60 | 0x397A917C |
int sceKernelDmaOpSyncForDriver(int id, int a2, int a3, int a4);
sceKernelDmacMemcpyForDriver
Version | NID |
---|---|
0.990-3.60 | 0x00896B11 |
sceKernelDmacMemsetForDriver
Version | NID |
---|---|
0.990-3.60 | 0x4BAC049B |
sceKernelDmaOpSetupDirectForDriver
Version | NID |
---|---|
0.990-3.60 | 0x01A599E0 |
typedef struct SceDmaOpKey { char data[0x4C]; } SceDmaOpKey; int sceKernelDmaOpSetupDirectForDriver(int id, SceDmaOpKey *a2, int a3);
sceKernelDmacMemcpyAsyncForDriver
Version | NID |
---|---|
0.990 | 0x6E81B8BF |
3.60 | not present |
sceKernelDmacMemsetAsyncForDriver
Version | NID |
---|---|
0.990 | 0x6FD7F708 |
3.60 | not present |
SceDmacmgrForDriver_BCBB5E85
Version | NID |
---|---|
0.990-3.60 | 0xBCBB5E85 |
A big function. TO RE.
SceDmacmgrForDriver_893FCB80
Version | NID |
---|---|
0.990-3.60 | 0x893FCB80 |
On FW 0.990 simply returns SCE_KERNEL_ERROR_NOT_IMPLEMENTED.
SceDmacmgr
This library doesn't exist on FW 0.990.
sceDmacMemcpy
Version | NID |
---|---|
3.60 | 0x9B2FF739 |
sceDmacMemset
Version | NID |
---|---|
3.60 | 0xA4C33F11 |