Changeset 364 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE
- Timestamp:
- Mar 27, 2012, 4:21:58 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Device/IDE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeDPT.asm
r363 r364 58 58 ; Nothing 59 59 ; Corrupts registers: 60 ; AX, CX, DX60 ; AX, BX, CX 61 61 ;-------------------------------------------------------------------- 62 62 .StorePioMode: 63 call AtaID_GetMaxPioModeToAXandMinCycleTimeToDX 64 call AtaID_ConvertPioModeFromAXandMinCycleTimeFromDXtoActiveAndRecoveryTime 65 mov [di+DPT_ATA.bPioMode], al 66 mov [di+DPT_ADVANCED_ATA.wMinPioActiveTimeNs], cx 67 mov [di+DPT_ADVANCED_ATA.wMinPioRecoveryTimeNs], dx 63 call AtaID_GetMaxPioModeToAXandMinCycleTimeToCX 64 mov [di+DPT_ADVANCED_ATA.wMinPioCycleTime], cx 65 mov [di+DPT_ADVANCED_ATA.bPioMode], al 66 or [di+DPT.bFlagsHigh], ah 68 67 69 68 ;-------------------------------------------------------------------- … … 79 78 ;-------------------------------------------------------------------- 80 79 .DetectAdvancedIdeController: 81 mov dx, [cs:bp+IDEVARS.wPort] 82 mov [di+DPT_ADVANCED_ATA.wIdeBasePort], dx 83 call AdvAtaInit_DetectControllerForIdeBaseInDX 80 call AccessDPT_GetIdeBasePortToBX 81 call AdvAtaInit_DetectControllerForIdeBaseInBX 84 82 mov [di+DPT_ADVANCED_ATA.wControllerID], ax ; Store zero if none detected 85 mov [di+DPT_ADVANCED_ATA.wControllerBasePort], cx83 mov [di+DPT_ADVANCED_ATA.wControllerBasePort], dx 86 84 jnc SHORT .NoAdvancedControllerDetected 87 85 … … 90 88 call AdvAtaInit_GetControllerMaxPioModeToAL 91 89 jnc SHORT .ChangeTo32bitDevice 92 MIN_U [di+DPT_ATA.bPioMode], al 90 and BYTE [di+DPT.bFlagsHigh], ~FLGH_DPT_IORDY ; No IORDY supported if need to limit 91 MIN_U [di+DPT_ADVANCED_ATA.bPioMode], al 93 92 94 93 ; We have detected 32-bit controller so change Device Type since 95 94 ; it might have been set to 16-bit on IDEVARS 96 95 .ChangeTo32bitDevice: 97 mov BYTE [di+DPT_A TA.bDevice], DEVICE_32BIT_ATA96 mov BYTE [di+DPT_ADVANCED_ATA.bDevice], DEVICE_32BIT_ATA 98 97 99 98 .NoAdvancedControllerDetected: … … 136 135 IdeDPT_StoreDeviceTypeFromIdevarsInCSBPtoDPTinDSDI: 137 136 mov al, [cs:bp+IDEVARS.bDevice] 138 mov [di+DPT_A TA.bDevice], al137 mov [di+DPT_ADVANCED_ATA.bDevice], al 139 138 ret 139 140 140 %endif -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm
r363 r364 189 189 mov dx, [cs:bx+IDEVARS.wPort] ; Load IDE Data port address 190 190 %ifdef MODULE_ADVANCED_ATA 191 mov bl, [di+DPT_A TA.bDevice]191 mov bl, [di+DPT_ADVANCED_ATA.bDevice] 192 192 %else 193 193 mov bl, [cs:bx+IDEVARS.bDevice] ; Load device type to BX
Note:
See TracChangeset
for help on using the changeset viewer.