summaryrefslogtreecommitdiff
path: root/arm9/lib/include/MI_exMemory.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/include/MI_exMemory.h')
-rw-r--r--arm9/lib/include/MI_exMemory.h58
1 files changed, 55 insertions, 3 deletions
diff --git a/arm9/lib/include/MI_exMemory.h b/arm9/lib/include/MI_exMemory.h
index 8bd355ac..aa90a73c 100644
--- a/arm9/lib/include/MI_exMemory.h
+++ b/arm9/lib/include/MI_exMemory.h
@@ -1,5 +1,5 @@
-#ifndef NITRO_MI_EXMEMORY_H_
-#define NITRO_MI_EXMEMORY_H_
+#ifndef POKEDIAMOND_MI_EXMEMORY_H
+#define POKEDIAMOND_MI_EXMEMORY_H
#include "consts.h"
@@ -8,6 +8,28 @@ typedef enum {
MI_PROCESSOR_ARM7 = 1
} MIProcessor;
+typedef enum
+{
+ MI_CTRDG_ROMCYCLE1_10 = 0,
+ MI_CTRDG_ROMCYCLE1_8 = 1,
+ MI_CTRDG_ROMCYCLE1_6 = 2,
+ MI_CTRDG_ROMCYCLE1_18 = 3
+} MICartridgeRomCycle1st;
+
+typedef enum
+{
+ MI_CTRDG_ROMCYCLE2_6 = 0,
+ MI_CTRDG_ROMCYCLE2_4 = 1
+} MICartridgeRomCycle2nd;
+
+typedef enum
+{
+ MI_CTRDG_RAMCYCLE_10 = 0,
+ MI_CTRDG_RAMCYCLE_8 = 1,
+ MI_CTRDG_RAMCYCLE_6 = 2,
+ MI_CTRDG_RAMCYCLE_18 = 3
+} MICartridgeRamCycle;
+
static inline void MIi_SetCardProcessor(MIProcessor proc)
{
reg_MI_EXMEMCNT =
@@ -20,4 +42,34 @@ static inline void MIi_SetCartridgeProcessor(MIProcessor proc)
(u16)((reg_MI_EXMEMCNT & ~0x0080) | (proc << 7));
}
-#endif //NITRO_MI_EXMEMORY_H_
+static inline MICartridgeRomCycle1st MI_GetCartridgeRomCycle1st(void)
+{
+ return (MICartridgeRomCycle1st)((reg_MI_EXMEMCNT & 0xc) >> 2);
+}
+
+static inline MICartridgeRomCycle2nd MI_GetCartridgeRomCycle2nd(void)
+{
+ return (MICartridgeRomCycle2nd)((reg_MI_EXMEMCNT & 0x10) >> 4);
+}
+
+static inline void MI_SetCartridgeRomCycle1st(MICartridgeRomCycle1st c1)
+{
+ reg_MI_EXMEMCNT = (u16)((reg_MI_EXMEMCNT & ~0xc) | (c1 << 2));
+}
+
+static inline void MI_SetCartridgeRomCycle2nd(MICartridgeRomCycle2nd c2)
+{
+ reg_MI_EXMEMCNT = (u16)((reg_MI_EXMEMCNT & ~0x10) | (c2 << 4));
+}
+
+static inline void MI_SetCartridgeRamCycle(MICartridgeRamCycle c)
+{
+ reg_MI_EXMEMCNT = (u16)((reg_MI_EXMEMCNT & ~3) | (c << 0));
+}
+
+static inline MICartridgeRamCycle MI_GetCartridgeRamCycle(void)
+{
+ return (MICartridgeRamCycle)((reg_MI_EXMEMCNT & 3) >> 0);
+}
+
+#endif //POKEDIAMOND_MI_EXMEMORY_H