[comp.sys.ibm.pc.misc] screen clearing program

david.deitch@gisatl.FIDONET.ORG (David Deitch) (11/09/90)

Anyone have a program for EGA/VGA systems that will clear the number of lines 
on the screen, ie 43 lines, 50 or 60 lines?  CLS only clears the top 25.

     David Deitch (GIS)
          deitch@gisatl.fidonet.org
               1:133/411@fidonet
 


--  
-----------------------------------------------------------------------------
David Deitch - via FidoNet node 1:133/411
UUCP: galbp!gisatl!david.deitch
INTERNET: david.deitch@gisatl.FIDONET.ORG

MHS108@psuvm.psu.edu (Mark Solsman) (11/12/90)

In article <684.273AC585@gisatl.FIDONET.ORG>, david.deitch@gisatl.FIDONET.ORG
(David Deitch) says:
>
>Anyone have a program for EGA/VGA systems that will clear the number of lines
>on the screen, ie 43 lines, 50 or 60 lines?  CLS only clears the top 25.

try this. This was shipped with my ATI VGA Wonder. This program does exactly
what is needed here, or alteast on my card.
----
Mark Solsman
The Pennsylvania State University - Worthington Campus, Scranton, Pa.
Bitnet   : MHS108 at PSUVM
Internet : MHS108 at PSUVM.PSU.EDU


section 1 of uuencode 3.16 of file clr.com    by R.E.M.

begin 644 clr.com
MC,B.V([0O*<!,\".P#/))HHVA`0FBA9*!/[*MP<FBAY)!(#[!'X'@/L'=`*WT
M`+@`!LT0)HH:8@0STK0"S1"X`$S-(0``````````````````````````````Y
M`````````````````````````````````````````````````````````````
@`````````````````````````````````````````````
``
end
sum -r/size 6552/261 section (from "begin" to "end")
sum -r/size 30104/167 entire input file

hrbaan@praxis.cs.ruu.nl (Hayo Baan) (11/12/90)

In <684.273AC585@gisatl.FIDONET.ORG> david.deitch@gisatl.FIDONET.ORG (David Deitch) writes:

->Anyone have a program for EGA/VGA systems that will clear the number of lines 
->on the screen, ie 43 lines, 50 or 60 lines?  CLS only clears the top 25.
->
->     David Deitch (GIS)
->          deitch@gisatl.fidonet.org
->               1:133/411@fidonet
-> 

The solution is : switch over from DOS 3.3 to DOS 4.01 >> then CLS will clear
all the lines (43/50 I've never heard of 60) on yer screen
-- 


+------------------+-----------------------------------------------------+
| Hayo R. Baan     | E-Mail : hrbaan@cs.ruu.nl                           |
| Oudwijkerlaan 34 |-----------------------------------------------------|
| 3581 TD  UTRECHT |                                                     |
| The Netherlands  | A program is like a nose;                           |
|                  | Sometimes it runs, sometimes it blows.              |
| Tel. 030-515586  |                                                     |
+------------------+-----------------------------------------------------+

djb@bbt.UUCP (beauvais) (12/03/90)

In article <684.273AC585@gisatl.FIDONET.ORG> david.deitch@gisatl.FIDONET.ORG (David Deitch) writes:
>Anyone have a program for EGA/VGA systems that will clear the number of lines 
>on the screen, ie 43 lines, 50 or 60 lines?  CLS only clears the top 25.


It's pretty easy to write your own...  Pick you favorite programming
language.  Read the video mode, and write the mode back.  Any time you
write the video mode, the screen clears.  You can read the current video
mode by executing INT 10(hex) service 0F(hex).  You can set the video mode
by executing INT 10 service 0.  In both cases, the the service # goes in
the AH register, the mode is in the AL register.

Here's an assembly language example:

	mov	ah,0fh	;service 0F, get video mode
	int	10h	;video interrupt
	mov	ah,0	;service 0, set video mode
	int	10h	;video interrupt

You can hack this with DEBUG.


Or, if you prefer Turbo C:

#include <dos.h>

#define VIDEO 0x10
#define		GET_MODE	0xf
#define		SET_MODE	0


void clearscreen()
	{
	union REGS regs;

	regs.h.ah = GET_MODE;
	int86 ( VIDEO, &regs, &regs );

	regs.h.ah = SET_MODE;
	int86 ( VIDEO, &regs, &regs );
	}

-- 
Dan Beauvais                        UUCP:      ...!mcnc!rti!bbt!djb
BroadBand Technologies, Inc.        Internet:  djb%bbt@rti.rti.org
Box 13737                           BITNET:    djb%bbt%rti.rti.org@CUNYVM
Research Triangle Park, NC  27709   +1 (919)-544-6850 ext. 295