Changeset 593 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/AdvAtaInit.asm
- Timestamp:
- Jun 30, 2018, 8:27:04 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/AdvAtaInit.asm
r592 r593 33 33 ; Cleared if no controller 34 34 ; Corrupts registers: 35 ; BX 35 ; BX, CX 36 36 ;-------------------------------------------------------------------- 37 37 AdvAtaInit_DetectControllerForIdeBaseInBX: 38 ; Detect if system has PCI bus. If it does, we can skip VLB detection. This is 39 ; good thing since detecting Vision QD6850 is dangerous since Intel PIIX4 south bridge 40 ; mirrors Interrupt Controller registers from Axh to Bxh. This can lead to faulty 41 ; detection of QD6850 that will eventually crash the system when ports are written. 42 43 ; We should save the 32-bit registers but we don't since system BIOS has stored 44 ; them already and we don't use the 32-bit registers ourselves anywhere at the moment. 45 push bx 46 push di 47 xor edi, edi ; Some BIOSes require this to be set to zero 48 mov ax, PCI_INSTALLATION_CHECK 49 int BIOS_TIME_PCI_PNP_1Ah 50 pop di 51 pop bx 52 test ah, ah 53 jz SHORT .ThisSystemHasPCIbus 54 55 ; Detect VLB controllers 38 56 call Vision_DetectAndReturnIDinAXandPortInDXifControllerPresent 39 57 jnz SHORT .NoVisionControllerFound … … 51 69 52 70 .NoAdvancedControllerForPortBX: 71 .ThisSystemHasPCIbus: 53 72 xor ax, ax ; Clear ID in AX and CF 54 73 ret
Note:
See TracChangeset
for help on using the changeset viewer.