Changeset 90 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm


Ignore:
Timestamp:
Jan 27, 2011, 11:31:31 AM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Removed INT 13h format and diagnostics functions.
  • Removed INT 18h callback handler.
  • Removed configuration for early/late initialization. Now XT builds always use late and AT build early initialization.
  • Reduced number of supported IDE controllers from 5 to 4.
  • Removed reserved configuration bytes.
  • Removed simple and system boot loaders.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm

    r84 r90  
    1 ; File name     :   Int19h.asm
    2 ; Project name  :   IDE BIOS
    3 ; Created date  :   3.8.2007
    4 ; Last update   :   14.1.2011
    5 ; Author        :   Tomi Tilli,
    6 ;               :   Krister Nordvall (optimizations)
     1; Project name  :   XTIDE Universal BIOS
    72; Description   :   Int 19h BIOS functions (Boot Strap Loader).
    83
     
    127B_READ_RETRY_TIMES  EQU 3   ; Number of times to retry
    138
    14 
    15 ;--------------------------------------------------------------------
    16 ; Int 19h software interrupt handler for late initialization.
    17 ; Calls actual Int 19h after initialization is complete.
    18 ;
    19 ; Int19h_LateInitialization
    20 ;   Parameters:
    21 ;       Nothing
    22 ;   Returns:
    23 ;       Never returns
    24 ;--------------------------------------------------------------------
    25 ALIGN JUMP_ALIGN
    26 Int19h_LateInitialization:
    27     call    Initialize_ShouldSkip           ; Skip initialization?
    28     jc      SHORT .SkipInitialization
    29     call    Initialize_AndDetectDrives
    30     int     INTV_BOOTSTRAP                  ; Call actual boot loader
    31 .SkipInitialization:
    32     call    RamVars_Initialize              ; RAMVARS must be initialized even for simple boot loader
    33     ; Fall to Int19h_SimpleBootLoader
    34 
    35 ;--------------------------------------------------------------------
    36 ; Simple boot loader.
    37 ; Boot sequence is fixed to 00h, 80h and INT 18h.
    38 ;
    39 ; Int19h_SimpleBootLoader
    40 ;   Parameters:
    41 ;       Nothing
    42 ;   Returns:
    43 ;       Never returns
    44 ;--------------------------------------------------------------------
    45 ALIGN JUMP_ALIGN
    46 Int19h_SimpleBootLoader:
    47     sti                                     ; Enable interrupts
    48     call    RamVars_GetSegmentToDS
    49     xor     dx, dx
    50     call    Int19h_TryToLoadBootSectorFromDL
    51     jc      SHORT Int19h_JumpToBootSector
    52     mov     dl, 80h
    53     call    Int19h_TryToLoadBootSectorFromDL
    54     jc      SHORT Int19h_JumpToBootSector
    55     call    Int19h_BootFailure              ; Should never return       
    56     jmp     SHORT Int19h_SimpleBootLoader
    579
    5810;--------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.