Ignore:
Timestamp:
Aug 28, 2012, 4:05:55 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Added XT-CF transfer functions for 80188/80186 and later.
  • XT-CF drive detection timeouts are now the same as for other controllers.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm

    r443 r444  
    203203ALIGN JUMP_ALIGN
    204204IdeCommand_SelectDrive:
    205 %if 0
    206     ; Wait until neither Master or Slave Drive is busy
    207     mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_BSY, FLG_STATUS_BSY)
    208     cmp     BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE
    209     eCMOVE  bh, TIMEOUT_IDENTIFY_DEVICE
    210     call    IdeWait_PollStatusFlagInBLwithTimeoutInBH
    211 %endif
     205    ; We use different timeout value when detecting drives.
     206    ; This prevents unnecessary long delays when drive is not present.
     207    mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRDY, FLG_STATUS_DRDY)
     208    cmp     WORD [RAMVARS.wDrvDetectSignature], RAMVARS_DRV_DETECT_SIGNATURE
     209    eCMOVE  bh, TIMEOUT_SELECT_DRIVE_DURING_DRIVE_DETECTION
    212210
    213211    ; Select Master or Slave Drive
    214212    mov     al, [bp+IDEPACK.bDrvAndHead]
    215213    OUTPUT_AL_TO_IDE_REGISTER   DRIVE_AND_HEAD_SELECT_REGISTER
    216     mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRDY, FLG_STATUS_DRDY)
    217     cmp     BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE
    218     eCMOVE  bh, TIMEOUT_IDENTIFY_DEVICE
    219214    call    IdeWait_PollStatusFlagInBLwithTimeoutInBH
    220215
Note: See TracChangeset for help on using the changeset viewer.