Changeset 568 in xtideuniversalbios for trunk/Assembly_Library/Src/Menu/MenuBorders.asm


Ignore:
Timestamp:
Dec 21, 2014, 5:37:53 PM (9 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • SerDrive: Using named pipe mode (serdrive -p) now works under Windows XP/2000/Server 2003.
  • checksum.pl: Added a compatibility fix for 3Com 3C503 cards.
  • XTIDECFG will now scan every possible segment address to find and load the BIOS and/or its settings from EEPROM. This should simplify things for people using combined option ROMs.
  • Fixed a bug from r521 in BootSector.asm where the BIOS would not display a timeout error if it failed to load the boot sector from harddrive.
  • Fixed a bug from r541 in CompatibleDPT.asm where CompatibleDPT_CreateDeviceParameterTableExtensionToESBXfromDPTinDSSI would generate an invalid checksum in the DPTE.
  • Optimizations and other fixes.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Menu/MenuBorders.asm

    r526 r568  
    5656    push    RefreshTitleBorders
    5757    push    MenuBorders_GetNumberOfMiddleCharactersToDX
    58     jmp     MenuBorders_AdjustDisplayContextForDrawingBorders
     58    jmp     SHORT MenuBorders_AdjustDisplayContextForDrawingBorders
    5959%endif
    6060
     
    120120    CALL_DISPLAY_LIBRARY SetCursorCoordinatesFromAX
    121121
    122     mov     si, ATTRIBUTE_CHARS.cBordersAndBackground
     122    xor     si, si      ; SI = ATTRIBUTE_CHARS.cBordersAndBackground
    123123    jmp     MenuAttribute_SetToDisplayContextFromTypeInSI
    124124
     
    141141
    142142;--------------------------------------------------------------------
     143; RefreshItemBorders
    143144; RefreshTitleBorders
    144 ;   Parameters
    145 ;       DX:     Number of times to repeat middle character
    146 ;       SS:BP:  Ptr to MENU
    147 ;   Returns:
    148 ;       Nothing
    149 ;   Corrupts registers:
    150 ;       AX, BX, CX, SI, DI
    151 ;--------------------------------------------------------------------
    152 ALIGN MENU_JUMP_ALIGN
    153 RefreshTitleBorders:
    154     call    DrawTopBorderLine
    155     eMOVZX  cx, [bp+MENUINIT.bTitleLines]
    156     jmp     SHORT DrawTextBorderLinesByCXtimes
    157 
    158 ;--------------------------------------------------------------------
    159145; RefreshInformationBorders
    160 ;   Parameters
    161 ;       DX:     Number of times to repeat middle character
    162 ;       SS:BP:  Ptr to MENU
    163 ;   Returns:
    164 ;       Nothing
    165 ;   Corrupts registers:
    166 ;       AX, BX, CX, SI, DI
    167 ;--------------------------------------------------------------------
    168 ALIGN MENU_JUMP_ALIGN
    169 RefreshInformationBorders:
    170     call    DrawSeparationBorderLine
    171     eMOVZX  cx, [bp+MENUINIT.bInfoLines]
    172     jmp     SHORT DrawTextBorderLinesByCXtimes
    173 
    174 ;--------------------------------------------------------------------
    175 ; RefreshItemBorders
    176146;   Parameters
    177147;       DX:     Number of times to repeat middle character
     
    186156    call    DrawSeparationBorderLine
    187157    call    MenuScrollbars_GetMaxVisibleItemsOnPageToCX
    188     ; Fall to DrawTextBorderLinesByCXtimes
    189 
    190 ;--------------------------------------------------------------------
     158    jmp     SHORT DrawTextBorderLinesByCXtimes
     159
     160ALIGN MENU_JUMP_ALIGN
     161RefreshTitleBorders:
     162    call    DrawTopBorderLine
     163    mov     cl, [bp+MENUINIT.bTitleLines]
     164    jmp     SHORT DrawTextBorderLinesByCLtimes
     165
     166ALIGN MENU_JUMP_ALIGN
     167RefreshInformationBorders:
     168    call    DrawSeparationBorderLine
     169    mov     cl, [bp+MENUINIT.bInfoLines]
     170    ; Fall to DrawTextBorderLinesByCLtimes
     171
     172;--------------------------------------------------------------------
     173; DrawTextBorderLinesByCLtimes
    191174; DrawTextBorderLinesByCXtimes
    192175;   Parameters
    193 ;       CX:     Number of border lines to draw
     176;       CL/CX:  Number of border lines to draw
    194177;       DX:     Number of times to repeat middle character
    195178;       SS:BP:  Ptr to MENU
     
    199182;       AX, CX, SI, DI
    200183;--------------------------------------------------------------------
     184DrawTextBorderLinesByCLtimes:
     185    xor     ch, ch
    201186DrawTextBorderLinesByCXtimes:
    202187    jcxz    .NoBorderLinesToDraw
     
    213198; DrawSeparationBorderLine
    214199; DrawBottomBorderLine
    215 ; DrawTimeoutCounterOverBottomBorderLine
    216200; DrawBottomShadowLine
    217201; DrawTextBorderLine
     
    242226
    243227    call    DrawTimeoutCounterString
     228    push    dx
    244229    sub     dx, BYTE MENU_TIMEOUT_STRING_CHARACTERS
    245230    mov     si, g_BottomBorderWithTimeoutCharacters
    246231    call    PrintBorderCharactersFromCSSIandShadowCharacter
    247     add     dx, BYTE MENU_TIMEOUT_STRING_CHARACTERS
     232    pop     dx
    248233    ret
    249234
     
    403388    mov     si, ATTRIBUTE_CHARS.cNormalTimeout
    404389    cmp     di, BYTE MENU_TIMEOUT_SECONDS_FOR_HURRY
    405     eCMOVB  si, ATTRIBUTE_CHARS.cHurryTimeout
     390    jnb     SHORT .NormalTimeout
     391    dec     si          ; SI = ATTRIBUTE_CHARS.cHurryTimeout
     392.NormalTimeout:
    406393    call    MenuAttribute_GetToAXfromTypeInSI
    407394
Note: See TracChangeset for help on using the changeset viewer.