From 95d99866a4d6fb35eb47e694cac1697b8e521f0b Mon Sep 17 00:00:00 2001 From: hpa Date: Tue, 3 Feb 2004 06:16:03 +0000 Subject: [PATCH] Actually handle mode adjustments --- NEWS | 2 ++ comboot.inc | 5 +++++ font.inc | 2 ++ 3 files changed, 9 insertions(+) diff --git a/NEWS b/NEWS index f52c012..d391fa6 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ Changes in 2.09: * Handle compiling on an x86-64 platform correctly. * Menu system from Murali Krishnan Ganapathy; see the menu directory for information. + * Allow COMBOOT programs to change screen text mode. + * Correct the documentation of how to detect SYSLINUX from COMBOOT!!!! Changes in 2.08: * Add new configuration command "ontimeout" to allow timeout diff --git a/comboot.inc b/comboot.inc index e421d67..faac41a 100644 --- a/comboot.inc +++ b/comboot.inc @@ -175,6 +175,8 @@ comboot_int21: cli mov es,bp mov bp,sp ; Set up stack frame + call adjust_screen ; The COMBOOT program might have changed the screen + mov cx,int21_count mov si,int21_table .again: lodsb @@ -211,6 +213,7 @@ comboot_exit_special: lss sp,[SavedSSSP] sti cld + call adjust_screen ; The COMBOOT program might have changed the screen and ax,ax je .nomsg mov si,KernelCName @@ -309,6 +312,8 @@ comboot_int22: mov es,bp mov bp,sp ; Set up stack frame + call adjust_screen ; The COMBOOT program might have changed the screen + cmp ax,int22_count jb .ok xor ax,ax ; Function 0 -> unimplemented diff --git a/font.inc b/font.inc index 9454d66..41f28aa 100644 --- a/font.inc +++ b/font.inc @@ -101,6 +101,7 @@ lf_ret equ use_font.lf_ret ; This is a subroutine in case we're loading a custom font. ; adjust_screen: + pusha mov al,[BIOS_vidrows] and al,al jnz vidrows_ok @@ -111,5 +112,6 @@ vidrows_ok: mov [VidRows],al int 10h ; Read video state dec ah ; Store count-1 (same as rows) mov [VidCols],ah + popa ret -- 2.7.4