Changeset 593 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Menus/HotkeyBar.asm


Ignore:
Timestamp:
Jun 30, 2018, 8:27:04 AM (6 years ago)
Author:
aitotat
Message:

Flashing now works again.
Hack to get Windows 95 to work properly (MODULE_WIN95_CMOS_HACK included for 386 builds by default).
Edited makefile to produce large 386 build.
Fixed recovery time for QDI Vision VLB-IDE controllers.
No more warnings with Nasm 2.13.xx and later.
File dialog now properly restores default drive when file selection is cancelled.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Menus/HotkeyBar.asm

    r592 r593  
    7575    mov     cl, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bFddLetter]
    7676    mov     di, g_szFDD
     77
     78    ; Clear CH if floppy drive is selected for boot
     79    mov     ch, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bFlags]
     80    ;and        ch, FLG_HOTKEY_HD_FIRST     ; Needed if more flags are added
    7781    call    FormatDriveHotkeyString
    7882
     
    9296    call    BootVars_GetLetterForFirstHardDriveToAX
    9397    mov     ah, ANGLE_QUOTE_RIGHT
    94     mov     cl, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bHddLetter]
     98    mov     cx, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bHddLetter]  ; Letter to CL, flags to CH
     99    ;and        ch, FLG_HOTKEY_HD_FIRST     ; Needed if more flags are added
     100    xor     ch, FLG_HOTKEY_HD_FIRST     ; Clear CH if HD is selected for boot, set otherwise
    95101    mov     di, g_szHDD
    96102    call    FormatDriveHotkeyString
     
    182188; FormatDriveHotkeyString
    183189;   Parameters:
     190;       CH:         Zero if letter in CL is selected for boot
    184191;       CL:         Drive letter hotkey from BOOTVARS
    185192;       AL:         First character for drive key string
     
    192199;       AX, CX, DX, SI, DI
    193200;--------------------------------------------------------------------
    194 ;; No work to do before going into FormatFunctionHotkeyString
    195 FormatDriveHotkeyString  equ  GetNonSelectedHotkeyDescriptionAttributeToDX
     201FormatDriveHotkeyString:
     202    ; Invalid scancodes are filtered on HotkeyBar_StoreHotkeyToBootvarsIfValidKeystrokeInAX
     203    ; so here we have either drive letter or function key pressed. If latter, draw
     204    ; drive letters as unselected
     205    cmp     BYTE [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bScancode], FIRST_FUNCTION_KEY_SCANCODE
     206    jae     SHORT GetNonSelectedHotkeyDescriptionAttributeToDX
     207
     208    ; Drive selected to boot from?
     209    test    ch, ch
     210    jnz     SHORT GetNonSelectedHotkeyDescriptionAttributeToDX
     211    jmp     SHORT GetSelectedHotkeyDescriptionAttributeToDX
     212
    196213
    197214;--------------------------------------------------------------------
     
    216233%ifdef MODULE_BOOT_MENU
    217234
     235GetSelectedHotkeyDescriptionAttributeToDX:
    218236    mov     si, ATTRIBUTE_CHARS.cHurryTimeout       ; Selected hotkey
    219     je      SHORT GetDescriptionAttributeToDX       ; From compare with bScancode above
     237    je      SHORT GetDescriptionAttributeToDX       ; From compare with bScancode above and from FormatDriveHotkeyString
    220238
    221239GetNonSelectedHotkeyDescriptionAttributeToDX:
     
    232250%else ; if no MODULE_BOOT_MENU - No boot menu so use simpler attributes
    233251
     252GetSelectedHotkeyDescriptionAttributeToDX:
    234253    mov     dx, (COLOR_ATTRIBUTE(COLOR_YELLOW, COLOR_CYAN) << 8) | MONO_REVERSE_BLINK
    235     je      SHORT SelectAttributeFromDHorDLbasedOnVideoMode     ; From compare with bScancode above
     254    je      SHORT SelectAttributeFromDHorDLbasedOnVideoMode     ; From compare with bScancode above and from FormatDriveHotkeyString
    236255
    237256GetNonSelectedHotkeyDescriptionAttributeToDX:
Note: See TracChangeset for help on using the changeset viewer.