[Back to SCREEN SWAG index]  [Back to Main SWAG index]  [Original]

===========================================================================
 BBS: Canada Remote Systems
Date: 08-18-93 (08:32)             Number: 34760
From: WILLIAM SCHROEDER            Refer#: NONE
  To: CHRIS PORTMAN                 Recvd: NO  
Subj: RE: DIRECT VIDEO WRITES        Conf: (1221) F-PASCAL
---------------------------------------------------------------------------
 -=> Quoting Chris Portman to All <=-

 CP> Can anyone write me a procedure that will write a character on the
 CP> screen without moving the cursor (ie - DirWrite (80, 25, '!');). I
 CP> just need this to write to the space at 80x25 without scrolling the
 CP> screen.

function GetChar(x, y: integer): char;  (* $B000 for mono *)
var screen: array[1..25, 1..80] of word absolute $B800:0000;
begin
  GetChar := char(screen[x][y] and $FF);
end;

function GetTextColor(x, y: integer): integer;  (* $B000 for mono *)
var screen: array[1..25, 1..80] of word absolute $B800:0001;
begin
  GetTextColor := integer(screen[x][y] and $FF);
end;

  This is not the answer to your problem, but I'm sure it will help. All you
have to do (I *think*) is write back to the screen variable (BIOS). Keep in
mind that X and Y are in DOS format. For some reason, DOS's X-Axis is
vertical and Y-Axis is horizontal; CRT.GotoXY reverses that.
  Sorry I couldn't help further...

... Only reasonable people agree with me.
--- GEcho 1.00
 * Origin: Not Ready For Prime Time * Victoria, Texas (1:3802/221.0)

[Back to SCREEN SWAG index]  [Back to Main SWAG index]  [Original]