Use IPC helpers for mic
This commit is contained in:
parent
a65ae90b36
commit
1863bc2e35
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user