Table of Contents

TPCrt

FrameWindow

procedure FrameWindow(LeftCol, TopRow, RightCol, BotRow, FAttr, HAttr : Byte; Header : shortstring);

Draw a frame around a window

WhereXAbs

function WhereXAbs: Byte;

Return absolute column coordinate of cursor

WhereYAbs

function WhereYAbs: Byte;

Return absolute row coordinate of cursor

WhereXY

function WhereXY: Word;

Return absolute coordinates of cursor

ScreenX

function ScreenX: Byte;

Return absolute column coordinate of cursor

ScreenY

function ScreenY: Byte;

Return absolute row coordinate of cursor

FastWrite

procedure FastWrite(St : string; Row, Col, Attr : Byte);

Write St at Row,Col in Attr (video attribute) without snow

SetFrameChars

procedure SetFrameChars(Vertical, Horizontal, LowerRight, UpperRight, LowerLeft, UpperLeft : Char);

Sets the frame characters to be used on subsequent FrameWindow calls.

WhereXYdirect

procedure WhereXYdirect(var X, Y : Byte);

Read the current position of the cursor directly from the CRT controller

GetCrtMode

function GetCrtMode : Byte;

Get the current video mode. Also reinitializes internal variables. May reset: CurrentMode, ScreenWidth, ScreenHeight, CurrentPage, and VideoSegment.

GotoXYAbs

procedure GotoXYAbs(X, Y : Byte);

Move cursor to column X, row Y. No error checking done.

SetVisiblePage

procedure SetVisiblePage(PageNum : Byte);

Set current video page

ScrollWindowUp

procedure ScrollWindowUp(XLo, YLo, XHi, YHi, Lines : Byte);

Scrolls the designated window up the specified number of lines.

ScrollWindowDown

procedure ScrollWindowDown(XLo, YLo, XHi, YHi, Lines : Byte);

Scrolls the designated window down the specified number of lines.

CursorTypeSL

function CursorTypeSL : Word;

Returns a word. High byte has starting scan line, low byte has ending.

CursorStartLine

function CursorStartLine : Byte;

Returns the starting scan line of the cursor

CursorEndLine

function CursorEndLine : Byte;

Returns the ending scan line of the cursor.

SetCursorSize

procedure SetCursorSize(Startline, EndLine : Byte);

Sets the cursor's starting and ending scan lines.

NormalCursor

procedure NormalCursor;

Set normal scan lines for cursor based on current video mode

FatCursor

procedure FatCursor;

Set larger scan lines for cursor based on current video mode

BlockCursor

procedure BlockCursor;

Set scan lines for a block cursor

HiddenCursor

procedure HiddenCursor;

Hide the cursor

ReadCharAtCursor

function ReadCharAtCursor: Char;

Returns character at the current cursor location on the selected page.

ReadAttrAtCursor

function ReadAttrAtCursor: Byte;

Returns attribute at the current cursor location on the selected page.

GetCursorState

procedure GetCursorState(var XY, ScanLines: Word);

Return the current position and size of the cursor

RestoreCursorState

procedure RestoreCursorState(XY, ScanLines: Word);

Reset the cursor to a position and size saved with GetCursorState

FastWriteWindow

procedure FastWriteWindow(St: string; Row, Col, Attr: Byte);

Write a string using window-relative coordinates

FastText

procedure FastText(St: string; Row, Col: Byte);

Write St at Row,Col without changing the underlying video attribute.

FastTextWindow

procedure FastTextWindow(St: string; Row, Col: Byte);

Write St at window Row,Col without changing the underlying video attribute.

FastVert

procedure FastVert(St: string; Row, Col, Attr: Byte);

Write St vertically at Row,Col in Attr (video attribute)

FastVertWindow

procedure FastVertWindow(St: string; Row, Col, Attr: Byte);

Write a string vertically using window-relative coordinates

FastFill

procedure FastFill(Number: Word; Ch: Char; Row, Col, Attr: Byte);

Fill Number chs at Row,Col in Attr (video attribute) without snow

FastFillWindow

procedure FastFillWindow(Number: Word; Ch: Char; Row, Col, Attr: Byte);

Fill Number chs at window Row,Col in Attr (video attribute) without snow

FastCenter

procedure FastCenter(St: string; Row, Attr: Byte);

Write St centered on window Row in Attr (video attribute) without snow

FastFlush

procedure FastFlush(St: string; Row, Attr: Byte);

Write St flush right on window Row in Attr (video attribute) without snow

FastRead

procedure FastRead(Number, Row, Col: Byte; var St: string);

Read Number characters from the screen into St starting at Row,Col

FastReadWindow

procedure FastReadWindow(Number, Row, Col: Byte; var St: string);

Read Number characters from the screen into St starting at window Row,Col

ReadAttribute

procedure ReadAttribute(Number, Row, Col: Byte; var St: string);

Read Number attributes from the screen into St starting at Row,Col

ReadAttributeWindow

procedure ReadAttributeWindow(Number, Row, Col: Byte; var St: string);

Read Number attributes from the screen into St starting at window Row,Col

WriteAttribute

procedure WriteAttribute(St: String; Row, Col: Byte);

Write string of attributes St at Row,Col without changing characters

WriteAttributeWindow

procedure WriteAttributeWindow(St: String; Row, Col: Byte);

Write string of attributes St at window Row,Col without changing characters

ChangeAttribute

procedure ChangeAttribute(Number: Word; Row, Col, Attr: Byte);

Change Number video attributes to Attr starting at Row,Col

ChangeAttributeWindow

procedure ChangeAttributeWindow(Number: Word; Row, Col, Attr: Byte);

Change Number video attributes to Attr starting at window Row,Col

MoveScreen

procedure MoveScreen(var Source, Dest; Length : Word);

Move Length words from Source to Dest without snow

FlexWrite

procedure FlexWrite(St : string; Row, Col : Byte; var FAttrs : FlexAttrs);

Write St at Row,Col with flexible color handling

FlexWriteWindow

procedure FlexWriteWindow(St :string; Row, Col: Byte; var FAttrs: FlexAttrs);

Write a string flexibly using window-relative coordinates.

SaveWindow

function SaveWindow(XLow, YLow, XHigh, YHigh : Byte; Allocate : Boolean; var Covers : Pointer) : Boolean;

Allocate buffer space if requested and save window contents

RestoreWindow

procedure RestoreWindow(XLow, YLow, XHigh, YHigh : Byte; Deallocate : Boolean; var Covers : Pointer);

Restore screen contents and deallocate buffer space if requested

StoreWindowCoordinates

procedure StoreWindowCoordinates(var WC : WindowCoordinates);

Store the window coordinates for the active window

RestoreWindowCoordinates

procedure RestoreWindowCoordinates(WC : WindowCoordinates);

Restore previously saved window coordinates

PackWindow

function PackWindow(XLow, YLow, XHigh, YHigh : Byte) : PackedWindowPtr;

Return a pointer to a packed window, or nil if not enough memory

DispPackedWindow

procedure DispPackedWindow(PWP : PackedWindowPtr);

Display the packed window pointed to by PWP

DispPackedWindowAt

procedure DispPackedWindowAt(PWP : PackedWindowPtr; Row, Col : Byte);

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

procedure MapPackedWindowColors(PWP : PackedWindowPtr);

Map the colors in a packed window for improved appearance on mono/B&W displays

DisposePackedWindow

procedure DisposePackedWindow(var PWP : PackedWindowPtr);

Dispose of a packed window, setting PWP to nil on exit

WritePackedWindow

procedure WritePackedWindow(PWP : PackedWindowPtr; FName : string);

Store the packed window pointed to by PWP in FName

ReadPackedWindow

function ReadPackedWindow(FName : string) : PackedWindowPtr;

Read the packed window stored in FName into memory

CreateLibrary

function CreateLibrary(var F : file; Name : string; Entries : Byte) : DirectoryPtr;

Create a library with the specified # of directory entries

OpenLibrary

function OpenLibrary(var F : file; Name : string) : DirectoryPtr;

Open the specified library and return a pointer to its directory

CloseLibrary

procedure CloseLibrary(var F : file; var DP : DirectoryPtr);

Close library F and deallocate its directory

PackLibrary

procedure PackLibrary(LName : string);

Pack a library to remove deleted entries.

AddWindowToLibrary

procedure AddWindowToLibrary(PWP : PackedWindowPtr; var F : file; DP : DirectoryPtr; WinName : LibName);

Add a packed window to the specified library

ReadWindowFromLibrary

function ReadWindowFromLibrary(var F : file; DP : DirectoryPtr; WinName : LibName) : PackedWindowPtr;

Read a packed window from a library

DeleteWindowFromLibrary

procedure DeleteWindowFromLibrary(var F : file; DP : DirectoryPtr; WinName : LibName);

Delete a packed window from the specified library

MapColor

function MapColor(c : Byte) : Byte;

Map a video attribute for visibility on mono/bw displays

procedure SetBlink(Status : Boolean);

Enable text mode attribute blinking if On is True

SetCrtBorder

procedure SetCrtBorder(Attr : Byte);

Set border to background color if card type and mode allow

Font8x8Selected

function Font8x8Selected : Boolean;

Return True if EGA or VGA is active and in 8×8 font

SelectFont8x8

procedure SelectFont8x8(Status : Boolean);

Toggle 8×8 font on or off

HercPresent

function HercPresent : Boolean;

Return true if a Hercules graphics card is present

SwitchInColorCard

procedure SwitchInColorCard(ColorOn : Boolean);

Activate or deactivate colors on a Hercules InColor card

HercGraphicsMode

function HercGraphicsMode : Boolean;

Return True if a Hercules card is in graphics mode

HercModeTestWorks

function HercModeTestWorks : Boolean;

Return True if HercGraphicsMode will work

SetHercMode

procedure SetHercMode(GraphMode : Boolean; GraphPage : Byte);

Set Hercules card to graphics mode or text mode, and activate specified graphics page (if switching to graphics mode).

ReadKeyWord

function ReadKeyWord : Word;

Waits for keypress, then returns scan and character codes together

CheckKbd

function CheckKbd(var KeyCode : Word) : Boolean;

Returns True (and the key codes) if a keystroke is waiting

KbdFlags

function KbdFlags : Byte;

Returns keyboard status flags as a bit-coded byte

StuffKey

procedure StuffKey(W : Word);

Stuff one key into the keyboard buffer

StuffString

procedure StuffString(S : string);

Stuff the contents of S into the keyboard buffer

ReInitCrt

procedure ReInitCrt;

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

procedure SetSafeCPSwitching(F: Boolean);

SetUseACP

procedure SetUseACP(F: Boolean);

AssignConToCrt

procedure AssignConToCrt;

ClrScr

procedure ClrScr;

Clears the screen and returns the cursor to the upper-left corner

TextBackground

procedure TextBackground(Color: Byte);

Selects the background color

TextColor

procedure TextColor(Color: Byte);

Selects the foreground character color

Window

procedure Window(X1,Y1,X2,Y2: Byte);

Defines a text window on the screen

GotoXY

procedure GotoXY(X,Y: Byte);

Moves the cursor to the given coordinates within the screen

WhereX

function WhereX: Byte;

Returns the X coordinate of the current cursor location

WhereY

function WhereY: Byte;

Returns the Y coordinate of the current cursor location

ClrEol

procedure ClrEol;

Clears all characters from the cursor position to the end of the line without moving the cursor.

KeyPressed

function KeyPressed: Boolean;

Determines if a key has been pressed on the keyboard and returns True if a key has been pressed

ReadKey

function ReadKey: Char;

Reads a character from the keyboard and returns a character or an extended scan code.

TextMode

procedure TextMode (Mode: word);

InsLine

procedure InsLine;

Inserts an empty line at the cursor position

DelLine

procedure DelLine;

Deletes the line containing the cursor

LowVideo

procedure LowVideo;

Selects low intensity characters

HighVideo

procedure HighVideo;

Selects high-intensity characters

NormVideo

procedure NormVideo;

Selects normal intensity characters

Delay

procedure Delay(MS: Word);

Sound

procedure Sound(Hz: Word);

NoSound

procedure NoSound;

AssignCrt

procedure AssignCrt(var F: Text);

Associates a text file with CRT device.

PlaySound

procedure PlaySound(Freq,Duration: Longint);

Setups window coordinates

GetLastMode

procedure GetLastMode;