Changeset 121 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src


Ignore:
Timestamp:
Feb 28, 2011, 5:13:38 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Endianness is now corrected for ATA device names.
  • Converted all BootVars.asm functions to macros in BootVars.inc.
  • Display library is now initialized second time before trying to display boot menu.
Location:
trunk/XTIDE_Universal_BIOS/Src
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootInfo.asm

    r100 r121  
    6767    add     si, BYTE ATA1.strModel      ; DS:SI now points drive name
    6868    lea     di, [bx+BOOTNFO.szDrvName]  ; ES:DI now points to name destination
    69     mov     cx, LEN_BOOTNFO_DRV
    70     call    Memory_CopyCXbytesFromDSSItoESDI
     69    mov     cx, LEN_BOOTNFO_DRV / 2     ; Max number of WORDs allowed
     70.CopyNextWord:
     71    lodsw
     72    xchg    al, ah                      ; Change endianness
     73    stosw
     74    loop    .CopyNextWord
    7175    xor     ax, ax
    7276    stosb                               ; Terminate with NULL
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19hMenu.asm

    r96 r121  
    1818ALIGN JUMP_ALIGN
    1919Int19hMenu_BootLoader:
     20    ; Store POST stack pointer
    2021    LOAD_BDA_SEGMENT_TO ds, ax
    21     call    BootVars_StorePostStackPointer
     22    STORE_POST_STACK_POINTER
    2223
    2324    ; Install new INT 19h handler now that BOOTVARS has been initialized
     
    3536ALIGN JUMP_ALIGN
    3637DisplayBootMenu:
    37     call    BootVars_SwitchToBootMenuStack
     38    SWITCH_TO_BOOT_MENU_STACK
     39    CALL_DISPLAY_LIBRARY InitializeDisplayContext
    3840    call    RamVars_GetSegmentToDS
    3941    ; Fall to .ProcessMenuSelectionsUntilBootable
     
    5254    call    BootSector_TryToLoadFromDriveDL
    5355    jnc     SHORT .ProcessMenuSelectionsUntilBootable   ; Boot failure, show menu again
    54     call    BootVars_SwitchBackToPostStack
     56    SWITCH_BACK_TO_POST_STACK
    5557    ; Fall to JumpToBootSector
    5658
     
    6870    push    bx                              ; Push boot sector offset
    6971    call    ClearSegmentsForBoot
    70     xor     dh, dh                          ; Device supported by INT 13h
    7172    retf
    7273
     
    8182ALIGN JUMP_ALIGN
    8283Int19hMenu_RomBoot:
    83     call    BootVars_SwitchBackToPostStack
     84    SWITCH_BACK_TO_POST_STACK
    8485    call    ClearSegmentsForBoot
    8586    int     INTV_BOOT_FAILURE       ; Never returns
     
    9192;       Nothing
    9293;   Returns:
     94;       DX:     Zero
    9395;       DS=ES:  Zero
    9496;   Corrupts registers:
    95 ;       AX
     97;       Nothing
    9698;--------------------------------------------------------------------
    9799ALIGN JUMP_ALIGN
    98100ClearSegmentsForBoot:
    99     xor     ax, ax
    100     mov     ds, ax
    101     mov     es, ax
     101    xor     dx, dx                  ; Device supported by INT 13h
     102    mov     ds, dx
     103    mov     es, dx
    102104    ret
  • trunk/XTIDE_Universal_BIOS/Src/Main.asm

    r116 r121  
    117117
    118118; Include .asm files (boot menu)
    119 %include "BootVars.asm"         ; For accessing BOOTVARS struct
    120119%include "BootMenu.asm"         ; For Boot Menu operations
    121120%include "BootMenuEvent.asm"    ; For menu library event handling
Note: See TracChangeset for help on using the changeset viewer.