Changeset 279 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device
- Timestamp:
- Feb 28, 2012, 4:20:48 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r276 r279 156 156 .DriveNotReady: 157 157 pop bx ; Clean stack 158 IDEDEVICE%+ReturnSinceTimeoutWhenPollingBusy:159 158 ret 160 159 … … 173 172 ALIGN JUMP_ALIGN 174 173 IDEDEVICE%+Command_SelectDrive: 175 ; Wait until neither Master or Slave Drive is busy 176 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_BSY, FLG_STATUS_BSY)177 cmp BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE178 eCMOVE bh, TIMEOUT_IDENTIFY_DEVICE179 call IDEDEVICE%+Wait_PollStatusFlagInBLwithTimeoutInBH180 jc SHORT IDEDEVICE%+ReturnSinceTimeoutWhenPollingBusy174 ; Wait until neither Master or Slave Drive is busy. 175 ; I don't think this wait is necessary. 176 ;mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_BSY, FLG_STATUS_BSY) 177 ;cmp BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE 178 ;eCMOVE bh, TIMEOUT_IDENTIFY_DEVICE 179 ;call IDEDEVICE%+Wait_PollStatusFlagInBLwithTimeoutInBH 181 180 182 181 ; Select Master or Slave Drive … … 186 185 cmp BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE 187 186 eCMOVE bh, TIMEOUT_IDENTIFY_DEVICE 188 jmp IDEDEVICE%+Wait_PollStatusFlagInBLwithTimeoutInBH 187 call IDEDEVICE%+Wait_PollStatusFlagInBLwithTimeoutInBH 188 jc SHORT .ErrorWhenSelectingMasterOrSlave 189 ret 190 191 ; Ignore previously unsupported command (for example some SET FEATURES subcommand) 192 .ErrorWhenSelectingMasterOrSlave: 193 sub ah, 1 ; Clear CF 194 jz SHORT .IgnoreABRTerror ; RET_HD_INVALID == 1 195 inc ah 196 stc ; Restore error 197 .IgnoreABRTerror: 198 ret 189 199 190 200
Note:
See TracChangeset
for help on using the changeset viewer.