Changeset 609 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src
- Timestamp:
- May 21, 2021, 11:36:47 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/IdeAutodetect.asm
r592 r609 99 99 ;-------------------------------------------------------------------- 100 100 DetectPortMappedDeviceFromPortDX: 101 mov si, dx 102 mov bx, STATUS_REGISTER_in | (ALTERNATE_STATUS_REGISTER_in << 8) 103 ; *** Try to detect AC-1075 / AC-1070 controllers *** 104 cmp dh, 25h 105 jne SHORT .NotArcoComputerProducts 106 add si, BYTE 8 ; Add control block offset 107 call DetectIdeDeviceFromPortsDXandSIwithOffsetsInBLandBH 108 mov al, DEVICE_16BIT_ATA 109 ret 110 .NotArcoComputerProducts: 101 111 ; *** Try to detect Standard 16- and 32-bit IDE Devices *** 102 112 mov al, DEVICE_16BIT_ATA ; Assume 16-bit ISA slot for AT builds … … 105 115 106 116 ; Start with standard Control Block base port used by Primary and Secondary IDE 107 mov si, dx108 117 add si, STANDARD_CONTROL_BLOCK_OFFSET 109 mov bx, STATUS_REGISTER_in | (ALTERNATE_STATUS_REGISTER_in << 8)110 118 .RedetectTertiaryOrQuaternaryWithDifferentControlBlockAddress: 111 119 push ax ; Store device type … … 120 128 call ChangeControlBlockAddressInSI 121 129 jz SHORT .RedetectTertiaryOrQuaternaryWithDifferentControlBlockAddress 122 123 130 124 131 ; Detect 8-bit devices only if MODULE_8BIT_IDE is available … … 258 265 ; Fall to .TrySecondAlternative 259 266 .TrySecondAlternative: 260 sub si, BYTE 8h ; 368h to 360h, 3E8h to 3E0h 261 cmp sp, sp ; Set ZF 267 lea si, [si-8] ; 368h to 360h, 3E8h to 3E0h 262 268 .Return: 263 269 ret … … 284 290 .CompareNextIdeBasePort: 285 291 cmp [cs:si], dx 286 lea si, [si+2] ; Increment SI and preserve FLAGS292 lea si, [si+2] ; Increment SI and preserve FLAGS 287 293 jne SHORT .CompareNextIdeBasePort 288 294 … … 320 326 dw 3C0h 321 327 dw 3E0h 328 ; Arco Computer Products AC-1075 / AC-1070 (16-bit MCA IDE adapters with Control Block at +8 and no IRQ) 329 dw 2510h 330 dw 2520h 322 331 ; Memory Segment Addresses 323 332 dw 0C000h ; JR-IDE/ISA
Note:
See TracChangeset
for help on using the changeset viewer.