DiskSys resw 1 ; Last INT 13h call
ImageSectors resw 1 ; isolinux.bin size, sectors
DiskError resb 1 ; Error code for disk I/O
-DriveNo resb 1 ; CD-ROM BIOS drive number
+DriveNumber resb 1 ; CD-ROM BIOS drive number
ISOFlags resb 1 ; Flags for ISO directory search
RetryCount resb 1 ; Used for disk access retries
loop .loop
mov [FirstSecSum],edi
- mov [DriveNo],dl
+ mov [DriveNumber],dl
%ifdef DEBUG_MESSAGES
mov si,startup_msg
call writemsg
; Note: use passed-in DL value rather than 7Fh because
; at least some BIOSes will get the wrong value otherwise
mov ax,4B01h ; Get disk emulation status
- mov dl,[DriveNo]
+ mov dl,[DriveNumber]
mov si,spec_packet
call int13
jc award_hack ; changed for BrokenAwardHack
- mov dl,[DriveNo]
+ mov dl,[DriveNumber]
cmp [sp_drive],dl ; Should contain the drive number
jne spec_query_failed
call writestr ;
%endif ;
mov ax,4B01h ; try to read the spec packet
- mov dl,[DriveNo] ; now ... it should not fail
+ mov dl,[DriveNumber] ; now ... it should not fail
mov si,spec_packet ; any longer
int 13h ;
jc award_fail2 ;
; Okay, good enough...
mov si,alright_msg
call writemsg
- mov [DriveNo],dl
+ mov [DriveNumber],dl
.found_drive: jmp found_drive
; Award BIOS 4.51 apparently passes garbage in sp_drive,
; but if this was the drive number originally passed in
; DL then consider it "good enough"
.maybe_broken:
- cmp byte [DriveNo],dl
+ cmp byte [DriveNumber],dl
je .found_drive
.still_broken: dec dx
; 4B01h, so we can't query a spec packet no matter
; what. If we got a drive number in DL, then try to
; use it, and if it works, then well...
- mov dl,[DriveNo]
+ mov dl,[DriveNumber]
cmp dl,81h ; Should be 81-FF at least
jb fatal_error ; If not, it's hopeless
.bp_ok:
mov [si+2],bp
push si
- mov dl,[DriveNo]
+ mov dl,[DriveNumber]
mov ah,42h ; Extended Read
call xint13
pop si
mov ax,4C00h ; Enable emulation and boot
mov si,dspec_packet
- mov dl,[DriveNo]
+ mov dl,[DriveNumber]
lss sp,[InitStack]
TRACER 'X'