Changeset 365 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH24h_HSetBlocks.asm
- Timestamp:
- Mar 27, 2012, 5:01:57 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH24h_HSetBlocks.asm
r294 r365 40 40 ; CF: 0 if successful, 1 if error 41 41 ; Corrupts registers: 42 ; AL, BX,CX, DX42 ; AL, CX, DX 43 43 ;-------------------------------------------------------------------- 44 44 AH24h_SetBlockSize: 45 push bx 46 45 47 push ax 46 xchg dx, ax ; DL = Block size (Sector Count Register) 47 or BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED ; Assume success 48 xchg dx, ax ; DL = Block size (Sector Count Register) 48 49 mov al, COMMAND_SET_MULTIPLE_MODE 49 50 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRDY, FLG_STATUS_DRDY) 50 51 call Idepack_StoreNonExtParametersAndIssueCommandFromAL 51 52 pop bx 52 jnc .StoreBlockSize 53 mov bl, 1 ; Disable block mode 54 and BYTE [di+DPT.bFlagsHigh], ~FLGH_DPT_BLOCK_MODE_SUPPORTED 55 .StoreBlockSize: ; Store new block size to DPT and return 56 mov [di+DPT_ATA.bSetBlock], bl 53 jnc SHORT .StoreBlockSize 54 mov bl, 1 ; Block size 1 will always work 55 .StoreBlockSize: ; Store new block size to DPT and return 56 mov [di+DPT_ATA.bBlockSize], bl 57 58 pop bx 57 59 ret
Note:
See TracChangeset
for help on using the changeset viewer.