diff options
Diffstat (limited to 'kernel/tty.c')
-rw-r--r-- | kernel/tty.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/kernel/tty.c b/kernel/tty.c deleted file mode 100644 index 5c4c47d..0000000 --- a/kernel/tty.c +++ /dev/null @@ -1,38 +0,0 @@ -/* will be moved to userspace later on */ - -#include <kernel/tty.h> - -struct vga_cell { - unsigned char c; - unsigned char style; -} __attribute__((__packed__)); - -static const size_t vga_len = 80 * 25; -static struct vga_cell *vga = (void*) 0xB8000; -static size_t vga_pos = 0; - -static void tty_scroll() { - for (int i = 0; i < vga_len - 80; i++) { - vga[i] = vga[i + 80]; - } - vga_pos -= 80; -} - -void tty_putchar(char c) -{ - if (vga_pos >= vga_len - 80) tty_scroll(); - vga[vga_pos++].c = c; -} - -void tty_write(const char *buf, size_t len) -{ - for (size_t i = 0; i < len; i++) { - tty_putchar(buf[i]); - } -} - -void tty_clear() { - for (size_t i = 0; i < vga_len; i++) - vga[i].c = ' '; - vga_pos = 0; -} |