[comp.sys.ibm.pc.misc] Setting size of text window????

rcte2q@jetson.uh.edu (05/03/91)

I am writing a TSR monitor program that watches some input ports on our
computer in the lab.   We need to use the bottom 3 lines of the 80x25 text
screen as a 'status bar'.  This program is tied to the INT 1Ch timer tick
interrupt, so it is constantly updated. So, I need to lock the screen to 
80x22, so the bottom three lines will not be scrolled when the cursor gets 
to the bottom of the screen.
While developing the status-line-update portion of this program (I am using
Turbo Pascal...), it was working o.k, but when I went TSR, it failed.  I would
do a directory or run a text-mode program, and as soon as the cursor would
reach the bottom, parts of my status line would scroll up the screen....

The BIOS int10h functions 06 & 07 do not lock a scroll window, as far as I can
tell-- they just scroll a window.  I assume that when DOS updates the screen,
it too uses one of these functions, or ones simelar, to scroll the screen up.
If so, where does the BIOS keeep the dimensions of the screen.  They can't be
hard-coded, can they???? 

I'm getting desparate-- any assistance before next week will be 
appreciated greatly.  Thanks!

Computin' in Texas,   Larry Liska

a_rubin@dsg4.dse.beckman.com (05/04/91)

In <9282.28214c69@jetson.uh.edu> rcte2q@jetson.uh.edu writes:

>I am writing a TSR monitor program that watches some input ports on our
>computer in the lab.   We need to use the bottom 3 lines of the 80x25 text
>screen as a 'status bar'.  This program is tied to the INT 1Ch timer tick
>interrupt, so it is constantly updated. So, I need to lock the screen to 
>80x22, so the bottom three lines will not be scrolled when the cursor gets 
>to the bottom of the screen.

>[... details of problem ommited ...]

(1)  ANSI.SYS assumes 25 line screens (even in EGA/43 or VGA/50 line mode).  You
will definately need one of the replacements.

(2)  Lines/screen is located in 40h:84h.  If you change that to 21, a modified
ANSI.SYS might scroll properly.  Programs that write directly to the screen or
use BIOS to position the cursor will probably not be affected.  Clear Screen
(CLS / Esc [ 2 J) will probably clear the entire screen.  Of course, your
program to update the status bar may break.  (Why do you need THREE status
lines?)

(3)  I am curious if this will work.

>Computin' in Texas,   Larry Liska
--
a_rubin@dsg4.dse.beckman.com  
My opinions are my own, and do not represent those of my employer.