summaryrefslogtreecommitdiff
path: root/include/gba
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-12-27 05:17:41 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2020-01-09 12:38:57 +0800
commit8f1a8972c19f5cd2522c9e7982bd330ac05305e9 (patch)
tree8d06f9dcc3b9167e07a03f82ab70305bfe2c050a /include/gba
parenta436d79177fc54927d14cc2114802dee74176a6b (diff)
librfu_stwi
Co-authored-by: Max Thomas <mtinc2@gmail.com>
Diffstat (limited to 'include/gba')
-rw-r--r--include/gba/io_reg.h6
-rw-r--r--include/gba/macro.h12
2 files changed, 17 insertions, 1 deletions
diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h
index 6d54bc5fb..8eacc8aa7 100644
--- a/include/gba/io_reg.h
+++ b/include/gba/io_reg.h
@@ -137,6 +137,8 @@
#define REG_OFFSET_DMA3CNT_H 0xde
#define REG_OFFSET_TMCNT 0x100
+#define REG_OFFSET_TMCNT_L 0x100
+#define REG_OFFSET_TMCNT_H 0x102
#define REG_OFFSET_TM0CNT 0x100
#define REG_OFFSET_TM0CNT_L 0x100
#define REG_OFFSET_TM0CNT_H 0x102
@@ -298,6 +300,8 @@
#define REG_ADDR_DMA3CNT_H (REG_BASE + REG_OFFSET_DMA3CNT_H)
#define REG_ADDR_TMCNT (REG_BASE + REG_OFFSET_TMCNT)
+#define REG_ADDR_TMCNT_L (REG_BASE + REG_OFFSET_TMCNT_L)
+#define REG_ADDR_TMCNT_H (REG_BASE + REG_OFFSET_TMCNT_H)
#define REG_ADDR_TM0CNT (REG_BASE + REG_OFFSET_TM0CNT)
#define REG_ADDR_TM0CNT_L (REG_BASE + REG_OFFSET_TM0CNT_L)
#define REG_ADDR_TM0CNT_H (REG_BASE + REG_OFFSET_TM0CNT_H)
@@ -458,6 +462,8 @@
#define REG_DMA3CNT_H (*(vu16 *)REG_ADDR_DMA3CNT_H)
#define REG_TMCNT(n) (*(vu16 *)(REG_ADDR_TMCNT + ((n) * 4)))
+#define REG_TMCNT_L(n) (*(vu16 *)(REG_ADDR_TMCNT_L + ((n) * 4)))
+#define REG_TMCNT_H(n) (*(vu16 *)(REG_ADDR_TMCNT_H + ((n) * 4)))
#define REG_TM0CNT (*(vu32 *)REG_ADDR_TM0CNT)
#define REG_TM0CNT_L (*(vu16 *)REG_ADDR_TM0CNT_L)
#define REG_TM0CNT_H (*(vu16 *)REG_ADDR_TM0CNT_H)
diff --git a/include/gba/macro.h b/include/gba/macro.h
index e416c3577..a3e870210 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -105,7 +105,7 @@
} \
}
-#define DmaClearLarge(dmaNum, dest, size, block, bit) \
+#define DmaClearLarge(dmaNum, dest, size, block, bit) \
{ \
u32 _size = size; \
while (1) \
@@ -170,4 +170,14 @@
#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16)
#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32)
+#define IntrEnable(flags) \
+{ \
+ u16 imeTemp; \
+ \
+ imeTemp = REG_IME; \
+ REG_IME = 0; \
+ REG_IE |= flags; \
+ REG_IME = imeTemp; \
+}
+
#endif // GUARD_GBA_MACRO_H