Changeset 400 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h


Ignore:
Timestamp:
Apr 20, 2012, 2:30:16 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Moved 8-bit device support to MODULE_8BIT_IDE.
  • JR-IDE/ISA support requires a lot less bytes.
  • AT builds now always use full operating mode.
File:
1 edited

Legend:

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

    r399 r400  
    5959    xor     ax, ax
    6060
     61%ifdef MODULE_ADVANCED_ATA
    6162    ; Clear Initialization Error flags from DPT
    62     mov     [di+DPT_ATA.bInitError], al
     63    mov     [di+DPT_ADVANCED_ATA.bInitError], al
     64%endif
    6365
    6466%ifdef MODULE_SERIAL
     
    7981    call    Device_SelectDrive
    8082
     83%ifdef MODULE_ADVANCED_ATA
    8184    mov     al, FLG_INITERROR_FAILED_TO_SELECT_DRIVE
    8285    call    .SetErrorFlagFromALwithErrorCodeInAH
     86%endif
    8387    jc      .ReturnWithErrorCodeInAH
    8488
     
    96100    call    Idepack_StoreNonExtParametersAndIssueCommandFromAL
    97101
     102%ifdef MODULE_ADVANCED_ATA
    98103    mov     al, FLG_INITERROR_FAILED_TO_INITIALIZE_CHS_PARAMETERS
    99104    call    .SetErrorFlagFromALwithErrorCodeInAH
     105%endif
    100106.SkipInitializeDeviceParameters:
    101107
     
    110116    call    AH23h_SetControllerFeatures
    111117
     118%ifdef MODULE_ADVANCED_ATA
    112119    mov     al, FLG_INITERROR_FAILED_TO_SET_WRITE_CACHE
    113120    call    .SetErrorFlagFromALwithErrorCodeInAH
     121%endif
    114122.SkipSetWriteCache:
    115123
     
    118126    call    AH11h_RecalibrateDrive
    119127
     128%ifdef MODULE_ADVANCED_ATA
    120129    mov     al, FLG_INITERROR_FAILED_TO_RECALIBRATE_DRIVE
    121130    call    .SetErrorFlagFromALwithErrorCodeInAH
     131%endif
    122132
    123133;;; InitializeBlockMode
     
    138148    jnc     SHORT .TryNextBlockSize
    139149
     150%ifdef MODULE_ADVANCED_ATA
    140151    mov     al, FLG_INITERROR_FAILED_TO_SET_BLOCK_MODE
    141152    call    .SetErrorFlagFromALwithErrorCodeInAH
     153%endif
    142154.BlockModeNotSupportedOrDisabled:
    143155.SupportedBlockSizeFound:
     
    173185    call    Idepack_StoreNonExtParametersAndIssueCommandFromAL
    174186
     187%ifdef MODULE_ADVANCED_ATA
    175188    mov     al, FLG_INITERROR_FAILED_TO_INITIALIZE_STANDBY_TIMER
    176189    call    .SetErrorFlagFromALwithErrorCodeInAH
     190%endif
    177191.NoPowerManagementSupport:
    178192%endif ; MODULE_FEATURE_SETS
    179193
    180194    ; There might have been several errors so just return one error code for them all
    181     mov     ah, [di+DPT_ATA.bInitError]
     195%ifdef MODULE_ADVANCED_ATA
     196    mov     ah, [di+DPT_ADVANCED_ATA.bInitError]
    182197    test    ah, ah  ; Clears CF
    183198    jz      SHORT .ReturnWithErrorCodeInAH
    184199    mov     ah, RET_HD_RESETFAIL
    185200    stc
     201%endif
    186202
    187203.ReturnWithErrorCodeInAH:
     
    191207
    192208
     209%ifdef MODULE_ADVANCED_ATA
    193210;--------------------------------------------------------------------
    194211; .SetErrorFlagFromALwithErrorCodeInAH
     
    211228    jbe     SHORT .IgnoreInvalidCommandError
    212229
    213     or      [di+DPT_ATA.bInitError], al
     230    or      [di+DPT_ADVANCED_ATA.bInitError], al
    214231    stc
    215232.NoErrorFlagToSet:
    216233    ret
     234
     235%endif
    217236
    218237
     
    221240    db      FEATURE_DISABLE_WRITE_CACHE     ; DISABLE_WRITE_CACHE
    222241    db      FEATURE_ENABLE_WRITE_CACHE      ; ENABLE_WRITE_CACHE
    223 
Note: See TracChangeset for help on using the changeset viewer.