summaryrefslogtreecommitdiffstats
path: root/sw-old/z80/libc/string.c
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2018-10-30 11:41:24 +0100
committerNao Pross <naopross@thearcway.org>2018-10-30 11:41:24 +0100
commit43be150dc6e84f6f6eeb071cd3cdb7fc21125d60 (patch)
tree541fd3d690c1bdfd7b68d684029a400b80f4aa06 /sw-old/z80/libc/string.c
parentAdd datasheets for ATmega328 and 74LS259 (diff)
downloadz80uPC-43be150dc6e84f6f6eeb071cd3cdb7fc21125d60.tar.gz
z80uPC-43be150dc6e84f6f6eeb071cd3cdb7fc21125d60.zip
Move sw to sw-old and hw to hw-altium, add kicad files
Diffstat (limited to 'sw-old/z80/libc/string.c')
-rw-r--r--sw-old/z80/libc/string.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/sw-old/z80/libc/string.c b/sw-old/z80/libc/string.c
new file mode 100644
index 0000000..57b3a7f
--- /dev/null
+++ b/sw-old/z80/libc/string.c
@@ -0,0 +1,37 @@
+#include "string.h"
+
+void *memset(void *dest, const int8_t src, size_t n) {
+
+ char *dp = (char *) dest;
+
+ while (n--)
+ *(dp++) = src;
+
+ return dest;
+}
+
+void *memcpy(void *dest, void *src, size_t n)
+{
+ char *dp = dest;
+ char *sp = src;
+
+ while (n--) {
+ *dp++ = *sp++;
+ }
+
+ return dest;
+}
+
+int8_t memcmp(void *s1, void *s2, size_t n)
+{
+ char *u1 = (char *) s1;
+ char *u2 = (char *) s2;
+
+ for ( ; n--; u1++, u2++) {
+
+ if (*u1 != *u2)
+ return u1 - u2;
+ }
+
+ return 0;
+} \ No newline at end of file