aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhpa <hpa>2003-04-16 23:26:59 +0000
committerhpa <hpa>2003-04-16 23:26:59 +0000
commitb5767ae058711508eeda153aa8e57befdbc48635 (patch)
treeff91058c7a2cbf88ab6a7192ccf1a6227e105afa
parent269fa939479aca36b9e15ebc4406f2d4d660ec14 (diff)
downloadsyslinux-elf-b5767ae058711508eeda153aa8e57befdbc48635.tar.gz
syslinux-elf-b5767ae058711508eeda153aa8e57befdbc48635.tar.xz
syslinux-elf-b5767ae058711508eeda153aa8e57befdbc48635.zip
Get the actual high paragraph rather than just blindly reporting 64K
-rw-r--r--comboot.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/comboot.inc b/comboot.inc
index 5e1d8e94..d358147d 100644
--- a/comboot.inc
+++ b/comboot.inc
@@ -92,7 +92,11 @@ is_comboot_image:
mov word [es:0], 020CDh ; INT 20h instruction
; First non-free paragraph
- mov word [es:02h], comboot_seg+1000h
+ ; This is valid because comboot_seg == real_mode_seg
+ ; == the highest segment used by all derivatives
+ int 12h ; Get DOS memory size
+ shl ax,6 ; Kilobytes -> paragraphs
+ mov word [es:02h],ax
; Copy the command line from high memory
mov cx,125 ; Max cmdline len (minus space and CR)