aboutsummaryrefslogtreecommitdiff
path: root/mubios/include
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-11-10 01:16:40 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-11-10 01:16:40 +0800
commit4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e (patch)
tree91b95e736fa08a071e7814872fc822c2d3fcd682 /mubios/include
parent9f45c30789b6133d4b5fb4ef07f0818a3ea4de48 (diff)
downloadrcc-project-4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e.tar.gz
rcc-project-4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e.tar.xz
[mubios] Implement serial input and BIOS console key handling
Implement UART receive, transmit timeouts, configuration and status reporting for INT 14h functions 00h-03h. Initialize the BDA serial timeout and expose the driver interfaces. Translate terminal characters and CSI/SS3 escape sequences into BIOS keyboard events for INT 16h. Add blocking reads, non-consuming status queries, enhanced key reads and keyboard buffer insertion.
Diffstat (limited to 'mubios/include')
-rw-r--r--mubios/include/bios.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/mubios/include/bios.h b/mubios/include/bios.h
index 3c8b0dc..979e445 100644
--- a/mubios/include/bios.h
+++ b/mubios/include/bios.h
@@ -43,6 +43,12 @@ void bda_init (void);
void serial_init (void);
void serial_putc (u8 value);
void serial_write (const char *text);
+u16 serial_timer_counter (void);
+u16 serial_status (u16 base);
+u16 serial_configure (u16 base, u8 parameters);
+u8 serial_transmit (u16 base, u8 value, u8 timeout);
+u8 serial_receive (u16 base, u8 *value, u8 timeout);
+int serial_try_receive (u16 base, u8 *value);
u8 cmos_read8 (u8 index);