Changeset 480 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm


Ignore:
Timestamp:
Oct 27, 2012, 11:26:11 AM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • XT-CF DMA transfers should now work.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm

    r477 r480  
    7474    mov     [bp+IDEPACK.bDrvAndHead], al
    7575
    76     ; Normalize data buffer pointer to ES:SI
    77 %ifdef MODULE_8BIT_IDE
    78     cmp     BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_XTCF_DMA
    79     jne     SHORT .NormalizeForSmallestPossibleOffset
    80 
    81     ; DMA transfers do not need to normalize pointer
    82     ; (it will be converted to physical address in IdeDmaTransfer.asm)
     76    ; Load data buffer pointer to ES:SI
    8377    les     si, [es:si+DAP.dwMemoryAddress]
    84     jmp     SHORT GetDeviceControlByteToIdepackAndStartTransfer
    85 %endif ; MODULE_8BIT_IDE
    86 
    87 .NormalizeForSmallestPossibleOffset:
    88     mov     ax, [es:si+DAP.wOffset]
    89     mov     cx, ax
    90     eSHR_IM ax, 4                               ; Divide offset by 16
    91     add     ax, [es:si+DAP.wSegment]            ; Add segment
    92     mov     es, ax                              ; Segment normalized
    93     mov     si, cx
    94     and     si, BYTE 0Fh                        ; Offset normalized
    9578    jmp     SHORT GetDeviceControlByteToIdepackAndStartTransfer
    9679%endif ; MODULE_EBIOS
Note: See TracChangeset for help on using the changeset viewer.