Changeset 105 in xtideuniversalbios for trunk/Assembly_Library/Src/Menu


Ignore:
Timestamp:
Feb 17, 2011, 2:52:42 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to Assembly Library:

  • More optimizations to reduce size.
  • Removed some utility functions to reduce size.
Location:
trunk/Assembly_Library/Src/Menu
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Menu/Dialog/DialogFile.asm

    r103 r105  
    4545.ItemSelectedFromCX:
    4646    call    LoadItemStringBufferToESDI
    47     Registers_CopyESDItoDSSI
     47    COPY_ESDI_to_DSSI
    4848    call    ItemLineSplitter_GetLineToDSSIandLengthToCXfromStringInDSSIwithIndexInCX
    4949    jmp     ParseSelectionFromItemLineInDSSI
     
    128128    call    RemoveLastLFandTerminateESDIwithNull
    129129
    130     Registers_CopySSBPtoDSSI
     130    COPY_SSBP_TO_DSSI
    131131    xor     ax, ax
    132132    call    Dialog_EventInitializeMenuinitFromDSSIwithHighlightedItemInAX
     
    198198ALIGN JUMP_ALIGN
    199199.ClearDLifInRootDirectory:
    200     Registers_CopyESDItoDSSI
     200    COPY_ESDI_to_DSSI
    201201    call    Directory_WriteCurrentPathToDSSI
    202202    mov     dl, [si]
     
    374374ALIGN JUMP_ALIGN
    375375SortDirectoryContentsStringFromESDIwithCountInCX:
    376     Registers_CopyESDItoDSSI
     376    COPY_ESDI_to_DSSI
    377377    call    .AddDirectoryContentsStringLengthToDI
    378378    mov     bx, .FileStringComparator
  • trunk/Assembly_Library/Src/Menu/MenuBorders.asm

    r104 r105  
    394394    db      DOUBLE_BOTTOM_LEFT_CORNER
    395395    db      DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL
    396     db      "%AAutoselection in %2u s",NULL
     396    db      "%ASelection in %2u s",NULL
    397397
    398398
  • trunk/Assembly_Library/Src/Menu/MenuLoop.asm

    r60 r105  
    1 ; File name     :   MenuLoop.asm
    21; Project name  :   Assembly Library
    3 ; Created date  :   22.7.2010
    4 ; Last update   :   25.11.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Menu loop for waiting keystrokes.
    73
     
    2218    call    KeystrokeProcessing
    2319    call    TimeoutProcessing
    24     call    IdleTimeProcessing
     20    call    MenuEvent_IdleProcessing    ; User idle processing
    2521    test    BYTE [bp+MENU.bFlags], FLG_MENU_EXIT
    2622    jz      SHORT MenuLoop_Enter
     
    2925
    3026;--------------------------------------------------------------------
    31 ; IdleTimeProcessing
     27; KeystrokeProcessing
    3228; TimeoutProcessing
    33 ; KeystrokeProcessing
    3429;   Parameters
    3530;       SS:BP:  Ptr to MENU
     
    4035;--------------------------------------------------------------------
    4136ALIGN JUMP_ALIGN
    42 IdleTimeProcessing:
    43     jmp     MenuEvent_IdleProcessing        ; User idle processing
     37KeystrokeProcessing:
     38    call    Keyboard_GetKeystrokeToAX
     39    jnz     SHORT ProcessKeystrokeFromAX
     40NoKeystrokeToProcess:
     41    ret
    4442
    4543ALIGN JUMP_ALIGN
    4644TimeoutProcessing:
    4745    call    MenuTime_UpdateSelectionTimeout
     46    jnc     NoKeystrokeToProcess
    4847    mov     ah, MENU_KEY_ENTER              ; Fake ENTER to select item
    49     jc      SHORT ProcessKeystrokeFromAX    ; Process faked ENTER
    50     ret
    51 
    52 ALIGN JUMP_ALIGN
    53 KeystrokeProcessing:
    54     call    Keyboard_GetKeystrokeToAX
    55     jnz     SHORT ProcessKeystrokeFromAX
    56     ret
     48    ; Fall to ProcessKeystrokeFromAX
    5749
    5850
     
    7466    xchg    ax, cx
    7567    call    .ProcessMenuSystemKeystrokeFromAX
    76     jc      SHORT .Return
     68    jc      SHORT NoKeystrokeToProcess
    7769    jmp     MenuEvent_KeyStrokeInAX
    78 ALIGN JUMP_ALIGN, ret
    79 .Return:
    80     ret
    8170
    8271;--------------------------------------------------------------------
  • trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm

    r67 r105  
    1 ; File name     :   MenuScrollbars.asm
    21; Project name  :   Assembly Library
    3 ; Created date  :   20.7.2010
    4 ; Last update   :   9.12.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Functions for drawing scroll bars over menu borders.
    73
     
    185181
    186182;--------------------------------------------------------------------
    187 ; .IsItemInCXonVisiblePage
     183; MenuScrollbars_IsItemInCXonVisiblePage
    188184;   Parameters
    189185;       CX:     Item whose visibility is to be checked
     
    197193ALIGN JUMP_ALIGN
    198194MenuScrollbars_IsItemInCXonVisiblePage:
    199     cmp     cx, [bp+MENUINIT.wItems]
    200     jae     SHORT .ItemIsNotVisible
    201 
    202195    cmp     cx, [bp+MENU.wFirstVisibleItem]
    203196    jb      SHORT .ItemIsNotVisible
     
    215208
    216209;--------------------------------------------------------------------
    217 ; MenuLocation_GetLastVisibleItemOnPageToAX
     210; MenuScrollbars_GetLastVisibleItemOnPageToAX
    218211;   Parameters
    219212;       SS:BP:  Ptr to MENU
  • trunk/Assembly_Library/Src/Menu/MenuTime.asm

    r62 r105  
    1 ; File name     :   MenuTime.asm
    21; Project name  :   Assembly Library
    3 ; Created date  :   25.7.2010
    4 ; Last update   :   30.11.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Menu timeouts other time related functions.
    73
     
    4137MenuTime_StopSelectionTimeout:
    4238    test    BYTE [bp+MENU.bFlags], FLG_MENU_TIMEOUT_COUNTDOWN
    43     jz      SHORT .TimeoutAlreadyStopped
     39    jz      SHORT TimeoutAlreadyStopped
    4440    and     BYTE [bp+MENU.bFlags], ~FLG_MENU_TIMEOUT_COUNTDOWN
    4541    jmp     MenuBorders_RedrawBottomBorderLine
    46 ALIGN JUMP_ALIGN
    47 .TimeoutAlreadyStopped:
    48     ret
    4942
    5043
     
    7770    call    MenuBorders_RedrawBottomBorderLine
    7871    clc
    79 ALIGN JUMP_ALIGN
    8072.ReturnSinceTimeoutDisabled:
     73TimeoutAlreadyStopped:
    8174    ret
    8275
Note: See TracChangeset for help on using the changeset viewer.