]> Chaos Git - corbenik/ctrulib.git/commitdiff
Use IPC helpers for mic
authorLectem <lectem@gmail.com>
Wed, 9 Sep 2015 19:46:38 +0000 (15:46 -0400)
committerLectem <lectem@gmail.com>
Sat, 3 Oct 2015 10:59:02 +0000 (06:59 -0400)
libctru/source/services/mic.c

index 33909d0ae4c055f594d15c586fb19c15d96076ba..17432804d8930cd7cf331226809c50563ba75984 100644 (file)
@@ -4,6 +4,7 @@
 #include <3ds/svc.h>
 #include <3ds/srv.h>
 #include <3ds/services/mic.h>
+#include <3ds/ipc.h>
 
 //See also: http://3dbrew.org/wiki/MIC_Services
 
@@ -127,9 +128,9 @@ Result MIC_MapSharedMem(Handle handle, u32 size)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00010042;
+       cmdbuf[0] = IPC_MakeHeader(0x1,1,2); // 0x10042
        cmdbuf[1] = size;
-       cmdbuf[2] = 0;
+       cmdbuf[2] = IPC_Desc_SharedHandles(1);
        cmdbuf[3] = handle;
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
@@ -142,7 +143,7 @@ Result MIC_UnmapSharedMem(void)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00020000;
+       cmdbuf[0] = IPC_MakeHeader(0x2,0,0); // 0x20000
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
 
@@ -154,7 +155,7 @@ Result MIC_cmd3_Initialize(u8 unk0, u8 unk1, u32 sharedmem_baseoffset, u32 share
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00030140;
+       cmdbuf[0] = IPC_MakeHeader(0x3,5,0); // 0x30140
        cmdbuf[1] = unk0;
        cmdbuf[2] = unk1;
        cmdbuf[3] = sharedmem_baseoffset;
@@ -171,7 +172,7 @@ Result MIC_cmd5(void)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00050000;
+       cmdbuf[0] = IPC_MakeHeader(0x5,0,0); // 0x50000
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
 
@@ -183,7 +184,7 @@ Result MIC_GetCNTBit15(u8 *out)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00060000;
+       cmdbuf[0] = IPC_MakeHeader(0x6,0,0); // 0x60000
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
 
@@ -203,7 +204,7 @@ Result MIC_GetEventHandle(Handle *handle)
                return 0;
        }
 
-       cmdbuf[0] = 0x00070000;
+       cmdbuf[0] = IPC_MakeHeader(0x7,0,0); // 0x70000
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
 
@@ -217,7 +218,7 @@ Result MIC_SetControl(u8 value)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00080040;
+       cmdbuf[0] = IPC_MakeHeader(0x8,1,0); // 0x80040
        cmdbuf[1] = value;
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
@@ -230,7 +231,7 @@ Result MIC_GetControl(u8 *value)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x00090000;
+       cmdbuf[0] = IPC_MakeHeader(0x9,0,0); // 0x90000
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
 
@@ -244,7 +245,7 @@ Result MIC_SetRecording(u8 value)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x000A0040;
+       cmdbuf[0] = IPC_MakeHeader(0xA,1,0); // 0xA0040
        cmdbuf[1] = value;
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;
@@ -259,7 +260,7 @@ Result MIC_IsRecoding(u8 *value)
        Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       cmdbuf[0] = 0x000B0000;
+       cmdbuf[0] = IPC_MakeHeader(0xB,0,0); // 0xB0000
 
        if((ret = svcSendSyncRequest(MIC_handle))!=0)return ret;