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

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

Changes:

  • Added some missing PIO mode timings to ATA_ID.inc (based on info from http://www.singlix.net/specs/cfspc4_0.pdf)
  • Updated Configuration_FullMode.txt but it may need additional changes as the Tandy info doesn't match the wiki.
  • Optimizations.
  • Excluded some unused code from XTIDECFG.
File size: 2.7 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
[370]52%ifndef EXCLUDE_FROM_XTIDECFG
[181]53    %define StartSelectionTimeoutWithTicksInAX              MenuTime_StartSelectionTimeoutWithTicksInAX
[370]54%endif
[41]55
56%ifdef INCLUDE_MENU_DIALOGS
[181]57    %define StartProgressTaskWithIoInDSSIandParamInDXAX     DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
58    %define SetProgressValueFromAX                          DialogProgress_SetProgressValueFromAX
[41]59
[181]60    %define DisplayMessageWithInputInDSSI                   DialogMessage_DisplayMessageWithInputInDSSI
61    %define GetSelectionToAXwithInputInDSSI                 DialogSelection_GetSelectionToAXwithInputInDSSI
62    %define GetWordWithIoInDSSI                             DialogWord_GetWordWithIoInDSSI
63    %define GetStringWithIoInDSSI                           DialogString_GetStringWithIoInDSSI
64    %define GetFileNameWithIoInDSSI                         DialogFile_GetFileNameWithIoInDSSI
65    %define GetDriveWithIoInDSSI                            DialogDrive_GetDriveWithIoInDSSI
[41]66%endif
[177]67
Note: See TracBrowser for help on using the repository browser.