Changeset 271 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm
- Timestamp:
- Feb 27, 2012, 4:24:52 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm
r262 r271 33 33 ; AHDh_ResetDrive 34 34 ; Parameters: 35 ; DL: Drive number 36 ; DS: RAMVARS segment 35 ; DS:DI: Ptr to DPT 37 36 ; SS:BP: Ptr to IDEPACK 38 37 ; Returns: … … 40 39 ; CF: 0 if succesfull, 1 if error 41 40 ; Corrupts registers: 42 ; AL, CX,SI41 ; AL, SI 43 42 ;-------------------------------------------------------------------- 44 ;ALIGN JUMP_ALIGN45 43 AHDh_ResetDrive: 46 44 push dx 45 push cx 47 46 push bx 48 47 push di … … 58 57 59 58 mov si, IterateAndResetDrives 60 call IterateAllDPTs59 call FindDPT_IterateAllDPTs 61 60 62 61 shr ah, 1 ; Move error code and CF into proper position … … 64 63 pop di 65 64 pop bx 65 pop cx 66 66 pop dx 67 67 ret … … 76 76 IterateAndResetDrives: 77 77 cmp al, [di+DPT.bIdevarsOffset] ; The right controller? 78 jn z.done78 jne .done 79 79 push ax 80 80 call AH9h_InitializeDriveForUse ; Reset Master and Slave (Master will come first in DPT list) … … 83 83 or ah, (RET_HD_RESETFAIL << 1) | 1 ; OR in Reset Failed error code and CF, will SHR into position later 84 84 .done: 85 stc ; From IterateAllDPTs perspective, the DPT is never found 85 stc ; From IterateAllDPTs perspective, the DPT is never found (continue iteration) 86 86 ret 87
Note:
See TracChangeset
for help on using the changeset viewer.