From b480537a274ed15d71a59f5babf194a651c78910 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Sat, 28 Sep 2024 11:06:36 -0400 Subject: keyboard input buffering --- kernel.cpp | 47 ++++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) (limited to 'kernel.cpp') diff --git a/kernel.cpp b/kernel.cpp index 26d5b7d..408a19e 100644 --- a/kernel.cpp +++ b/kernel.cpp @@ -40,35 +40,28 @@ void kernel_main(void) tasking_initialize(); term.write("Tasking enabled.\n"); - //tasking_spawn([] { - // for (;;) { - // do pit_delay_ms(1); - // while (termBusy); - - // termBusy = true; - // term.write('B'); - // termBusy = false; - // } - //}, 256); - - //tasking_spawn([] { - // for (;;) { - // do pit_delay_ms(1); - // while (termBusy); - - // termBusy = true; - // term.write('C'); - // termBusy = false; - // } - //}, 256); - for (;;) { - pit_delay_ms(100); - //while (termBusy); + const auto ch = keyboard_read(); + if (ch) + term.write(*ch); - //termBusy = true; - //term.write('A'); - //termBusy = false; + pit_delay_ms(10); } } +extern "C" +void abort() +{ + term.write("!!! abort() called !!!"); + asm volatile("cli"); + for (;;); +} + +extern "C" +int __cxa_atexit(void (*func)(void *), void *arg, void *dso_handle) +{ + return 0; +} + +int __dso_handle = 0; + -- cgit v1.2.3