Changeset 95 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
- Timestamp:
- Jan 28, 2011, 11:55:34 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
r90 r95 25 25 Int19h_TryToLoadBootSectorFromDL: 26 26 call BootPrint_TryToBootFromDL 27 call Int19h_LoadFirstSectorFromDL27 call LoadFirstSectorFromDriveDL 28 28 jc SHORT .FailedToLoadFirstSector 29 29 … … 33 33 jne SHORT .FirstHardDiskSectorNotBootable 34 34 .AlwaysBootFromFloppyDriveForBooterGames: 35 call BootPrint_BootSectorLoaded 35 mov bx, g_szFound 36 call BootPrint_BootSectorResultStringFromBX 36 37 stc 37 38 ret … … 41 42 ret 42 43 .FirstHardDiskSectorNotBootable: 43 call BootPrint_FirstSectorNotBootable 44 mov bx, g_szNotFound 45 call BootPrint_BootSectorResultStringFromBX 44 46 clc 45 47 ret 46 48 47 49 ;-------------------------------------------------------------------- 48 ; Reads first sector (boot sector) from drive DL. 49 ; 50 ; Int19h_LoadFirstSectorFromDL 50 ; LoadFirstSectorFromDriveDL 51 51 ; Parameters: 52 52 ; DL: Drive to boot from (translated, 00h or 80h) … … 60 60 ;-------------------------------------------------------------------- 61 61 ALIGN JUMP_ALIGN 62 Int19h_LoadFirstSectorFromDL:62 LoadFirstSectorFromDriveDL: 63 63 LOAD_BDA_SEGMENT_TO es, bx ; ES:BX now points to... 64 64 mov bx, BOOTVARS.rgbBootSect ; ...boot sector location 65 mov di, B_READ_RETRY_TIMES ; Retry counter65 mov di, B_READ_RETRY_TIMES ; Initialize retry counter 66 66 ALIGN JUMP_ALIGN 67 67 .ReadRetryLoop: … … 90 90 xor ax, ax ; AH=0h, Disk Controller Reset 91 91 test dl, 80h ; Floppy drive? 92 jz SHORT .ResetDriveFromDL ; If so, jump to reset 93 mov ah, 0Dh ; AH=Dh, Reset Hard Disk (Alternate reset) 94 .ResetDriveFromDL: 92 eCMOVNZ ah, 0Dh ; AH=Dh, Reset Hard Disk (Alternate reset) 95 93 int INTV_DISK_FUNC 96 94 ret … … 155 153 mov es, ax 156 154 ret 157 158 159 ;--------------------------------------------------------------------160 ; Calls INT 18h (ROM Basic or Boot Failure). Called after booting from161 ; floppy drive or hard disk fails.162 ;163 ; Int19h_BootFailure164 ; Parameters:165 ; Nothing166 ; Returns:167 ; Should never return (but might)168 ;--------------------------------------------------------------------169 ALIGN JUMP_ALIGN170 Int19h_BootFailure:171 call Int19h_ClearSegmentsForBoot172 int INTV_BOOT_FAILURE173 ret
Note:
See TracChangeset
for help on using the changeset viewer.