Changeset 480 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools
- Timestamp:
- Oct 27, 2012, 11:26:11 AM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Prepare.asm
r477 r480 95 95 Prepare_BufferToESSIforOldInt13hTransfer: 96 96 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 115 98 ; Fall to Prepare_ByValidatingSectorsInALforOldInt13h 116 117 99 118 100 ;---------------------------------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.