Changeset 501 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
- Timestamp:
- Jan 26, 2013, 4:58:50 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r493 r501 20 20 ; Section containing code 21 21 SECTION .text 22 23 ;--------------------------------------------------------------------24 ; IdeCommand_ResetMasterAndSlaveController25 ; Parameters:26 ; DS:DI: Ptr to DPT (in RAMVARS segment)27 ; Returns:28 ; AH: INT 13h Error Code29 ; CF: Cleared if success, Set if error30 ; Corrupts registers:31 ; AL, BX, CX, DX32 ;--------------------------------------------------------------------33 IdeCommand_ResetMasterAndSlaveController:34 ; HSR0: Set_SRST35 call AccessDPT_GetDeviceControlByteToAL36 or al, FLG_DEVCONTROL_SRST | FLG_DEVCONTROL_nIEN ; Set Reset bit37 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER DEVICE_CONTROL_REGISTER_out38 mov ax, HSR0_RESET_WAIT_US39 call Timer_DelayMicrosecondsFromAX40 41 ; HSR1: Clear_wait42 call AccessDPT_GetDeviceControlByteToAL43 or al, FLG_DEVCONTROL_nIEN44 and al, ~FLG_DEVCONTROL_SRST ; Clear reset bit45 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER DEVICE_CONTROL_REGISTER_out46 mov ax, HSR1_RESET_WAIT_US47 call Timer_DelayMicrosecondsFromAX48 49 ; HSR2: Check_status50 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_MAXIMUM, FLG_STATUS_BSY)51 jmp IdeWait_PollStatusFlagInBLwithTimeoutInBH52 53 22 54 23 ;--------------------------------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.