[syslinux] [PATCH] memdisk: Restore DL for INT 13h, AH=15h, DL=floppy

Shao Miller Shao.Miller at yrdsb.edu.on.ca
Thu Nov 19 17:34:27 PST 2009


At least PC-DOS requires this to avoid an infinite loop
---
 memdisk/memdisk.inc |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/memdisk/memdisk.inc b/memdisk/memdisk.inc
index 98ad52b..a37218b 100644
--- a/memdisk/memdisk.inc
+++ b/memdisk/memdisk.inc
@@ -174,7 +174,9 @@ Int13Start:
                cmp byte [cs:SavedAX+1],08h     ; Get drive params function?
                je .norestoredl                 ; DL = number of drives
                cmp byte [cs:SavedAX+1],15h     ; Get disk type function?
-               je .norestoredl                 ; CX:DX = size of device
+               jne .restoredl
+               test byte [bp+4],80h            ; Hard disk?
+               jnz .norestoredl                ; CX:DX = size of device
 .restoredl:
                mov dl,[bp+4]
 .norestoredl:
--
1.5.6.3

- Shao Miller
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-memdisk-Restore-DL-for-INT-13h-AH-15h-DL-floppy.patch
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20091119/7dff6c98/attachment.ksh>


More information about the Syslinux mailing list