Ignore:
Timestamp:
Apr 20, 2012, 2:30:16 PM (12 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/Device/IDE/IdeTransfer.asm

    r376 r400  
    208208    mov     bl, [di+DPT.bIdevarsOffset]         ; CS:BX now points to IDEVARS
    209209    mov     dx, [cs:bx+IDEVARS.wPort]           ; Load IDE Data port address
    210 %ifdef MODULE_ADVANCED_ATA
    211     mov     bl, [di+DPT_ADVANCED_ATA.bDevice]
    212 %else
    213     mov     bl, [cs:bx+IDEVARS.bDevice]         ; Load device type to BX
    214 %endif
     210    mov     bl, [di+DPT_ATA.bDevice]
    215211    add     bx, ax
    216212
     
    235231;       AX, BX, CX
    236232;--------------------------------------------------------------------
     233%ifdef MODULE_8BIT_IDE
     234
    237235ALIGN JUMP_ALIGN
    238236ReadBlockFromXtideRev1:
     
    267265%endif
    268266
     267%endif  ; MODULE_8BIT_IDE
     268
    269269;--------------------------------------------------------------------
    270270ALIGN JUMP_ALIGN
     
    302302;       AX, CX
    303303;--------------------------------------------------------------------
     304%ifdef MODULE_8BIT_IDE
     305
    304306ALIGN JUMP_ALIGN
    305307WriteBlockToXtideRev1:
     
    361363%endif
    362364
     365%endif  ; MODULE_8BIT_IDE
     366
    363367;--------------------------------------------------------------------
    364368ALIGN JUMP_ALIGN
     
    387391ALIGN WORD_ALIGN
    388392g_rgfnPioRead:
    389     dw      ReadBlockFromXtideRev1      ; DEVICE_XTIDE_REV1
    390 %ifdef USE_186
    391     dw      ReadBlockFrom16bitDataPort  ; DEVICE_XTIDE_REV2
    392     dw      ReadBlockFrom16bitDataPort  ; DEVICE_FAST_XTIDE
     393%ifdef MODULE_8BIT_IDE
     394        dw      ReadBlockFromXtideRev1      ; DEVICE_XTIDE_REV1
     395    %ifdef USE_186
     396        dw      ReadBlockFrom16bitDataPort  ; DEVICE_XTIDE_REV2
     397        dw      ReadBlockFrom16bitDataPort  ; DEVICE_FAST_XTIDE
     398    %else
     399        dw      ReadBlockFromXtideRev2      ; DEVICE_XTIDE_REV2
     400        dw      ReadBlockFromXtideRev2      ; DEVICE_FAST_XTIDE
     401    %endif
     402
    393403%else
    394     dw      ReadBlockFromXtideRev2      ; DEVICE_XTIDE_REV2
    395     dw      ReadBlockFromXtideRev2      ; DEVICE_FAST_XTIDE
    396 %endif
    397     dw      ReadBlockFrom16bitDataPort  ; DEVICE_16BIT_ATA
    398     dw      ReadBlockFrom32bitDataPort  ; DEVICE_32BIT_ATA
     404        times   COUNT_OF_8BIT_IDE_DEVICES   dw  0
     405%endif
     406        dw      ReadBlockFrom16bitDataPort  ; DEVICE_16BIT_ATA
     407        dw      ReadBlockFrom32bitDataPort  ; DEVICE_32BIT_ATA
     408
    399409
    400410g_rgfnPioWrite:
    401     dw      WriteBlockToXtideRev1       ; DEVICE_XTIDE_REV1
    402     dw      WriteBlockToXtideRev2       ; DEVICE_XTIDE_REV2
    403 %ifdef USE_186
    404     dw      WriteBlockTo16bitDataPort   ; DEVICE_FAST_XTIDE
     411%ifdef MODULE_8BIT_IDE
     412        dw      WriteBlockToXtideRev1       ; DEVICE_XTIDE_REV1
     413        dw      WriteBlockToXtideRev2       ; DEVICE_XTIDE_REV2
     414    %ifdef USE_186
     415        dw      WriteBlockTo16bitDataPort   ; DEVICE_FAST_XTIDE
     416    %else
     417        dw      WriteBlockToFastXtide       ; DEVICE_FAST_XTIDE
     418    %endif
     419
    405420%else
    406     dw      WriteBlockToFastXtide       ; DEVICE_FAST_XTIDE
    407 %endif
    408     dw      WriteBlockTo16bitDataPort   ; DEVICE_16BIT_ATA
    409     dw      WriteBlockTo32bitDataPort   ; DEVICE_32BIT_ATA
     421        times   COUNT_OF_8BIT_IDE_DEVICES   dw  0
     422%endif
     423        dw      WriteBlockTo16bitDataPort   ; DEVICE_16BIT_ATA
     424        dw      WriteBlockTo32bitDataPort   ; DEVICE_32BIT_ATA
Note: See TracChangeset for help on using the changeset viewer.