summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2016-10-02 16:15:12 -0500
committerYamaArashi <YamaArashi@users.noreply.github.com>2016-10-02 14:15:12 -0700
commit43f374e64e6c0ee10bc38af9c064a3411ba88c85 (patch)
tree61cb1d1488ce0a77ff9474dec8540634b5238589
parent6ce4ed25d6565aa359d94442f47fa3c20f7bf356 (diff)
add DmaClear macro (#50)
-rw-r--r--include/gba/macro.h10
-rw-r--r--src/wallclock.c14
2 files changed, 12 insertions, 12 deletions
diff --git a/include/gba/macro.h b/include/gba/macro.h
index 21e6ea22e..c8139eb97 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -49,6 +49,16 @@
#define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16)
#define DmaFill32(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 32)
+#define DMA_CLEAR(dmaNum, dest, size, bit) \
+{ \
+ vu##bit *_dest = (vu##bit *)(dest); \
+ u32 _size = size; \
+ DmaFill##bit(dmaNum, 0, _dest, _size); \
+}
+
+#define DmaClear16(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 16)
+#define DmaClear32(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 32)
+
#define DMA_COPY(dmaNum, src, dest, size, bit) \
DmaSet(dmaNum, \
src, \
diff --git a/src/wallclock.c b/src/wallclock.c
index 56ace1c27..f24db0ca1 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -119,18 +119,8 @@ static void LoadWallClockGraphics(void)
break;
}
}
-
- {
- void *oam = (void *)OAM;
- u32 oamSize = OAM_SIZE;
- DmaFill32(3, 0, oam, oamSize);
- }
-
- {
- void *pltt = (void *)PLTT;
- u32 plttSize = PLTT_SIZE;
- DmaFill16(3, 0, pltt, plttSize);
- }
+ DmaClear32(3, OAM, OAM_SIZE);
+ DmaClear16(3, PLTT, PLTT_SIZE);
LZ77UnCompVram(gMiscClock_Gfx, (void *)VRAM);
if(gUnknown_0202E8CC == MALE)