summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-09-09 17:02:58 +0100
committerred031000 <rubenru09@aol.com>2020-09-09 17:03:47 +0100
commit670e4127be3144b6d2bc57c1c882a0c1aa3137dd (patch)
tree89fdad376afb137c5adb039f9f6d26d78b67bbe9 /arm9/lib/src
parent8aba1bb4d0cb579bae4d797588c3ca85466b6e20 (diff)
arm9 MI_dma_card
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/MI_dma_card.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arm9/lib/src/MI_dma_card.c b/arm9/lib/src/MI_dma_card.c
new file mode 100644
index 00000000..c3b8b897
--- /dev/null
+++ b/arm9/lib/src/MI_dma_card.c
@@ -0,0 +1,24 @@
+#include "MI_dma_card.h"
+#include "MI_dma.h"
+#include "function_target.h"
+
+ARM_FUNC void MIi_CardDmaCopy32(u32 dmaNo, const void *src, void *dest, u32 size)
+{
+ MIi_CheckAnotherAutoDMA(dmaNo, MIi_DMA_TIMING_ANY);
+ MIi_CheckDma0SourceAddress(dmaNo, (u32)src, size, MI_DMA_SRC_FIX);
+
+ if (size == 0)
+ {
+ return;
+ }
+
+ vu32 *dmaCntp;
+
+ do
+ {
+ dmaCntp = &((vu32 *)REG_ADDR_DMA0SAD)[dmaNo * 3 + 2];
+ while (*dmaCntp & 0x80000000) {}
+ } while(0);
+
+ MIi_DmaSetParams(dmaNo, (u32)src, (u32)dest, (u32)(0xaf000001));
+}