Changeset 474 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools
- Timestamp:
- Oct 11, 2012, 5:30:15 PM (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
r445 r474 82 82 ; Parameters: 83 83 ; AL: Number of sectors to transfer 84 ; DS:DI: Ptr to DPT (in RAMVARS segment) 84 85 ; SS:BP: Ptr to IDEPACK 85 86 ; Parameters on INTPACK: … … 93 94 ALIGN JUMP_ALIGN 94 95 Prepare_BufferToESSIforOldInt13hTransfer: 95 ; Normalize buffer pointer 96 cmp BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_XTCF_DMA 97 jne SHORT .NormalizeForSmallestPossibleOffset 98 99 ; Normalize segment for physical 64k pages 100 xor bx, bx 101 mov si, [bp+IDEPACK.intpack+INTPACK.es] ; Load segment 102 %rep 4 103 shl si, 1 104 rcl bx, 1 105 %endrep 106 add si, [bp+IDEPACK.intpack+INTPACK.bx] 107 adc bx, BYTE 0 108 mov es, bx ; ES:SI now has physical address 109 jmp SHORT Prepare_ByValidatingSectorsInALforOldInt13h 110 111 ; Normalize segment for 16b pages 112 .NormalizeForSmallestPossibleOffset: 96 113 mov bx, [bp+IDEPACK.intpack+INTPACK.bx] ; Load offset 97 114 mov si, bx
Note:
See TracChangeset
for help on using the changeset viewer.