Changeset 445 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE
- Timestamp:
- Aug 29, 2012, 12:59:23 PM (12 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Device/IDE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r444 r445 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 16 ; GNU General Public License for more details. 17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 ; 17 ; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 18 ; 19 19 20 20 ; Section containing code … … 79 79 test bh, FLG_DRVNHEAD_DRV ; Wait already done for Master 80 80 jnz SHORT .SkipLongWaitSinceDriveIsNotPrimaryMaster 81 call AHDh_WaitUn ilDriveMotorHasReachedFullSpeed81 call AHDh_WaitUntilDriveMotorHasReachedFullSpeed 82 82 .SkipLongWaitSinceDriveIsNotPrimaryMaster: 83 83 -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm
r444 r445 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. … … 119 119 jc SHORT ReturnWithTransferErrorInAH 120 120 121 ; All sectors succes fully transferred121 ; All sectors successfully transferred 122 122 add cx, [bp+PIOVARS.bSectorsDone] ; Never sets CF 123 123 ret … … 244 244 ALIGN JUMP_ALIGN 245 245 ReadBlockFromXtideRev1: 246 UNROLL_SECTORS_IN_CX_TO_ QWORDS246 UNROLL_SECTORS_IN_CX_TO_OWORDS 247 247 mov bl, 8 ; Bit mask for toggling data low/high reg 248 248 ALIGN JUMP_ALIGN 249 249 .InswLoop: 250 %rep 8 ; WORDs 250 251 XTIDE_INSW 251 XTIDE_INSW 252 XTIDE_INSW 253 XTIDE_INSW 252 %endrep 254 253 loop .InswLoop 255 254 ret … … 259 258 ALIGN JUMP_ALIGN 260 259 ReadBlockFromXtideRev2: 261 UNROLL_SECTORS_IN_CX_TO_QWORDS 262 ALIGN JUMP_ALIGN 263 .ReadNextQword: 264 in ax, dx ; Read 1st WORD 265 stosw ; Store 1st WORD to [ES:DI] 266 in ax, dx 267 stosw ; 2nd 268 in ax, dx 269 stosw ; 3rd 270 in ax, dx 271 stosw ; 4th 272 loop .ReadNextQword 260 UNROLL_SECTORS_IN_CX_TO_OWORDS 261 ALIGN JUMP_ALIGN 262 .ReadNextOword: 263 %rep 8 ; WORDs 264 in ax, dx ; Read WORD 265 stosw ; Store WORD to [ES:DI] 266 %endrep 267 loop .ReadNextOword 273 268 ret 274 269 %endif … … 283 278 284 279 %else ; If 8088/8086 285 280 ALIGN JUMP_ALIGN 286 281 ReadBlockFrom8bitDataPort: 287 UNROLL_SECTORS_IN_CX_TO_DWORDS 288 ALIGN JUMP_ALIGN 289 .ReadNextDword: 290 in al, dx ; Read 1st BYTE 291 stosb ; Store 1st BYTE to [ES:DI] 292 in al, dx 293 stosb 294 295 in al, dx 296 stosb 297 in al, dx 298 stosb 299 loop .ReadNextDword 282 UNROLL_SECTORS_IN_CX_TO_OWORDS 283 ALIGN JUMP_ALIGN 284 .ReadNextOword: 285 %rep 16 ; BYTEs 286 in al, dx ; Read BYTE 287 stosb ; Store BYTE to [ES:DI] 288 %endrep 289 loop .ReadNextOword 300 290 ret 301 291 %endif … … 349 339 ALIGN JUMP_ALIGN 350 340 .OutswLoop: 341 %rep 4 ; WORDs 351 342 XTIDE_OUTSW 352 XTIDE_OUTSW 353 XTIDE_OUTSW 354 XTIDE_OUTSW 343 %endrep 355 344 loop .OutswLoop 356 345 pop ds … … 366 355 ALIGN JUMP_ALIGN 367 356 .WriteNextQword: 357 %rep 4 ; WORDs 368 358 XTIDE_MOD_OUTSW 369 XTIDE_MOD_OUTSW 370 XTIDE_MOD_OUTSW 371 XTIDE_MOD_OUTSW 359 %endrep 372 360 loop .WriteNextQword 373 361 pop ds … … 392 380 ALIGN JUMP_ALIGN 393 381 .WriteNextDword: 394 lodsb ; Load 1st BYTE from [DS:SI] 395 out dx, al ; Write 1st BYTE 396 lodsb 397 out dx, al 398 399 lodsb 400 out dx, al 401 lodsb 402 out dx, al 382 %rep 4 ; BYTEs 383 lodsb ; Load BYTE from [DS:SI] 384 out dx, al ; Write BYTE 385 %endrep 403 386 loop .WriteNextDword 404 387 pop ds -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/JrIdeTransfer.asm
r419 r445 121 121 jc SHORT ReturnWithMemoryIOtransferErrorInAH 122 122 123 ; All rectors succesfully transferred123 ; All sectors successfully transferred 124 124 add cx, [bp+PIOVARS.bSectorsDone] ; Never sets CF 125 125 ret
Note:
See TracChangeset
for help on using the changeset viewer.