Use IPC helpers for csnd
This commit is contained in:
parent
375f5e497d
commit
d074d819ff
@ -5,6 +5,7 @@
|
|||||||
#include <3ds/srv.h>
|
#include <3ds/srv.h>
|
||||||
#include <3ds/os.h>
|
#include <3ds/os.h>
|
||||||
#include <3ds/services/csnd.h>
|
#include <3ds/services/csnd.h>
|
||||||
|
#include <3ds/ipc.h>
|
||||||
|
|
||||||
// See here regarding CSND shared-mem commands, etc: http://3dbrew.org/wiki/CSND_Shared_Memory
|
// See here regarding CSND shared-mem commands, etc: http://3dbrew.org/wiki/CSND_Shared_Memory
|
||||||
|
|
||||||
@ -26,7 +27,7 @@ static Result CSND_Initialize(void)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00010140;
|
cmdbuf[0] = IPC_MakeHeader(0x1,5,0); // 0x10140
|
||||||
cmdbuf[1] = csndSharedMemSize;
|
cmdbuf[1] = csndSharedMemSize;
|
||||||
memcpy(&cmdbuf[2], &csndOffsets[0], 4*sizeof(u32));
|
memcpy(&cmdbuf[2], &csndOffsets[0], 4*sizeof(u32));
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ static Result CSND_Shutdown()
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00020000;
|
cmdbuf[0] = IPC_MakeHeader(0x2,0,0); // 0x20000
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
|
|
||||||
@ -55,7 +56,7 @@ static Result CSND_AcquireSoundChannels(u32* channelMask)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00050000;
|
cmdbuf[0] = IPC_MakeHeader(0x5,0,0); // 0x50000
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
|
|
||||||
@ -69,7 +70,7 @@ static Result CSND_ReleaseSoundChannels(void)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00060000;
|
cmdbuf[0] = IPC_MakeHeader(0x6,0,0); // 0x60000
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ Result CSND_AcquireCapUnit(u32* capUnit)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00070000;
|
cmdbuf[0] = IPC_MakeHeader(0x7,0,0); // 0x70000
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
|
|
||||||
@ -95,7 +96,7 @@ Result CSND_ReleaseCapUnit(u32 capUnit)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00080040;
|
cmdbuf[0] = IPC_MakeHeader(0x8,1,0); // 0x80040
|
||||||
cmdbuf[1] = capUnit;
|
cmdbuf[1] = capUnit;
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
@ -108,7 +109,7 @@ Result CSND_Reset(void)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x000C0000;
|
cmdbuf[0] = IPC_MakeHeader(0xC,0,0); // 0xC0000
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
|
|
||||||
@ -169,7 +170,7 @@ static Result CSND_ExecuteCommands(u32 offset)
|
|||||||
Result ret=0;
|
Result ret=0;
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x00030040;
|
cmdbuf[0] = IPC_MakeHeader(0x3,1,0); // 0x30040
|
||||||
cmdbuf[1] = offset;
|
cmdbuf[1] = offset;
|
||||||
|
|
||||||
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user