diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-11-09 03:22:35 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-11-09 03:22:35 +0800 |
| commit | 06cb46aa0236352554f23697e17bed378083be1a (patch) | |
| tree | 099e92dce130d8f3b2bdbe9c88ddc3949babe94c /mubios/services/int10.c | |
| parent | a54a4236a27e8319da421010fe0c3c5d80edca45 (diff) | |
| download | rcc-project-06cb46aa0236352554f23697e17bed378083be1a.tar.gz rcc-project-06cb46aa0236352554f23697e17bed378083be1a.tar.xz | |
[mubios] Initialize VGA mode and serial BIOS services
Diffstat (limited to 'mubios/services/int10.c')
| -rw-r--r-- | mubios/services/int10.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mubios/services/int10.c b/mubios/services/int10.c index 6793c40..4f6aef1 100644 --- a/mubios/services/int10.c +++ b/mubios/services/int10.c @@ -63,6 +63,20 @@ int10_service (struct bios_regs *regs) function = (u8)(regs->eax >> 8); page = (u8)(regs->ebx >> 8); + if (function == 0x00u) + { + if ((u8)regs->eax == 0x03u) + vga_text_mode_init (); + return; + } + + if (function == 0x0Fu) + { + regs->eax = (regs->eax & 0xFFFF0000u) | 0x5003u; + regs->ebx &= 0xFFFF00FFu; + return; + } + if (function == 0x02u) { cursor = int10_cursor_for_page (page); |
