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

index d29b38a37ce03b9b1fc0f0e9e66ae1326bf2fe6a..af2ae0e32c13cf08ad6487543927fd1774347a59 100644 (file)
@@ -4,6 +4,7 @@
 #include <3ds/srv.h>
 #include <3ds/svc.h>
 #include <3ds/types.h>
+#include <3ds/ipc.h>
 
 Handle y2rHandle = 0;
 static bool initialized = false;
@@ -51,7 +52,7 @@ Result Y2RU_SetInputFormat(Y2R_InputFormat format)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00010040;
+       cmdbuf[0] = IPC_MakeHeader(0x1,1,0); // 0x10040
        cmdbuf[1] = format;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -62,7 +63,7 @@ Result Y2RU_SetOutputFormat(Y2R_OutputFormat format)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00030040;
+       cmdbuf[0] = IPC_MakeHeader(0x3,1,0); // 0x30040
        cmdbuf[1] = format;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -73,7 +74,7 @@ Result Y2RU_SetRotation(Y2R_Rotation rotation)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00050040;
+       cmdbuf[0] = IPC_MakeHeader(0x5,1,0); // 0x50040
        cmdbuf[1] = rotation;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -84,7 +85,7 @@ Result Y2RU_SetBlockAlignment(Y2R_BlockAlignment alignment)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00070040;
+       cmdbuf[0] = IPC_MakeHeader(0x7,1,0); // 0x70040
        cmdbuf[1] = alignment;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -95,7 +96,7 @@ Result Y2RU_SetTransferEndInterrupt(bool should_interrupt)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x000D0040;
+       cmdbuf[0] = IPC_MakeHeader(0xD,1,0); // 0xD0040
        cmdbuf[1] = should_interrupt;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -112,7 +113,7 @@ Result Y2RU_GetTransferEndEvent(Handle* end_event)
 
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x000F0000;
+       cmdbuf[0] = IPC_MakeHeader(0xF,0,0); // 0xF0000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
 
@@ -124,12 +125,12 @@ Result Y2RU_SetSendingY(const void* src_buf, u32 image_size, s16 transfer_unit,
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00100102;
+       cmdbuf[0] = IPC_MakeHeader(0x10,4,2); // 0x100102
        cmdbuf[1] = (u32)src_buf;
        cmdbuf[2] = image_size;
        cmdbuf[3] = transfer_unit;
        cmdbuf[4] = transfer_gap;
-       cmdbuf[5] = 0;
+       cmdbuf[5] = IPC_Desc_SharedHandles(1);
        cmdbuf[6] = CUR_PROCESS_HANDLE;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -140,12 +141,12 @@ Result Y2RU_SetSendingU(const void* src_buf, u32 image_size, s16 transfer_unit,
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00110102;
+       cmdbuf[0] = IPC_MakeHeader(0x11,4,2); // 0x110102
        cmdbuf[1] = (u32)src_buf;
        cmdbuf[2] = image_size;
        cmdbuf[3] = transfer_unit;
        cmdbuf[4] = transfer_gap;
-       cmdbuf[5] = 0;
+       cmdbuf[5] = IPC_Desc_SharedHandles(1);
        cmdbuf[6] = CUR_PROCESS_HANDLE;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -156,12 +157,12 @@ Result Y2RU_SetSendingV(const void* src_buf, u32 image_size, s16 transfer_unit,
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00120102;
+       cmdbuf[0] = IPC_MakeHeader(0x12,4,2); // 0x120102
        cmdbuf[1] = (u32)src_buf;
        cmdbuf[2] = image_size;
        cmdbuf[3] = transfer_unit;
        cmdbuf[4] = transfer_gap;
-       cmdbuf[5] = 0;
+       cmdbuf[5] = IPC_Desc_SharedHandles(1);
        cmdbuf[6] = CUR_PROCESS_HANDLE;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -172,12 +173,12 @@ Result Y2RU_SetSendingYUYV(const void* src_buf, u32 image_size, s16 transfer_uni
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00130102;
+       cmdbuf[0] = IPC_MakeHeader(0x13,4,2); // 0x130102
        cmdbuf[1] = (u32)src_buf;
        cmdbuf[2] = image_size;
        cmdbuf[3] = transfer_unit;
        cmdbuf[4] = transfer_gap;
-       cmdbuf[5] = 0;
+       cmdbuf[5] = IPC_Desc_SharedHandles(1);
        cmdbuf[6] = CUR_PROCESS_HANDLE;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -188,7 +189,7 @@ Result Y2RU_IsDoneSendingYUYV(bool* is_done)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00140000;
+       cmdbuf[0] = IPC_MakeHeader(0x14,0,0); // 0x140000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *is_done = cmdbuf[2] & 0xFF;
@@ -199,7 +200,7 @@ Result Y2RU_IsDoneSendingY(bool* is_done)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00150000;
+       cmdbuf[0] = IPC_MakeHeader(0x15,0,0); // 0x150000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *is_done = cmdbuf[2] & 0xFF;
@@ -210,7 +211,7 @@ Result Y2RU_IsDoneSendingU(bool* is_done)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00160000;
+       cmdbuf[0] = IPC_MakeHeader(0x16,0,0); // 0x160000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *is_done = cmdbuf[2] & 0xFF;
@@ -221,7 +222,7 @@ Result Y2RU_IsDoneSendingV(bool* is_done)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00170000;
+       cmdbuf[0] = IPC_MakeHeader(0x17,0,0); // 0x170000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *is_done = cmdbuf[2] & 0xFF;
@@ -232,12 +233,12 @@ Result Y2RU_SetReceiving(void* dst_buf, u32 image_size, s16 transfer_unit, s16 t
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00180102;
+       cmdbuf[0] = IPC_MakeHeader(0x18,4,2); // 0x180102
        cmdbuf[1] = (u32)dst_buf;
        cmdbuf[2] = image_size;
        cmdbuf[3] = transfer_unit;
        cmdbuf[4] = transfer_gap;
-       cmdbuf[5] = 0;
+       cmdbuf[5] = IPC_Desc_SharedHandles(1);
        cmdbuf[6] = CUR_PROCESS_HANDLE;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -248,7 +249,7 @@ Result Y2RU_IsDoneReceiving(bool* is_done)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00190000;
+       cmdbuf[0] = IPC_MakeHeader(0x19,0,0); // 0x190000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *is_done = cmdbuf[2] & 0xFF;
@@ -259,7 +260,7 @@ Result Y2RU_SetInputLineWidth(u16 line_width)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x001A0040;
+       cmdbuf[0] = IPC_MakeHeader(0x1A,1,0); // 0x1A0040
        cmdbuf[1] = line_width;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -270,7 +271,7 @@ Result Y2RU_SetInputLines(u16 num_lines)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x001C0040;
+       cmdbuf[0] = IPC_MakeHeader(0x1C,1,0); // 0x1C0040
        cmdbuf[1] = num_lines;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -281,7 +282,7 @@ Result Y2RU_SetCoefficients(const Y2R_ColorCoefficients* coefficients)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x001E0100;
+       cmdbuf[0] = IPC_MakeHeader(0x1E,4,0); // 0x1E0100
        memcpy(&cmdbuf[1], coefficients, sizeof(Y2R_ColorCoefficients));
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -292,7 +293,7 @@ Result Y2RU_SetStandardCoefficient(Y2R_StandardCoefficient coefficient)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00200040;
+       cmdbuf[0] = IPC_MakeHeader(0x20,1,0); // 0x200040
        cmdbuf[1] = coefficient;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -303,7 +304,7 @@ Result Y2RU_SetAlpha(u16 alpha)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00220040;
+       cmdbuf[0] = IPC_MakeHeader(0x22,1,0); // 0x220040
        cmdbuf[1] = alpha;
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -314,7 +315,7 @@ Result Y2RU_SetUnknownParams(const u16 params[16])
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00240200;
+       cmdbuf[0] = IPC_MakeHeader(0x24,8,0); // 0x240200
        memcpy(&cmdbuf[1], params, sizeof(u16) * 16);
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -325,7 +326,7 @@ Result Y2RU_StartConversion(void)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00260000;
+       cmdbuf[0] = IPC_MakeHeader(0x26,0,0); // 0x260000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        return cmdbuf[1];
@@ -335,7 +336,7 @@ Result Y2RU_StopConversion(void)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00270000;
+       cmdbuf[0] = IPC_MakeHeader(0x27,0,0); // 0x270000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        return cmdbuf[1];
@@ -345,7 +346,7 @@ Result Y2RU_IsBusyConversion(bool* is_busy)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x00280000;
+       cmdbuf[0] = IPC_MakeHeader(0x28,0,0); // 0x280000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *is_busy = cmdbuf[2] & 0xFF;
@@ -356,7 +357,7 @@ Result Y2RU_SetConversionParams(const Y2R_ConversionParams* params)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x002901C0;
+       cmdbuf[0] = IPC_MakeHeader(0x29,7,0); // 0x2901C0
        memcpy(&cmdbuf[1], params, sizeof(Y2R_ConversionParams));
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
@@ -367,7 +368,7 @@ Result Y2RU_PingProcess(u8* ping)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x002A0000;
+       cmdbuf[0] = IPC_MakeHeader(0x2A,0,0); // 0x2A0000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        *ping = (u8)cmdbuf[2];
@@ -378,7 +379,7 @@ Result Y2RU_DriverInitialize(void)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x002B0000;
+       cmdbuf[0] = IPC_MakeHeader(0x2B,0,0); // 0x2B0000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        return cmdbuf[1];
@@ -388,7 +389,7 @@ Result Y2RU_DriverFinalize(void)
 {
        Result ret = 0;
        u32* cmdbuf = getThreadCommandBuffer();
-       cmdbuf[0] = 0x002C0000;
+       cmdbuf[0] = IPC_MakeHeader(0x2C,0,0); // 0x2C0000
 
        if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
        return cmdbuf[1];