Changeset 221 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS
- Timestamp:
- Jan 25, 2012, 2:36:47 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH42h_ExtendedReadSectors.asm
r218 r221 24 24 ALIGN JUMP_ALIGN 25 25 AH42h_HandlerForExtendedReadSectors: 26 call AH42h_LoadDapToESSIandVerifyForTransfer 27 call CommandLookup_GetEbiosIndexToBX 26 call Prepare_ByLoadingDapToESSIandVerifyingForTransfer 28 27 mov ah, [cs:bx+g_rgbReadCommandLookup] 29 28 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ) … … 35 34 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 36 35 %endif 37 38 39 ;--------------------------------------------------------------------40 ; AH42h_LoadDapToESSIandVerifyForTransfer41 ; Parameters:42 ; SI: Same as in INTPACK43 ; SS:BP: Ptr to IDEPACK44 ; Parameters on INTPACK:45 ; DS:SI: Ptr to Disk Address Packet46 ; Returns:47 ; ES:SI: Ptr to Disk Address Packet (DAP)48 ; Exits from INT 13h if invalid DAP49 ; Corrupts registers:50 ; Nothing51 ;--------------------------------------------------------------------52 ALIGN JUMP_ALIGN53 AH42h_LoadDapToESSIandVerifyForTransfer:54 mov es, [bp+IDEPACK.intpack+INTPACK.ds] ; ES:SI to point Disk Address Packet55 cmp BYTE [es:si+DAP.bSize], MINIMUM_DAP_SIZE56 jb SHORT AH42h_ReturnWithInvalidFunctionError57 cmp WORD [es:si+DAP.bSectorCount], BYTE 058 je SHORT AH42h_ReturnWithInvalidFunctionError59 ret60 AH42h_ReturnWithInvalidFunctionError:61 mov ah, RET_HD_INVALID62 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH43h_ExtendedWriteSectors.asm
r169 r221 27 27 AH43h_HandlerForExtendedWriteSectors: 28 28 cmp BYTE [bp+IDEPACK.intpack+INTPACK.al], 2 ; Verify requested? 29 jae SHORT AH42h_ReturnWithInvalidFunctionError29 jae SHORT Prepare_ReturnFromInt13hWithInvalidFunctionError 30 30 31 call AH42h_LoadDapToESSIandVerifyForTransfer 32 call CommandLookup_GetEbiosIndexToBX 31 call Prepare_ByLoadingDapToESSIandVerifyingForTransfer 33 32 mov ah, [cs:bx+g_rgbWriteCommandLookup] 34 33 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ) -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH44h_ExtendedVerifySectors.asm
r165 r221 24 24 ALIGN JUMP_ALIGN 25 25 AH44h_HandlerForExtendedVerifySectors: 26 call AH42h_LoadDapToESSIandVerifyForTransfer 27 call CommandLookup_GetEbiosIndexToBX 26 call Prepare_ByLoadingDapToESSIandVerifyingForTransfer 28 27 mov ah, [cs:bx+g_rgbVerifyCommandLookup] 29 28 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRDY) -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH47h_ExtendedSeek.asm
r169 r221 25 25 mov es, [bp+IDEPACK.intpack+INTPACK.ds] ; ES:SI to point Disk Address Packet 26 26 cmp BYTE [es:si+DAP.bSize], MINIMUM_DAP_SIZE 27 jb SHORT AH42h_ReturnWithInvalidFunctionError27 jb SHORT Prepare_ReturnFromInt13hWithInvalidFunctionError 28 28 29 29 mov ah, COMMAND_SEEK … … 36 36 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 37 37 %endif 38 39 .WriteWithVerifyNotSupported: 40 jmp Prepare_ReturnFromInt13hWithInvalidFunctionError -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH48h_GetExtendedDriveParameters.asm
r170 r221 40 40 mov ax, MINIMUM_EDRIVEINFO_SIZE 41 41 cmp [di+EDRIVE_INFO.wSize], ax 42 jb SHORT AH42h_ReturnWithInvalidFunctionError42 jb SHORT Prepare_ReturnFromInt13hWithInvalidFunctionError 43 43 je SHORT .SkipEddConfigurationParameters 44 44
Note:
See TracChangeset
for help on using the changeset viewer.