diff --git a/linker.ld b/linker.ld index d68ed689..ea1c6b2f 100644 --- a/linker.ld +++ b/linker.ld @@ -315,9 +315,7 @@ SECTIONS { asm/drawHealth.o(.text); asm/sub_0801C824.o(.text); asm/code_0801C85C.o(.text); - src/_dmaFill16.o(.text); - src/_dmaFill32.o(.text); - src/_dmaZero.o(.text); + src/dma.o(.text); asm/sub_0801D66C.o(.text); src/input.o(.text); asm/code_0801D714.o(.text); diff --git a/src/_dmaFill16.c b/src/_dmaFill16.c deleted file mode 100644 index 1befefc7..00000000 --- a/src/_dmaFill16.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "global.h" -void _DmaFill16(u32 a1, u32 a2, u32 a3) { - DmaFill16(3, a1, a2, a3); -} diff --git a/src/_dmaFill32.c b/src/_dmaFill32.c deleted file mode 100644 index 5426ba31..00000000 --- a/src/_dmaFill32.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "global.h" - -void _DmaFill32(u32 a1, u32 a2, u32 a3) { - DmaFill32(3, a1, a2, a3); -} diff --git a/src/_dmaZero.c b/src/_dmaZero.c deleted file mode 100644 index 97bbba4c..00000000 --- a/src/_dmaZero.c +++ /dev/null @@ -1,24 +0,0 @@ -#include "global.h" - -void _DmaFill32(u32, void*, u32); -void _DmaFill16(u32, void*, u32); - -void _DmaZero(u8 *src, u32 count) -{ - u32 zero = 0; - - switch (((u32)src | count) & 3) { - case 0: - _DmaFill32(0,src, count); - break; - case 2: - _DmaFill16(0, src, count); - break; - default: - do { - *src = zero; - src++; - count--; - } while (count != 0); - } -} \ No newline at end of file diff --git a/src/dma.c b/src/dma.c new file mode 100644 index 00000000..4f4f1dcb --- /dev/null +++ b/src/dma.c @@ -0,0 +1,33 @@ +#include "global.h" +#include "entity.h" + +void _DmaFill32(u32, u8*, u32); +void _DmaFill16(u32, u8*, u32); + +void _DmaFill16(u32 value, u8* dest, u32 size) { + DmaFill16(3, value, dest, size); +} + +void _DmaFill32(u32 value, u8* dest, u32 size) { + DmaFill32(3, value, dest, size); +} + +void _DmaZero(u8 *src, u32 size) +{ + u32 zero = 0; + + switch (((u32)src | size) & 3) { + case 0: + _DmaFill32(0,src, size); + break; + case 2: + _DmaFill16(0, src, size); + break; + default: + do { + *src = zero; + src++; + size--; + } while (size != 0); + } +} \ No newline at end of file