Hi, I wondered what CLS should do while CTTY points to "not CON".
Any ideas? I could not find it by Googling, so I assume that people
will simply not try using CLS over a serial terminal... Or if they
do

- the CLEAR / HOME ANSI escape sequence or
- a bunch for linefeeds or
- a formfeed

should do the trick. As CTTY targets can only be CON, NUL and serial
ports (parallel ports would not make much sense) or other bidirectional
char devices, I think one of the above choices should be okay. Alternatively,
even "just always clear the local display even during CTTY non-CON" should
work just great for everyday CTTY / CLS users.

Instead of using the CRT unit function, which never updates the screen
size stuff as it seems, CLS for CON can best be implemented as:

AH=0f int 10 returns: AH=columns AL=mode BH=page
read byte 40[84] = max row number on screen
AH=06 (scroll) AL=0 (zero lines of scrolling, only clear) BH=07 (color,
for blank lines, should not be zero) CX=0 (upper left corner) DH=40[84]
DL=the_AH_from_int_10_function_0f int 10 (might destroy BP register but
has no return values otherwise... Trident VGA might destroy DS register
in SVGA modes...)

And finally, not to forget, AH=02 BH=the_BH_from_int_10_function_0f DX=0
(top left) int 10, which moves the cursor to home position.

The int 10.0f can be replaced by 40[...] reading, too. Combined, you
will have a TINY and RELIABLE (flexible, for different screen sizes, see
Bugzilla entry number 1687, CLS Assumes 25 Screen Lines) implementation
of CLS which does not use the CRT library of the C compiler (and therefore
the whole CRT library would no longer be used by FreeCOM anymore AFAIK).

The above { get mode by int 10.0f, get rows from RAM, clear by int 10.06,
home by int 10.02 } should be put after a check for CTTY-non-CON which
would send one of the 3 suggested strings either instead of doing the
int 10 stuff or after it to the current CTTY device unless it is CON/NUL.


Let us know if you have some experience or opinion about "what should
happen for CLS in combination with CTTY to AUX or NUL or ...". Thanks.

Eric



-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to