Contents of the README.1ST file
DV System Information
DVSI Version 2.00
February 22, 1992
by Daniel J. Bodoh
DESQview System Information has almost become a misnomer. The first
version of DVSI contained only a very basic PS command, which gave
information about DESQview. Hence, the name.
The purpose of the project was to provide useful Unix-ish information
utilities. But it has grown beyond that into utilities that don't
necessarily have a Unix counterpart and into utilities that don't
necessarily give information.
However, DVSI still retains the Unix flavor. Documentation format,
command-line switches, display formats and command names have been
inherited from Unix. And the new LPR suite is essentially a subset of
its Unix counterpart.
All the DVSI programs may be run from the DOS command line. All may be
run in their own window, and some can be run continously for
DVSI is now shareware. Please pay for it and get a registered version
if you find it useful. See ``REGISTRATION'' below for more
NOTE: There have been some reported problems with DVSI and beta versions
of DESQview/X. If you have DESQview/X beta or the real thing, please
let me know if or how the utilities crash. As soon as I purchase a
copy of DV/X I will release an DVSI update.
The DVSI package is distributed as is. The author will not be
responsible for any loss or damages resulting from the use of any of
the DVSI utilities. The maximum remedy available in case of dispute
is the purchase price of the license.
Every effort has been made to make sure that DVSI is bug-free, and I
will make every effort to make sure that it stays error-free. However,
improper use of some of the utilities could cause loss of data
(notably KILL and WN KILL).
THE DVSI PACKAGE
The files in this package include
README.1ST - This file
MANPAGES.DOC - A formal description of each command
MANPAGES.PS - Postscript manual for registered users who order it
WHATSNEW.DOC - Changes made in each version
ORDER.TXT - Order form for registered version of DVSI
LICENSE.DOC - The license agreement for this copy of DVSI
INSTALL.EXE - Install program
DVSIXDI.COM - DVSI's external device interface
PS.COM - Process status: Handle, switch windows #,
memory info, cpu time and utilization, etc.
DF.COM - Free and used disk space
PERF.COM - DESQview performance: CPU Utilization, task switches
KILL.COM - Kills processes
WN.COM - Contains many subcommands for manipulating windows
UPTIME.COM - Displays amount of time DESQview has been running
MEMSTAT.COM - An alternative to DESQview's Memory Status
LPD.COM - Line printer daemon which actually prints files
LPR.COM - Submits files to LPD for printing
LPRM.COM - Removes jobs from the queue
LPQ.COM - Lists the jobs in the queue
PRCC.COM - Compiles and sends PRINTCAP to LPD
PRINTCAP - A sample PRINTCAP file
DVSTUFF.COM - Stuffs keystrokes into any window
RUN.COM - Launches windows from the command line
DVSIHELP.EXE - Menued help for DVSI utilities
PS-PIF.DVP - DVP for PS.COM
PF-PIF.DVP - DVP for PERF.COM
DF-PIF.DVP - DVP for DF.COM
UP-PIF.DVP - DVP for UPTIME.COM
MT-PIF.DVP - DVP for MEMSTAT.COM
LQ-PIF.DVP - DVP for LPQ.COM
LP-PIF.DVP - DVP for LPD.COM
DH-PIF.DVP - DVP for DVSIHELP.EXE for Open Window
RUN_DEF.DVP - DVP for RUNning COM, EXE and BAT files
PRCC.DVP - DVP for PRCC.COM
DVSIHELP.DVP - DVP for DVSIHELP.EXE for auto-launch
- DESQview 2.26 or newer
- DOS 3.0 or newer
(the programs may work with older versions of DOS; I haven't
If you find DVSI useful, please pay for it and get a registered copy.
I have put countless hours into this project and could use a little
incentive to keep going.
Registered users will receive the latest release of DVSI as well as a
nicely formatted and printed manual. Registered users will receive
maintenance versions for basically the cost of the media and postage;
minor versions for half the price; and major versions for
three-quarters the price that a new registered user would get it at.
Registered users will also get postal or electronic mail when new
releases are announced.
The cost for a single-user license for 2.00 is US $15.00. That's only
$1 per utility! A site license may be purchased for $60.00. A site
license is required if any utility in the package may be used at the
same time that any other utility might. The site license allows you
to make unlimited copies for use by the person or company that
purchased the license.
Print out and complete the order form in ORDER.TXT and send it and the
fee to the address listed in that file.
The DVSI package is copyright 1991, 1992 by Daniel J. Bodoh. See
the file LICENSE.DOC for distribution restrictions.
In MANPAGES.DOC, I provide the programming interface for DVSIXDI.COM.
If you write a program to communicate with DVSIXDI, you may not
include it as part of the package. You must distribute it separately,
and provide pointers to the unregistered version of the DVSI package.
You can upload an unregistered DVSI to the same place as your program,
but they must be 2 distinct entities. Basically, I don't want to
claim your credit, or conversely, be associated with your bad
programming. If you write it, you are responsible for it! You can
make as much or as little money you want on your program without
paying me a cent.
HOW IT WORKS
The heart of DVSI is DVSIXDI.COM. This is a Terminate-and-Stay-
Resident (TSR) program which is required by most of the programs.
DVSIXDI should be placed in your AUTOEXEC.BAT and run before DESQview
Unfortunately, the DESQview API provides no way to get a list of the
current processes. However, DESQview 2.26 introduced a way to "hook"
into DESQview and collect this information. This "hook" is called an
eXternal Device Interface (XDI). Every time DESQview starts a
process, kills a process, swaps a process out, switches to a new
process, etc, it calls all the XDIs that have been loaded. DVSIXDI
keeps track of the current processes in a list, and adds other
information to this list such as Open Keys and CPU Time.
The utilities that I provide communicate with DVSIXDI and get their
information from it. Some programs, such as DF.COM and MEMSTAT.COM,
don't require DVSIXDI loaded because they don't use any of this
In order to save precious memory, load your TSRs (including DVSIXDI)
before you set a PATH or any other environment variables. That will
keep the environment which is loaded with the program at about 0.1K or
The easy way to install DVSI is to start DESQview and type INSTALL.
The INSTALL program does not edit your AUTOEXEC.BAT or CONFIG.SYS, but
it will modify your Open Window menu. Before doing anything, the
INSTALL program checks with you first. However, if you don't trust
it, you can install DVSI manually:
I am going to assume you know what AUTOEXEC.BAT is, and how to use Add
A Program. If you don't, take a look at the manuals or find a guru.
(1) If you have an older version of DVSI, delete the old files and
remove all old DVSI entries from the Open Window menu.
(2) Make a directory for DVSI. A good name is C:\DVSI. Put all the
files in this directory. If you'd like to split the files among
multiple directories, see ``DIRECTORIES'' below.
(2) Install DVSIXDI.COM into your AUTOEXEC.BAT. It is a memory
resident program and requires about 1.4K resident. You can use
QEMM's LOADHI or DOS 5.0's LOADHIGH. The only command-line
options that DVSIXDI can use are ``-p'' and ``-t''; see
DVSIXDI(1dvsi) in MANPAGES.DOC for more information. You can
ignore them for now... If you want to run the DVSI programs from
the command line, put the DVSI directory (C:\DVSI or whatever) in
your PATH statement.
(3) Reboot the system so DVSIXDI gets installed. Take note of the
number of "Common Memory" kilobytes that DVSIXDI will require.
This number is printed with the DVSIXDI installation logo.
(4) CD to the DESQview directory. Type SETUP to run DESQview's
setup. Hit RETURN for advanced setup, and choose Performance.
You have to set the Common Memory field to AT LEAST the minimum
allowed value plus the amount required by DVSIXDI. In most
versions of DESQview, the minimum value is 13K.
(5) Start DESQview and run Add A Program. Choose ``OTHER (Add
Program Not On List)'' and enter the name of the DVSI directory
in the PATH field.
(6) Select the programs you want to install on the Open Window menu
and hit ENTER. You don't have to install all the programs, for
they can be run from the command line. The most useful to
install are PS, MEMSTAT, DF, and LPQ because they can be run
continuously to show status. However, they can also be run from
the command line in continuous mode. You may have to change some
of the Open Window keys if they conflict.
(7) If you do not have DvpEdit or another command-line DVP editor,
run Change A Program from the command line by typing
The DESQview system directory must be in your PATH. Change the
"Directory" fields in each of these DVPs to the DVSI directory.
These DVPs are used for launching DVSIHELP and PRCC
(8) Read the rest of this file. Read MANPAGES.DOC to learn about
each of the DVSI utilities. And if you used an earlier version
of DVSI, you may be interested in looking at WHATSNEW.DOC for a
list of bug fixes and new features.
(9) If you find the DVSI utilities useful, please pay for them and
get a registered version. I have put countless hours into this
project and could use the money since I'm a poor grad student.
See ``REGISTRATION'' above for more information.
(10) Send me comments, gripes, suggestions, etc. I want to hear from
you! My E-mail and USPS addresses are listed in MANPAGES.DOC.
Some users prefer to use one directory for all executables, and other
directories for help, etc. files. You can split DVSI up, but you must
follow these rules:
(1) DVSIHELP.DVP must be in the same directory as each of the
utility programs (i.e. *.COM and *.EXE with the exception of
DVSIXDI.COM and INSTALL.EXE).
(2) PRCC.DVP can be anywhere. If it is not in the directory
specified by the DIRECTORY field in LP-PIF.DVP, you must use
LPD's ``-c'' option.
I suggest you keep everything in one place. It will make updates,
DvpEdit 1.0 (freeware)
Richard Reiner and I have developed a replacement for "Change A
Program" called DvpEdit. It
provides superior field editing and context-sensitive help
provides access to DVP fields which Change a Program conceals
can edit DVP files which are not on DESQview's Open Window menu
can edit DVP files which are not named something of the
can be run from the command line.
DvpEdit has two modes of running. The default allows the user to
choose any DVP file from a list. With "dvpedit -o", a psuedo- Open
Window menu is provided.
Clock & Calendar (freeware)
An early attempt at using the DVGLUE package, Clock and Calendar is a
small clock for DESQview that runs in its own window and does not
appear on the Open Window menu.
Comp.Os.Msdos.Desqview Frequently Asked Questions (compilation)
This is a regularly posted DESQview Q&A file that I edit for the
DESQview Usenet newsgroup. It's a good source of information for the
new and old DESQview user alike.
Each has been distributed on DVNet and the anonymous FTP site
WSMR-SIMTEL20.ARMY.MIL. The files on SIMTEL are
DvpEdit 1.0 PD1:DVPED1_0.ZIP
Clock & Calendar PD1:CLOCKCAL.ZIP
Freq. Asked Questions PD1:FQ012992.ZIP
(filename may change due to updates)
I had planned asyncronous pipes for this version, but I'm still having
problems making it stable. Pipes will probably exist in 2.1 or 2.2 or
so. I am trying to emulate Unix's pipe(2) and popen(3) system calls.
RUN will be expanded to be able to pipe the output of one DV window to
the input of another. Eventually, this could lead to a DV-specific
Another idea that has been suggested is an interactive PS which
would replace Switch Window. I'm also trying to get a device
driver working so that applications could print directly to the
LPD print spooler.
HOW DVSI IS MADE
DVSIXDI.COM was assembled with TASM 1.0 by Borland
DVSIHELP.EXE was compiled with Dave's Readme Compiler by Dave Harris
All the other utilities are compiled with Turbo C Professional 2.0 by
The DVGLUE library by Ralf Brown is used to communicate with DESQview
Other information on the DESQview API was gleaned from the Interrupt
List, compiled by Ralf Brown
The DVP files are created with DvpEdit 1.0 by Richard Reiner & Dan Bodoh
README.1ST, WHATSNEW.DOC & ORDER.TXT created by Qedit
MANPAGES.DOC and the printed manual created by WordPerfect 5.1 and
printed on an HP-Laserjet IIISI Postscript printer
For the DVGLUE package, the Interrupt List and use of the extract of
the DVP spec from release 28 of the Interrupt List.
For the compiler that created DVSIHELP.EXE
The Center for X-Ray Lithography
My place of employment, for straining the computers with the Email load
For the DVTXDI emulation code and help to jump onto shareware bandwagon
The 2.00 Beta Testers (also sent me many small suggestions that I used)
Kenneth R. van Wyk
S. Mikael Jansson
Shannon D. Appel
People who sent bug reports in previous DVSI versions
(Those with asterisks were especially helpful)
* Doug Dougherty
* Shannon D. Appel
* Richard J. Reiner
* Jim Reisert
People who sent suggestions that I implemented
Shannon D. Appel hh:mm:ss.hh format for CPU times, more Unix-like DF,
``?'' in PS for orphans, KILL command
Richard Reiner Lots of suggestions, A: & B: in DF, ``-'' switch char
optional ``%'' preceding switch window #, -q switch,
Chia-Chi Chao PS search C:\DV if no -d
Chris Webster Pointed out memory usages
Mike Pawka Do not erase windows in -c mode
Doug Dougherty Kestrokes in -c mode, help with DF & Novell, DF -w,
smarter DF width, RUN launch options
Davin Church Original suggestion for DVTXDI emulation
George Wiley idea for DVP physical printer type
Jan-Pieter Cornet Keystrokes in -c mode
Foster Shucker DVTXDi emulation
Andrew Reilly DVTXDi emulation
Rene Ertzinger DVSIXDI -p option
People who sent suggestions that I may implement
Shannon D. Appel Window manager suggestions, show TSRs in PS
JC Pollman Original idea for window manager
Nikolaus R. Haus Suggested routing output from one window to input
of another. This first set me to thinking about
Yehiel Greenbaum Remote call in utility for DV
Wayne Mery PS: unused bytes in each window
Doug Dougherty DVSIXDI auto-loadhi, PS as Switch window replacement
Jake Coleman DV-specific shell discussion
Richard Reiner, Paul Gomme, Justin Seiferth
Richard Reiner printf-style UPTIME format str
Alan Gilbertson Watchdog utility
Wayne Young WN & DV screen blanker
Serge Plotkin WN SWAP, WN FREEZE, brief PS output
Jan-Pieter Cornet, Steve Resnick, Hank Oredson, Jeff Sicherman
Suggestions for async pipes