diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-11-08 08:01:11 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-11-08 08:01:11 +0800 |
| commit | f3541313a873e431f79df94a7bd475e7a3db7b6c (patch) | |
| tree | 02ae9faafeab107bc9c4bbdf02b20e8a6ccbb310 /mubios/core/bda.c | |
| parent | 33321fd8115007f3f1bffa3a9969c2444d5a578b (diff) | |
| download | rcc-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.c | 5 |
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); } |
