Ignore:
Timestamp:
May 4, 2011, 5:49:22 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Support for XTIDE mod now works.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm

    r158 r160  
    2020    or      al, FLG_DEVCONTROL_SRST | FLG_DEVCONTROL_nIEN   ; Set Reset bit
    2121    mov     dl, DEVICE_CONTROL_REGISTER_out
    22     call    Device_OutputALtoIdeControlBlockRegisterInDL
     22    call    IdeIO_OutputALtoIdeControlBlockRegisterInDL
    2323    mov     ax, HSR0_RESET_WAIT_US
    2424    call    Timer_DelayMicrosecondsFromAX
     
    2929    and     al, ~FLG_DEVCONTROL_SRST                        ; Clear reset bit
    3030    mov     dl, DEVICE_CONTROL_REGISTER_out
    31     call    Device_OutputALtoIdeControlBlockRegisterInDL
     31    call    IdeIO_OutputALtoIdeControlBlockRegisterInDL
    3232    mov     ax, HSR1_RESET_WAIT_US
    3333    call    Timer_DelayMicrosecondsFromAX
     
    5555    call    FindDPT_ForNewDriveToDSDI
    5656    eMOVZX  ax, bh
    57     cmp     BYTE [cs:bp+IDEVARS.bDevice], DEVICE_XTIDE_WITH_REVERSED_A3_AND_A0
    58     eCMOVE  ah, FLGH_DPT_REVERSED_A0_AND_A3
    5957    mov     [di+DPT.wFlags], ax
    6058    mov     [di+DPT.bIdevarsOffset], bp
    6159    mov     BYTE [di+DPT_ATA.bSetBlock], 1  ; Block = 1 sector
     60    call    IdeDPT_StoreReversedAddressLinesFlagIfNecessary
    6261
    6362    ; Wait until drive motors have reached max speed
     
    121120.DoNotSetInterruptInServiceFlag:
    122121    mov     dl, DEVICE_CONTROL_REGISTER_out
    123     call    Device_OutputALtoIdeControlBlockRegisterInDL
     122    call    IdeIO_OutputALtoIdeControlBlockRegisterInDL
    124123
    125124    ; Output Feature Number
    126125    mov     dl, FEATURES_REGISTER_out
    127126    mov     al, [bp+IDEPACK.bFeatures]
    128     call    Device_OutputALtoIdeRegisterInDL
     127    call    IdeIO_OutputALtoIdeRegisterInDL
    129128
    130129    ; Output Sector Address High (only used by LBA48)
     
    141140    mov     dl, COMMAND_REGISTER_out
    142141    mov     al, [bp+IDEPACK.bCommand]
    143     call    Device_OutputALtoIdeRegisterInDL
     142    call    IdeIO_OutputALtoIdeRegisterInDL
    144143
    145144    ; Wait until command completed
     
    184183    mov     dl, DRIVE_AND_HEAD_SELECT_REGISTER
    185184    mov     al, [bp+IDEPACK.bDrvAndHead]
    186     call    Device_OutputALtoIdeRegisterInDL
     185    call    IdeIO_OutputALtoIdeRegisterInDL
    187186    mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRDY, FLG_STATUS_DRDY)
    188187    cmp     BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE
     
    207206OutputSectorCountAndAddress:
    208207    mov     dl, SECTOR_COUNT_REGISTER
    209     call    Device_OutputALtoIdeRegisterInDL
     208    call    IdeIO_OutputALtoIdeRegisterInDL
    210209
    211210    mov     al, ah
    212211    mov     dl, LBA_LOW_REGISTER
    213     call    Device_OutputALtoIdeRegisterInDL
     212    call    IdeIO_OutputALtoIdeRegisterInDL
    214213
    215214    mov     al, cl
    216215    mov     dl, LBA_MIDDLE_REGISTER
    217     call    Device_OutputALtoIdeRegisterInDL
     216    call    IdeIO_OutputALtoIdeRegisterInDL
    218217
    219218    mov     al, ch
    220219    mov     dl, LBA_HIGH_REGISTER
    221     jmp     Device_OutputALtoIdeRegisterInDL
     220    jmp     IdeIO_OutputALtoIdeRegisterInDL
Note: See TracChangeset for help on using the changeset viewer.