diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2019-10-13 22:04:51 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2019-10-13 22:04:51 -0400 |
commit | 8fd0bc424541cec7fc76a4f841035c2b9e793b0e (patch) | |
tree | a823c569134fda669d661dd6085dd6a2980ad931 /include/gba/macro.h | |
parent | 6bffe8613e2f764a03f551ad61b360dab9395eec (diff) |
Decompile start_menu
Diffstat (limited to 'include/gba/macro.h')
-rw-r--r-- | include/gba/macro.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/gba/macro.h b/include/gba/macro.h index c0a4e481b..01bb85b7a 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -121,10 +121,31 @@ } \ } +#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \ +{ \ + void *_dest = (void *)dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, value, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, value, _dest, _size); \ + break; \ + } \ + } \ +} + #define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) +#define DmaFillLarge16(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 16) + +#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32) + #define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) #define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) @@ -139,4 +160,14 @@ #define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) #define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) +#define DmaFillDefvars(dmaNum, value, dest, size, bit) \ +{ \ + void *_dest = (void *)dest; \ + u32 _size = size; \ + DmaFill##bit(dmaNum, value, _dest, _size); \ +} + +#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16) +#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32) + #endif // GUARD_GBA_MACRO_H |