Changeset 445 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/makefile


Ignore:
Timestamp:
Aug 29, 2012, 12:59:23 PM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • A speed optimization to the eSHL_IM macro for 386 and higher. This change breaks emulation in the sense that the macro will fail when given a memory operand as the first parameter.
  • Memory_SumCXbytesFromESSItoAL now returns with the zero flag set/cleared according to the result.
  • Unrolled all the 8 bit READ transfer loops to do 16 bytes per iteration. Added a new macro (UNROLL_SECTORS_IN_CX_TO_OWORDS) as part of it. Size wise this is expensive but I think it should be worth the ROM space. The WRITE transfer loops were left as is since writes are rare anyway (<10% of all disk I/O IIRC).
  • Minor optimizations and fixes here and there.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/makefile

    r421 r445  
    1 ##################################################################################################
    2 # Makefile to build XTIDE Universal BIOS.                                                        #
    3 #                                                                                                #
    4 # Valid makefile targets are:                                                                    #
    5 # all       Removes existing files and builds binary files in \Build                             #
    6 # small     Builds 8 kiB binaries only (without checksum)                                        #
    7 # large     Builds 15 kiB binaries only (without checksum)                                       #
    8 # clean     Removes all files from \Build                                                        #
    9 # checksum* Builds all and then generates checksum byte to all binary files                      #
    10 # strings*  Compress src\Strings.asm to src\StringsCompressed.asm                                #
    11 #                                                                                                #
    12 # * at the end of target name means that Perl is required for the job.                           #
    13 # Build directory must be created manually if it does not exist.                                 #
    14 #                                                                                                #
    15 #                                                                                                #
    16 # Following modules can be included or excluded:                                                 #
    17 # MODULE_8BIT_IDE           Support for 8-BIT IDE cards like XTIDE                               #
    18 # MODULE_JRIDE              Support for JR-IDE/ISA                                               #
    19 # MODULE_ADVANCED_ATA       Native support for some VLB IDE controllers                          #
    20 # MODULE_BOOT_MENU          Boot Menu for selection of drive to boot from                        #
    21 # MODULE_EBIOS              Enhanced functions for accessing drives over 8.4 GB                  #
    22 # MODULE_HOTKEYS            Hotkey Bar to boot from any drive                                    #
    23 # MODULE_IRQ                IDE IRQ support                                                      #
    24 # MODULE_SERIAL             Virtual hard disks using serial port                                 #
    25 # MODULE_SERIAL_FLOPPY      Virtual floppy drives using serial port (requires MODULE_SERIAL)     #
    26 # MODULE_STRINGS_COMPRESSED Use compressed strings to save space                                 #
    27 # MODULE_FEATURE_SETS       Power Management support                                             #
    28 #                                                                                                #
    29 # Not modules but these affect the assembly:                                                     #
    30 # ELIMINATE_CGA_SNOW        Prevents CGA snowing at the cost of a few bytes                      #
    31 # RELOCATE_INT13H_STACK     Relocates INT 13h stack to top of stolen conventional memory         #
    32 # RESERVE_DIAGNOSTIC_CYLINDER Reserve one L-CHS cylinder for compatibility with old BIOSes       #
    33 # USE_186                   Use instructions supported by 80188/80186 and V20/V30 and later      #
    34 # USE_286                   Use instructions supported by 286 and later                          #
    35 # USE_386                   Use instructions supported by 386 and later                          #
    36 # USE_AT                    Use features supported on AT and later systems (not available on XT) #
    37 #                                                                                                #
    38 ##################################################################################################
     1####################################################################################################
     2# Makefile to build XTIDE Universal BIOS.                                                          #
     3#                                                                                                  #
     4# Valid makefile targets are:                                                                      #
     5# all       Removes existing files and builds binary files in \Build                               #
     6# small     Builds 8 kiB binaries only (without checksum)                                          #
     7# large     Builds 15 kiB binaries only (without checksum)                                         #
     8# clean     Removes all files from \Build                                                          #
     9# checksum* Builds all and then generates checksum byte to all binary files                        #
     10# strings*  Compress src\Strings.asm to src\StringsCompressed.asm                                  #
     11#                                                                                                  #
     12# * at the end of target name means that Perl is required for the job.                             #
     13# Build directory must be created manually if it does not exist.                                   #
     14#                                                                                                  #
     15#                                                                                                  #
     16# Following modules can be included or excluded:                                                   #
     17# MODULE_8BIT_IDE             Support for 8-BIT IDE cards like XTIDE                               #
     18# MODULE_JRIDE                Support for JR-IDE/ISA                                               #
     19# MODULE_ADVANCED_ATA         Native support for some VLB IDE controllers                          #
     20# MODULE_BOOT_MENU            Boot Menu for selection of drive to boot from                        #
     21# MODULE_EBIOS                Enhanced functions for accessing drives over 8.4 GB                  #
     22# MODULE_HOTKEYS              Hotkey Bar to boot from any drive                                    #
     23# MODULE_IRQ                  IDE IRQ support                                                      #
     24# MODULE_SERIAL               Virtual hard disks using serial port                                 #
     25# MODULE_SERIAL_FLOPPY        Virtual floppy drives using serial port (requires MODULE_SERIAL)     #
     26# MODULE_STRINGS_COMPRESSED   Use compressed strings to save space                                 #
     27# MODULE_FEATURE_SETS         Power Management support                                             #
     28#                                                                                                  #
     29# Not modules but these affect the assembly:                                                       #
     30# ELIMINATE_CGA_SNOW          Prevents CGA snowing at the cost of a few bytes                      #
     31# RELOCATE_INT13H_STACK       Relocates INT 13h stack to top of stolen conventional memory         #
     32# RESERVE_DIAGNOSTIC_CYLINDER Reserve one L-CHS cylinder for compatibility with old BIOSes         #
     33# USE_186                     Use instructions supported by 80188/80186 and V20/V30 and later      #
     34# USE_286                     Use instructions supported by 286 and later                          #
     35# USE_386                     Use instructions supported by 386 and later                          #
     36# USE_AT                      Use features supported on AT and later systems (not available on XT) #
     37#                                                                                                  #
     38####################################################################################################
    3939
    4040###########################################
Note: See TracChangeset for help on using the changeset viewer.