summaryrefslogtreecommitdiff
path: root/src/memory.c
diff options
context:
space:
mode:
authornullableVoidPtr <30564701+nullableVoidPtr@users.noreply.github.com>2018-10-17 11:28:27 +0800
committervoid <30564701+nullableVoidPtr@users.noreply.github.com>2018-11-18 18:29:52 +0800
commit961ab7ccaf4d175189cd42fcddca1336f3d91bad (patch)
treea223139bf9282e5a3636810ae78dccf5095e2100 /src/memory.c
parent9e5147a9adf9dc0aba908f38637cd0b4da2cbbcc (diff)
Fix makefile and decompile some functions.
Partial memory.c, save.c and bg_palette_buffer.c decompilation, along with some asm/ cleanup.
Diffstat (limited to 'src/memory.c')
-rw-r--r--src/memory.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/memory.c b/src/memory.c
new file mode 100644
index 0000000..1ccbe54
--- /dev/null
+++ b/src/memory.c
@@ -0,0 +1,85 @@
+#include "global.h"
+
+extern void InitHeapInternal(void);
+extern void CpuClear(u32 *dest, s32 size);
+
+void InitHeap(void)
+{
+ InitHeapInternal();
+}
+
+void MemoryClear8(u8 *dest, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 1;
+ *dest++ = 0;
+ }
+}
+
+void MemoryClear16(u16 *dest, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 2;
+ *dest++ = 0;
+ }
+}
+void MemoryClear32(u32 *dest, s32 size)
+{
+ CpuClear(dest, size);
+}
+
+void MemoryFill8(u8 *dest, u8 value, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 1;
+ *dest++ = value;
+ }
+}
+
+void MemoryFill16(u16 *dest, u16 value, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 2;
+ *dest++ = value;
+ }
+}
+
+void MemoryFill32(u32 *dest, u32 value, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 4;
+ *dest++ = value;
+ }
+}
+
+void MemoryCopy8(u8 *dest, u8 *src, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 1;
+ *dest++ = *src++;
+ }
+}
+
+void MemoryCopy16(u16 *dest, u16 *src, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 2;
+ *dest++ = *src++;
+ }
+}
+
+void MemoryCopy32(u32 *dest, u32 *src, s32 size)
+{
+ while (size > 0)
+ {
+ size -= 4;
+ *dest++ = *src++;
+ }
+} \ No newline at end of file