Changeset 492 in xtideuniversalbios for trunk/Assembly_Library/Src


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/Assembly_Library/Src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Display/DisplayPage.asm

    r376 r492  
    4141
    4242
     43%ifdef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
     44    %define EXCLUDE
     45    %ifdef MODULE_HOTKEYS
     46        %undef EXCLUDE
     47    %endif
     48    %ifdef MODULE_BOOT_MENU
     49        %undef EXCLUDE
     50    %endif
     51%endif
     52
     53%ifndef EXCLUDE     
    4354;--------------------------------------------------------------------
    4455; DisplayPage_GetColumnsToALandRowsToAH
     
    5667    mov     ah, 25                          ; Always 25 rows on standard text modes
    5768    ret
    58 
     69%endif
     70%undef EXCLUDE     
    5971
    6072;--------------------------------------------------------------------
  • trunk/Assembly_Library/Src/Display/DisplayPrint.asm

    r491 r492  
    296296%endif
    297297
    298 
     298%ifdef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
     299    %define EXCLUDE
     300    %ifdef MODULE_HOTKEYS
     301        %undef EXCLUDE
     302    %endif
     303    %ifdef MODULE_BOOT_MENU
     304        %undef EXCLUDE
     305    %endif
     306%endif
     307
     308%ifndef EXCLUDE             
    299309;--------------------------------------------------------------------
    300310; DisplayPrint_RepeatCharacterFromALwithCountInCX
     
    324334.NothingToRepeat:
    325335    ret
    326 
     336%endif
     337%undef EXCLUDE
    327338
    328339;--------------------------------------------------------------------
  • trunk/Assembly_Library/Src/Keyboard/Keyboard.asm

    r407 r492  
    289289;       Nothing
    290290;--------------------------------------------------------------------
     291
     292%ifdef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
     293    %define EXCLUDE
     294    %ifdef MODULE_HOTKEYS
     295        %undef EXCLUDE
     296    %endif
     297    %ifdef MODULE_BOOT_MENU
     298        %undef EXCLUDE
     299    %endif
     300%endif
     301       
     302%ifndef EXCLUDE
     303
    291304ALIGN KEYBOARD_JUMP_ALIGN
    292305Keyboard_GetKeystrokeToAXandLeaveItToBuffer:
     
    294307    int     BIOS_KEYBOARD_INTERRUPT_16h
    295308    ret
     309       
    296310ALIGN KEYBOARD_JUMP_ALIGN
    297311Keyboard_GetKeystrokeToAX:
     
    306320Keyboard_GetKeystrokeToAXReturn:
    307321    ret
     322       
     323%endif
     324%undef EXCLUDE
  • trunk/Assembly_Library/Src/Menu/MenuEvent.asm

    r376 r492  
    5252;       AX, BX, DX
    5353;--------------------------------------------------------------------
     54%ifndef MENU_NO_ESC
    5455ALIGN MENU_JUMP_ALIGN
    5556MenuEvent_ExitMenu:
    5657    mov     bl, MENUEVENT_ExitMenu
    5758    jmp     SHORT MenuEvent_SendFromBX
    58 
     59%endif
     60       
    5961
    6062%ifdef MENUEVENT_IDLEPROCESSING_ENABLE
     
    153155;       AX, BX, DX
    154156;--------------------------------------------------------------------
     157%ifdef MENUEVENT_KeyStrokInAX
    155158ALIGN MENU_JUMP_ALIGN
    156159MenuEvent_KeyStrokeInAX:
    157160    mov     bl, MENUEVENT_KeyStrokeInAX
    158161    SKIP2B  dx  ; mov dx, <next instruction>
    159 
     162%endif
    160163
    161164;--------------------------------------------------------------------
  • trunk/Assembly_Library/Src/Menu/MenuLoop.asm

    r376 r492  
    8585    xchg    ax, cx
    8686    call    .ProcessMenuSystemKeystrokeFromAX
     87%ifdef MENUEVENT_KeyStrokeInAX
    8788    jc      SHORT NoKeystrokeToProcess
    8889    jmp     MenuEvent_KeyStrokeInAX
    89 
     90%else
     91    jmp     SHORT NoKeystrokeToProcess
     92%endif
     93       
    9094;--------------------------------------------------------------------
    9195; .ProcessMenuSystemKeystrokeFromAX
     
    104108ALIGN MENU_JUMP_ALIGN
    105109.ProcessMenuSystemKeystrokeFromAX:
     110%ifndef MENU_NO_ESC
    106111    cmp     al, ESC
    107112    je      SHORT .LeaveMenuWithoutSelectingItem
     113%endif
    108114    cmp     al, CR
    109115    je      SHORT .SelectItem
     
    113119    ret     ; Return with CF cleared since keystroke not processed
    114120
     121%ifndef MENU_NO_ESC     
    115122ALIGN MENU_JUMP_ALIGN
    116123.LeaveMenuWithoutSelectingItem:
     
    122129    stc
    123130    ret
    124 
     131%endif
     132       
    125133ALIGN MENU_JUMP_ALIGN
    126134.SelectItem:
Note: See TracChangeset for help on using the changeset viewer.