- Timestamp:
- Apr 28, 2012, 4:08:03 PM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk
- Files:
-
- 2 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIO.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 ; Section containing code … … 42 42 jmp SHORT OutputToJrIdeRegister 43 43 .OutputToIoMappedIde: 44 %endif 45 %endif 44 %endif ; MODULE_JRIDE 45 %endif ; MODULE_8BIT_IDE 46 46 47 47 mov bl, IDEVARS.wPortCtrl … … 68 68 jnz SHORT OutputALtoIOmappedIdeRegisterInDL 69 69 70 %if JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET & 0FFh = 0 71 mov dh, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET >> 8 72 %else 70 73 add dx, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET 74 %endif 71 75 OutputToJrIdeRegister: 72 76 mov bx, dx … … 75 79 ALIGN JUMP_ALIGN 76 80 OutputALtoIOmappedIdeRegisterInDL: 77 %endif 78 %endif 81 %endif ; MODULE_JRIDE 82 %endif ; MODULE_8BIT_IDE 79 83 80 84 mov bl, IDEVARS.wPort … … 116 120 jnz SHORT .InputToALfromIOmappedIdeRegisterInDL 117 121 122 %if JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET & 0FFh = 0 123 mov dh, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET >> 8 124 %else 118 125 add dx, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET 126 %endif 119 127 mov bx, dx 120 128 mov al, [cs:bx] 121 129 ret 122 130 .InputToALfromIOmappedIdeRegisterInDL: 123 %endif 124 %endif 131 %endif ; MODULE_JRIDE 132 %endif ; MODULE_8BIT_IDE 125 133 mov bl, IDEVARS.wPort 126 134 call GetIdePortToDX … … 172 180 %else ; Only standard IDE devices 173 181 xor bh, bh 182 add bl, [di+DPT.bIdevarsOffset] ; CS:BX now points port address 174 183 xor dh, dh 175 add bl, [di+DPT.bIdevarsOffset] ; CS:BX now points port address 176 add dx, [cs:bx] ; DX now has port address 184 add dx, [cs:bx] ; DX now has port address 177 185 ret 178 186 %endif -
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.