Changeset 412 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE/JrIdeTransfer.asm
- Timestamp:
- Apr 28, 2012, 4:08:03 PM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/JrIdeTransfer.asm
r400 r412 3 3 4 4 ; 5 ; XTIDE Universal BIOS and Associated Tools 5 ; XTIDE Universal BIOS and Associated Tools 6 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team. 7 7 ; … … 10 10 ; the Free Software Foundation; either version 2 of the License, or 11 11 ; (at your option) any later version. 12 ; 12 ; 13 13 ; This program is distributed in the hope that it will be useful, 14 14 ; but WITHOUT ANY WARRANTY; without even the implied warranty of 15 15 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 ; GNU General Public License for more details. 16 ; GNU General Public License for more details. 17 17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 ; 18 ; 19 19 20 20 ; Structure containing variables for PIO transfer functions. … … 93 93 94 94 mov cx, [bp+MEMPIOVARS.wSectorsInBlock] 95 96 ALIGN JUMP_ALIGN97 .ReadNextBlockFromDrive:98 95 cmp [bp+MEMPIOVARS.bSectorsLeft], cl 99 96 jbe SHORT .ReadLastBlockFromDrive 97 98 ALIGN JUMP_ALIGN 99 .ReadNextBlockFromDrive: 100 100 call ReadSingleBlockFromSectorAccessWindowInDSSItoESDI 101 101 call WaitUntilReadyToTransferNextBlock … … 104 104 ; Increment number of successfully read sectors 105 105 mov cx, [bp+MEMPIOVARS.wSectorsInBlock] 106 add [bp+MEMPIOVARS.bSectorsDone], cl 106 107 sub [bp+MEMPIOVARS.bSectorsLeft], cl 107 add [bp+MEMPIOVARS.bSectorsDone], cl 108 jmp SHORT .ReadNextBlockFromDrive 108 ja SHORT .ReadNextBlockFromDrive 109 109 110 110 ALIGN JUMP_ALIGN … … 123 123 lds di, [bp+MEMPIOVARS.fpDPT] ; DPT now in DS:DI 124 124 %ifdef USE_386 125 movzx cx, BYTE[bp+MEMPIOVARS.bSectorsDone]125 movzx cx, [bp+MEMPIOVARS.bSectorsDone] 126 126 %else 127 127 mov ch, 0 … … 158 158 159 159 mov cx, [bp+MEMPIOVARS.wSectorsInBlock] 160 161 ALIGN JUMP_ALIGN162 .WriteNextBlockToDrive:163 160 cmp [bp+MEMPIOVARS.bSectorsLeft], cl 164 161 jbe SHORT .WriteLastBlockToDrive 162 163 ALIGN JUMP_ALIGN 164 .WriteNextBlockToDrive: 165 165 call WriteSingleBlockFromDSSIToSectorAccessWindowInESDI 166 166 call WaitUntilReadyToTransferNextBlock … … 169 169 ; Increment number of successfully written WORDs 170 170 mov cx, [bp+MEMPIOVARS.wSectorsInBlock] 171 add [bp+MEMPIOVARS.bSectorsDone], cl 171 172 sub [bp+MEMPIOVARS.bSectorsLeft], cl 172 add [bp+MEMPIOVARS.bSectorsDone], cl 173 jmp SHORT .WriteNextBlockToDrive 173 ja SHORT .WriteNextBlockToDrive 174 174 175 175 ALIGN JUMP_ALIGN … … 255 255 256 256 %if JRIDE_SECTOR_ACCESS_WINDOW_SIZE <> 512 257 %error "JRIDE_SECTOR_ACCESS_WINDOW_SIZE is no longer equal to 512. MemIdeTransfer.asm needs changes."257 %error "JRIDE_SECTOR_ACCESS_WINDOW_SIZE is no longer equal to 512. JrIdeTransfer.asm needs changes." 258 258 %endif
Note:
See TracChangeset
for help on using the changeset viewer.