summaryrefslogtreecommitdiff
path: root/src/boot_O2/__osMemcpy.c
diff options
context:
space:
mode:
authorTharo <17233964+Thar0@users.noreply.github.com>2021-08-11 03:15:31 +0100
committerGitHub <noreply@github.com>2021-08-10 22:15:31 -0400
commit82cc274b6aa358bab5de54f85edab1727916eb33 (patch)
tree973de5958ffd4c357302473cf1aef93ae493f58e /src/boot_O2/__osMemcpy.c
parent93333067387172ec0929799a6797fe5aac0a69de (diff)
Sort boot files (#260)
Diffstat (limited to 'src/boot_O2/__osMemcpy.c')
-rw-r--r--src/boot_O2/__osMemcpy.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/boot_O2/__osMemcpy.c b/src/boot_O2/__osMemcpy.c
new file mode 100644
index 000000000..2e25b23f0
--- /dev/null
+++ b/src/boot_O2/__osMemcpy.c
@@ -0,0 +1,23 @@
+#include "global.h"
+
+void* __osMemcpy(void* dst, void* src, size_t size) {
+ u8* _dst = dst;
+ u8* _src = src;
+ register s32 rem;
+
+ if (_dst == _src) {
+ return dst;
+ }
+ if (_dst < _src) {
+ for (rem = size--; rem != 0; rem = size--) {
+ *_dst++ = *_src++;
+ }
+ } else {
+ _dst += size - 1;
+ _src += size - 1;
+ for (rem = size--; rem != 0; rem = size--) {
+ *_dst-- = *_src--;
+ }
+ }
+ return dst;
+}