Ignore:
Timestamp:
Oct 27, 2012, 11:26:11 AM (12 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/Handlers/Int13h/Tools/Prepare.asm

    r477 r480  
    9595Prepare_BufferToESSIforOldInt13hTransfer:
    9696    mov     si, [bp+IDEPACK.intpack+INTPACK.bx] ; Load offset
    97 
    98 %ifdef MODULE_8BIT_IDE
    99     cmp     BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_XTCF_DMA
    100     jne     SHORT .NormalizeForSmallestPossibleOffset
    101 
    102     ; DMA transfers do not need to normalize pointer
    103     ; (it will be converted to physical address in IdeDmaTransfer.asm)
    104     mov     es, [bp+IDEPACK.intpack+INTPACK.es]
    105     jmp     SHORT Prepare_ByValidatingSectorsInALforOldInt13h
    106 %endif ; MODULE_8BIT_IDE
    107 
    108     ; Normalize segment for 16b pages
    109 .NormalizeForSmallestPossibleOffset:
    110     mov     bx, si
    111     eSHR_IM bx, 4                               ; Divide offset by 16
    112     add     bx, [bp+IDEPACK.intpack+INTPACK.es]
    113     mov     es, bx                              ; Segment normalized
    114     and     si, BYTE 0Fh                        ; Offset normalized
     97    mov     es, [bp+IDEPACK.intpack+INTPACK.es] ; Load segment
    11598    ; Fall to Prepare_ByValidatingSectorsInALforOldInt13h
    116 
    11799
    118100;---------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.