Changeset 165 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Timestamp:
- Aug 20, 2011, 6:37:44 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Files:
-
- 10 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm
r150 r165 22 22 ALIGN JUMP_ALIGN 23 23 AH25h_HandlerForGetDriveInformation: 24 mov si, [bp+IDEPACK.intpack+INTPACK.bx] 25 %ifdef USE_186 26 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 27 ; Fall to AH25h_GetDriveInformationToBufferInESSIfromDriveInDL 28 %else 29 call AH25h_GetDriveInformationToBufferInESSIfromDriveInDL 30 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 31 %endif 32 33 34 ;-------------------------------------------------------------------- 35 ; AH25h_GetDriveInformationToBufferInESSIfromDriveInDL 36 ; Parameters: 37 ; DL: Translated Drive number 38 ; DS:DI: Ptr to DPT (in RAMVARS segment) 39 ; ES:SI: Ptr to buffer to receive 512-byte drive information 40 ; Returns with INTPACK: 41 ; AH: Int 13h return status 42 ; CF: 0 if succesfull, 1 if error 43 ; Corrupts registers: 44 ; AL, BX, CX, DX 45 ;-------------------------------------------------------------------- 46 AH25h_GetDriveInformationToBufferInESSIfromDriveInDL: 47 push es 24 48 push bp 49 push di 50 push si 25 51 26 mov si, [bp+IDEPACK.intpack+INTPACK.bx]27 52 call AccessDPT_GetDriveSelectByteToAL 28 53 mov bh, al … … 31 56 call Device_IdentifyToBufferInESSIwithDriveSelectByteInBH 32 57 58 pop si 59 pop di 33 60 pop bp 34 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 61 pop es 62 ret -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH2h_HRead.asm
r158 r165 15 15 ; SS:BP: Ptr to IDEPACK 16 16 ; Parameters on INTPACK: 17 ; AL: Number of sectors to read (1... 255)17 ; AL: Number of sectors to read (1...127) 18 18 ; CH: Cylinder number, bits 7...0 19 19 ; CL: Bits 7...6: Cylinder number bits 9 and 8 … … 29 29 AH2h_HandlerForReadDiskSectors: 30 30 cmp BYTE [bp+IDEPACK.intpack+INTPACK.al], 0 31 j e SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero31 jle SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero 32 32 33 mov ah, COMMAND_READ_SECTORS ; Load sector mode command34 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED35 eCMOVNZ ah, COMMAND_READ_MULTIPLE ; Load block mode command33 xor bx, bx 34 call CommandLookup_OrOldInt13hIndexToBL 35 mov ah, [cs:bx+g_rgbReadCommandLookup] 36 36 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ) 37 37 mov si, [bp+IDEPACK.intpack+INTPACK.bx] … … 55 55 mov ah, RET_HD_INVALID 56 56 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 57 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH3h_HWrite.asm
r158 r165 15 15 ; SS:BP: Ptr to IDEREGS_AND_INTPACK 16 16 ; Parameters on INTPACK: 17 ; AL: Number of sectors to write 17 ; AL: Number of sectors to write (1...127) 18 18 ; CH: Cylinder number, bits 7...0 19 19 ; CL: Bits 7...6: Cylinder number bits 9 and 8 … … 28 28 AH3h_HandlerForWriteDiskSectors: 29 29 cmp BYTE [bp+IDEPACK.intpack+INTPACK.al], 0 30 j e SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero30 jle SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero 31 31 32 mov ah, COMMAND_WRITE_SECTORS ; Load sector mode command33 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED34 eCMOVNZ ah, COMMAND_WRITE_MULTIPLE ; Load block mode command32 xor bx, bx 33 call CommandLookup_OrOldInt13hIndexToBL 34 mov ah, [cs:bx+g_rgbWriteCommandLookup] 35 35 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ) 36 36 mov si, [bp+IDEPACK.intpack+INTPACK.bx] -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH4h_HVerify.asm
r158 r165 15 15 ; SS:BP: Ptr to INTPACK 16 16 ; Parameters on INTPACK in SS:BP: 17 ; AL: Number of sectors to verify 17 ; AL: Number of sectors to verify (1...127) 18 18 ; CH: Cylinder number, bits 7...0 19 19 ; CL: Bits 7...6: Cylinder number bits 9 and 8 … … 27 27 AH4h_HandlerForVerifyDiskSectors: 28 28 cmp BYTE [bp+IDEPACK.intpack+INTPACK.al], 0 29 j e SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero29 jle SHORT AH2h_ExitInt13hSinceSectorCountInIntpackIsZero 30 30 31 31 mov ah, COMMAND_VERIFY_SECTORS
Note:
See TracChangeset
for help on using the changeset viewer.