Changeset 67 in xtideuniversalbios for trunk/Assembly_Library/Src/Display


Ignore:
Timestamp:
Dec 9, 2010, 5:14:25 PM (14 years ago)
Author:
Tomi Tilli
google:author:
aitotat
Message:

Changes to Assembly Library:

  • Forgot to update SI on new File Read and Write functions.
  • Screen clearing function now accepts any character and attribute.
  • Menu library now accepts CR,LF combination as line feed. Previously only LF,CR worked properly.
Location:
trunk/Assembly_Library/Src/Display
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Display/Display.asm

    r45 r67  
    22; Project name  :   Assembly Library
    33; Created date  :   2.7.2010
    4 ; Last update   :   28.9.2010
     4; Last update   :   7.12.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Display Library functions for CALL_DISPLAY_LIBRARY macro
     
    9090    at  DISPLAY_LIB.PrintNewlineCharacters,                         dw  DisplayPrint_Newline
    9191    at  DISPLAY_LIB.ClearAreaWithHeightInAHandWidthInAL,            dw  DisplayPrint_ClearAreaWithHeightInAHandWidthInAL
    92     at  DISPLAY_LIB.ClearScreen,                                    dw  DisplayPrint_ClearScreen
     92    at  DISPLAY_LIB.ClearScreenWithCharInALandAttrInAH,             dw  DisplayPrint_ClearScreenWithCharInALandAttributeInAH
    9393iend
  • trunk/Assembly_Library/Src/Display/DisplayPrint.asm

    r52 r67  
    22; Project name  :   Assembly Library
    33; Created date  :   26.6.2010
    4 ; Last update   :   11.10.2010
     4; Last update   :   7.12.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Functions for display output.
     
    222222
    223223;--------------------------------------------------------------------
    224 ; DisplayPrint_ClearScreen
    225 ;   Parameters:
     224; DisplayPrint_ClearScreenWithCharInALandAttributeInAH
     225;   Parameters:
     226;       AL:     Character to clear with
     227;       AH:     Attribute to clear with
    226228;       DS:     BDA segment (zero)
    227229;       ES:DI:  Ptr to cursor location in video RAM
     
    232234;--------------------------------------------------------------------
    233235ALIGN JUMP_ALIGN
    234 DisplayPrint_ClearScreen:
     236DisplayPrint_ClearScreenWithCharInALandAttributeInAH:
    235237    push    di
     238    push    cx
     239
     240    xchg    cx, ax
    236241    xor     ax, ax
    237     call    DisplayCursor_SetCoordinatesFromAX
     242    call    DisplayCursor_SetCoordinatesFromAX      ; Updates DI
    238243    call    DisplayPage_GetColumnsToALandRowsToAH
    239     call    DisplayPrint_ClearAreaWithHeightInAHandWidthInAL
     244    mul     ah      ; AX = AL*AH = Characters on screen
     245    xchg    cx, ax  ; AX = Char+Attr, CX = WORDs to store
     246    rep stosw
     247
     248    pop     cx
    240249    pop     di
    241250    mov     [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition], di
Note: See TracChangeset for help on using the changeset viewer.