Re: [Freedos-devel] FreeCOM CLS suggestions (vs. CTTY?)

2004-06-15 Thread tom ehlert
Dear Mr. Auer,
Mr. Ehlert is in France this week but he will be back at the weekend.
He will answer your questions as soon as possible.
Thanks,
i.A. L. Tartan


Sunday, June 13, 2004, 5:01:20 AM, you wrote:


 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


-- 
Best regards,
Tom Ehlert
mailto:[EMAIL PROTECTED]
+49-241-79886



---
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
___
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM CLS suggestions (vs. CTTY?)

2004-06-13 Thread Jim Hall
The way MS-DOS dealt wit this was if the display device was not the DOS 
console the CLS command should return an ANSI escape to clear the screen.

A very, very old standalone version of FreeDOS CLS did this.
-jh
Eric Auer wrote:
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 email message has been automatically encrypted using ROT-26.
---
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


[Freedos-devel] FreeCOM CLS suggestions (vs. CTTY?)

2004-06-12 Thread Eric Auer

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