aboutsummaryrefslogtreecommitdiff
path: root/mubios/services/int10.c
diff options
context:
space:
mode:
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);