Changeset 623 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/makefile


Ignore:
Timestamp:
Jun 15, 2022, 2:48:59 PM (3 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/XTIDE_Universal_BIOS/makefile

    r622 r623  
    3131# MODULE_POWER_MANAGEMENT     Power Management support                                             #
    3232# MODULE_WIN9X_CMOS_HACK      Hack for Windows 9x compatibility                                    #
    33 # MODULE_MFM_COMPATIBILITY    Restores BDA drive count for MFM controllers that expect to be the   #
    34 #                             only hard drive controller on the system                             #
     33# MODULE_MFM_COMPATIBILITY    Restores BDA drive count for MFM/SCSI controllers that expect to be  #
     34#                             the only hard drive controller in the system                         #
    3535#                                                                                                  #
    3636# Not modules but these affect the assembly:                                                       #
     
    3939# NO_ATAID_VALIDATION ***     Excludes code that tries to ensure proper communication with drives  #
    4040# NO_ATAID_CORRECTION         Excludes code that corrects illegal CHS values from some CF cards    #
     41# USE_086                     Applies WORD alignment padding for use with 8086/V30 CPUs only       #
    4142# USE_186                     Use instructions supported by 80188/80186 and V20/V30 and later      #
    4243# USE_286                     Use instructions supported by 286 and later (defines USE_UNDOC_INTEL)#
    4344# USE_386                     Use instructions supported by 386 and later (defines USE_286)        #
    4445# USE_AT                      Use features supported on AT and later systems (not available on XT) #
    45 # USE_UNDOC_INTEL             Optimizations for Intel CPU:s - do NOT use on NEC V20/V30/Sony CPU:s #
    46 # USE_NEC_V                   Optimizations for use with NEC V20/V30 processors only               #
     46# USE_UNDOC_INTEL             Optimizations for Intel CPUs - do NOT use on NEC V20/V30/Sony CPUs  #
     47# USE_NEC_V                   Optimizations for use with NEC V20/V30 CPUs only                     #
    4748# CLD_NEEDED                  Only needed for compatibility with buggy software/BIOSes             #
     49# EXTRA_LOOP_UNROLLING_SMALL  Improves transfer speed on some CPU + IDE controller combinations    #
     50# EXTRA_LOOP_UNROLLING_LARGE  Same as above but faster and uses more ROM space                     #
    4851#                                                                                                  #
    4952# ** AT Builds only (when USE_AT is defined)                                                       #
     
    108111# Assembler preprocessor defines #
    109112##################################
    110 DEFINES_COMMON = MODULE_STRINGS_COMPRESSED MODULE_HOTKEYS MODULE_8BIT_IDE MODULE_EBIOS MODULE_SERIAL MODULE_SERIAL_FLOPPY MODULE_POWER_MANAGEMENT NO_ATAID_VALIDATION CLD_NEEDED
    111 DEFINES_COMMON_LARGE = MODULE_BOOT_MENU MODULE_8BIT_IDE_ADVANCED MODULE_COMPATIBLE_TABLES
     113DEFINES_COMMON = MODULE_STRINGS_COMPRESSED MODULE_HOTKEYS MODULE_8BIT_IDE MODULE_EBIOS MODULE_SERIAL MODULE_SERIAL_FLOPPY MODULE_POWER_MANAGEMENT NO_ATAID_VALIDATION CLD_NEEDED EXTRA_LOOP_UNROLLING_SMALL
     114DEFINES_COMMON_LARGE = MODULE_BOOT_MENU MODULE_8BIT_IDE_ADVANCED MODULE_COMPATIBLE_TABLES EXTRA_LOOP_UNROLLING_LARGE
    112115
    113116DEFINES_XT = $(DEFINES_COMMON) ELIMINATE_CGA_SNOW MODULE_8BIT_IDE_ADVANCED
Note: See TracChangeset for help on using the changeset viewer.