Changeset 480 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm
- Timestamp:
- Oct 27, 2012, 11:26:11 AM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm
r477 r480 74 74 mov [bp+IDEPACK.bDrvAndHead], al 75 75 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 83 77 les si, [es:si+DAP.dwMemoryAddress] 84 jmp SHORT GetDeviceControlByteToIdepackAndStartTransfer85 %endif ; MODULE_8BIT_IDE86 87 .NormalizeForSmallestPossibleOffset:88 mov ax, [es:si+DAP.wOffset]89 mov cx, ax90 eSHR_IM ax, 4 ; Divide offset by 1691 add ax, [es:si+DAP.wSegment] ; Add segment92 mov es, ax ; Segment normalized93 mov si, cx94 and si, BYTE 0Fh ; Offset normalized95 78 jmp SHORT GetDeviceControlByteToIdepackAndStartTransfer 96 79 %endif ; MODULE_EBIOS
Note:
See TracChangeset
for help on using the changeset viewer.