en:docs:tpro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:tpro [2025/02/08 05:48] prokusheven:docs:tpro [2025/02/08 13:36] (current) prokushev
Line 95: Line 95:
 Returns a word. High byte has starting scan line, low byte has ending. Returns a word. High byte has starting scan line, low byte has ending.
  
-function CursorStartLine : Byte; +===== CursorStartLine ===== 
-  {-Returns the starting scan line of the cursor}+  
 +<code pascal>function CursorStartLine : Byte;</code>
  
-function CursorEndLine : Byte; +Returns the starting scan line of the cursor
-  {-Returns the ending scan line of the cursor.}+
  
-procedure SetCursorSize(Startline, EndLine : Byte); +===== CursorEndLine =====
-  {-Sets the cursor's starting and ending scan lines.}+
  
-procedure NormalCursor; +<code pascal>function CursorEndLine : Byte;</code>
-  {-Set normal scan lines for cursor based on current video mode}+
  
-procedure FatCursor; +Returns the ending scan line of the cursor.
-  {-Set larger scan lines for cursor based on current video mode}+
  
-procedure BlockCursor; +===== SetCursorSize =====
-  {-Set scan lines for a block cursor}+
  
-procedure HiddenCursor; +<code pascal>procedure SetCursorSize(Startline, EndLine : Byte);</code>
-  {-Hide the cursor}+
  
-function ReadCharAtCursor : Char; +Sets the cursor's starting and ending scan lines.
-  {-Returns character at the current cursor location on the selected page.}+
  
-function ReadAttrAtCursor : Byte; +===== NormalCursor =====
-  {-Returns attribute at the current cursor location on the selected page.}+
  
-procedure GetCursorState(var XY, ScanLines : Word); +<code pascal>procedure NormalCursor;</code>
-  {-Return the current position and size of the cursor}+
  
-procedure RestoreCursorState(XY, ScanLines : Word); +Set normal scan lines for cursor based on current video mode
-  {-Reset the cursor to a position and size saved with GetCursorState}+
  
-procedure FastWriteWindow(St : string; Row, Col, Attr : Byte); +===== FatCursor =====
-  {-Write a string using window-relative coordinates}+
  
-procedure FastText(St : stringRow, Col : Byte); +<code pascal>procedure FatCursor;</code>
-  {-Write St at Row,Col without changing the underlying video attribute.}+
  
-procedure FastTextWindow(St : string; Row, Col : Byte); +Set larger scan lines for cursor based on current video mode
-  {-Write St at window Row,Col without changing the underlying video attribute.}+
  
-procedure FastVert(St : string; Row, Col, Attr : Byte); +===== BlockCursor =====
-  {-Write St vertically at Row,Col in Attr (video attribute)}+
  
-procedure FastVertWindow(St : stringRow, Col, Attr : Byte); +<code pascal>procedure BlockCursor;</code>
-  {-Write a string vertically using window-relative coordinates}+
  
-procedure FastFill(Number : Word; Ch : Char; Row, Col, Attr : Byte); +Set scan lines for a block cursor
-  {-Fill Number chs at Row,Col in Attr (video attribute) without snow}+
  
-procedure FastFillWindow(Number : Word; Ch : Char; Row, Col, Attr : Byte); +===== HiddenCursor =====
-  {-Fill Number chs at window Row,Col in Attr (video attribute) without snow}+
  
-procedure FastCenter(St : stringRow, Attr : Byte); +<code pascal>procedure HiddenCursor;</code>
-  {-Write St centered on window Row in Attr (video attribute) without snow}+
  
-procedure FastFlush(St : string; Row, Attr : Byte); +Hide the cursor
-  {-Write St flush right on window Row in Attr (video attribute) without snow}+
  
-procedure FastRead(Number, Row, Col : Byte; var St : string); +===== ReadCharAtCursor =====
-  {-Read Number characters from the screen into St starting at Row,Col}+
  
-procedure FastReadWindow(Number, Row, Col Bytevar St : string); +<code pascal>function ReadCharAtCursorChar;</code>
-  {-Read Number characters from the screen into St starting at window Row,Col}+
  
-procedure ReadAttribute(Number, Row, Col : Byte; var St : string); +Returns character at the current cursor location on the selected page.
-  {-Read Number attributes from the screen into St starting at Row,Col}+
  
-procedure ReadAttributeWindow(Number, Row, Col : Byte; var St : string); +===== ReadAttrAtCursor =====
-  {-Read Number attributes from the screen into St starting at window Row,Col}+
  
-procedure WriteAttribute(St : String; Row, Col : Byte); +<code pascal>function ReadAttrAtCursor: Byte;</code>
-  {-Write string of attributes St at Row,Col without changing characters}+
  
-procedure WriteAttributeWindow(St : String; Row, Col : Byte); +Returns attribute at the current cursor location on the selected page.
-  {-Write string of attributes St at window Row,Col without changing characters}+
  
-procedure ChangeAttribute(Number : Word; Row, Col, Attr : Byte); +===== GetCursorState =====
-  {-Change Number video attributes to Attr starting at Row,Col}+
  
-procedure ChangeAttributeWindow(Number : Word; Row, Col, Attr : Byte); +<code pascal>procedure GetCursorState(var XY, ScanLines: Word);</code>
-  {-Change Number video attributes to Attr starting at window Row,Col}+
  
-procedure MoveScreen(var Source, Dest; Length : Word); +Return the current position and size of the cursor
-  {-Move Length words from Source to Dest without snow}+
  
-procedure FlexWrite(St : string; Row, Col : Byte; var FAttrs : FlexAttrs); +===== RestoreCursorState =====
-  {-Write St at Row,Col with flexible color handling}+
  
-procedure FlexWriteWindow(St : string; RowCol : Byte; var FAttrs FlexAttrs); +<code pascal>procedure RestoreCursorState(XYScanLinesWord);</code>
-  {-Write a string flexibly using window-relative coordinates.}+
  
-function SaveWindow(XLow, YLow, XHigh, YHigh : Byte; Allocate : Boolean; +Reset the cursor to a position and size saved with GetCursorState
-                    var Covers : Pointer) : Boolean; +
-  {-Allocate buffer space if requested and save window contents}+
  
-procedure RestoreWindow(XLow, YLow, XHigh, YHigh : Byte; +===== FastWriteWindow =====
-                        Deallocate : Boolean; var Covers : Pointer); +
-  {-Restore screen contents and deallocate buffer space if requested}+
  
-procedure StoreWindowCoordinates(var WC WindowCoordinates); +<code pascal>procedure FastWriteWindow(Ststring; Row, Col, Attr: Byte);</code>
-  {-Store the window coordinates for the active window}+
  
-procedure RestoreWindowCoordinates(WC : WindowCoordinates); +Write a string using window-relative coordinates
-  {-Restore previously saved window coordinates}+
  
-function PackWindow(XLow, YLow, XHigh, YHigh : Byte) : PackedWindowPtr; +===== FastText =====
-  {-Return a pointer to a packed window, or nil if not enough memory}+
  
-procedure DispPackedWindow(PWP PackedWindowPtr); +<code pascal>procedure FastText(Ststring; Row, Col: Byte);</code>
-  {-Display the packed window pointed to by PWP}+
  
-procedure DispPackedWindowAt(PWP : PackedWindowPtr; Row, Col : Byte); +Write St at Row,Col without changing the underlying video attribute.
-  {-Display the packed window pointed to by PWP at Row,Col. If necessary, +
-   the coordinates are adjusted to allow it to fit on the screen.}+
  
-procedure MapPackedWindowColors(PWP : PackedWindowPtr); +===== FastTextWindow =====
-  {-Map the colors in a packed window for improved appearance on mono/B&+
-   displays}+
  
-procedure DisposePackedWindow(var PWP PackedWindowPtr); +<code pascal>procedure FastTextWindow(StstringRowCol: Byte);</code>
-  {-Dispose of a packed windowsetting PWP to nil on exit}+
  
-procedure WritePackedWindow(PWP : PackedWindowPtr; FName : string); +Write St at window Row,Col without changing the underlying video attribute.
-  {-Store the packed window pointed to by PWP in FName}+
  
-function ReadPackedWindow(FName : string) : PackedWindowPtr; +===== FastVert =====
-  {-Read the packed window stored in FName into memory}+
  
-function CreateLibrary(var F : file; Name : string; +<code pascal>procedure FastVert(St: string; Row, Col, Attr: Byte);</code>
-                       Entries : Byte) : DirectoryPtr; +
-  {-Create a library with the specified # of directory entries}+
  
-function OpenLibrary(var F : file; Name : string: DirectoryPtr; +Write St vertically at Row,Col in Attr (video attribute)
-  {-Open the specified library and return a pointer to its directory}+
  
-procedure CloseLibrary(var F : file; var DP : DirectoryPtr); +===== FastVertWindow =====
-  {-Close library F and deallocate its directory}+
  
-procedure PackLibrary(LName : string); +<code pascal>procedure FastVertWindow(St: string; Row, Col, Attr: Byte);</code>
-  {-Pack a library to remove deleted entries.}+
  
-procedure AddWindowToLibrary(PWP : PackedWindowPtr; var F : file; +Write string vertically using window-relative coordinates
-                             DP : DirectoryPtr; WinName : LibName); +
-  {-Add packed window to the specified library}+
  
-function ReadWindowFromLibrary(var F : file; DP : DirectoryPtr; +===== FastFill =====
-                               WinName : LibName) : PackedWindowPtr; +
-  {-Read a packed window from a library}+
  
-procedure DeleteWindowFromLibrary(var F fileDP DirectoryPtr; +<code pascal>procedure FastFill(NumberWordChCharRow, Col, AttrByte);</code>
-                                  WinName LibName); +
-  {-Delete a packed window from the specified library}+
  
-function MapColor(c : Byte) : Byte; +Fill Number chs at Row,Col in Attr (video attribute) without snow
-  {-Map a video attribute for visibility on mono/bw displays}+
  
-procedure SetBlink(Status : Boolean); +===== FastFillWindow =====
-  {-Enable text mode attribute blinking if On is True}+
  
-procedure SetCrtBorder(Attr : Byte); +<code pascal>procedure FastFillWindow(Number: Word; Ch: Char; Row, Col, Attr: Byte);</code>
-  {-Set border to background color if card type and mode allow}+
  
-function Font8x8Selected : Boolean; +Fill Number chs at window Row,Col in Attr (video attribute) without snow
-  {-Return True if EGA or VGA is active and in 8x8 font}+
  
-procedure SelectFont8x8(Status : Boolean); +===== FastCenter =====
-  {-Toggle 8x8 font on or off}+
  
-function HercPresent Boolean; +<code pascal>procedure FastCenter(StstringRow, Attr: Byte);</code>
-  {-Return true if a Hercules graphics card is present}+
  
-procedure SwitchInColorCard(ColorOn : Boolean)+Write St centered on window Row in Attr (video attributewithout snow
-  {-Activate or deactivate colors on a Hercules InColor card}+
  
-function HercGraphicsMode : Boolean; +===== FastFlush =====
-  {-Return True if a Hercules card is in graphics mode}+
  
-function HercModeTestWorks Boolean; +<code pascal>procedure FastFlush(StstringRow, Attr: Byte);</code>
-  {-Return True if HercGraphicsMode will work}+
  
-procedure SetHercMode(GraphMode : Boolean; GraphPage : Byte)+Write St flush right on window Row in Attr (video attributewithout snow
-  {-Set Hercules card to graphics mode or text mode, and activate specified +
-   graphics page (if switching to graphics mode).}+
  
-function ReadKeyWord : Word; +===== FastRead =====
-  {-Waits for keypress, then returns scan and character codes together}+
  
-function CheckKbd(var KeyCode Word: Boolean; +<code pascal>procedure FastRead(Number, Row, Col: Byte; var Ststring);</code>
-  {-Returns True (and the key codes) if a keystroke is waiting}+
  
-function KbdFlags : Byte; +Read Number characters from the screen into St starting at Row,Col
-  {-Returns keyboard status flags as a bit-coded byte}+
  
-procedure StuffKey(W : Word); +===== FastReadWindow =====
-  {-Stuff one key into the keyboard buffer}+
  
-procedure StuffString(: string); +<code pascal>procedure FastReadWindow(Number, Row, Col: Byte; var St: string);</code>
-  {-Stuff the contents of S into the keyboard buffer}+
  
-procedure ReInitCrt; +Read Number characters from the screen into St starting at window Row,Col
-  {-Reinitialize CRT unit's internal variables. For TSR's or programs with +
-   DOS shells. May reset: CurrentModeScreenWidth, ScreenHeight, +
-   WindMin/WindMax, CurrentPage, CurrentDisplay, CheckSnow, and VideoSegment}+
  
-{$ifdef WIN32} +===== ReadAttribute ===== 
-procedure SetSafeCPSwitching(FBoolean); +<code pascal>procedure ReadAttribute(Number, Row, ColBytevar Ststring);</code>
-procedure SetUseACP(FBoolean); +
-{$ENDIF}+
  
 +Read Number attributes from the screen into St starting at Row,Col
  
-procedure AssignConToCrt;+===== ReadAttributeWindow =====
  
-procedure ClrScr; +<code pascal>procedure ReadAttributeWindow(Number, Row, Col: Bytevar St: string);</code>
-  {-Clears the screen and returns the cursor to the upper-left corner}+
  
-procedure TextBackground(Color: Byte); +Read Number attributes from the screen into St starting at window Row,Col
-  {-Selects the background color}+
  
-procedure TextColor(Color: Byte); +===== WriteAttribute =====
-  {-Selects the foreground character color}+
  
-procedure Window(X1,Y1,X2,Y2: Byte); +<code pascal>procedure WriteAttribute(St: String; RowCol: Byte);</code>
-  {-Defines a text window on the screen}+
  
-procedure GotoXY(X,Y: Byte); +Write string of attributes St at Row,Col without changing characters
-  {-Moves the cursor to the given coordinates within the screen}+
  
-function WhereX: Byte; +===== WriteAttributeWindow =====
-  {-Returns the X coordinate of the current cursor location}+
  
-function WhereY: Byte; +<code pascal>procedure WriteAttributeWindow(St: String; Row, Col: Byte);</code>
-  {-Returns the Y coordinate of the current cursor location}+
  
-procedure ClrEol; +Write string of attributes St at window Row,Col without changing characters
-  {-Clears all characters from the cursor position to the end of the line } +
-  { without moving the cursor.                                            }+
  
-function KeyPressed: Boolean; +===== ChangeAttribute =====
-  {-Determines if a key has been pressed on the keyboard and returns True } +
-  { if a key has been pressed                                             }+
  
-function ReadKeyChar; +<code pascal>procedure ChangeAttribute(Number: Word; Row, Col, AttrByte);</code>
-  {-Reads a character from the keyboard and returns a character or an     } +
-  { extended scan code.                                                   }+
  
-procedure TextMode (Mode: word); +Change Number video attributes to Attr starting at Row,Col
-procedure InsLine; +
-  {-Inserts an empty line at the cursor position}+
  
-procedure DelLine; +===== ChangeAttributeWindow =====
-  {-Deletes the line containing the cursor}+
  
-procedure LowVideo; +<code pascal>procedure ChangeAttributeWindow(Number: WordRow, Col, Attr: Byte);</code>
-  {-Selects low intensity characters}+
  
-procedure HighVideo; +Change Number video attributes to Attr starting at window Row,Col
-  {-Selects high-intensity characters}+
  
-procedure NormVideo; +===== MoveScreen =====
-  {-Selects normal intensity characters}+
  
-procedure Delay(MS: Word); +<code pascal>procedure MoveScreen(var Source, DestLength : Word);</code>
-procedure Sound(Hz: Word); +
-procedure NoSound; +
-procedure AssignCrt(var F: Text); +
-  {-Associates a text file with CRT device.}+
  
-procedure PlaySound(Freq,Duration: Longint); +Move Length words from Source to Dest without snow 
-  {-Setups window coordinates }+ 
 +===== FlexWrite ===== 
 + 
 +<code pascal>procedure FlexWrite(St : string; Row, Col : Byte; var FAttrs : FlexAttrs);</code> 
 + 
 +Write St at Row,Col with flexible color handling 
 + 
 +===== FlexWriteWindow ===== 
 + 
 +<code pascal>procedure FlexWriteWindow(St :string; Row, Col: Byte; var FAttrs: FlexAttrs);</code> 
 + 
 +Write a string flexibly using window-relative coordinates. 
 + 
 +===== SaveWindow ===== 
 + 
 +<code pascal>function SaveWindow(XLow, YLow, XHigh, YHigh : Byte; Allocate : Boolean; var Covers : Pointer) : Boolean;</code> 
 + 
 +Allocate buffer space if requested and save window contents 
 + 
 +===== RestoreWindow ===== 
 + 
 +<code pascal>procedure RestoreWindow(XLow, YLow, XHigh, YHigh : Byte; Deallocate : Boolean; var Covers : Pointer);</code> 
 + 
 +Restore screen contents and deallocate buffer space if requested 
 + 
 +===== StoreWindowCoordinates ===== 
 + 
 +<code pascal>procedure StoreWindowCoordinates(var WC : WindowCoordinates);</code> 
 + 
 +Store the window coordinates for the active window 
 + 
 +===== RestoreWindowCoordinates ===== 
 + 
 +<code pascal>procedure RestoreWindowCoordinates(WC : WindowCoordinates);</code> 
 + 
 +Restore previously saved window coordinates 
 + 
 +===== PackWindow ===== 
 + 
 +<code pascal>function PackWindow(XLow, YLow, XHigh, YHigh : Byte) : PackedWindowPtr;</code> 
 + 
 +Return a pointer to a packed window, or nil if not enough memory 
 + 
 +===== DispPackedWindow ===== 
 + 
 +<code pascal>procedure DispPackedWindow(PWP : PackedWindowPtr);</code> 
 + 
 +Display the packed window pointed to by PWP 
 + 
 +===== DispPackedWindowAt ===== 
 + 
 +<code pascal>procedure DispPackedWindowAt(PWP : PackedWindowPtr; Row, Col : Byte);</code> 
 + 
 +Display the packed window pointed to by PWP at Row,Col. If necessary, the coordinates are adjusted to allow it to fit on the screen. 
 + 
 +===== MapPackedWindowColors ===== 
 + 
 +<code pascal>procedure MapPackedWindowColors(PWP : PackedWindowPtr);</code> 
 + 
 +Map the colors in a packed window for improved appearance on mono/B&W displays 
 + 
 +===== DisposePackedWindow ===== 
 + 
 +<code pascal>procedure DisposePackedWindow(var PWP : PackedWindowPtr);</code> 
 + 
 +Dispose of a packed window, setting PWP to nil on exit 
 + 
 +===== WritePackedWindow ===== 
 + 
 +<code pascal>procedure WritePackedWindow(PWP : PackedWindowPtr; FName : string);</code> 
 + 
 +Store the packed window pointed to by PWP in FName 
 + 
 +===== ReadPackedWindow ===== 
 + 
 +<code pascal>function ReadPackedWindow(FName : string) : PackedWindowPtr;</code> 
 + 
 +Read the packed window stored in FName into memory 
 + 
 +===== CreateLibrary ===== 
 + 
 +<code pascal>function CreateLibrary(var F : file; Name : string; Entries : Byte) : DirectoryPtr;</code> 
 + 
 +Create a library with the specified # of directory entries 
 + 
 +===== OpenLibrary ===== 
 + 
 +<code pascal>function OpenLibrary(var F : file; Name : string) : DirectoryPtr;</code> 
 + 
 +Open the specified library and return a pointer to its directory 
 + 
 +===== CloseLibrary ===== 
 + 
 +<code pascal>procedure CloseLibrary(var F : file; var DP : DirectoryPtr);</code> 
 + 
 +Close library F and deallocate its directory 
 + 
 +===== PackLibrary ===== 
 + 
 +<code pascal>procedure PackLibrary(LName : string);</code> 
 + 
 +Pack a library to remove deleted entries. 
 + 
 +===== AddWindowToLibrary ===== 
 + 
 +<code pascal>procedure AddWindowToLibrary(PWP : PackedWindowPtr; var F : file; DP : DirectoryPtr; WinName : LibName);</code> 
 + 
 +Add a packed window to the specified library 
 + 
 +===== ReadWindowFromLibrary ===== 
 + 
 +<code pascal>function ReadWindowFromLibrary(var F : file; DP : DirectoryPtr; WinName : LibName) : PackedWindowPtr;</code> 
 + 
 +Read a packed window from a library 
 + 
 +===== DeleteWindowFromLibrary ===== 
 + 
 +<code pascal>procedure DeleteWindowFromLibrary(var F : file; DP : DirectoryPtr; WinName : LibName);</code> 
 + 
 +Delete a packed window from the specified library 
 + 
 +===== MapColor ===== 
 + 
 +<code pascal>function MapColor(c : Byte) : Byte;</code> 
 + 
 +Map a video attribute for visibility on mono/bw displays 
 + 
 +===== SetBlink ===== 
 + 
 +<code pascal>procedure SetBlink(Status : Boolean);</code> 
 + 
 +Enable text mode attribute blinking if On is True 
 + 
 +===== SetCrtBorder ===== 
 + 
 +<code pascal>procedure SetCrtBorder(Attr : Byte);</code> 
 + 
 +Set border to background color if card type and mode allow 
 + 
 +===== Font8x8Selected ===== 
 + 
 +<code pascal>function Font8x8Selected : Boolean;</code> 
 + 
 +Return True if EGA or VGA is active and in 8x8 font 
 + 
 +===== SelectFont8x8 ===== 
 + 
 +<code pascal>procedure SelectFont8x8(Status : Boolean);</code> 
 + 
 +Toggle 8x8 font on or off 
 + 
 +===== HercPresent ===== 
 + 
 +<code oascal>function HercPresent : Boolean;</code> 
 + 
 +Return true if a Hercules graphics card is present 
 + 
 +===== SwitchInColorCard ===== 
 + 
 +<code pascal>procedure SwitchInColorCard(ColorOn : Boolean);</code> 
 + 
 +Activate or deactivate colors on a Hercules InColor card 
 + 
 +===== HercGraphicsMode ===== 
 + 
 +<code pascal>function HercGraphicsMode : Boolean;</code> 
 + 
 +Return True if a Hercules card is in graphics mode 
 + 
 +===== HercModeTestWorks ===== 
 + 
 +<code pascal>function HercModeTestWorks : Boolean;</code> 
 + 
 +Return True if HercGraphicsMode will work 
 + 
 +===== SetHercMode ===== 
 + 
 +<code pascal>procedure SetHercMode(GraphMode : Boolean; GraphPage : Byte);</code> 
 + 
 +Set Hercules card to graphics mode or text mode, and activate specified graphics page (if switching to graphics mode). 
 + 
 +===== ReadKeyWord ===== 
 + 
 +<code pascal>function ReadKeyWord : Word;</code> 
 + 
 +Waits for keypress, then returns scan and character codes together 
 + 
 +===== CheckKbd ===== 
 + 
 +<code pascal>function CheckKbd(var KeyCode : Word) : Boolean;</code> 
 + 
 +Returns True (and the key codes) if a keystroke is waiting 
 + 
 +===== KbdFlags ===== 
 + 
 +<code pascal>function KbdFlags : Byte;</code> 
 + 
 +Returns keyboard status flags as a bit-coded byte 
 + 
 +===== StuffKey ===== 
 + 
 +<code pascal>procedure StuffKey(W : Word);</code> 
 + 
 +Stuff one key into the keyboard buffer 
 + 
 +===== StuffString ===== 
 + 
 +<code pascal>procedure StuffString(S : string);</code> 
 + 
 +Stuff the contents of S into the keyboard buffer 
 + 
 +===== ReInitCrt ===== 
 + 
 +<code pascal>procedure ReInitCrt;</code> 
 + 
 +Reinitialize CRT unit's internal variables. For TSR's or programs with DOS shells. May reset: CurrentMode, ScreenWidth, ScreenHeight, WindMin/WindMax, CurrentPage, CurrentDisplay, CheckSnow, and VideoSegment 
 + 
 +===== SetSafeCPSwitching ===== 
 + 
 +<code psacal>procedure SetSafeCPSwitching(F: Boolean);</code> 
 + 
 +===== SetUseACP ===== 
 + 
 +<code pascal>procedure SetUseACP(F: Boolean);</code> 
 + 
 + 
 +===== AssignConToCrt ===== 
 + 
 +<code pascal>procedure AssignConToCrt;</code> 
 + 
 +===== ClrScr ===== 
 + 
 +<code psacal>procedure ClrScr;</code> 
 + 
 +Clears the screen and returns the cursor to the upper-left corner 
 + 
 +===== TextBackground ===== 
 + 
 +<code pascal>procedure TextBackground(Color: Byte);</code> 
 + 
 +Selects the background color 
 + 
 +===== TextColor ===== 
 + 
 +<code pascal>procedure TextColor(Color: Byte);</code> 
 + 
 +Selects the foreground character color 
 + 
 +===== Window ===== 
 + 
 +<code pascal>procedure Window(X1,Y1,X2,Y2: Byte);</code> 
 + 
 +Defines a text window on the screen 
 + 
 +===== GotoXY ===== 
 + 
 +<code pascal>procedure GotoXY(X,Y: Byte);</code> 
 + 
 +Moves the cursor to the given coordinates within the screen 
 + 
 +===== WhereX ===== 
 + 
 +<code pascal>function WhereX: Byte;</code> 
 + 
 +Returns the X coordinate of the current cursor location 
 + 
 +===== WhereY ===== 
 + 
 +<code pascal>function WhereY: Byte;</code> 
 + 
 +Returns the Y coordinate of the current cursor location 
 + 
 +===== ClrEol ===== 
 + 
 +<code pascal>procedure ClrEol;</code> 
 + 
 +Clears all characters from the cursor position to the end of the line without moving the cursor. 
 + 
 +===== KeyPressed ===== 
 + 
 +<code pascal>function KeyPressed: Boolean;</code> 
 + 
 +Determines if a key has been pressed on the keyboard and returns True if a key has been pressed 
 + 
 +===== ReadKey ===== 
 + 
 +<code pascal>function ReadKey: Char;</code> 
 + 
 +Reads a character from the keyboard and returns a character or an extended scan code. 
 + 
 +===== TextMode ===== 
 + 
 +<code pascal>procedure TextMode (Mode: word);</code> 
 + 
 +===== InsLine ===== 
 + 
 +<code pascal>procedure InsLine;</code> 
 + 
 +Inserts an empty line at the cursor position 
 + 
 +===== DelLine ===== 
 + 
 +<code pascal>procedure DelLine;</code> 
 + 
 +Deletes the line containing the cursor 
 + 
 +===== LowVideo ===== 
 + 
 +<code pascal>procedure LowVideo;</code> 
 + 
 +Selects low intensity characters 
 + 
 +===== HighVideo ===== 
 + 
 +<code pascal>procedure HighVideo;</code> 
 + 
 +Selects high-intensity characters 
 + 
 +===== NormVideo ===== 
 + 
 +<code pascal>procedure NormVideo;</code> 
 + 
 +Selects normal intensity characters 
 + 
 +===== Delay ===== 
 + 
 +<code pascal>procedure Delay(MS: Word);</code> 
 + 
 +===== Sound ===== 
 + 
 +<code pascal>procedure Sound(Hz: Word);</code> 
 + 
 +===== NoSound ===== 
 + 
 +<code pascal>procedure NoSound;</code> 
 + 
 +===== AssignCrt ===== 
 + 
 +<code pascal>procedure AssignCrt(var F: Text);</code> 
 + 
 +Associates a text file with CRT device. 
 + 
 +===== PlaySound ===== 
 + 
 +<code pascal>procedure PlaySound(Freq,Duration: Longint);</code> 
 + 
 +Setups window coordinates  
 + 
 +===== GetLastMode ===== 
 + 
 +<code pascal>procedure GetLastMode;</code>
  
-procedure GetLastMode;