Changeset 505 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIO.asm


Ignore:
Timestamp:
Feb 25, 2013, 4:23:09 PM (11 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Reverted the changes to MenuEvents.inc done in r492 since they broke the F1 key function in XTIDECFG.
  • Added a tail-call optimized variant of the CALL_DISPLAY_LIBRARY macro (JMP_DISPLAY_LIBRARY).
  • Put a block size limit in AH1Eh_ChangeXTCFmodeBasedOnControlRegisterInAL. I think it's needed but if not, it's easy to remove.
  • Other optimizations and fixes.
File:
1 edited

Legend:

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

    r503 r505  
    5656    mov     al, [di+DPT_ATA.bDevice]
    5757    cmp     al, DEVICE_8BIT_XTIDE_REV2
     58    jb      SHORT .InputToALfromRegisterInDX    ; Standard IDE controllers and XTIDE rev 1
     59
     60%ifdef MODULE_8BIT_IDE_ADVANCED
    5861    je      SHORT .ReverseA0andA3fromRegisterIndexInDX
    59     jb      SHORT .InputToALfromRegisterInDX    ; Standard IDE controllers and XTIDE rev 1
    60        
    61 %ifdef MODULE_8BIT_IDE_ADVANCED
     62
    6263    cmp     al, DEVICE_8BIT_JRIDE_ISA
    6364    jne     SHORT .ShlRegisterIndexInDX         ; All XT-CF modes
     
    7172    ret
    7273%endif
    73        
     74
    7475.ReverseA0andA3fromRegisterIndexInDX:
    7576    mov     dl, [cs:bx+g_rgbSwapA0andA3fromIdeRegisterIndex]
     
    7778
    7879.ShlRegisterIndexInDX:
    79     shl     dx, 1
     80    eSHL_IM dx, 1
    8081    ; Fall to .InputToALfromRegisterInDX
    8182
     
    102103    mov     bl, [di+DPT_ATA.bDevice]
    103104    cmp     bl, DEVICE_8BIT_XTIDE_REV2
     105    jb      SHORT .OutputALtoControlBlockRegisterInDX   ; Standard IDE controllers and XTIDE rev 1
     106
     107%ifdef MODULE_8BIT_IDE_ADVANCED
    104108    je      SHORT .ReverseA0andA3fromRegisterIndexInDX
    105     jb      SHORT .OutputALtoControlBlockRegisterInDX   ; Standard IDE controllers and XTIDE rev 1
    106 
    107 %ifdef MODULE_8BIT_IDE_ADVANCED
     109
    108110    cmp     bl, DEVICE_8BIT_JRIDE_ISA
    109111    jne     SHORT .ShlRegisterIndexInDX     ; All XT-CF modes
     
    125127
    126128.ShlRegisterIndexInDX:
    127     shl     dx, 1
     129    eSHL_IM dx, 1
    128130    add     dx, BYTE XTCF_CONTROL_BLOCK_OFFSET
    129131    jmp     SHORT OutputALtoRegisterInDX
     
    152154    mov     bl, [di+DPT_ATA.bDevice]
    153155    cmp     bl, DEVICE_8BIT_XTIDE_REV2
     156    jb      SHORT OutputALtoRegisterInDX    ; Standard IDE controllers and XTIDE rev 1
     157
     158%ifdef MODULE_8BIT_IDE_ADVANCED
    154159    je      SHORT .ReverseA0andA3fromRegisterIndexInDX
    155     jb      SHORT OutputALtoRegisterInDX    ; Standard IDE controllers and XTIDE rev 1
    156 
    157 %ifdef MODULE_8BIT_IDE_ADVANCED
     160
    158161    cmp     bl, DEVICE_8BIT_JRIDE_ISA
    159162    jne     SHORT .ShlRegisterIndexInDX     ; All XT-CF modes
     
    177180
    178181.ShlRegisterIndexInDX:
    179     shl     dx, 1
     182    eSHL_IM dx, 1
    180183    ; Fall to OutputALtoRegisterInDX
    181184
Note: See TracChangeset for help on using the changeset viewer.