Ignore:
Timestamp:
Apr 28, 2012, 4:08:03 PM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Minor optimizations to the JR-IDE/ISA code.
  • Some cleanups (the MemoryMappedIDE folder and Bootmenu_SwapDrives.txt were deleted).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/JrIdeTransfer.asm

    r400 r412  
    33
    44;
    5 ; XTIDE Universal BIOS and Associated Tools 
     5; XTIDE Universal BIOS and Associated Tools
    66; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
    77;
     
    1010; the Free Software Foundation; either version 2 of the License, or
    1111; (at your option) any later version.
    12 ; 
     12;
    1313; This program is distributed in the hope that it will be useful,
    1414; but WITHOUT ANY WARRANTY; without even the implied warranty of
    1515; 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.
    1717; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    18 ;               
     18;
    1919
    2020; Structure containing variables for PIO transfer functions.
     
    9393
    9494    mov     cx, [bp+MEMPIOVARS.wSectorsInBlock]
    95 
    96 ALIGN JUMP_ALIGN
    97 .ReadNextBlockFromDrive:
    9895    cmp     [bp+MEMPIOVARS.bSectorsLeft], cl
    9996    jbe     SHORT .ReadLastBlockFromDrive
     97
     98ALIGN JUMP_ALIGN
     99.ReadNextBlockFromDrive:
    100100    call    ReadSingleBlockFromSectorAccessWindowInDSSItoESDI
    101101    call    WaitUntilReadyToTransferNextBlock
     
    104104    ; Increment number of successfully read sectors
    105105    mov     cx, [bp+MEMPIOVARS.wSectorsInBlock]
     106    add     [bp+MEMPIOVARS.bSectorsDone], cl
    106107    sub     [bp+MEMPIOVARS.bSectorsLeft], cl
    107     add     [bp+MEMPIOVARS.bSectorsDone], cl
    108     jmp     SHORT .ReadNextBlockFromDrive
     108    ja      SHORT .ReadNextBlockFromDrive
    109109
    110110ALIGN JUMP_ALIGN
     
    123123    lds     di, [bp+MEMPIOVARS.fpDPT]           ; DPT now in DS:DI
    124124%ifdef USE_386
    125     movzx   cx, BYTE [bp+MEMPIOVARS.bSectorsDone]
     125    movzx   cx, [bp+MEMPIOVARS.bSectorsDone]
    126126%else
    127127    mov     ch, 0
     
    158158
    159159    mov     cx, [bp+MEMPIOVARS.wSectorsInBlock]
    160 
    161 ALIGN JUMP_ALIGN
    162 .WriteNextBlockToDrive:
    163160    cmp     [bp+MEMPIOVARS.bSectorsLeft], cl
    164161    jbe     SHORT .WriteLastBlockToDrive
     162
     163ALIGN JUMP_ALIGN
     164.WriteNextBlockToDrive:
    165165    call    WriteSingleBlockFromDSSIToSectorAccessWindowInESDI
    166166    call    WaitUntilReadyToTransferNextBlock
     
    169169    ; Increment number of successfully written WORDs
    170170    mov     cx, [bp+MEMPIOVARS.wSectorsInBlock]
     171    add     [bp+MEMPIOVARS.bSectorsDone], cl
    171172    sub     [bp+MEMPIOVARS.bSectorsLeft], cl
    172     add     [bp+MEMPIOVARS.bSectorsDone], cl
    173     jmp     SHORT .WriteNextBlockToDrive
     173    ja      SHORT .WriteNextBlockToDrive
    174174
    175175ALIGN JUMP_ALIGN
     
    255255
    256256%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."
    258258%endif
Note: See TracChangeset for help on using the changeset viewer.