summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2020-06-09 11:04:48 -0400
committerGitHub <noreply@github.com>2020-06-09 11:04:48 -0400
commitc8f98c38d5baf6bf86531188b1a6ff0745d8d8c9 (patch)
treea7f9955405fbe972f0e8387f4e2a3dee0fb1f414 /include
parenta33dcba598d724d600de6636c5eeea322a529e80 (diff)
parent3e4c87f220f9ce75ce490a91e296b256dce99a0e (diff)
Merge pull request #153 from red031000/master
arm7 OS_arena
Diffstat (limited to 'include')
-rw-r--r--include/nitro/OS_arena_shared.h38
-rw-r--r--include/nitro/consts_shared.h3
-rw-r--r--include/nitro/mmap_shared.h24
3 files changed, 65 insertions, 0 deletions
diff --git a/include/nitro/OS_arena_shared.h b/include/nitro/OS_arena_shared.h
new file mode 100644
index 00000000..df6d526a
--- /dev/null
+++ b/include/nitro/OS_arena_shared.h
@@ -0,0 +1,38 @@
+/*
+ * NOTE:
+ * This file is shared between ARM9 and ARM7
+ * DO NOT PUT PROC SPECIFIC CODE IN HERE
+ * Thank You!
+ */
+
+/*
+ * DO NOT INCLUDE THIS FILE DIRECTLY
+ * Include OS_arena.h from the specific proc's lib
+ */
+
+#ifndef POKEDIAMOND_OS_ARENA_SHARED_H
+#define POKEDIAMOND_OS_ARENA_SHARED_H
+
+#include "nitro/types.h"
+
+typedef enum {
+ OS_ARENA_MAIN = 0,
+ OS_ARENA_MAIN_SUBPRIV = 1,
+ OS_ARENA_MAINEX = 2,
+ OS_ARENA_ITCM = 3,
+ OS_ARENA_DTCM = 4,
+ OS_ARENA_SHARED = 5,
+ OS_ARENA_WRAM_MAIN = 6,
+ OS_ARENA_WRAM_SUB = 7,
+ OS_ARENA_WRAM_SUBPRIV = 8,
+ OS_ARENA_MAX = 9
+} OSArenaId;
+
+typedef struct {
+ void* lo[OS_ARENA_MAX];
+ void* hi[OS_ARENA_MAX];
+ u16 initialized;
+ u8 padding[2];
+} OSArenaInfo;
+
+#endif //POKEDIAMOND_OS_ARENA_SHARED_H
diff --git a/include/nitro/consts_shared.h b/include/nitro/consts_shared.h
index e515831e..a7fd9dcf 100644
--- a/include/nitro/consts_shared.h
+++ b/include/nitro/consts_shared.h
@@ -14,6 +14,7 @@
#define POKEDIAMOND_CONSTS_SHARED_H
#include "nitro/types.h"
+#include "nitro/mmap_shared.h"
//Shared Consts
@@ -23,4 +24,6 @@
#define HW_PSR_DISABLE_IRQ 0x80 // Disable IRQ
#define HW_PSR_DISABLE_IRQ_FIQ 0xc0 // Disable FIQ and IRQ
+#define OSi_GetArenaInfo() (*(OSArenaInfo*)HW_ARENA_INFO_BUF)
+
#endif //POKEDIAMOND_CONSTS_SHARED_H
diff --git a/include/nitro/mmap_shared.h b/include/nitro/mmap_shared.h
new file mode 100644
index 00000000..ad97c912
--- /dev/null
+++ b/include/nitro/mmap_shared.h
@@ -0,0 +1,24 @@
+/*
+ * NOTE:
+ * This file is shared between ARM9 and ARM7
+ * DO NOT PUT PROC SPECIFIC CODE IN HERE
+ * Thank You!
+ */
+
+/*
+ * DO NOT INCLUDE THIS FILE DIRECTLY
+ * Include mmap.h from the specific proc's lib
+ */
+
+#ifndef POKEDIAMOND_MMAP_SHARED_H
+#define POKEDIAMOND_MMAP_SHARED_H
+
+#define HW_MAIN_MEM 0x02000000
+#define HW_MAIN_MEM_SIZE 0x00400000
+#define HW_MAIN_MEM_MAIN_SIZE 0x003E0000
+#define HW_MAIN_MEM_SHARED_SIZE 0x00001000
+
+#define HW_ARENA_INFO_BUF (HW_MAIN_MEM + 0x007ffda0)
+#define HW_MAIN_MEM_MAIN_END (HW_MAIN_MEM + HW_MAIN_MEM_MAIN_SIZE)
+
+#endif //POKEDIAMOND_MMAP_SHARED_H