Changeset 392 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Apr 17, 2012, 2:42:54 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Greatly improved Hotkey Bar is displayed during drive detection.
  • 8k builds no longer include boot menu.
  • Boot menu is displayed only if F2 is pressed during drive detection.
  • Some changes to directory structure.


Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
3 added
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm

    r386 r392  
    5555    jcxz    .AddHardDisks                   ; Set to zero on .ideVarsSerialAuto iteration (if any)
    5656%endif
    57 
    5857    loop    .DriveDetectLoop
    5958
     
    155154StartDetectionWithDriveSelectByteInBHandStringInCX:
    156155    call    DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP
     156    call    HotkeyBar_UpdateDuringDriveDetection
    157157    ; Fall to .ReadAtaInfoFromHardDisk
    158158
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm

    r386 r392  
    2222
    2323;--------------------------------------------------------------------
    24 ; BootMenuPrint_InitializeDisplayContext
    25 ;   Parameters:
    26 ;       Nothing
    27 ;   Returns:
    28 ;       Nothing
    29 ;   Corrupts registers:
    30 ;       AX, DI
    31 ;--------------------------------------------------------------------
    32 BootMenuPrint_InitializeDisplayContext:
    33     CALL_DISPLAY_LIBRARY InitializeDisplayContext
     24; DetectPrint_InitializeDisplayContext
     25;   Parameters:
     26;       Nothing
     27;   Returns:
     28;       Nothing
     29;   Corrupts registers:
     30;       AX, DI
     31;--------------------------------------------------------------------
     32DetectPrint_InitializeDisplayContext:
     33    CALL_DISPLAY_LIBRARY    InitializeDisplayContext
     34    ret
     35
     36
     37;--------------------------------------------------------------------
     38; DetectPrint_GetSoftwareCoordinatesToAX
     39;   Parameters:
     40;       Nothing
     41;   Returns:
     42;       Nothing
     43;   Corrupts registers:
     44;       AX, DI
     45;--------------------------------------------------------------------
     46DetectPrint_GetSoftwareCoordinatesToAX:
     47    CALL_DISPLAY_LIBRARY    GetSoftwareCoordinatesToAX
    3448    ret
    3549
     
    186200;       Nothing
    187201;   Corrupts registers:
    188 ;       AX, SI, DI
     202;       AX, DH, SI, DI
    189203;--------------------------------------------------------------------
    190204DetectPrint_TryToBootFromDL:
     
    192206    mov     bp, sp
    193207
    194     mov     ax, g_szHDD
    195     test    dl, dl
    196     js      SHORT .NotFDD
    197     mov     ax, g_szFDD
    198 .NotFDD:
    199     push    ax
    200 
    201     call    DriveXlate_ToOrBack
    202     push    dx                  ; Push untranslated drive number
    203     call    DriveXlate_ToOrBack
    204     push    dx                  ; Push translated drive number
     208    call    DriveXlate_ToOrBack ; DL = Untranslated Drive number
     209    mov     dh, dl
     210    call    DriveXlate_ToOrBack ; DL = Translated Drive number
     211
     212    call    HotkeyBar_ConvertDriveNumberFromDLtoDriveLetter ; DL = Translated letter
     213    xchg    dl, dh
     214    call    HotkeyBar_ConvertDriveNumberFromDLtoDriveLetter ; DL = Untranslated letter
     215    push    dx
     216    xchg    dl, dh
     217    push    dx
     218
     219    call    ConvertDriveLetterInDLtoDriveNumber ; Restore DL
    205220
    206221    mov     si, g_szTryToBoot
     
    226241    push    bp
    227242    mov     bp,sp
    228     ; Fall to BootMenuPrint_FormatCSSIfromParamsInSSBP
     243    ; Fall to DetectPrint_FormatCSSIfromParamsInSSBP
    229244
    230245;--------------------------------------------------------------------
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm

    r376 r392  
    125125;       AX, CX, DX, DI, ES
    126126;--------------------------------------------------------------------
     127%ifdef MODULE_BOOT_MENU
    127128FloppyDrive_GetType:
    128129    mov     ah, 08h         ; Get Drive Parameters
     
    130131    int     BIOS_DISKETTE_INTERRUPT_40h
    131132    ret
     133%endif
    132134
    133135
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm

    r376 r392  
    6969;--------------------------------------------------------------------
    7070Initialize_AndDetectDrives:
    71     call    BootMenuPrint_InitializeDisplayContext
     71    call    DetectPrint_InitializeDisplayContext
    7272    call    DetectPrint_RomFoundAtSegment
    7373    call    RamVars_Initialize
     74    call    BootVars_Initialize
    7475    call    Interrupts_InitializeInterruptVectors
    7576    call    DetectDrives_FromAllIDEControllers
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm

    r376 r392  
    6363    mov     si, Int13h_DiskFunctionsHandler     ; Interrupt handler offset
    6464    call    Interrupts_InstallHandlerToVectorInALFromCSSI
     65
     66    ; Install INT 19h handler to properly reset the system
     67    mov     al, BIOS_BOOT_LOADER_INTERRUPT_19h  ; INT 19h interrupt vector offset
     68    mov     si, Int19hReset_Handler             ; INT 19h handler to reboot the system
     69    call    Interrupts_InstallHandlerToVectorInALFromCSSI
    6570    ; Fall to .InitializeHardwareIrqHandlers
    6671
Note: See TracChangeset for help on using the changeset viewer.