The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Direct memory access control Manager
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
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
|
int sceKernelDmaOpQuitForDriver(int opid);
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 opid = (uint)dma_op_heap_addr >> 1 | 1;
typedef struct SceDmaOpAlloc { // size is 0x60 on FW 0.990
uint unk_0;
uint unk_4;
uint magic; // 0x81005001
SceUID evfId;
uint unk_10;
uint16_t unk_14; // 1
uint16_t unk_16;
uint maybe_callback_1;
uint stat;
char unk_20[0x14];
int curchain;
uint unk_38; // 0
uint unk_3C;
const char opname[0x20];
} SceDmaOpAlloc;
int sceKernelDmaOpAllocForDriver(const char* name);
sceKernelDmaOpAssignForDriver
Version |
NID
|
0.990-3.60 |
0xFCE4171A
|
Executes Dmac5 command.
int sceKernelDmaOpAssignForDriver(int opid, int unk1, int unk2);
sceKernelDmaOpFreeForDriver
Version |
NID
|
0.990-3.60 |
0xADFF1186
|
int sceKernelDmaOpFreeForDriver(int opid);
sceKernelDmaOpConcatenateForDriver
Version |
NID
|
0.990-3.60 |
0xA4454DEA
|
sceKernelDmaOpEnQueueForDriver
Version |
NID
|
0.990-3.60 |
0x543F54CF
|
int sceKernelDmaOpEnQueueForDriver(int opid);
sceKernelDmaOpDeQueueForDriver
Version |
NID
|
0.990-3.60 |
0x7433F70F
|
sceKernelDmaOpSetCallbackForDriver
Version |
NID
|
0.990-3.60 |
0xCF627CFD
|
int sceKernelDmaOpSetCallbackForDriver(int opid, int a2, int a3);
sceKernelDmaOpSyncForDriver
Version |
NID
|
0.990-3.60 |
0x397A917C
|
int sceKernelDmaOpSyncForDriver(int opid, SceUInt32 op_sync_mode, SceUInt32 timeout, SceInt32 *result);
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 opid, 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
|