Changeset 218 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm
- Timestamp:
- Jan 23, 2012, 9:10:05 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm
r181 r218 40 40 Idepack_ConvertDapToIdepackAndIssueCommandFromAH: 41 41 mov [bp+IDEPACK.bCommand], ah 42 mov a x, [es:si+DAP.wSectorCount]42 mov al, [es:si+DAP.bSectorCount] 43 43 mov [bp+IDEPACK.bSectorCount], al 44 mov [bp+IDEPACK.bSectorCountHighExt], ah45 44 46 45 mov al, [es:si+DAP.qwLBA] ; LBA byte 0 … … 66 65 ; Parameters: 67 66 ; AH: IDE command to issue 68 ; AL: Number of sectors to transfer (1...255, 0=256)67 ; AL: Number of sectors to transfer 69 68 ; BH: Timeout ticks 70 69 ; BL: IDE Status Register flag to wait after command … … 73 72 ; Bits 5...0: Starting sector number (1...63) 74 73 ; DH: Starting head number (0...255) 75 ; ES:SI: Ptr to data buffer76 74 ; DS:DI: Ptr to DPT (in RAMVARS segment) 77 ; SS:BP: Ptr to IDEPACK 75 ; SS:BP: Ptr to IDEPACK (containing INTPACK) 76 ; Parameters on INTPACK: 77 ; ES:BX: Ptr to data buffer 78 78 ; Returns: 79 79 ; AH: INT 13h Error Code … … 84 84 ALIGN JUMP_ALIGN 85 85 Idepack_TranslateOldInt13hAddressAndIssueCommandFromAH: 86 mov [bp+IDEPACK.bSectorCount], al 86 87 mov [bp+IDEPACK.bCommand], ah 87 88 88 xor ah, ah89 cmp ah, al90 cmc91 adc ah, ah92 93 mov [bp+IDEPACK.bSectorCount], al94 mov [bp+IDEPACK.bSectorCountHighExt], ah95 96 89 push bx 90 call PrepareBuffer_ToESSIforOldInt13hTransfer 97 91 call Address_OldInt13hAddressToIdeAddress 98 92 call AccessDPT_GetDriveSelectByteToAL … … 135 129 mov [bp+IDEPACK.wSectorCountAndLbaLow], dx 136 130 mov [bp+IDEPACK.wLbaMiddleAndHigh], cx 137 mov BYTE [bp+IDEPACK.bSectorCountHighExt], 0138 131 139 132 ; Drive and Head select byte
Note:
See TracChangeset
for help on using the changeset viewer.