aboutsummaryrefslogtreecommitdiffstats
path: root/core/isolinux.asm
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-25 18:14:06 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-05-25 18:14:06 -0700
commitd672cdd2bd7622f6dc4db4955214abf4dd7a3b6e (patch)
tree32ef06a4368462ad5ef7f24cb36e03ae07d08915 /core/isolinux.asm
parent12f1c65e7748559aef772cfe760be11f1f7745fa (diff)
parentbb519a95c0da9871fd99b068d00e96fd78cc8cc1 (diff)
downloadsyslinux-d672cdd2bd7622f6dc4db4955214abf4dd7a3b6e.tar.gz
Merge branch 'master' into core32
Diffstat (limited to 'core/isolinux.asm')
-rw-r--r--core/isolinux.asm29
1 files changed, 13 insertions, 16 deletions
diff --git a/core/isolinux.asm b/core/isolinux.asm
index 1d754650..aab0c4fb 100644
--- a/core/isolinux.asm
+++ b/core/isolinux.asm
@@ -226,35 +226,32 @@ bi_end:
; Custom entry point for the hybrid-mode disk.
; The following values will have been pushed onto the
; entry stack:
+ ; - partition offset (qword)
; - ES
; - DI
; - DX (including drive number)
- ; - partition offset (qword)
- ; - EBIOS flag
- ; - CBIOS Sectors
; - CBIOS Heads
+ ; - CBIOS Sectors
+ ; - EBIOS flag
; (top of stack)
;
%ifndef DEBUG_MESSAGES
_hybrid_signature:
- dd 0x0defe3f7
+ dd 0x7078c0fb ; An arbitrary number...
+
_start_hybrid:
- pop word [cs:bsHeads]
+ pop cx ; EBIOS flag
pop word [cs:bsSecPerTrack]
-
- pop ax
- mov si,bios_cbios
- and ax,ax
- jz .cbios
- mov si,bios_ebios
-.cbios:
-
- pop dword [cs:bsHidden]
- pop dword [cs:bsHidden+4]
-
+ pop word [cs:bsHeads]
pop dx
pop di
pop es
+ pop dword [cs:bsHidden]
+ pop dword [cs:bsHidden+4]
+
+ mov si,bios_cbios
+ jcxz _start_common
+ mov si,bios_ebios
jmp _start_common
%endif