aboutsummaryrefslogtreecommitdiff
path: root/mubios/services/int16.c
Commit message (Collapse)AuthorAgeFilesLines
* [mubios] Fixed several typoRichard Qin23 hours1-6/+9
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Implement serial input and BIOS console key handlingRichard Qin23 hours1-84/+389
| | | | | | 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.
* [mubios] Initialize the 8042 keyboard controllerRichard Qin25 hours1-13/+2
| | | | | | | | | | | | | | | POST only unmasked IRQ1 in the PIC and never configured the 8042 itself, so the keyboard stayed in its post-reset disabled state: the clock was inhibited and no scan code ever reached the output buffer. IRQ1 never fired, the BDA keyboard buffer stayed empty, and GRUB polling INT 16h AH=01h never saw a key. Add kbd_init() to disable both ports, drain the output buffer, clear the clock inhibit bits in the command byte, enable the keyboard and auxiliary IRQs and select set 1 translation, then enable scanning with 0xF4. The IRQ1 handler now checks the status register for a pending output byte before reading the data port and drops auxiliary port bytes. The set 2 break prefix tracking is gone because translation is enabled.
* [mubios] Add EDD parameters and normalize PS/2 inputRichard Qin47 hours1-1/+13
|
* [mubios] Fixed BDA Offset and IRQ1 Save OrderRichard Qin3 days1-3/+4
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Implement INT 16h Keyboard ServiceRichard Qin3 days1-0/+143
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>