summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/OS_init.c1
-rw-r--r--arm9/lib/src/OS_valarm.c30
2 files changed, 30 insertions, 1 deletions
diff --git a/arm9/lib/src/OS_init.c b/arm9/lib/src/OS_init.c
index c93b1584..152a5534 100644
--- a/arm9/lib/src/OS_init.c
+++ b/arm9/lib/src/OS_init.c
@@ -3,7 +3,6 @@
extern void PXI_Init(void);
extern void MI_Init(void);
-extern void OS_InitVAlarm(void);
extern void OSi_InitVramExclusive(void);
extern void CTRDG_Init(void);
extern void CARD_Init(void);
diff --git a/arm9/lib/src/OS_valarm.c b/arm9/lib/src/OS_valarm.c
new file mode 100644
index 00000000..37329147
--- /dev/null
+++ b/arm9/lib/src/OS_valarm.c
@@ -0,0 +1,30 @@
+#include "OS_valarm.h"
+#include "function_target.h"
+#include "OS_interrupt.h"
+
+static struct OSiVAlarmQueue
+{
+ OSVAlarm *head;
+ OSVAlarm *tail;
+} OSi_VAlarmQueue;
+
+static u16 OSi_UseVAlarm = FALSE;
+
+static s32 OSi_VFrameCount;
+static s32 OSi_PreviousVCount;
+
+ARM_FUNC void OS_InitVAlarm(void)
+{
+ if (!OSi_UseVAlarm)
+ {
+ OSi_UseVAlarm = TRUE;
+
+ OSi_VAlarmQueue.head = NULL;
+ OSi_VAlarmQueue.tail = NULL;
+
+ (void)OS_DisableIrqMask(OS_IE_V_COUNT);
+
+ OSi_VFrameCount = 0;
+ OSi_PreviousVCount = 0;
+ }
+}