Ignore:
Timestamp:
Jun 15, 2022, 2:48:59 PM (22 months ago)
Author:
krille_n_
Message:

Changes:

  • Reversed the change to IdeDPT.asm in r622 as it didn't work as intended.
  • Reordered some procedures to reduce alignment padding.
  • Added two new defines (EXTRA_LOOP_UNROLLING_SMALL and EXTRA_LOOP_UNROLLING_LARGE) that should improve transfer speeds for some hardware combinations, specifically 808x CPUs with any IDE controller using port I/O and any CPU with XT-IDE controllers.
  • Added a new define (USE_086) for use with 8086 and V30 CPUs only. Unlike the other USE_x86 defines, this define will not change the instruction set used and is therefore compatible with all CPUs. However, it will apply padding to make jump destinations WORD aligned which should improve performance on 8086/V30 CPUs but on 8088/V20 CPUs there is no benefit and, in addition to wasting ROM space, it might in fact be slower on these machines. Since the vast majority of XT class machines are using 8088/V20 CPUs this define is not used in the official XT builds - it's primarily intended for custom BIOS builds.
  • XTIDECFG: The URL to the support forum has been updated.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/RamVars.asm

    r592 r623  
    135135
    136136
    137 ;--------------------------------------------------------------------
    138 ; RamVars_GetCountOfKnownDrivesToAX
    139 ;   Parameters:
    140 ;       DS:     RAMVARS segment
    141 ;   Returns:
    142 ;       AX:     Total hard disk count
    143 ;   Corrupts registers:
    144 ;       None
    145 ;--------------------------------------------------------------------
    146 ALIGN JUMP_ALIGN
    147 RamVars_GetCountOfKnownDrivesToAX:
    148     mov     ax, [RAMVARS.wFirstDrvAndCount]
    149     add     al, ah
    150     and     ax, BYTE 7fh
    151     ret
    152 
    153 ;--------------------------------------------------------------------
    154 ; RamVars_GetIdeControllerCountToCX
    155 ;   Parameters:
    156 ;       Nothing
    157 ;   Returns:
    158 ;       CX:     Number of IDE controllers to handle
    159 ;   Corrupts registers:
    160 ;       Nothing
    161 ;--------------------------------------------------------------------
    162 ALIGN JUMP_ALIGN
    163 RamVars_GetIdeControllerCountToCX:
    164     eMOVZX  cx, [cs:ROMVARS.bIdeCnt]
    165     ret
    166 
    167 
    168137%ifdef MODULE_SERIAL_FLOPPY
    169138;--------------------------------------------------------------------
     
    184153    ret
    185154%endif
     155
     156
     157;--------------------------------------------------------------------
     158; RamVars_GetIdeControllerCountToCX
     159;   Parameters:
     160;       Nothing
     161;   Returns:
     162;       CX:     Number of IDE controllers to handle
     163;   Corrupts registers:
     164;       Nothing
     165;--------------------------------------------------------------------
     166ALIGN JUMP_ALIGN
     167RamVars_GetIdeControllerCountToCX:
     168    eMOVZX  cx, [cs:ROMVARS.bIdeCnt]
     169    ret
     170
     171
     172;--------------------------------------------------------------------
     173; RamVars_GetCountOfKnownDrivesToAX
     174;   Parameters:
     175;       DS:     RAMVARS segment
     176;   Returns:
     177;       AX:     Total hard disk count
     178;   Corrupts registers:
     179;       None
     180;--------------------------------------------------------------------
     181ALIGN JUMP_ALIGN
     182RamVars_GetCountOfKnownDrivesToAX:
     183    mov     ax, [RAMVARS.wFirstDrvAndCount]
     184    add     al, ah
     185    and     ax, BYTE 7Fh
     186    ret
Note: See TracChangeset for help on using the changeset viewer.