Changeset 589 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/Vision.asm
- Timestamp:
- May 22, 2016, 12:26:57 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/Vision.asm
r582 r589 29 29 ; AX: ID WORD specific for QDI Vision Controllers 30 30 ; (AL = QD65xx Config Register contents) 31 ; (AH = QDI Vision Controller ID (bits 4...7))31 ; (AH = QDI Vision Controller ID) 32 32 ; DX: Controller port (not IDE port) 33 33 ; ZF: Set if controller found … … 46 46 ; from Axh to Bxh. 47 47 call IsConfigRegisterWithIDinAL 48 je SHORT VisionControllerDetected 48 je SHORT VisionControllerDetected.Return 49 49 50 50 ; Check QD65xx alternative base port 51 ordl, QD65XX_ALTERNATIVE_BASE_PORT51 mov dl, QD65XX_ALTERNATIVE_BASE_PORT 52 52 in al, QD65XX_ALTERNATIVE_BASE_PORT + QD65XX_CONFIG_REGISTER_in 53 53 %endif ; DANGEROUS_DETECTION … … 68 68 mov ah, al 69 69 and al, MASK_QDCONFIG_CONTROLLER_ID 70 cmp al, ID_QD6500 << 470 cmp al, ID_QD6500 71 71 je SHORT VisionControllerDetected 72 cmp al, ID_QD6580 << 472 cmp al, ID_QD6580 73 73 je SHORT VisionControllerDetected 74 cmp al, ID_QD6580_ALTERNATE << 474 cmp al, ID_QD6580_ALTERNATE 75 75 VisionControllerDetected: 76 76 xchg ah, al 77 .Return: 77 78 ret 78 79 … … 82 83 ; Parameters: 83 84 ; AL: QD65xx Config Register contents 84 ; AH: QDI Vision Controller ID (bits 4...7)85 ; AH: QDI Vision Controller ID 85 86 ; BX: IDE Base port to check 86 87 ; DX: Vision Controller port … … 92 93 ;-------------------------------------------------------------------- 93 94 Vision_DoesIdePortInBXbelongToControllerWithIDinAX: 94 cmp ah, ID_QD6500 << 495 cmp ah, ID_QD6500 95 96 je SHORT .DoesIdePortInDXbelongToQD6500 96 97 … … 128 129 ; Parameters: 129 130 ; AL: QD65xx Config Register contents 130 ; AH: QDI Vision Controller ID (bits 4...7)131 ; AH: QDI Vision Controller ID 131 132 ; Returns: 132 133 ; AL: Max supported PIO mode … … 139 140 ;-------------------------------------------------------------------- 140 141 Vision_GetMaxPioModeToALandMinCycleTimeToBX: 141 cmp ah, ID_QD6500 << 4142 cmp ah, ID_QD6500 142 143 jne SHORT .NoNeedToLimitForQD6580 143 144 … … 149 150 150 151 ;-------------------------------------------------------------------- 151 ; Vision_InitializeWithIDinAHandConfigInAL 152 ; Parameters: 153 ; AL: QD65xx Config Register contents 154 ; AH: QDI Vision Controller ID (bits 4...7) 152 ; Vision_InitializeWithIDinAH 153 ; Parameters: 154 ; AH: QDI Vision Controller ID 155 155 ; DS:DI: Ptr to DPT for Single or Slave Drive 156 156 ; SI: Offset to Master DPT if Slave Drive present … … 162 162 ; AX, BX, CX, DX, BP 163 163 ;-------------------------------------------------------------------- 164 Vision_InitializeWithIDinAH andConfigInAL:164 Vision_InitializeWithIDinAH: 165 165 ; QD6580 has a Control Register that needs to be programmed 166 cmp ah, ID_QD6500 << 4166 cmp ah, ID_QD6500 167 167 mov dx, [di+DPT_ADVANCED_ATA.wControllerBasePort] 168 168 mov bp, QD6500_MAX_ACTIVE_TIME_CLOCKS | (QD6500_MIN_ACTIVE_TIME_CLOCKS << 8) ; Assume QD6500
Note:
See TracChangeset
for help on using the changeset viewer.