Shao Miller
2009-Nov-20 01:20 UTC
[PATCH] memdisk: Restore DL for INT 13h, AH=15h, DL=floppy
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 --------------050707070402050101020105--
Shao Miller
2009-Nov-20 01:34 UTC
[syslinux] [PATCH] memdisk: Restore DL for INT 13h, AH=15h, DL=floppy
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>