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


Ignore:
Timestamp:
Mar 22, 2013, 5:43:54 PM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Swapping Floppy and Hard Drives at the same time work again (broke in r492).
  • Hotkeys again work in boot menu (broke in r492).
File:
1 edited

Legend:

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

    r526 r528  
    2222
    2323;--------------------------------------------------------------------
     24; Scans key presses and draws any hotkey changes.
     25;
    2426; HotkeyBar_UpdateDuringDriveDetection
    2527;   Parameters:
     
    3234;--------------------------------------------------------------------
    3335HotkeyBar_UpdateDuringDriveDetection:
    34     call    HotkeyBar_ScanHotkeysFromKeyBufferAndStoreToBootvars
     36    call    ScanHotkeysFromKeyBufferAndStoreToBootvars
    3537    ; Fall to HotkeyBar_DrawToTopOfScreen
    3638
     
    311313
    312314;--------------------------------------------------------------------
    313 ; HotkeyBar_StoreHotkeyToBootvarsForDriveLetterInDL
     315; HotkeyBar_StoreHotkeyToBootvarsForDriveNumberInDL
     316;   Parameters:
     317;       DS:     RAMVARS segment
     318;       ES:     BDA segment (zero)
     319;       DL:     Drive Number
     320;   Returns:
     321;       Nothing
     322;   Corrupts registers:
     323;       AX, CX, DL, DI
     324;--------------------------------------------------------------------
     325HotkeyBar_StoreHotkeyToBootvarsForDriveNumberInDL:
     326    call    DriveXlate_ConvertDriveNumberFromDLtoDriveLetter
     327    ; Fall to StoreHotkeyToBootvarsForDriveLetterInDL
     328
     329
     330;--------------------------------------------------------------------
     331; StoreHotkeyToBootvarsForDriveLetterInDL
    314332;   Parameters:
    315333;       DS:     RAMVARS segment
     
    321339;       AX, CX, DI
    322340;--------------------------------------------------------------------
    323 HotkeyBar_StoreHotkeyToBootvarsForDriveLetterInDL:
     341StoreHotkeyToBootvarsForDriveLetterInDL:
    324342    eMOVZX  ax, dl
    325343    or      al, 32  ; Upper case drive letter to lower case keystroke
     
    328346
    329347;--------------------------------------------------------------------
    330 ; HotkeyBar_ScanHotkeysFromKeyBufferAndStoreToBootvars
     348; ScanHotkeysFromKeyBufferAndStoreToBootvars
    331349;   Parameters:
    332350;       DS:     RAMVARS segment
     
    337355;       AH, CX
    338356;--------------------------------------------------------------------
    339 HotkeyBar_ScanHotkeysFromKeyBufferAndStoreToBootvars:
     357ScanHotkeysFromKeyBufferAndStoreToBootvars:
    340358    call    Keyboard_GetKeystrokeToAX
    341359    jz      SHORT NoHotkeyToProcess
    342360
    343     ePUSH_T cx, HotkeyBar_ScanHotkeysFromKeyBufferAndStoreToBootvars
     361    ; Prepare to read another key from buffer
     362    ePUSH_T cx, ScanHotkeysFromKeyBufferAndStoreToBootvars
    344363    ; Fall to HotkeyBar_StoreHotkeyToBootvarsIfValidKeystrokeInAX
    345364
     
    354373;   Returns:
    355374;       AL:     Last scancode seen
     375;       CF:     Set if valid hotkey in AL
     376;               Clear if scancode in AL is not for any hotkey
    356377;   Corrupts registers:
    357378;       AH, CX, DI
     
    387408    xchg    ax, cx
    388409    mov     [es:di], al
     410    stc                             ; Valid hotkey scancode returned in AL
    389411
    390412.KeystrokeIsNotValidDriveLetter:
     
    392414    mov     al, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bScancode]
    393415    ret
     416
    394417
    395418;--------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.