Changeset 232 in xtideuniversalbios
- Timestamp:
- Feb 4, 2012, 12:42:17 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc
r227 r232 28 28 .dpt resb DPT_size 29 29 30 ; Block size is specified in sectors (1, 2, 4, 8, 16, 32 or 64). 31 ; 128 is not allowed to prevent offset overflow during data transfer. 30 ; Block size is specified in sectors (1, 2, 4, 8, 16, 32, 64 or 128) 32 31 .wSetAndMaxBlock: 33 32 .bSetBlock resb 1 ; Current block size (at least 1) -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH24h_HSetBlocks.asm
r218 r232 20 20 ; CF: 0 if succesfull, 1 if error 21 21 ;-------------------------------------------------------------------- 22 ALIGN JUMP_ALIGN23 22 AH24h_HandlerForSetMultipleBlocks: 24 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED25 jnz SHORT .TryToSetBlockMode26 stc27 mov ah, RET_HD_INVALID28 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH29 30 ALIGN JUMP_ALIGN31 .TryToSetBlockMode:32 23 %ifndef USE_186 33 24 call AH24h_SetBlockSize … … 51 42 ; AL, BX, CX, DX 52 43 ;-------------------------------------------------------------------- 53 ;ALIGN JUMP_ALIGN54 44 AH24h_SetBlockSize: 55 45 push ax 56 46 xchg dx, ax ; DL = Block size (Sector Count Register) 47 or BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED ; Assume success 57 48 mov al, COMMAND_SET_MULTIPLE_MODE 58 49 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRDY, FLG_STATUS_DRDY) … … 61 52 jnc .StoreBlockSize 62 53 mov bl, 1 ; Disable block mode 54 and BYTE [di+DPT.bFlagsHigh], ~FLGH_DPT_BLOCK_MODE_SUPPORTED 63 55 .StoreBlockSize: ; Store new block size to DPT and return 64 56 mov [di+DPT_ATA.bSetBlock], bl
Note:
See TracChangeset
for help on using the changeset viewer.