aboutsummaryrefslogtreecommitdiff
path: root/mubios/core/bda.c
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-11-08 08:01:11 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-11-08 08:01:11 +0800
commitf3541313a873e431f79df94a7bd475e7a3db7b6c (patch)
tree02ae9faafeab107bc9c4bbdf02b20e8a6ccbb310 /mubios/core/bda.c
parent33321fd8115007f3f1bffa3a9969c2444d5a578b (diff)
downloadrcc-project-f3541313a873e431f79df94a7bd475e7a3db7b6c.tar.gz
rcc-project-f3541313a873e431f79df94a7bd475e7a3db7b6c.tar.xz
[mubios] Implement INT 16h Keyboard Service
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'mubios/core/bda.c')
-rw-r--r--mubios/core/bda.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mubios/core/bda.c b/mubios/core/bda.c
index 8417605..7220719 100644
--- a/mubios/core/bda.c
+++ b/mubios/core/bda.c
@@ -44,6 +44,9 @@ bda_init (void)
store_u16 (bda + BDA_EQUIPMENT_OFFSET, (u16)(ebda_base >> 4));
store_u16 (bda + BDA_CONVENTIONAL_MEMORY_OFFSET, (u16)(ebda_base >> 10));
+
+ store_u16 (bda + 0x001Au, 0x041Eu);
+ store_u16 (bda + 0x001Cu, 0x041Eu);
}
struct ivt_entry
@@ -60,6 +63,7 @@ extern void int1a_entry (void);
extern void int10_entry (void);
extern void int13_entry (void);
extern void int15_entry (void);
+extern void int16_entry (void);
static void
install_ivt_entry (u8 vector, void (*handler) (void))
@@ -85,4 +89,5 @@ ivt_init (void)
install_ivt_entry (0x10u, int10_entry);
install_ivt_entry (0x13u, int13_entry);
install_ivt_entry (0x15u, int15_entry);
+ install_ivt_entry (0x16u, int16_entry);
}