]> Chaos Git - corbenik/ctrulib.git/commitdiff
Use IPC helpers for csnd
authorLectem <lectem@gmail.com>
Wed, 9 Sep 2015 18:39:47 +0000 (14:39 -0400)
committerLectem <lectem@gmail.com>
Sat, 3 Oct 2015 10:56:26 +0000 (06:56 -0400)
libctru/source/services/csnd.c

index d034237490a27b21fb075c75854d2c52b61e0674..43148bc8d8fd118f6d2ea5b953bb506cae093adf 100644 (file)
@@ -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;