diff options
author | camthesaxman <cameronghall@cox.net> | 2018-02-05 17:38:23 -0600 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2018-02-05 17:38:23 -0600 |
commit | 607cba8c2e5253874f378cd6280fd066b0c9fa3d (patch) | |
tree | 8894b0b686adc29286d078500932306fabbc2973 /include/gba/macro.h | |
parent | 663ecd00145da49fda7d2509d629d737ea633cd8 (diff) | |
parent | eb6aed50e56f36ce416f7ecc8edfacea1da61bf1 (diff) |
Merge branch 'master' into battle_refactor
Diffstat (limited to 'include/gba/macro.h')
-rw-r--r-- | include/gba/macro.h | 21 |
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; \ |