Ignore:
Timestamp:
Oct 10, 2012, 6:22:23 PM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Large changes to prepare full XT-CF support (DMA not yet implemented and memory mapped transfers are not working).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm

    r445 r473  
    104104    jmp     .ReturnWithErrorCodeInAH
    105105.ContinueInitializationSinceDriveSelectedSuccesfully:
     106
     107
     108;;; Set XT-CF mode
     109%ifdef MODULE_8BIT_IDE
     110    call    AccessDPT_IsThisDeviceXTCF
     111    jne     SHORT .DoNotSetXTCFmode
     112
     113    call    AccessDPT_GetIdevarsToCSBX
     114    mov     al, [cs:bx+IDEVARS.bXTCFcontrolRegister]
     115    call    AH1Eh_ChangeXTCFmodeBasedOnControlRegisterInAL
     116    STORE_ERROR_FLAG_TO_DPT     FLG_INITERROR_FAILED_TO_SET_XTCF_MODE
     117.DoNotSetXTCFmode:
     118%endif
    106119
    107120
     
    125138    STORE_ERROR_FLAG_TO_DPT     FLG_INITERROR_FAILED_TO_INITIALIZE_CHS_PARAMETERS
    126139.SkipInitializeDeviceParameters:
    127 
    128 
    129 %ifdef MODULE_8BIT_IDE
    130 ;;; Enable 8-bit PIO Transfer Mode for Lo-tech XT-CF (CF and Microdrives only)
    131     call    AH9h_Enable8bitPioModeForXTCF
    132     STORE_ERROR_FLAG_TO_DPT     FLG_INITERROR_FAILED_TO_ENABLE_8BIT_PIO_MODE
    133 %endif
    134140
    135141
     
    244250;       Nothing
    245251;--------------------------------------------------------------------
    246 DoNotEnable8bitMode:
    247252IgnoreInvalidCommandError:
    248253    xor     ah, ah  ; Clears CF
     
    256261.NoErrorFlagToSet:
    257262    ret
    258 
    259 
    260 %ifdef MODULE_8BIT_IDE
    261 ;--------------------------------------------------------------------
    262 ; AH9h_Enable8bitPioModeForXTCF
    263 ;   Parameters:
    264 ;       DS:DI:  Ptr to DPT
    265 ;       SS:BP:  Ptr to IDEPACK
    266 ;   Returns:
    267 ;       AH:     Int 13h return status
    268 ;       CF:     0 if successful, 1 if error
    269 ;   Corrupts registers:
    270 ;       AL, BX, CX, DX, SI
    271 ;--------------------------------------------------------------------
    272 AH9h_Enable8bitPioModeForXTCF:
    273     eMOVZX  bx, [di+DPT.bIdevarsOffset]
    274     cmp     BYTE [cs:bx+IDEVARS.bDevice], DEVICE_8BIT_XTCF
    275     jne     SHORT DoNotEnable8bitMode
    276 
    277     mov     si, FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE
    278     jmp     AH23h_SetControllerFeatures
    279 %endif ; MODULE_8BIT_IDE
Note: See TracChangeset for help on using the changeset viewer.