Changeset 623 in xtideuniversalbios for trunk/Assembly_Library/Inc


Ignore:
Timestamp:
Jun 15, 2022, 2:48:59 PM (2 years ago)
Author:
Krister Nordvall
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/Assembly_Library/Inc/Emulate.inc

    r605 r623  
    6060    %endif
    6161%else ; XT
    62     JUMP_ALIGN      EQU     1   ; 2 is optimal for 8086 and NEC V30 CPUs but it's not worth the ROM space for most XT machines with 8088 or NEC V20 CPUs.
    63     WORD_ALIGN      EQU     2   ; The same applies here but the cost of ROM space is negligible.
     62    %ifndef USE_086 ; 8088/V20 CPUs
     63        JUMP_ALIGN      EQU     1   ; 2 is optimal for 8086 and NEC V30 CPUs but it's not worth the ROM space for most XT machines with 8088 or NEC V20 CPUs.
     64        WORD_ALIGN      EQU     2   ; The same applies here but the cost of ROM space is negligible.
     65    %else ; 8086/V30 CPUs
     66        JUMP_ALIGN      EQU     2
     67        WORD_ALIGN      EQU     2
     68    %endif
    6469%endif
    6570
Note: See TracChangeset for help on using the changeset viewer.