aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--comboot.inc5
-rw-r--r--font.inc2
3 files changed, 9 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index f52c0128..d391fa68 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 e421d67f..faac41a0 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 9454d66e..41f28aa8 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