summaryrefslogtreecommitdiff
path: root/include/gba/macro.h
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-01-29 14:40:50 +0100
committerDizzyEggg <jajkodizzy@wp.pl>2018-01-29 14:40:50 +0100
commit78fc471f320f7088caa0bf0e7fa065ca1d75329e (patch)
tree49b205dc643a99150ae0daa8d4a587a07764c5be /include/gba/macro.h
parent78728ae454b6c184b69f4a8c145f32904d406f19 (diff)
parent10037ac0e1c1737dc7cb309257369b17ccd5e028 (diff)
mon anim with master
Diffstat (limited to 'include/gba/macro.h')
-rw-r--r--include/gba/macro.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/gba/macro.h b/include/gba/macro.h
index ad4820bcf..3b35a1946 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -122,6 +122,27 @@
#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32)
+#define DmaClearLarge(dmaNum, dest, size, block, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ DmaFill##bit(dmaNum, 0, _dest, (block)); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaFill##bit(dmaNum, 0, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16)
+
+#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32)
+
#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
{ \
const void *_src = src; \