[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]