95 lines
2.5 KiB
Plaintext
95 lines
2.5 KiB
Plaintext
|
||
{*******************************************************}
|
||
{ }
|
||
{ Turbo Pascal Version 6.0 }
|
||
{ CRT Interface Unit }
|
||
{ }
|
||
{ Copyright (C) 1987, 1990 Borland International }
|
||
{ }
|
||
{*******************************************************}
|
||
|
||
unit Crt;
|
||
|
||
{$D-,I-,S-}
|
||
|
||
interface
|
||
|
||
const
|
||
|
||
{ CRT modes }
|
||
|
||
BW40 = 0; { 40x25 B/W on Color Adapter }
|
||
CO40 = 1; { 40x25 Color on Color Adapter }
|
||
BW80 = 2; { 80x25 B/W on Color Adapter }
|
||
CO80 = 3; { 80x25 Color on Color Adapter }
|
||
Mono = 7; { 80x25 on Monochrome Adapter }
|
||
Font8x8 = 256; { Add-in for ROM font }
|
||
|
||
{ Mode constants for 3.0 compatibility }
|
||
|
||
C40 = CO40;
|
||
C80 = CO80;
|
||
|
||
{ Foreground and background color constants }
|
||
|
||
Black = 0;
|
||
Blue = 1;
|
||
Green = 2;
|
||
Cyan = 3;
|
||
Red = 4;
|
||
Magenta = 5;
|
||
Brown = 6;
|
||
LightGray = 7;
|
||
|
||
{ Foreground color constants }
|
||
|
||
DarkGray = 8;
|
||
LightBlue = 9;
|
||
LightGreen = 10;
|
||
LightCyan = 11;
|
||
LightRed = 12;
|
||
LightMagenta = 13;
|
||
Yellow = 14;
|
||
White = 15;
|
||
|
||
{ Add-in for blinking }
|
||
|
||
Blink = 128;
|
||
|
||
var
|
||
|
||
{ Interface variables }
|
||
|
||
CheckBreak: Boolean; { Enable Ctrl-Break }
|
||
CheckEOF: Boolean; { Enable Ctrl-Z }
|
||
DirectVideo: Boolean; { Enable direct video addressing }
|
||
CheckSnow: Boolean; { Enable snow filtering }
|
||
LastMode: Word; { Current text mode }
|
||
TextAttr: Byte; { Current text attribute }
|
||
WindMin: Word; { Window upper left coordinates }
|
||
WindMax: Word; { Window lower right coordinates }
|
||
|
||
{ Interface procedures }
|
||
|
||
procedure AssignCrt(var F: Text);
|
||
function KeyPressed: Boolean;
|
||
function ReadKey: Char;
|
||
procedure TextMode(Mode: Integer);
|
||
procedure Window(X1,Y1,X2,Y2: Byte);
|
||
procedure GotoXY(X,Y: Byte);
|
||
function WhereX: Byte;
|
||
function WhereY: Byte;
|
||
procedure ClrScr;
|
||
procedure ClrEol;
|
||
procedure InsLine;
|
||
procedure DelLine;
|
||
procedure TextColor(Color: Byte);
|
||
procedure TextBackground(Color: Byte);
|
||
procedure LowVideo;
|
||
procedure HighVideo;
|
||
procedure NormVideo;
|
||
procedure Delay(MS: Word);
|
||
procedure Sound(Hz: Word);
|
||
procedure NoSound;
|
||
|
||
|