summaryrefslogtreecommitdiff
path: root/arm9/lib/NitroSDK/include/MI_memory.h
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2021-07-22 20:46:10 -0400
committerGitHub <noreply@github.com>2021-07-22 20:46:10 -0400
commitb5b9e57dcb55ee1a69ca86c30e90475bb80e3c28 (patch)
tree2e91e60bdb7a9174b16d8ca1b532809d4ae2e5b6 /arm9/lib/NitroSDK/include/MI_memory.h
parentc2d91a2d997afd01fa4f40e1e16d5ee85557c9a8 (diff)
parent5bf13c7f48fe91c7902ce50250bc1a5a2398a2ae (diff)
Merge pull request #435 from red031000/master
separate out libs to libc, libnns and NitroSDK
Diffstat (limited to 'arm9/lib/NitroSDK/include/MI_memory.h')
-rw-r--r--arm9/lib/NitroSDK/include/MI_memory.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/arm9/lib/NitroSDK/include/MI_memory.h b/arm9/lib/NitroSDK/include/MI_memory.h
new file mode 100644
index 00000000..4e5722bb
--- /dev/null
+++ b/arm9/lib/NitroSDK/include/MI_memory.h
@@ -0,0 +1,68 @@
+#ifndef POKEDIAMOND_ARM9_MI_MEMORY_H
+#define POKEDIAMOND_ARM9_MI_MEMORY_H
+
+#include "nitro/types.h"
+
+void MIi_CpuClear16(register u16 data, register void *destp, register u32 size);
+void MIi_CpuCopy16(register const void *srcp, register void *destp, register u32 size);
+void MIi_CpuClear32(register u32 data, register void *destp, register u32 size);
+void MIi_CpuCopy32(register const void *srcp, register void *destp, register u32 size);
+void MIi_CpuSend32(register const void *srcp, volatile void *destp, u32 size);
+void MIi_CpuClearFast(register u32 data, register void *destp, register u32 size);
+void MIi_CpuCopyFast(register const void *srcp, register void *destp, register u32 size);
+void MI_Copy32B(register const void *pSrc, register void *pDest);
+void MI_Copy36B(register const void *pSrc, register void *pDest);
+void MI_Copy48B(register const void *pSrc, register void *pDest);
+void MI_Copy64B(register const void *pSrc, register void *pDest);
+void MI_CpuFill8(register void *dstp, register u8 data, register u32 size);
+void MI_CpuCopy8(register const void *srcp, register void *dstp, register u32 size);
+void MI_Zero36B(register void *pDest);
+
+static inline void MI_CpuClearFast(void *destp, u32 size) {
+ MIi_CpuClearFast(0, destp, size);
+}
+static inline void MI_CpuClear8(void *dest, u32 size) {
+ MI_CpuFill8(dest, 0, size);
+}
+
+static inline void MI_CpuFill16(void *dest, u16 data, u32 size)
+{
+ MIi_CpuClear16(data, dest, size);
+}
+
+static inline void MI_CpuClear16(void * destp, u32 size)
+{
+ MIi_CpuClear16(0, destp, size);
+}
+
+static inline void MI_CpuFill32(void *dest, u32 data, u32 size)
+{
+ MIi_CpuClear32(data, dest, size);
+}
+
+static inline void MI_CpuClear32(void *dest, u32 size)
+{
+ MI_CpuFill32(dest, 0, size);
+}
+
+static inline void MI_CpuCopy16(const void *src, void *dest, u32 size)
+{
+ MIi_CpuCopy16(src, dest, size);
+}
+
+static inline void MI_CpuCopy32(const void *src, void *dest, u32 size)
+{
+ MIi_CpuCopy32(src, dest, size);
+}
+
+static inline void MI_CpuFillFast(void *dest, u32 data, u32 size)
+{
+ MIi_CpuClearFast(data, dest, size);
+}
+
+static inline void MI_CpuCopyFast(const void *src, void *dest, u32 size)
+{
+ MIi_CpuCopyFast(src, dest, size);
+}
+
+#endif //POKEDIAMOND_ARM9_MI_MEMORY_H