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

===========================================================================
 BBS: Canada Remote Systems
Date: 06-24-93 (15:09)             Number: 27660
From: MIKE BURNS                   Refer#: NONE
  To: CHRIS PORTMAN                 Recvd: NO  
Subj: Re: Putting A Character R      Conf: (1221) F-PASCAL
---------------------------------------------------------------------------
 -=> Quoting Chris Portman to All <=-

 CP> I was wondering if anyone knows how to put a character at the last
 CP> row and the last column at the screen - every time I attempt that, the
 CP> computer scrolls down to the next line.

 CP> Is there an assembler routine someone could write fast?

 CP> Thanks

 CP> PS - An example of a program that does that is Novell's SYSCON for its
 CP> background fill.

Try this Chris;

Procedure DVWRITE(X,Y:word;S:String;Back,Fore,BLNK:byte);
Var
I,I2:integer;
begin
   If (X>80) or (Y>25) or (X<1) or (Y<1) then Exit;
   If X+Length(S)>81 then Exit;
   DEC(X);
   DEC(Y);
   I2:=0;
   For I:= 0 to Length(S)-1 do
     begin
       Mem[$B800: (160 * y)+(x*2)+I2]:=Ord(S[I+1]);
       Mem[$B800: (160 * y)+(x*2)+I2+1]:=BLNK+(Back SHL 4)+Fore;
       INC(I2,2);
     end;
End;

This is a direct video write, and can not scroll the screen.
  Valid range X = 1..80  Y= 1..25
If you like take out the DEC(X&Y) and you can use 0..79 0..24

Should do the trick for you.

.\\ike Burns



... Security, confine Ensign Portman to the brig.
--- Blue Wave/Max v2.12 [NR]
 * Origin: Basic'ly Computers: Mooo-ing Right Along. (1:153/9.0)

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