From 8a461a14c3ceaf42f1483abe51cda47ac785bfc9 Mon Sep 17 00:00:00 2001
From: Nao Pross <naopross@thearcway.org>
Date: Tue, 2 May 2017 22:09:40 +0200
Subject: add serial device struct

other changes:
  - change from main() to kmain() in crt0.s and kernel.c
  - new file devices.h to define all address locations for devices
  - new data type
      - register_t as volatile uint8_t for registers in devices
      - size_t from libc
---
 sw/z80/libc/mem.c | 7 -------
 1 file changed, 7 deletions(-)
 delete mode 100644 sw/z80/libc/mem.c

(limited to 'sw/z80/libc')

diff --git a/sw/z80/libc/mem.c b/sw/z80/libc/mem.c
deleted file mode 100644
index 667a752..0000000
--- a/sw/z80/libc/mem.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "types.h"
-#include "mem.h"
-
-void *malloc(size_t size)
-{
-    :
-}
-- 
cgit v1.2.1


From 4a7f45ee28ac0799ba1ca93fd1683f7858efc54a Mon Sep 17 00:00:00 2001
From: Nao Pross <naopross@thearcway.org>
Date: Fri, 2 Jun 2017 16:22:26 +0200
Subject: add serial interface and a few std library functions

changes in usart:
  - new functions to setup the serial comunication settings such as baudrate,
    parity and stop bits
  - init function with most common values
  - transmit and receive functions each with a wrapper to send data blocks

changes in libc:
  - new file stdio.c with basic implementation of putch, printf still a prototype
  - new file string.c with memcpy() function
---
 sw/z80/libc/include/stdio.h  | 11 +++++++++++
 sw/z80/libc/include/string.h |  8 ++++++++
 sw/z80/libc/stdio.c          | 12 ++++++++++++
 sw/z80/libc/string.c         | 13 +++++++++++++
 4 files changed, 44 insertions(+)
 create mode 100644 sw/z80/libc/include/stdio.h
 create mode 100644 sw/z80/libc/include/string.h
 create mode 100644 sw/z80/libc/stdio.c
 create mode 100644 sw/z80/libc/string.c

(limited to 'sw/z80/libc')

diff --git a/sw/z80/libc/include/stdio.h b/sw/z80/libc/include/stdio.h
new file mode 100644
index 0000000..b31cdfd
--- /dev/null
+++ b/sw/z80/libc/include/stdio.h
@@ -0,0 +1,11 @@
+#ifndef __STDIO_H__
+#define __STDIO_H__
+
+#include "types.h"
+
+extern uint8_t *stdout, stderr;
+
+void putc(char ch, uint8_t *buffer);
+int printf(const char *fmt, ...);
+
+#endif 
diff --git a/sw/z80/libc/include/string.h b/sw/z80/libc/include/string.h
new file mode 100644
index 0000000..f224c87
--- /dev/null
+++ b/sw/z80/libc/include/string.h
@@ -0,0 +1,8 @@
+#ifndef __STRING_H__
+#define __STRING_H__
+
+#include "types.h"
+
+void *memcpy(void *dest, const void *src, size_t n);
+
+#endif
diff --git a/sw/z80/libc/stdio.c b/sw/z80/libc/stdio.c
new file mode 100644
index 0000000..c2548d6
--- /dev/null
+++ b/sw/z80/libc/stdio.c
@@ -0,0 +1,12 @@
+#include "stdio.h"
+
+void putc(char ch, uint8_t *buffer)
+{
+    *buffer = ch;
+    *(++buffer) = '\0';
+}
+
+
+int printf(const char *fmt, ...)
+{
+}
diff --git a/sw/z80/libc/string.c b/sw/z80/libc/string.c
new file mode 100644
index 0000000..fd6a7ff
--- /dev/null
+++ b/sw/z80/libc/string.c
@@ -0,0 +1,13 @@
+#include "string.h"
+
+void *memcpy(void *dest, void *src, size_t n)
+{
+    char *dp = dest;
+    char *sp = src;
+
+    while (n--) {
+        *dp++ = *sp++;
+    }
+
+    return dest;
+}
-- 
cgit v1.2.1