diff --git a/libctru/source/services/mic.c b/libctru/source/services/mic.c index 33909d0..1743280 100644 --- a/libctru/source/services/mic.c +++ b/libctru/source/services/mic.c @@ -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;