summaryrefslogtreecommitdiff
path: root/arm9/lib/include
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-05-28 15:05:16 -0400
committerGitHub <noreply@github.com>2020-05-28 15:05:16 -0400
commit3543d7e3d66951e96f4d1bd34f54597f881983fc (patch)
tree350bb84779b932901dd0a27a540969ab17121b6f /arm9/lib/include
parentd42cc73852cdb0cc0684bb87aaa6975d06cae02f (diff)
parent53dd5bc0de0fb2237c57520971a7854e0dde5902 (diff)
Merge pull request #120 from red031000/master
OS_irqHandler
Diffstat (limited to 'arm9/lib/include')
-rw-r--r--arm9/lib/include/OS_init.h1
-rw-r--r--arm9/lib/include/OS_irqHandler.h19
-rw-r--r--arm9/lib/include/OS_system.h1
-rw-r--r--arm9/lib/include/mmap.h3
4 files changed, 23 insertions, 1 deletions
diff --git a/arm9/lib/include/OS_init.h b/arm9/lib/include/OS_init.h
index 40685513..88c696cd 100644
--- a/arm9/lib/include/OS_init.h
+++ b/arm9/lib/include/OS_init.h
@@ -22,6 +22,7 @@
#include "OS_alloc.h"
#include "OS_system.h"
#include "OS_terminate_proc.h"
+#include "OS_irqHandler.h"
#include "OS_interrupt.h"
#include "OS_reset.h"
#include "OS_spinLock.h"
diff --git a/arm9/lib/include/OS_irqHandler.h b/arm9/lib/include/OS_irqHandler.h
new file mode 100644
index 00000000..17bde1c9
--- /dev/null
+++ b/arm9/lib/include/OS_irqHandler.h
@@ -0,0 +1,19 @@
+#ifndef POKEDIAMOND_OS_IRQHANDLER_H
+#define POKEDIAMOND_OS_IRQHANDLER_H
+
+#include "consts.h"
+#include "OS_interrupt.h"
+
+static inline void OS_ClearIrqCheckFlag(OSIrqMask intr)
+{
+ *(vu32 *)HW_INTR_CHECK_BUF &= (u32)~intr;
+}
+
+static inline OSIrqMask OS_GetIrqCheckFlag(void)
+{
+ return *(OSIrqMask *)HW_INTR_CHECK_BUF;
+}
+
+void OS_WaitIrq(BOOL param1, u32 param2);
+
+#endif //POKEDIAMOND_OS_IRQHANDLER_H
diff --git a/arm9/lib/include/OS_system.h b/arm9/lib/include/OS_system.h
index f71c6f98..6e156f9d 100644
--- a/arm9/lib/include/OS_system.h
+++ b/arm9/lib/include/OS_system.h
@@ -35,6 +35,5 @@ OSIntrMode OS_GetCpsrIrq(void);
OSProcMode OS_GetProcMode(void);
void OS_SpinWait(void);
void OS_WaitVBlankIntr(void);
-void OS_WaitIrq(BOOL, u32);
#endif //POKEDIAMOND_OS_SYSTEM_H
diff --git a/arm9/lib/include/mmap.h b/arm9/lib/include/mmap.h
index 65b93e1e..8eb3f623 100644
--- a/arm9/lib/include/mmap.h
+++ b/arm9/lib/include/mmap.h
@@ -22,6 +22,9 @@ extern u32 SDK_AUTOLOAD_DTCM_START[];
#define HW_DTCM ((u32)SDK_AUTOLOAD_DTCM_START)
#define HW_DTCM_SIZE 0x00004000
+#define HW_DTCM_SYSRV (HW_DTCM + 0x00003fc0)
+#define HW_INTR_CHECK_BUF (HW_DTCM_SYSRV + 0x38)
+
#define HW_CARD_ROM_HEADER_SIZE 0x00000160
#define HW_DOWNLOAD_PARAMETER_SIZE 0x00000020