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