aboutsummaryrefslogtreecommitdiff
path: root/mubios/services/int10.c
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-11-09 03:22:35 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-11-09 03:22:35 +0800
commit06cb46aa0236352554f23697e17bed378083be1a (patch)
tree099e92dce130d8f3b2bdbe9c88ddc3949babe94c /mubios/services/int10.c
parenta54a4236a27e8319da421010fe0c3c5d80edca45 (diff)
downloadrcc-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.c14
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);