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

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

WIDE checkin... Added copyright and license information to sorce files, as per the GPL instructions for usage.

File size: 3.4 KB
Line 
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;
6; XTIDE Universal BIOS and Associated Tools 
7; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
8;
9; This program is free software; you can redistribute it and/or modify
10; it under the terms of the GNU General Public License as published by
11; the Free Software Foundation; either version 2 of the License, or
12; (at your option) any later version.
13; 
14; This program is distributed in the hope that it will be useful,
15; but WITHOUT ANY WARRANTY; without even the implied warranty of
16; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17; GNU General Public License for more details.     
18; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19;
20       
21
22; Section containing code
23SECTION .text
24
25;--------------------------------------------------------------------
26; MenuFunctionFromDI
27;   Parameters:
28;       DI:     Function to call (MENU_LIB.functionName)
29;       BP:     Menu handle
30;       Others: Depends on function to call
31;   Returns:
32;       Depends on function to call
33;   Corrupts registers:
34;       AX (unless used as a return register), DI
35;--------------------------------------------------------------------
36ALIGN MENU_JUMP_ALIGN
37Menu_FunctionFromDI:
38    push    si
39    push    dx
40    push    cx
41    push    bx
42    call    di
43    pop     bx
44    pop     cx
45    pop     dx
46    pop     si
47    ret
48
49
50    %define DisplayWithHandlerInBXandUserDataInDXAX         MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
51    ;%define Close                                          MenuInit_CloseMenuWindow                ; Special case in CALL_MENU_LIBRARY
52    %define RefreshWindow                                   MenuInit_RefreshMenuWindow
53
54    ;%define SetUserDataFromDSSI                            MenuInit_SetUserDataFromDSSI            ; Special case in CALL_MENU_LIBRARY
55    ;%define GetUserDataToDSSI                              MenuInit_GetUserDataToDSSI              ; Special case in CALL_MENU_LIBRARY
56
57    ;%define SetTitleHeightFromAL                           MenuInit_SetTitleHeightFromAL           ; Special case in CALL_MENU_LIBRARY
58    %define ClearTitleArea                                  MenuText_ClearTitleArea
59    %define RefreshTitle                                    MenuText_RefreshTitle
60
61    %define HighlightItemFromAX                             MenuInit_HighlightItemFromAX
62    ;%define SetTotalItemsFromAX                            MenuInit_SetTotalItemsFromAX            ; Special case in CALL_MENU_LIBRARY
63    %define RefreshItemFromAX                               MenuText_RefreshItemFromAX
64
65    ;%define SetInformationHeightFromAL                     MenuInit_SetInformationHeightFromAL     ; Special case in CALL_MENU_LIBRARY
66    %define ClearInformationArea                            MenuText_ClearInformationArea
67    %define RefreshInformation                              MenuText_RefreshInformation
68
69%ifndef EXCLUDE_FROM_XTIDECFG
70    %define StartSelectionTimeoutWithTicksInAX              MenuTime_StartSelectionTimeoutWithTicksInAX
71%endif
72
73%ifdef INCLUDE_MENU_DIALOGS
74    %define StartProgressTaskWithIoInDSSIandParamInDXAX     DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
75    %define SetProgressValueFromAX                          DialogProgress_SetProgressValueFromAX
76
77    %define DisplayMessageWithInputInDSSI                   DialogMessage_DisplayMessageWithInputInDSSI
78    %define GetSelectionToAXwithInputInDSSI                 DialogSelection_GetSelectionToAXwithInputInDSSI
79    %define GetWordWithIoInDSSI                             DialogWord_GetWordWithIoInDSSI
80    %define GetStringWithIoInDSSI                           DialogString_GetStringWithIoInDSSI
81    %define GetFileNameWithIoInDSSI                         DialogFile_GetFileNameWithIoInDSSI
82    %define GetDriveWithIoInDSSI                            DialogDrive_GetDriveWithIoInDSSI
83%endif
84
Note: See TracBrowser for help on using the repository browser.