aboutsummaryrefslogtreecommitdiffstats
path: root/dosutil
diff options
context:
space:
mode:
Diffstat (limited to 'dosutil')
-rw-r--r--dosutil/eltorito.asm15
1 files changed, 8 insertions, 7 deletions
diff --git a/dosutil/eltorito.asm b/dosutil/eltorito.asm
index 96cfd9ba..d6b6b50e 100644
--- a/dosutil/eltorito.asm
+++ b/dosutil/eltorito.asm
@@ -1029,9 +1029,11 @@ SpecGo: mov si,SpecPkt
ScanDrives: push ax ; at df3 in 1.4
push si
- mov dl, 80h ;Start at Drive 0x80
-NextDrv: mov ax,4B01h ;Get Bootable CD-ROM Status
- mov BYTE [SpecPkt],0 ;Clear 1st byte of SpecPkt
+ mov dl, 7fh ;Start at Drive 0x80
+NextDrv: inc dl
+ clc
+ mov ax,4B01h ;Get Bootable CD-ROM Status
+ mov BYTE [SpecPkt],0 ;Clear 1st byte of SpecPkt
call SpecGo
; Carry is not cleared in buggy Dell BIOSes,
; so I'm checking packet size byte
@@ -1044,10 +1046,9 @@ NextDrv: mov ax,4B01h ;Get Bootable CD-ROM Status
ja FindFail ; in 1.4 at e16
jmp short SendFound ; in 1.4 at e26
-FindFail: inc dl ;Next drive
- cmp dl, 0ffh
- jb SendFail ; Check from 80h..ffh
- jmp short NextDrv
+FindFail: cmp dl, 0ffh
+ je SendFail ; Check from 80h..ffh
+ jmp short NextDrv ;Next drive
SendFail: xor dl,dl
stc
jmp short ThingDone