source: xtideuniversalbios/trunk/Assembly_Library/Src/Menu/Menu.asm @ 369

Last change on this file since 369 was 369, checked in by gregli@…, 12 years ago

Removed align directives for initalization code and added define for align in boot-time calls to the assembly library (defaulting to 1), resulting in a significant savings for the AT and 386 builds. Fixed a bug with switch command line handling in the serial server. Put in CR characters in licesnse.txt, so that it properly displays on Windows. In the configurator, added default values for user supplied CHS and LBA values, defaulting to values within range when those features are enabled. Updated the copyright message in the configurator as the literal word Copyright is important.

File size: 2.6 KB
RevLine 
[41]1; Project name  :   Assembly Library
2; Description   :   Menu Library functions for CALL_MENU_LIBRARY macro
3;                   that users should use to make library call.
4
5; Section containing code
6SECTION .text
7
8;--------------------------------------------------------------------
9; MenuFunctionFromDI
10;   Parameters:
11;       DI:     Function to call (MENU_LIB.functionName)
12;       BP:     Menu handle
13;       Others: Depends on function to call
14;   Returns:
15;       Depends on function to call
16;   Corrupts registers:
17;       AX (unless used as a return register), DI
18;--------------------------------------------------------------------
[369]19ALIGN MENU_JUMP_ALIGN
[41]20Menu_FunctionFromDI:
21    push    si
22    push    dx
23    push    cx
24    push    bx
[177]25    call    di
[41]26    pop     bx
27    pop     cx
28    pop     dx
29    pop     si
30    ret
31
32
[181]33    %define DisplayWithHandlerInBXandUserDataInDXAX         MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
34    ;%define Close                                          MenuInit_CloseMenuWindow                ; Special case in CALL_MENU_LIBRARY
35    %define RefreshWindow                                   MenuInit_RefreshMenuWindow
[41]36
[181]37    ;%define SetUserDataFromDSSI                            MenuInit_SetUserDataFromDSSI            ; Special case in CALL_MENU_LIBRARY
38    ;%define GetUserDataToDSSI                              MenuInit_GetUserDataToDSSI              ; Special case in CALL_MENU_LIBRARY
[41]39
[181]40    ;%define SetTitleHeightFromAL                           MenuInit_SetTitleHeightFromAL           ; Special case in CALL_MENU_LIBRARY
41    %define ClearTitleArea                                  MenuText_ClearTitleArea
42    %define RefreshTitle                                    MenuText_RefreshTitle
[41]43
[181]44    %define HighlightItemFromAX                             MenuInit_HighlightItemFromAX
45    ;%define SetTotalItemsFromAX                            MenuInit_SetTotalItemsFromAX            ; Special case in CALL_MENU_LIBRARY
46    %define RefreshItemFromAX                               MenuText_RefreshItemFromAX
[41]47
[181]48    ;%define SetInformationHeightFromAL                     MenuInit_SetInformationHeightFromAL     ; Special case in CALL_MENU_LIBRARY
49    %define ClearInformationArea                            MenuText_ClearInformationArea
50    %define RefreshInformation                              MenuText_RefreshInformation
[41]51
[181]52    %define StartSelectionTimeoutWithTicksInAX              MenuTime_StartSelectionTimeoutWithTicksInAX
[41]53
54%ifdef INCLUDE_MENU_DIALOGS
[181]55    %define StartProgressTaskWithIoInDSSIandParamInDXAX     DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
56    %define SetProgressValueFromAX                          DialogProgress_SetProgressValueFromAX
[41]57
[181]58    %define DisplayMessageWithInputInDSSI                   DialogMessage_DisplayMessageWithInputInDSSI
59    %define GetSelectionToAXwithInputInDSSI                 DialogSelection_GetSelectionToAXwithInputInDSSI
60    %define GetWordWithIoInDSSI                             DialogWord_GetWordWithIoInDSSI
61    %define GetStringWithIoInDSSI                           DialogString_GetStringWithIoInDSSI
62    %define GetFileNameWithIoInDSSI                         DialogFile_GetFileNameWithIoInDSSI
63    %define GetDriveWithIoInDSSI                            DialogDrive_GetDriveWithIoInDSSI
[41]64%endif
[177]65
Note: See TracBrowser for help on using the repository browser.