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


Ignore:
Timestamp:
Dec 21, 2012, 1:01:55 AM (11 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Removed the dependency between MODULE_BOOT_MENU and MODULE_HOTKEYS. With these changes, 0, 1, or 2 of them can be included in a build. This change also means that the hotkeys don't work while the menu is up. But the most important hotkey there was for Rom Boot, and that has been added to the menu as a choice proper. Lots of changes across the board in the hotkeys code - even if we eventually back this change out (becaue, for example we want hotkeys to work in the menu) we should probably start from this base and add that functionality back in, as these changes results in approximately 120 bytes of savings and includes new functionality, such as the Rom Boot menu item and the Com Detect hotkey.

Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
3 edited

Legend:

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

    r491 r492  
    4848    call    StartDetectionWithDriveSelectByteInBHandStringInCX
    4949
     50%ifdef MODULE_HOTKEYS
     51    call    HotkeyBar_ScanHotkeysFromKeyBufferAndStoreToBootvars        ; Done here while CX is still protected
     52%endif             
     53
    5054    pop     cx
    5155
     
    6266; if serial drive detected, do not scan (avoids duplicate drives and isn't needed - we already have a connection)
    6367;
    64     call    FindDPT_ToDSDIforSerialDevice
     68    call    FindDPT_ToDSDIforSerialDevice   ; does not modify AX
    6569    jnc     .AddHardDisks
    6670
    6771    mov     bp, ROMVARS.ideVarsSerialAuto   ; Point to our special IDEVARS structure, just for serial scans
     72
     73%ifdef MODULE_HOTKEYS
     74    cmp     al, COM_DETECT_HOTKEY_SCANCODE  ; Set by last call to HotkeyBar_UpdateDuringDriveDetection above
     75    jz      .DriveDetectLoop
     76%endif     
    6877
    6978    mov     al,[cs:ROMVARS.wFlags]          ; Configurator set to always scan?
     
    192201%ifdef MODULE_HOTKEYS
    193202    call    HotkeyBar_UpdateDuringDriveDetection
    194 %endif
     203%endif             
     204       
    195205%ifdef MODULE_8BIT_IDE
    196206    pop     dx
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm

    r489 r492  
    3434    ret
    3535
    36 
     36       
     37%ifdef MODULE_HOTKEYS
    3738;--------------------------------------------------------------------
    3839; DetectPrint_GetSoftwareCoordinatesToAX
     
    4748    CALL_DISPLAY_LIBRARY    GetSoftwareCoordinatesToAX
    4849    ret
    49 
    50 
     50%endif
     51
     52       
    5153;--------------------------------------------------------------------
    5254; DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP
     
    227229    mov     bp, sp
    228230
    229 %ifdef MODULE_HOTKEYS
     231%ifdef MODULE_DRIVEXLATE
    230232
    231233    call    DriveXlate_ToOrBack ; DL = Untranslated Drive number
     
    233235    call    DriveXlate_ToOrBack ; DL = Translated Drive number
    234236
    235     call    HotkeyBar_ConvertDriveNumberFromDLtoDriveLetter ; DL = Translated letter
     237    call    DriveXlate_ConvertDriveNumberFromDLtoDriveLetter    ; DL = Translated letter
    236238    xchg    dl, dh
    237     call    HotkeyBar_ConvertDriveNumberFromDLtoDriveLetter ; DL = Untranslated letter
     239    call    DriveXlate_ConvertDriveNumberFromDLtoDriveLetter    ; DL = Untranslated letter
    238240    push    dx
    239241    xchg    dl, dh
    240242    push    dx
    241243
    242     call    HotkeyBar_ConvertDriveLetterInDLtoDriveNumber   ; Restore DL
     244    call    DriveXlate_ConvertDriveLetterInDLtoDriveNumber  ; Restore DL
    243245
    244246%else
     
    254256    push    ax
    255257
    256 %endif ; MODULE_HOTKEYS
     258%endif ; MODULE_DRIVEXLATE
    257259
    258260    mov     si, g_szTryToBoot
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm

    r491 r492  
    4141    ; If no drives detected, leave system INT 13h and 40h handlers
    4242    ; in place. We need our INT 13h handler to swap drive letters.
    43 %ifndef MODULE_HOTKEYS
     43%ifndef MODULE_DRIVEXLATE
    4444    cmp     BYTE [RAMVARS.bDrvCnt], 0
    4545    je      SHORT Interrupts_InstallHandlerToVectorInALFromCSSI.Interrupts_Return
Note: See TracChangeset for help on using the changeset viewer.