Changeset 379 in xtideuniversalbios


Ignore:
Timestamp:
Apr 7, 2012, 3:28:40 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Preparing to make boot menu an optional module.
Location:
trunk/XTIDE_Universal_BIOS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Main.asm

    r376 r379  
    3131    ORG 0                           ; Code start offset 0000h
    3232
    33 %define MENUEVENT_INLINE_OFFSETS    ; Only one menu required, save space and inline offsets
     33    ; We must define included libraries before including "AssemblyLibrary.inc".
     34%define EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS   ; Exclude unused library functions
     35%ifdef MODULE_BOOT_MENU
     36    %define MENUEVENT_INLINE_OFFSETS    ; Only one menu required, save space and inline offsets
     37    %define INCLUDE_MENU_LIBRARY
     38
     39%else   ; If no boot menu included
     40    %define INCLUDE_DISPLAY_LIBRARY
     41    %define INCLUDE_TIME_LIBRARY
     42%endif
     43
    3444
    3545    ; Included .inc files
     
    210220
    211221    ; Boot menu
     222%ifdef MODULE_BOOT_MENU
    212223    %include "BootMenu.asm"         ; For Boot Menu operations
    213224    %include "BootMenuEvent.asm"    ; For menu library event handling
     
    215226                                    ;       so that jump table entries in BootMenuEvent stay within 8-bits
    216227    %include "BootMenuPrint.asm"    ; For printing Boot Menu strings, also includes "BootMenuPrintCfg.asm"
     228%endif
     229
     230    ; Boot loader
    217231    %include "BootPrint.asm"        ; For printing boot information
     232    %include "Int19h.asm"           ; For Int 19h, Boot Loader
    218233    %include "FloppyDrive.asm"      ; Floppy Drive related functions
    219234    %include "BootSector.asm"       ; For loading boot sector
    220 
    221     ; Boot loader
    222     %include "Int19h.asm"           ; For Int 19h, Boot Loader
    223235
    224236    ; For all device types
  • trunk/XTIDE_Universal_BIOS/makefile

    r370 r379  
    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 ###############################################################################
     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_ADVANCED_ATA       Native support for some VLB IDE controllers                          #
     18# MODULE_BOOT_MENU          Boot Menu for selection drive to boot from                           #
     19# MODULE_EBIOS              Enhanced functions for access drives over 8.4 GB                     #
     20# MODULE_JRIDE              Support for JR-IDE/ISA                                               #
     21# MODULE_SERIAL             Virtual hard disks using serial port                                 #
     22# MODULE_SERIAL_FLOPPY      Virtual floppy drives using serial port                              #
     23# MODULE_STRINGS_COMPRESSED Compressed strings to save space                                     #
     24#                                                                                                #
     25# Not modules but these affect the assembly:                                                     #
     26# ELIMINATE_CGA_SNOW        Prevents CGA snowing at the cost of few bytes                        #
     27# USE_186                   Use instructions supported by 80188/80186 and V20/V30 and later      #
     28# USE_286                   Use instructions supported by 286 and later                          #
     29# USE_386                   Use instructions supported by 386 and later                          #
     30# USE_AT                    Use features supported on AT and later systems (not available on XT) #
     31#                                                                                                #
     32##################################################################################################
    1633
    1734###########################################
     
    6986# Assembler preprocessor defines.                               #
    7087#################################################################
    71 DEFINES = INCLUDE_MENU_LIBRARY EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS MODULE_EBIOS MODULE_STRINGS_COMPRESSED
     88DEFINES = MODULE_BOOT_MENU MODULE_EBIOS MODULE_STRINGS_COMPRESSED
    7289DEFINES_XT = ELIMINATE_CGA_SNOW MODULE_SERIAL MODULE_SERIAL_FLOPPY
    7390DEFINES_XTPLUS = ELIMINATE_CGA_SNOW USE_186 MODULE_SERIAL MODULE_SERIAL_FLOPPY
     
    128145ASFLAGS += $(IHEADERS)          # Set header file directory paths
    129146ASFLAGS += -Worphan-labels      # Warn about labels without colon
    130 ASFLAGS += -O9                  # Optimize operands to their shortest forms
     147ASFLAGS += -Ox                  # Optimize operands to their shortest forms
    131148
    132149
Note: See TracChangeset for help on using the changeset viewer.