From c38276e37d57c2781926e49c2ccda32b5324f54b Mon Sep 17 00:00:00 2001 From: StapleButter Date: Fri, 31 Oct 2014 01:17:43 +0100 Subject: [PATCH] Add timer-related SVC calls. --- libctru/include/3ds/svc.h | 4 ++++ libctru/source/svc.s | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/libctru/include/3ds/svc.h b/libctru/include/3ds/svc.h index 1ccf992..6e3ff60 100644 --- a/libctru/include/3ds/svc.h +++ b/libctru/include/3ds/svc.h @@ -48,6 +48,10 @@ s32 svcReleaseMutex(Handle handle); s32 svcCreateEvent(Handle* event, u8 reset_type); s32 svcSignalEvent(Handle handle); s32 svcClearEvent(Handle handle); +s32 svcCreateTimer(Handle* timer, u8 reset_type); +s32 svcSetTimer(Handle timer, s64 initial, s64 interval); +s32 svcCancelTimer(Handle timer); +s32 svcClearTimer(Handle timer); s32 svcCreateMemoryBlock(Handle* memblock, u32 addr, u32 size, MemPerm my_perm, MemPerm other_perm); s32 svcMapMemoryBlock(Handle memblock, u32 addr, MemPerm my_perm, MemPerm other_perm); s32 svcUnmapMemoryBlock(Handle memblock, u32 addr); diff --git a/libctru/source/svc.s b/libctru/source/svc.s index 0d047a4..6dbdddd 100644 --- a/libctru/source/svc.s +++ b/libctru/source/svc.s @@ -103,6 +103,33 @@ svcSignalEvent: svcClearEvent: svc 0x19 bx lr + +.global svcCreateTimer +.type svcCreateTimer, %function +svcCreateTimer: + str r0, [sp,#-4]! + svc 0x1A + ldr r2, [sp], #4 + str r1, [r2] + bx lr + +.global svcSetTimer +.type svcSetTimer, %function +svcSetTimer: + svc 0x1B + bx lr + +.global svcCancelTimer +.type svcCancelTimer, %function +svcCancelTimer: + svc 0x1C + bx lr + +.global svcClearTimer +.type svcClearTimer, %function +svcClearTimer: + svc 0x1D + bx lr .global svcCreateMemoryBlock .type svcCreateMemoryBlock, %function