home *** CD-ROM | disk | FTP | other *** search
/ Gambler 29 B / GAMBLERCD29B.BIN / Tech / TPpatch / BPPATCH.ZIP / CRT.PAS < prev    next >
Pascal/Delphi Source File  |  1997-04-15  |  3KB  |  139 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Turbo Pascal Runtime Library                    }
  5. {       CRT Interface Unit                              }
  6. {                                                       }
  7. {       Copyright (C) 1988,92 Borland International     }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit Crt;
  12.  
  13. {$I-,S-}
  14.  
  15. interface
  16.  
  17. const
  18.  
  19. { CRT modes }
  20.  
  21.   BW40          = 0;            { 40x25 B/W on Color Adapter }
  22.   CO40          = 1;            { 40x25 Color on Color Adapter }
  23.   BW80          = 2;            { 80x25 B/W on Color Adapter }
  24.   CO80          = 3;            { 80x25 Color on Color Adapter }
  25.   Mono          = 7;            { 80x25 on Monochrome Adapter }
  26.   Font8x8       = 256;          { Add-in for ROM font }
  27.  
  28. { Mode constants for 3.0 compatibility }
  29.  
  30.   C40           = CO40;
  31.   C80           = CO80;
  32.  
  33. { Foreground and background color constants }
  34.  
  35.   Black         = 0;
  36.   Blue          = 1;
  37.   Green         = 2;
  38.   Cyan          = 3;
  39.   Red           = 4;
  40.   Magenta       = 5;
  41.   Brown         = 6;
  42.   LightGray     = 7;
  43.  
  44. { Foreground color constants }
  45.  
  46.   DarkGray      = 8;
  47.   LightBlue     = 9;
  48.   LightGreen    = 10;
  49.   LightCyan     = 11;
  50.   LightRed      = 12;
  51.   LightMagenta  = 13;
  52.   Yellow        = 14;
  53.   White         = 15;
  54.  
  55. { Add-in for blinking }
  56.  
  57.   Blink         = 128;
  58.  
  59. var
  60.  
  61. { Interface variables }
  62.   DelayCNT:longint;
  63.   CheckBreak: Boolean;    { Enable Ctrl-Break }
  64.   CheckEOF: Boolean;      { Enable Ctrl-Z }
  65.   DirectVideo: Boolean;   { Enable direct video addressing }
  66.   CheckSnow: Boolean;     { Enable snow filtering }
  67.   LastMode: Word;         { Current text mode }
  68.   TextAttr: Byte;         { Current text attribute }
  69.   WindMin: Word;          { Window upper left coordinates }
  70.   WindMax: Word;          { Window lower right coordinates }
  71.  
  72. { Interface procedures }
  73.  
  74. procedure AssignCrt(var F: Text);
  75. function KeyPressed: Boolean;
  76. function ReadKey: Char;
  77. procedure TextMode(Mode: Integer);
  78. procedure Window(X1,Y1,X2,Y2: Byte);
  79. procedure GotoXY(X,Y: Byte);
  80. function WhereX: Byte;
  81. function WhereY: Byte;
  82. procedure ClrScr;
  83. procedure ClrEol;
  84. procedure InsLine;
  85. procedure DelLine;
  86. procedure TextColor(Color: Byte);
  87. procedure TextBackground(Color: Byte);
  88. procedure LowVideo;
  89. procedure HighVideo;
  90. procedure NormVideo;
  91. procedure Delay(MS: Word);
  92. procedure Sound(Hz: Word);
  93. procedure NoSound;
  94.  
  95. implementation
  96.  
  97. {$IFDEF DPMI}
  98.  
  99. {$L CRT.OBP}
  100.  
  101. {$ELSE}
  102.  
  103. {$L CRT.OBJ}
  104.  
  105. {$ENDIF}
  106.  
  107. procedure Initialize; external;
  108. procedure AssignCrt; external;
  109. function KeyPressed; external;
  110. function ReadKey; external;
  111. procedure TextMode; external;
  112. procedure Window; external;
  113. procedure GotoXY; external;
  114. function WhereX; external;
  115. function WhereY; external;
  116. procedure ClrScr; external;
  117. procedure ClrEol; external;
  118. procedure InsLine; external;
  119. procedure DelLine; external;
  120. procedure TextColor; external;
  121. procedure TextBackground; external;
  122. procedure LowVideo; external;
  123. procedure HighVideo; external;
  124. procedure NormVideo; external;
  125. procedure Delay; external;
  126. procedure Sound; external;
  127. procedure NoSound; external;
  128.  
  129. procedure Break;
  130. begin
  131.   Halt(255);
  132. end;
  133.  
  134. begin
  135.   Initialize;
  136.   AssignCrt(Input); Reset(Input);
  137.   AssignCrt(Output); Rewrite(Output);
  138. end.
  139.