summaryrefslogtreecommitdiff
path: root/runkernel.inc
diff options
context:
space:
mode:
authorhpa <hpa>2002-06-17 01:08:23 +0000
committerhpa <hpa>2002-06-17 01:08:23 +0000
commit59c1249ed12543c49b4d68c00fbd2a81842912be (patch)
tree8af91a97abf7a40579e5852788a6a284ba551686 /runkernel.inc
parent2a8107a220e75a83bd030ba03c92906ac0dd72e0 (diff)
downloadsyslinux-59c1249ed12543c49b4d68c00fbd2a81842912be.tar.gz
Support reporting extended characters as <NUL>...; use a stack register
frame for INT 21/22.
Diffstat (limited to 'runkernel.inc')
-rw-r--r--runkernel.inc17
1 files changed, 8 insertions, 9 deletions
diff --git a/runkernel.inc b/runkernel.inc
index f968168f..c536967e 100644
--- a/runkernel.inc
+++ b/runkernel.inc
@@ -176,24 +176,23 @@ skip_this_opt: lodsb ; Load from command line
dec si
jmp short get_next_opt
is_vga_cmd:
- add si,byte 4
- mov eax,[si]
+ add si,4
+ mov eax,[si-1]
mov bx,-1
- cmp eax, 'norm' ; vga=normal
+ cmp eax,'=nor' ; vga=normal
je vc0
- and eax,0ffffffh ; 3 bytes
- mov bx,-2
- cmp eax, 'ext' ; vga=ext
+ dec bx ; bx <- -2
+ cmp eax,'=ext' ; vga=ext
je vc0
- mov bx,-3
- cmp eax, 'ask' ; vga=ask
+ dec bx ; bx <- -3
+ cmp eax,'=ask' ; vga=ask
je vc0
call parseint ; vga=<number>
jc skip_this_opt ; Not an integer
vc0: mov [bs_vidmode],bx ; Set video mode
jmp short skip_this_opt
is_mem_cmd:
- add si,byte 4
+ add si,4
call parseint
jc skip_this_opt ; Not an integer
%if HIGHMEM_SLOP != 0