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
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
[376]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
[41]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;--------------------------------------------------------------------
[369]36ALIGN MENU_JUMP_ALIGN
[41]37Menu_FunctionFromDI:
38    push    si
39    push    dx
40    push    cx
41    push    bx
[177]42    call    di
[41]43    pop     bx
44    pop     cx
45    pop     dx
46    pop     si
47    ret
48
49
[181]50    %define DisplayWithHandlerInBXandUserDataInDXAX         MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
51    ;%define Close                                          MenuInit_CloseMenuWindow                ; Special case in CALL_MENU_LIBRARY
52    %define RefreshWindow                                   MenuInit_RefreshMenuWindow
[41]53
[181]54    ;%define SetUserDataFromDSSI                            MenuInit_SetUserDataFromDSSI            ; Special case in CALL_MENU_LIBRARY
55    ;%define GetUserDataToDSSI                              MenuInit_GetUserDataToDSSI              ; Special case in CALL_MENU_LIBRARY
[41]56
[181]57    ;%define SetTitleHeightFromAL                           MenuInit_SetTitleHeightFromAL           ; Special case in CALL_MENU_LIBRARY
58    %define ClearTitleArea                                  MenuText_ClearTitleArea
59    %define RefreshTitle                                    MenuText_RefreshTitle
[41]60
[181]61    %define HighlightItemFromAX                             MenuInit_HighlightItemFromAX
62    ;%define SetTotalItemsFromAX                            MenuInit_SetTotalItemsFromAX            ; Special case in CALL_MENU_LIBRARY
63    %define RefreshItemFromAX                               MenuText_RefreshItemFromAX
[41]64
[181]65    ;%define SetInformationHeightFromAL                     MenuInit_SetInformationHeightFromAL     ; Special case in CALL_MENU_LIBRARY
66    %define ClearInformationArea                            MenuText_ClearInformationArea
67    %define RefreshInformation                              MenuText_RefreshInformation
[41]68
[370]69%ifndef EXCLUDE_FROM_XTIDECFG
[181]70    %define StartSelectionTimeoutWithTicksInAX              MenuTime_StartSelectionTimeoutWithTicksInAX
[370]71%endif
[41]72
73%ifdef INCLUDE_MENU_DIALOGS
[181]74    %define StartProgressTaskWithIoInDSSIandParamInDXAX     DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
75    %define SetProgressValueFromAX                          DialogProgress_SetProgressValueFromAX
[41]76
[181]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
[41]83%endif
[177]84
Note: See TracBrowser for help on using the repository browser.