Changeset 505 in xtideuniversalbios for trunk/Assembly_Library/Inc


Ignore:
Timestamp:
Feb 25, 2013, 4:23:09 PM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Reverted the changes to MenuEvents.inc done in r492 since they broke the F1 key function in XTIDECFG.
  • Added a tail-call optimized variant of the CALL_DISPLAY_LIBRARY macro (JMP_DISPLAY_LIBRARY).
  • Put a block size limit in AH1Eh_ChangeXTCFmodeBasedOnControlRegisterInAL. I think it's needed but if not, it's easy to remove.
  • Other optimizations and fixes.
Location:
trunk/Assembly_Library/Inc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Inc/Display.inc

    r407 r505  
    66%ifndef MODULE_STRINGS_COMPRESSED_PRECOMPRESS
    77;--------------------------------------------------------------------
    8 ; Display Library users need to use this macro since it will provide
     8; Display Library users need to use these macros since it will provide
    99; compatibility with future library versions.
    1010;
    1111; CALL_DISPLAY_LIBRARY
     12; JMP_DISPLAY_LIBRARY
    1213;   Parameters:
    1314;       %1:         Function to call (functionName from DISPLAY_LIB)
     
    2829        mov     di, %1
    2930        call    Display_FunctionFromDI
     31    %endif
     32%endmacro
     33
     34%macro JMP_DISPLAY_LIBRARY 1
     35    %ifidn %1, PushDisplayContext
     36        jmp     DisplayContext_Push
     37    %elifidn %1, PopDisplayContext
     38        call    DisplayContext_Pop
     39        ret
     40    %elifidn %1, PrepareOffScreenBufferInESBXwithLengthInCX
     41        jmp     DisplayContext_PrepareOffScreenBufferInESBXwithLengthInCX
     42    %elifidn %1, FormatNullTerminatedStringFromCSSI
     43        mov     di, %1
     44        call    Display_FunctionFromDI
     45        ret
     46    %else
     47        mov     di, %1
     48        jmp     Display_FunctionFromDI
    3049    %endif
    3150%endmacro
  • trunk/Assembly_Library/Inc/MenuEvents.inc

    r492 r505  
    1 ; File name     :   MenuEvents.inc
    21; Project name  :   Assembly Library
    3 ; Created date  :   13.7.2010
    4 ; Last update   :   18.10.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Defines for Menu events send to the user.
    73%ifndef MENUEVENTS_INC
     
    2723;
    2824; 2. If the program needs only one menu, %define MENUEVENT_INLINE_OFFSETS before this include file,
    29 ;    and define (through EQU statements) each of the entry points as offsets from a base address. 
    30 ; 
     25;    and define (through EQU statements) each of the entry points as offsets from a base address.
     26;
    3127
    3228;
     
    4945    ; Returns:
    5046    ;   DS:SI:      Ptr to initialized MENUINIT struct
    51     .InitializeMenuinitFromDSSI     resb    2
    52 MENUEVENT_InitializeMenuinitFromDSSI    equ     MENUEVENT.InitializeMenuinitFromDSSI
     47    .InitializeMenuinitFromDSSI resb    2
     48%define MENUEVENT_InitializeMenuinitFromDSSI    MENUEVENT.InitializeMenuinitFromDSSI
    5349
    5450    ; Parameters:
     
    5753    ;   CF:         Set to exit menu
    5854    ;               Clear to cancel exit
    59     .ExitMenu                       resb    2
    60 MENUEVENT_ExitMenu                  equ     MENUEVENT.ExitMenu
     55    .ExitMenu                   resb    2
     56%define MENUEVENT_ExitMenu                      MENUEVENT.ExitMenu
    6157
    6258%ifdef MENUEVENT_IDLEPROCESSING_ENABLE
     
    6460    ;   None
    6561    ; See the definition of MENUEVENT_IDLEPROCESSING_ENABLE below.
    66     .IdleProcessing                 resb    2
    67 MENUEVENT_IdleProcessing            equ     MENUEVENT.IdleProcessing
     62    .IdleProcessing             resb    2
     63%define MENUEVENT_IdleProcessing                MENUEVENT.IdleProcessing
    6864%endif
    6965
     
    7167    ;   CX:         Index of new highlighted item
    7268    ;   DX:         Index of previously highlighted item or NO_ITEM_HIGHLIGHTED
    73     .ItemHighlightedFromCX          resb    2
    74 MENUEVENT_ItemHighlightedFromCX     equ     MENUEVENT.ItemHighlightedFromCX
     69    .ItemHighlightedFromCX      resb    2
     70%define MENUEVENT_ItemHighlightedFromCX         MENUEVENT.ItemHighlightedFromCX
    7571
    7672    ; Parameters:
    7773    ;   CX:         Index of selected item
    78     .ItemSelectedFromCX             resb    2
    79 MENUEVENT_ItemSelectedFromCX        equ     MENUEVENT.ItemSelectedFromCX
     74    .ItemSelectedFromCX         resb    2
     75%define MENUEVENT_ItemSelectedFromCX            MENUEVENT.ItemSelectedFromCX
    8076
    8177    ; Parameters:
    8278    ;   AL:         ASCII character for the key
    8379    ;   AH:         Keyboard library scan code for the key
    84     .KeyStrokeInAX                  resb    2
    85 MENUEVENT_KeyStrokeInAX             equ     MENUEVENT.KeyStrokeInAX
     80    .KeyStrokeInAX              resb    2
     81%define MENUEVENT_KeyStrokeInAX                 MENUEVENT.KeyStrokeInAX
    8682
    8783    ; Parameters:
    8884    ;   CX:         Index of highlighted item
    8985    ;   Cursor has been positioned to the beginning of first line
    90     .RefreshTitle                   resb    2
    91     .RefreshInformation             resb    2
    92 MENUEVENT_RefreshTitle              equ     MENUEVENT.RefreshTitle
    93 MENUEVENT_RefreshInformation        equ     MENUEVENT.RefreshInformation
     86    .RefreshTitle               resb    2
     87    .RefreshInformation         resb    2
     88%define MENUEVENT_RefreshTitle                  MENUEVENT.RefreshTitle
     89%define MENUEVENT_RefreshInformation            MENUEVENT.RefreshInformation
    9490
    9591    ; Parameters:
    9692    ;   CX:         Index of item to refresh
    9793    ;   Cursor has been positioned to the beginning of item line
    98     .RefreshItemFromCX              resb    2
    99 MENUEVENT_RefreshItemFromCX         equ     MENUEVENT.RefreshItemFromCX
     94    .RefreshItemFromCX          resb    2
     95%define MENUEVENT_RefreshItemFromCX             MENUEVENT.RefreshItemFromCX
    10096endstruc
    10197
    102 %endif ; MENUEVENTS_INLINE_OFFSETS
     98%endif ; MENUEVENT_INLINE_OFFSETS
    10399
    104100%endif ; MENUEVENTS_INC
Note: See TracChangeset for help on using the changeset viewer.