From d074d819ffbab1b7f6fe1d9ff2a77f182a35fc2e Mon Sep 17 00:00:00 2001 From: Lectem Date: Wed, 9 Sep 2015 14:39:47 -0400 Subject: [PATCH] Use IPC helpers for csnd --- libctru/source/services/csnd.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libctru/source/services/csnd.c b/libctru/source/services/csnd.c index d034237..43148bc 100644 --- a/libctru/source/services/csnd.c +++ b/libctru/source/services/csnd.c @@ -5,6 +5,7 @@ #include <3ds/srv.h> #include <3ds/os.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 @@ -26,7 +27,7 @@ static Result CSND_Initialize(void) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00010140; + cmdbuf[0] = IPC_MakeHeader(0x1,5,0); // 0x10140 cmdbuf[1] = csndSharedMemSize; memcpy(&cmdbuf[2], &csndOffsets[0], 4*sizeof(u32)); @@ -43,7 +44,7 @@ static Result CSND_Shutdown() Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00020000; + cmdbuf[0] = IPC_MakeHeader(0x2,0,0); // 0x20000 if((ret = svcSendSyncRequest(csndHandle))!=0)return ret; @@ -55,7 +56,7 @@ static Result CSND_AcquireSoundChannels(u32* channelMask) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00050000; + cmdbuf[0] = IPC_MakeHeader(0x5,0,0); // 0x50000 if((ret = svcSendSyncRequest(csndHandle))!=0)return ret; @@ -69,7 +70,7 @@ static Result CSND_ReleaseSoundChannels(void) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00060000; + cmdbuf[0] = IPC_MakeHeader(0x6,0,0); // 0x60000 if((ret = svcSendSyncRequest(csndHandle))!=0)return ret; @@ -81,7 +82,7 @@ Result CSND_AcquireCapUnit(u32* capUnit) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00070000; + cmdbuf[0] = IPC_MakeHeader(0x7,0,0); // 0x70000 if((ret = svcSendSyncRequest(csndHandle))!=0)return ret; @@ -95,7 +96,7 @@ Result CSND_ReleaseCapUnit(u32 capUnit) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00080040; + cmdbuf[0] = IPC_MakeHeader(0x8,1,0); // 0x80040 cmdbuf[1] = capUnit; if((ret = svcSendSyncRequest(csndHandle))!=0)return ret; @@ -108,7 +109,7 @@ Result CSND_Reset(void) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x000C0000; + cmdbuf[0] = IPC_MakeHeader(0xC,0,0); // 0xC0000 if((ret = svcSendSyncRequest(csndHandle))!=0)return ret; @@ -169,7 +170,7 @@ static Result CSND_ExecuteCommands(u32 offset) Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = 0x00030040; + cmdbuf[0] = IPC_MakeHeader(0x3,1,0); // 0x30040 cmdbuf[1] = offset; if((ret = svcSendSyncRequest(csndHandle))!=0)return ret;