Changeset 545 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization
- Timestamp:
- Apr 19, 2013, 11:44:35 AM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm
r528 r545 158 158 ;-------------------------------------------------------------------- 159 159 StartDetectionWithDriveSelectByteInBHandStringInCX: 160 %ifdef MODULE_8BIT_IDE_ADVANCED 161 ; Autodetect port for XT-CF 160 %ifdef MODULE_8BIT_IDE 162 161 call DetectDrives_DoesIdevarsInCSBPbelongToXTCF 163 jne SHORT .S kipXTCFportDetection162 jne SHORT .ShouldNotSkipSlaveDriveDetection 164 163 165 164 ; XT-CF do not support slave drives so skip detection 166 165 test bh, FLG_DRVNHEAD_DRV 167 166 jnz SHORT NoSlaveDriveAvailable 168 169 ; XT-CF do not support slave drives so we can safely update port 170 ; for next drive (another XT-CF card on same system) 171 .DetectNextPort: 172 mov dx, [es:BOOTVARS.wNextXTCFportToScan] 173 xor dl, 40h 174 jnz SHORT .StoreNextXTCFportToScan 175 inc dh 176 cmp dh, XTCF_BASE_PORT_4 >> 8 177 ja SHORT .SkipXTCFportDetection ; XT-CF not found from any port 178 .StoreNextXTCFportToScan: 179 mov [es:BOOTVARS.wNextXTCFportToScan], dx 180 181 call AH1Eh_DetectXTCFwithBasePortInDX 182 jc SHORT .DetectNextPort ; XT-CF not found from this port 183 184 ; We now have autodetected port in DX 185 push dx 186 xchg ax, dx ; Port to print in AX 187 call DetectPrint_StartDetectWithAutodetectedBasePortInAXandIdeVarsInCSBP 188 jmp SHORT .DriveDetectionStringPrintedOnScreen 189 190 ; Print detect string for devices that do not support autodetection 191 .SkipXTCFportDetection: 192 push dx 193 %endif ; MODULE_8BIT_IDE_ADVANCED 167 .ShouldNotSkipSlaveDriveDetection: 168 %endif ; MODULE_8BIT_IDE 194 169 195 170 call DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP … … 197 172 %ifdef MODULE_HOTKEYS 198 173 call HotkeyBar_UpdateDuringDriveDetection 199 %endif200 201 %ifdef MODULE_8BIT_IDE_ADVANCED202 pop dx203 174 %endif 204 175 ; Fall to .ReadAtaInfoFromHardDisk … … 278 249 279 250 280 %ifdef MODULE_8BIT_IDE _ADVANCED251 %ifdef MODULE_8BIT_IDE 281 252 ;-------------------------------------------------------------------- 282 253 ; DetectDrives_DoesIdevarsInCSBPbelongToXTCF … … 292 263 mov al, [cs:bp+IDEVARS.bDevice] 293 264 cmp al, DEVICE_8BIT_XTCF_PIO8 294 je SHORT .DeviceIsXTCF 265 je SHORT .Done 266 cmp al, DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD 267 268 %ifdef MODULE_8BIT_IDE_ADVANCED 269 je SHORT .Done 295 270 cmp al, DEVICE_8BIT_XTCF_DMA 296 je SHORT .DeviceIsXTCF 297 cmp al, DEVICE_8BIT_XTCF_MEMMAP 298 .D eviceIsXTCF:271 %endif ; MODULE_8BIT_IDE_ADVANCED 272 273 .Done: ; return state via ZF, set from the cmp instructions 299 274 NoSlaveDriveAvailable: 300 275 ret 301 %endif ; MODULE_8BIT_IDE _ADVANCED276 %endif ; MODULE_8BIT_IDE
Note:
See TracChangeset
for help on using the changeset viewer.