Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : DVFAQ3.ZIP
Filename : DVFAQ3.TXT

 
Output of file : DVFAQ3.TXT contained in archive : DVFAQ3.ZIP
FREQUENTLY ASKED QUESTIONS IN COMP.OS.MSDOS.DESQVIEW
Release 3
Last update: March 30, 1992
Edited by Daniel J. Bodoh
Posted on the first of every month

WHAT IS THIS ARTICLE?
---------------------
This article is a regularly posted compendium of topics that have been
discussed in the Usenet newsgroup comp.os.msdos.desqview since its
birth. Although many of the questions are truly ``Frequently Asked'',
others are questions that experienced DESQview users recognize as
questions a beginner might ask. If you are new to DESQview or this
group, please read this FAQ before posting your question. Even if your
question isn't answered here, you'll probably learn something new about
DESQview.

Although I edit this FAQ, a majority of the information contained in it
was contributed by other comp.os.msdos.desqview readers. The many
contributors are listed at the end of the document.

The FAQ list is available on the anonymous FTP sites SIMTEL20,
HAYES.IMS.ALASKA.EDU and DVNet (see Q7) as DVFAQx.ZIP, where ``x'' is
the release number. On SIMTEL20, it is in the directory
PD1:.

SUGGESTIONS, ERRORS, CRITICISMS...
----------------------------------
Please, send may any comments on this FAQ list. Since this FAQ is being
distributed beyond Usenet, here's how to reach me from other networks.
From the Internet or Usenet: write to ``[email protected]''.
From Fidonet: write to ``Daniel Bodoh 1:121/99.0''
From Compuserve: write to ``>INTERNET:[email protected]''.
From Envoy: write to
``[RFC822=\"bodoh(a)xraylith.wisc.edu\"]INTERNET/TELEMAIL/US''
From Applelink: write to ``[email protected]@internet#''.
From DECnet: write to ``cxrl::bodoh''
From Bitnet: write to ``bodoh@xraylith''

FORMAT OF FAQ
-------------
Questions are listed in the first section, and are labelled Q1 through
Q29. Answers, labelled A1 through A29 are given with the labelled
question in the next section. Finally, the contributors are credited.
Cross references are made, for example, with ``(see Q2)''.

QUESTIONS
---------
Q1: What is DESQview?
Q2: Besides DESQview, what other products does Quarterdeck sell, and what
are the current versions?
Q3: What types of programs can DESQview run?
Q4: What type of computer is required for DESQview?
Q5: How can I upgrade my 80286 for best DESQview performance?
Q6: Does DESQview support Super VGA?
Q7: Where can I get freeware and shareware DESQview programs?
Q8: I want to write software for DESQview. Where can I get the API?
Q9: I've heard that DESQview does preemptive multitasking. What does that
mean?
Q10: Why do the other windows slow to a virtual halt when one window accesses
the floppy disk?
Q11: Can Windows run under DESQview?
Q12: Can I make something like AUTOEXEC.BAT for DESQview, so that certain
windows open every time I run DESQview?
Q13: Can text and graphics be displayed at the same time with Hercules?
Q14: How do I use two monitors under DESQview?
Q15: What are Exceptions 12 and 13?
Q16: What determines the amount of conventional memory that DESQview claims
for itself and takes away from programs?
Q17: What are some programs that are incompatible with DESQview?
Q18: I'm having a problem {configuring DESQview, running a program, etc.}.
How do I fix it?
Q19: How can I contact Quarterdeck?
Q20: What books are available on DESQview?
Q21: What are the command-line switches for DESQview/QEMM/QRAM?
Q22: How can I configure DESQview for maximum window memory under DOS 5?
Q23: What is NOFF.SHP {NOFF.SHR}?
Q24: How can I increase DESQview's performance?
Q25: My {9600 or greater} BPS modem drops characters under DESQview. Is high
speed communication possible under DESQview?
Q26: Why doesn't ANSI.SYS work in DESQview?
Q27: Why does the mouse pointer disappear after running certain programs?
Q28: What are those files SWAP*.DV in my DV directory? Can I delete them?
Q29: What does ``Optimize Communications'' in DESQview's setup program do?

QUESTIONS AND ANSWERS
---------------------
Q1: What is DESQview?

A1: DESQview is a program written by Quarterdeck Office Systems of Santa
Monica, California, USA. It allows true preemptive multitasking (see
Q9) on 8088, 8086, 80286, 80386, 80486, V20 and V30 machines running
MS-DOS (see Q4). While MS-DOS is still considered the PC's operating
system, DESQview provides services similar to more advanced multitasking
operating systems.

Q2: Besides DESQview, what other products does Quarterdeck sell, and what
are the current versions?

A2: [Versions are the latest known as of the date of the FAQ. If you see
a newer version, please let me know.]

Quarterdeck has two types of ``upgrades'': major upgrades and
compatibility updates. The former involves a changing of the digit
before or immediately after the decimal point and represents significant
enhancements to the product's performance. The latter reflect minor
changes generally of interest to a small number of users.

DESQview 2.42
An excellent DOS multitasker. If you are wondering why it has such
a funny name, here's the official explanation from Quarterdeck:
the original product was called DESQ (the Q was from Quarterdeck).
When Quarterdeck made it TopView-compatible (see Q23) the "view"
was added.

QEMM-386 6.02
A memory manager for 80386+ machines. QEMM will convert extended
memory to XMS memory (replacing HIMEM.SYS) and LIM EMS 4.0 memory.
With the associated utilities, you can load TSRs, device drivers,
and DOS data structures into high memory in order to gain
conventional memory for large programs. Manifest is provided with
QEMM. Note that QEMM is a VCPI server, and not a DPMI server so it
is not compatible with programs that require DPMI. If you plan to
use DESQview on a 386, you should choose QEMM over other memory
managers. It is smaller and faster than other memory managers, can
give you more upper memory, and certain functions in DESQview will
only work if QEMM is the memory manager. It is also the only
memory manager that allows you to run Windows in Standard mode
inside or outside of DESQview.

QEMM-50/60 6.0 (not sure about minor version number)
Similar to QEMM-386, but specifically for PS/2 models 50 and 60
which are 80286-based machines. It will only work with certain
memory expansion boards and requires disabling of motherboard
memory. For more details, get the QOS tech note QEMM5060.TEC,
available from SIMTEL20 and other sites (see Q7).

DESQview/386 2.42
Actually DESQview/386 is a copy of DESQview and QEMM in the same
package. If you already have DESQview, purchasing QEMM will give
you DESQview/386.

QRAM 2.0
A memory manager for 8088 through 80286 machines. QRAM will
provide UMBs (Upper Memory Blocks, memory greater than 640K but
less than 1024K). To do this requires either LIM EMS 4.0, EEMS, a
memory management chip or a 286 motherboard with C&T's NEAT, LEAP
or SCAT chip set. The UMBs can be used to load TSRs, device
drivers, and DOS data structures into high memory in order to gain
conventional memory for large programs. Manifest is provided with
QRAM.

MANIFEST 1.12
Manifest is a ``system information'' utility. It displays hardware
information, memory usage, internal DOS structures and much more.

DESQview Companions 1.1
A set of utility programs, including a calculator, datebook,
notepad, and terminal emulator.

DESQview/X 1.0
DESQview/X is DESQview with an industry-standard graphical user
interface. It contains an X-windows server, which allows you
to interact with X-windows programs running on Unix machines, or
DOS text and X clients running on other DESQview/X machines. Using
the fonts provided, you can make use of your SVGA to have many
small 80x25 windows open on the screen simultaneously.

DESQview Classic (Rumored)
Will contain some of the new features of DESQview/X, such as SVGA
support and the ability to prioritize processes. The Quarterdeck
tech on the DESQview echo on Fidonet has mentioned it a few times.
Probably will be DESQview/X without the X server.

Q3: What types of programs can DESQview run?

A3: There are three types of DESQview programs: DESQview-oblivious programs,
DESQview-aware programs, and DESQview-specific programs.

According to the DESQview manual, DESQview-oblivious programs are those
which are ``written without any consideration for DESQview''. These
include standard DOS programs like word processors and spreadsheets.

Some standard DOS programs have the ability to detect the presence of
DESQview. These programs are considered DESQview-aware. The advantage
of DESQview-aware programs is better system performance, because
DESQview does not have to make conservative assumptions about the
program. A DESQview-aware program gives up the CPU when it doesn't need
it, and if it writes directly to the screen it instead writes to a
DESQview-provided video buffer so it can run in a small window (see
Q23). If you'd like to make your program DESQview-aware, there is code
provided in Appendix J of the DESQview manual.

DESQview-specific programs can only be run while DESQview is active.
These programs use the window management, interprocess communication and
other services that are built into DESQview (called the DESQview
Applications Program Interface (API)).

DESQview will multitask all programs, regardless of type.

Q4: What type of computer is required for DESQview?

A4: DESQview can multitask programs on an 8088, 8086, 80286, 80386sx,
80386dx, 80486sx, 80486dx, V20 or V30. However, there are some
limitations.

8088/8086/80286/V20/V30
DESQview will run in one of three ways one these machines. For
additional information, get the file DV286.ZIP from SIMTEL20 (see
Q7).

(1) If you have true hardware compatible LIM EMS 4.0 (or EEMS)
memory board and are able to disable some conventional memory,
DESQview will remap expanded memory to conventional memory
addresses to multitask ``well-behaved'' programs in.

(2) If you use a plug-in memory management chip such as a
All-Charge Card or a SOTA POP card, it will provide the memory
mapping needed to allow DESQview to multitask programs beyond 640K.

(3) If you have neither a LIM EMS 4.0 memory card or a memory
management chip, DESQview will still multitask as many programs as
possible in the available conventional memory (see Q5).

Besides the memory problem, on a machine less than an 80386 and
without QEMM, DESQview will not be able to run programs in a small
window or in the background if the program writes directly to video
memory (see Q2). If the program has a switch to allow BIOS screen
output, use it, or convince the programmer to make the program
DESQview-aware (see Q3).

80386sx/80386dx/80486sx/80486dx
DESQview/386 or the combination of DESQview and QEMM (see Q2) will
multitask programs in all of the available extended memory.

Although DESQview can multitask on any machine, the minimum suggested
configuration is an 80386sx with 2 megabytes of memory. For breathing
room, at least 4 megabytes of memory is suggested.

Q5: How can I upgrade my 80286 for best DESQview performance?

A5: A 80286 can be upgraded with LIM EMS 4.0 expanded memory, a memory
management chip, a plug-in 386 adapter, or a new 386 motherboard. The
cost of all these ``upgrades'' is about the same. All of them have some
negatives as well.

(1) If you are unsure how much of your 286 conventional memory can
disabled, getting LIM EMS 4.0 memory may not help you. For the record
the listed 286 motherboards can be set to the minimum conventional
memory as follows:
AST Premium 286 0K
IBM AT (6 Mhz) 256K
COMPAQ 286 256K

Most AT clones have a minimum of 512K (eighteen 256Kx1 DRAMs). The
motherboard can only be disabled to 256K or lower if it supports 64K
DRAMs, or if the system setup allows you to specify a value less than
the actual amount of memory installed.

If you have information on the minimum conventional memory of any other
286 motherboard, please forward it to the editor (see above).

(2) If you get a memory management chip, an All-Charge Card or a SOTA
POP, you will still not get the memory protection available with the
80386 (see Q4).

(3) If you get a 386 Adapter to replace the 286 CPU chip, there has been
``some reported'' compatibility problems. Also, it will not run as fast
the corresponding 386 motherboard of the same clock speed.

(4) If you get a new 386 (or 386SX) motherboard, there is some hassle to
get it installed and working but probably no more than with the 386
Adapter kits.

Q6: Does DESQview support Super VGA?

A6: Yes and no. When DESQview is placing windows on the screen, it cannot
use any of the 132 column modes provided by Super VGA cards. The
smallest text font that DESQview provides to VGA+ users is 60 rows by 80
columns. Since video support is hardcoded into DESQview, there is no
way to write a video driver for Super VGA cards. DESQview/X and the
rumored DESQview Classic will support some Super VGA cards (see Q2).

Inside a window, any resolution can be used. The problem occurs when
you switch away from the window and come back. DESQview will corrupt
the window unless it has a resolution of 800x600x16 or less. Except in
rare cases, DESQview cannot handle 256 colors at more than 320x200. A
few cards will reportedly work at 1024x768x16 as well. Note that at
these higher resolutions, ``Graphics Pages'' in Change A Program must
be set to 4.

The Quarterdeck White Pages, available on SIMTEL20 and DVNet (see Q7)
discuss this problem in detail.

Q7: Where can I get freeware and shareware DESQview programs?

A7: There are quite a few DESQview repositories available, depending on what
network access you have.

BBS
The official Quarterdeck BBS can be reached at (310) 314-3227. It
supports 1200-9600 baud, 8 data bits, no parity.

SIMTEL-20 files (see below) are available for downloading from
Detroit Download Central (313) 885-3956. DDC has multiple lines
which support 300/1200/2400/9600/14400 bps (103/ 212/ V22bis/ HST/
V32bis/ V42bis/ MNP). This is a subscription system with an
average hourly cost of 17 cents. It is also accessable on Telenet
via PC Pursuit and on Tymnet via StarLink outdial.

Fidonet
Many Fidonet nodes belong to DVNet, the DESQview File Distribution
Network. It is coordinated by Peter Stern at 1:17/38. A monthly
posting to the DESQview echo on Fidonet lists the nodes
participating in DVNet.

Internet (via anonymous ftp)
WSMR-SIMTEL20.ARMY.MIL [192.88.110.20]
The directory PD1: contains many DESQview programs.
The file 00-index.txt in that directory is a list of all the
programs available.

OAK.OAKLAND.EDU [141.210.10.117]
A SIMTEL20 mirror. The DESQview directory is /pub/msdos/desqview.
This is the most up-to-date mirror of SIMTEL20.

WUARCHIVE.WUSTL.EDU [128.252.135.4]
Another SIMTEL20 mirror. The DESQview directory is
/mirrors/msdos/desqview.

NIC.FUNET.FI [128.214.6.100], SRC.DOC.IC.AC.UK [146.169.3.7],
RANA.CC.DEAKIN.OZ.AU [128.184.1.4], & ARCHIE.AU [139.130.4.6]
SIMTEL20 mirrors for non-North Americans

HAYES.IMS.ALASKA.EDU [137.229.40.200]
Contains some of the programs available on DVNet in the directory
/dvnet. The file ``prog.dvn'' is a list of all the programs
available on DVNet. The file ``dvnet.lst'' is a list of all the
Fidonet BBSs that participate in DVNet.

UUCP
SIMTEL files can be requested via UUCP from UUNET's 1-900-GOT-SRCS.
See UUNET file uunet!~/info/archive-help for details.

Email-only
If you do not have FTP access to SIMTEL20, files may be ordered by
e-mail from [email protected] or [email protected].
If you are on BITNET: LISTSERV@NDSUVM1 or LISTSERV@RPIECS
If your mailer knows domains: [email protected] or
[email protected]
If your mailer wants bang paths:
uunet!vm1.nodak.edu!listserv
uunet!vm.ecs.rpi.edu!listserv

If you use bang paths, substitute your nearest neighbor which is
also on the Internet for uunet in the examples above. Some
examples are: ames, decvax, decwrl, harvard, hplabs, nosc, rutgers,
sharkey, sun, ucbvax, ucsd, udel, uw-beaver, wuarchive.

Send this command to the server to get its help file:

GET PDGET HELP

Sample command (which gets our catalog of MS-DOS files):

/PDGET MAIL PD:SIMLIST.ARC UUENCODE

These commands should be sent as the body of a regular email
message. Do not include a signature because it confuses the server.
If you have xxdecode, you may wish to specify XXENCODE instead of
UUENCODE to avoid character translation problems.

To get a catalog of the DESQview files only, use
/PDGET MAIL PD1:00-INDEX.TXT UUENCODE

Q8: I want to write software for DESQview. Where can I get the API?

A8: There are multiple sources, ranging in cost from free to hundreds of
dollars. For free, there are DVINT, a DESQview/QEMM-specific excerpt of
the MSDOS interrupt list, which lists the API calls; and DVGLUE, a
somewhat dated (August 1988) freeware library for Turbo C which
implements almost all of the DESQview 2.01 API (the then-current
version). Both are available on DVNet and other repositories of
DESQview-specific programs (see Q7).

Quarterdeck sells a number of products for programming the DESQview API,
such as an API reference manual (~$60) and various language-specific
libraries (C, Pascal, Dbase, etc., ~$500 each including the reference
manual). In addition, Quarterdeck also sells a panel designer (~$150),
debugger (~150), and other tools (see Q19). Third party books are also
available (see Q20).

The prices above are Quarterdeck prices; the price on the street is
usually a lot better. One source of API tools is the Programmer's
Connection, at
Programmer's Connection, Inc.
7249 Whipple Ave. NW
North Canton, OH 44720-7143
1-800-336-1166 (US and Canada)
(216) 494-8715 (International)
(216) 494-5260 (FAX)

Q9: I've heard that DESQview does preemptive multitasking. What does that
mean?

A9: Let's say you have one toy (the 80x86 processor in our case) and 5
children (5 programs that you want to run under DESQview
simultaneously). There are two ways that Dad (DESQview) can let each
child play with the toy.

(1) Dad gives the toy to one of the children, who plays with it until
she gets bored. Then she returns the toy to Dad, who gives it to one of
the other children. This repeats until all the children have played
with the toy, and then Dad starts over with the first child.

(2) Dad gives the toy to one of the children, and starts a timer. If
the child gets bored with the toy before the timer expires, she gives it
back to Dad. However, if she still holds the toy when the timer
expires, Dad reminds her that good children must share, and takes it
away from her. He then gives it to the next child and restarts the
timer. When all the children have played with the toy, Dad returns it
to the first child. She continues playing with it where she left off.

Sometimes one of the children may want to take the toy apart. Since none
of the other children wants to play with a disassembled toy, the child
will request that Dad not take away the toy until the child says he can.
In that way, the child can re-assemble the toy before any other child
gets it.

The first method is called ``non-preemptive'' and conversely, the second
is called ``preemptive''. It is generally agreed that preemptive
multitasking is much better because one program cannot accidently
``hog'' the CPU. One of the major technical differences between
DESQview and Windows is that DESQview preemptively multitasks all
programs, while Windows does non-preemptive multitasking of Windows
applications.

When a program running under DESQview calls a DOS or BIOS function, it
effectively ``disassembled the toy''. DESQview recognizes this and
temporarily suspends any other program that attempts to make a DOS or
BIOS call until the current DOS or BIOS call ends (see Q10).

DESQview-oblivious programs (see Q3) can act like selfish children when
they are waiting for keyboard entry. Even though they aren't playing
with the toy, they keep hold of it. Shareware and freeware programs are
available for forcing these programs to share the toy (see Q24).

Q10: Why do the other windows slow to a virtual halt when one window
accesses the floppy disk?

A10: Both DOS and the BIOS disk access functions are non-reentrant, i.e. they
may not be called again while one call is in progress. DESQview thus
handles both as ``serially reusable resources,'' and suspends a window
making such a call until any current call completes.

Since programs make many DOS calls other than disk I/O, they can become
blocked while another window is accessing the disk even when they
themselves are not trying to access the disk. The same suspension
occurs when a program accesses the disk via BIOS calls, but only when
some other window is also accessing the disk; thus, a non-disk DOS call
can execute at the same time as a disk-related BIOS call.

When the disk being accessed is a hard disk, the call completes so
quickly that there is no obvious degradation in the performance of other
windows. When accessing a floppy disk, however, the call can take
multiple seconds to complete, during which time it is highly likely that
other windows will be suspended for a noticeable length of time.

To minimize the impact of copying or formatting, try using shareware
programs such as DVCOPY, LTFORMAT and FDFORMAT (see Q7).

Q11: Can Windows run under DESQview?

A11: Yes, Windows can run under DESQview, but only in Real and Standard
mode. Windows in Enhanced mode becomes an 80386 ``control program'' and
there can only be one such control program at a time (see Q17).

Q12: Can I make something like AUTOEXEC.BAT for DESQview, so that certain
windows open every time I run DESQview?

A12: Yes you can. In DESQview terminology, it's called a Startup Script.
Look up ``Script, startup'' in the DESQview manual's index for more
information.

Another way to start up windows is to write a batch file using one of
the many command-line window launchers such as DV Commander or DVSI's
RUN command (see Q7).

Q13: Can text and graphics be displayed at the same time with Hercules?

A13: Yes, as long as 90x43 mode display mode is used. If the graphics bleeds
through from the background, you can switch to 80x25 mode.

However, there is no way to detect whether or not the Hercules card is
currently in text or graphics mode if a program switches between these
two modes by manipulating the registers of the card. In this case
DESQview will not notice that the graphics mode has changed. Quarterdeck
has put a utility DVHERC on the distribution disk that is intended to
help users switch to the correct mode in such events. DVHERC is a TSR
program. However DESQview can sometimes be very stubborn and will not
recognize this change. In such cases it will again switch to the wrong
mode as soon as one switches to a different window.

Q14: How do I use two monitors under DESQview?

A14: DESQview will only control one of your monitors, and by default all
programs will use the monitor that DESQview controls. There are a
number of ways to make programs start up on the ``other'' monitor.
Since you will usually want DESQview to control the color monitor
(except perhaps in the case of a CGA), the following discussion assumes
that DESQview is controlling the color monitor and not the monochrome
monitor.

First, you can use a batch file and include a ``MODE MONO'' statement to
switch the program to the monochrome monitor. Second, you can use the
``initial mode'' field to specify the monitor on which the program will
start (however, this setting is ignored unless you also set ``writes
directly to screen'' to Y and ``virtualize'' to N). By setting the
initial mode to 7, you force the program to use the monochrome monitor
until it explicitly switches monitors. Note that DESQview tends to stop
updating the monochrome screen while the program is in the background if
the program ever switches to the color display (including starting on
the color display with the first method above).

The initial mode can also be set to 21 or 22 for Hercules Graphics mode.
These modes only allow one page of mono graphics (see Q13). Mode 21 is
Page 0 at address B000h, and Mode 22 is Page 1 at address B800h. Hence,
Mode 22 is not available with two monitors (it conflicts with color
video).

Q15: What are Exceptions 12 and 13?

A15: An exception 12 (or 13) is caused by the program you are running doing
something that it is not allowed to do on a 80386 while in Virtual 8086
(V86) mode. Since QEMM is the 386 ``control program,'' it can only
report the error caused by the user program. The main cause is operand
wrapping past the last address in segment, 65,535 (FFFF in hex)

Note that exceptions are only reported by QEMM, and are not caused by
either QEMM or DESQview. They are caused by old programs that assume
they are running on an 80286 or less; or by a program that ``crashed''.

From the INTEL ``80386 Programmer's Reference Manual,''
PART III - COMPATIBILITY
chapter 15, VIRTUAL 8086 MODE
Section 15.6 DIFFERENCES FROM 8086
Stated ``reasons'' 6, 7 & 8
(pages 15-10 & 15-11)

Quoting from the INTEL manual:
15.6 DIFFERENCES FROM 8086
In general, V86 mode will correctly execute software designed for
the 8086, 8088, 80186 and 80188. Following is a list of the minor
differences between 8086 execution on the 80386 and on an 8086.

... (only those causing exception 12 or 13 are listed)

6. Redundant prefixes.
The 80386 sets a limit of 15 bytes on instruction length. The only
way to violate this limit is by putting redundant prefixes before
an instruction. Exception 13 occurs if the limit on instruction
length is violated. The 8086/8088 has no instruction limit.

7. Operand crossing offset 0 or 65,535.
On the 8086, an attempt to access a memory operand that crosses
offset 65,535 (e.g., MOV a word to offset 65,535) or offset 0
(e.g., PUSH a word when SP = 1) causes the offset to wrap around
modulo 65,535. The 80386 raises an exception in these cases -
exception 13 if the data segment (i.e., if CS, DS, ES, FS, or GS is
being used to address the segment), exception 12 if the segment is
a stack segment (i.e., if SS is being used.)

8. Sequential execution across offset 65,535.
On the 8086, if sequence execution of instructions proceeds past
offset 65,535, the processor fetches the next instruction byte from
offset 0 of the same segment. On the 80386, the processor raises
exception 13 in such a case.

In order to fix an Exception 13, you can try to load the program causing
it into a different area of memory. To do this, try increasing your
FILES or BUFFERS, or loading some TSRs low rather than high, etc.
However, the best solution is to contact the programmer. Another
possible solution is to increase the amount of memory specified in
Change A Program.

Q16: What determines the amount of conventional memory that DESQview claims
for itself and takes away from programs?

A16: Using XDV.COM, DESQview can load most of itself into upper and high
memory so conventional memory is preserved. However, loading many TSRs
or DOS high (see Q22) will reduce the amount of DESQview that can be
loaded high (i.e. in the XMA - the first 64K of extended memory).

DESQview also sets aside a portion of conventional memory and calls it
``Common Memory''. The amount that DESQview allocates can be decreased
in DVSETUP, but the minimum is about 14K. Certain programs such as DVSI
(a set of shareware utilities by Daniel Bodoh) require the amount of
Common Memory to be larger than the minimum. A large Open Window menu
or many ``shared programs'' will also increase the required amount of
Common Memory.

Each window has an area of memory called ``System Memory''. The amount
of System Memory available to a program is controlled by three separate
entries on the Change A Program screen. First, since DESQview stores
the window image in System Memory, decreasing the number of text pages
and maximum window size decreases System Memory usage. Second, since
most programs do not explicitly use System Memory, the System Memory
field can be set to 1K or 0K.

The pool of System Memory only reduces the maximum window memory for
that particular window, and does not affect the other windows. You can
see this using the Memory Status program. It will report, say, 592K of
conventional memory available, but part of that is used for System
Memory so the actual amount available is less.

Q17: What are some programs that are incompatible with DESQview?

A17: [Please forward any other known incompatibilities to the editor of this
FAQ list (see above).]

Any ``386 Control Program'' that is not VCPI compliant (see Q15).

BitFax

Borland C++ 3.0
Borland has a patch on Compuserve and the Borland BBS. This patch is
also available on SIMTEL20 as DPMIFI.ZIP in PD1: (see
Q7).

Colorado Memory Systems, Inc.'s TAPE.EXE
Incapable of finding a tape drive piggybacked to a floppy adapter when
run in a DESQview window. It does not crash the system, but backups are
not possible when inside DESQview. Colorado has no intention of fixing
this.

ConFormat

Diagnostic programs that try to go into protected mode to tested
extended memory will fail under QEMM. These include QAPLUS and RAMTEST.
Diagnostic programs should be run from a boot floppy.

DJGPP/DJGPP-compiled programs
Patch level 5 works with QEMM, but reportedly crashes in a DESQview
window. There is a GO32 patch on the anonymous FTP site
GEORGETOWN.NRL.NAVY.MIL in /pub/DOS386/go32-patch which should make it
work. Version 1.06 alpha has been released, which will work with
DESQview when compiled with ``paging.c'' available at the same anonymous
FTP site. With this patch, you can multitask protected mode GCC programs
in *any* window!

DR DOS 6.0 history feature
DR DOS works great with DESQview, except for the history feature.

Games that use digitized sound without extra sound hardware. Digitized
sound requires that the timer interrupt be sped up to 8000 or more
interrupts per second, which DESQview can't deal with. The only
workaround is to turn off the sound or buy extra sound hardware.

Micronics rev 1.10.05 and 1.10.06 motherboards with Phoenix BIOS
Incompatible with QEMM-386. The first rev that worked again with QEMM
was 1.10.10. Contact Phoenix for a BIOS upgrade.

Mountain FileSafe 4000 Tape Backup Software

MS-Kermit 3.11
Try setting Optimize Communications in DVSETUP to No. If that doesn't
work, use the Kermit SET COM command to set the exact interrupt request
and I/O port used. The problem will be fixed in 3.12.

QA Plus (see above note on Diagnostic programs)

RAMTEST (see above note on Diagnostic programs)

Soundblaster
Games that use Soundblaster require ``Share CPU'' be set to N or the
music will be choppy.

Speed (LandMark Tests 2.00)
Crashes DESQview

Windows Enhanced Mode
(see Q11)

Q18: I'm having a problem {configuring DESQview, running a program, etc.}.
How do I fix it?

A18: First of all, take a look at the manual. This may seem obvious, but
you'd be surprised at the number of people that post problems which they
could have solved themselves by glancing at the manual.

If you still can't figure it out, post a complete description of your
problem. Don't just say, for example, ``foo.exe doesn't run''. Be
specific. Post the Change A Program screens, or portions of
AUTOEXEC.BAT or CONFIG.SYS if relevant. But use some restraint. Don't
post 18 pages of system configuration information just because you can't
get foo.exe to print ``Hello, world''.

Q19: How can I contact Quarterdeck?

A19: Quarterdeck Office Systems
150 Pico Boulevard
Santa Monica, CA, USA 90405

Technical Support:
Phone: (310) 392-9701
Fax: (310) 399-3802
Sales:
Phone: (310) 392-9851
Fax: (310) 399-3802

QOS BBS: (310) 314-3227 (24 hours/day, 1200-9600, 8 bits, No parity)
[Some areas have trouble with the new (310) area code. If you
do, try (213)]

E-mail (for Tech Support):
Internet/Usenet/UUCP:
[email protected]
Quarterdeck BBS: Sysop
CompuServe: 76004,2310
BIX: QOS.REP2
MCI Mail: QUARTERDECK
Smartnet: DESQview Conference - Quarterdeck USA

Public Message forums for Quarterdeck Tech support:
QOS BBS: echnical Support Message System
CompuServe: ``GO PCVENB''
BIX: ``JOIN DESQVIEW''
SmartNet: DESQview Conference
FidoNet: DESQview Echo - Mark Hockings
RelayNet: DESQVIEW - Quarterdeck USA or Quarterdeck Canada
ILINK: Multitaskers
Usenet: comp.os.msdos.desqview - There are no QOS Techs
listening, but DV gurus can help

Quarterdeck International Ltd.
B.I.M. House, Crofton Terrace
Dun Laoghaire, Co.
Dublin, Ireland
Phone: +353-1-841444
Fax: +353-1-844380

Quarterdeck UK
The Widford Old Rectory
London Road
Chelmsford, Essex, CM2 BTE
Phone: +44 (245) 496-699
Fax: +44 (245) 263-969

Quarterdeck Office Systems Canada
70 York St., Suite 1220
Toronto, Ontario M5J 1S9
Phone: (416) 360-5758
Fax: (416) 360-4885
Upgrades: (800) 268-5181

[I'm always looking for more international addresses. If you have one,
please send it to me.]

Q20: What books are available on DESQview?

A20: ``DESQview - A Guide to Programming the DESQview Multitasking
Environment'', by Stephen R. Davis, M&T Books Publishing, 501
Galveston Drive, Redwood City, CA 94063. 346 pages. 1st Edition,
1989.
[This is a review from Quarterdeck. I've heard from others that this
books is really not that good and doesn't have many examples. Look it
over well before you spend any money.]
A very good source on programming in C using the DESQview API. This is
a tutorial book with lots of examples. Would be useful to programmers
who find the QOS API manuals somewhat daunting. All examples are in
C, however there is lots of general information which would be useful
for developers programming in any language. Available direct from M&T
and bookstores which specialize in technical works. Can be ordered from
Quarterdeck order line at (310) 392-9851 for $24.95 ($39.95 with disk -
5 1/4 inch only).

``The Official DESQview Sourcebook'', Larry Joel Goldstein, Bantam
Computer Books, 666 Fifth Ave., New York, NY 10103. 351 pages.
1st edition - Sept. '89, price $22.95 ($27.95 Canada).
A comprehensive guide to the use of DESQview, QEMM and the DESQview
Companions. Contains a section on the DESQview API that may serve as
an introduction, but this is not a programmer's book. A useful adjunct
to the Quarterdeck manuals when you want similar information from
another view.

``MS-DOS Beyond 640K, Working With Extended and Expanded Memory'',
James Forney, Windcrest Books, Division of TAB Books Inc., Blue
Ridge Summit, PA 17294-0850. 1st Edition 1989. 235 pages. Price
$19.95.
Not a DESQview/QEMM book specifically, but an excellent book on the
subject of memory, with many references to DESQview and QEMM. Highly
recommended to users who really want to understand the use of memory in
their PCs.

``The Best Book of DESQview'', Jack Nimersheim, Howard W. Sams &
Company, 11711 North College, Suite 141, Carmel, IN 46032. 1st
Edition 1990, 396 pages. Price $24.95
A user-friendly guide to DESQview, the Companions, QEMM and Manifest.
Contains many tips and a good discussion of the DESQview Learn feature.

``Mastering DESQview'', Jonathan Kamin, Scott, Foresman IBM
Computer Books, 1900 E. Lake Avenue, Glenview, IL 60025. 1st
Edition 1990, 387 pages. Price $24.95.
A comprehensive guide to the use of DESQview, with emphasis on hints and
techniques which enhance the use of DESQview. Special emphasis on
creative use of DESQview's Learn (macro) facility.

``DESQview Instant Reference'', Paul Perry, Sybex. Price $9.95.

[If you know of any more, please let me know]

Q21: What are the command-line switches for DESQview/QEMM/QRAM?

A21: The file QOSSWIT1.ZIP from SIMTEL20 (see Q7) in the PD1:
directory contains a list of the documented and undocumented switches
for Quarterdeck's products.

Q22: How can I configure DESQview for maximum window memory under DOS 5?

A22: The answer to this question is very system dependent. However, you
should use QEMM rather than EMM386 and HIMEM.SYS (on a 386), because
QEMM is smaller and will provide the same services. Also, without QEMM
screen virtualization is not possible (see Q2). Loading DOS high will
not necessarily help, because that reduces the amount of DESQview kernel
that can be loaded high (see Q16).

Experiment. Use Manifest to judge the results. If your high memory is
very fragmented (i.e. many small contiguous blocks rather than a few
large blocks), keeping DOS and TSRs low and putting DESQview high might
work better.

Do not set up your path and environment variables until all the TSRs
have been loaded. A copy of the environment is made for every TSR, and
if the TSR does not give this area of memory back to DOS, it is wasted.

Q23: What is NOFF.SHP {NOFF.SHR}?

A23: NOFF.SHR is an older version of NOFF.SHP. So what's NOFF.SHP?

DESQview is the child of an older IBM program called TopView. Because
Quarterdeck wanted DESQview to run all the old TopView programs, they
made DESQview compatible to TopView, in much the same way you can run
programs written for DOS 3.3 in DOS 4.0.

If a program writes directly to the video memory, TopView (and DESQview)
cannot run it in a small window. So IBM allowed programs to be TopView-
aware (similar to DESQview-aware (see Q3)) by giving them ``virtual''
video memory on request. This memory looks like video memory, but
characters written into it do not get displayed on the screen.

Since DESQview is a much smarter program that TopView ever was, DESQview
can automatically update the window from the virtual video memory. But
TopView did not have that ability. The TopView-aware program had to
make another call which would manually update the window from the video
memory.

Quarterdeck wanted to make DESQview look as much like TopView as
possible, so they decided that if a TopView-aware program makes this
call to update the window, then the automatic updating of DESQview would
be turned off.

DESQview can do a better job of updating the window from the virtual
video buffer than *some* programs. So the purpose of NOFF.SHP is to
capture the TopView update call before it gets to DESQview and not let
DESQview see the call. That way, DESQview never turns off the automatic
updating, and your window output is less jerky.

Whether or not you should use NOFF.SHP depends on how the TopView-aware
program updates its screen. If it changes only small parts of the
screen at a time but requests that the entire screen be updated, use
NOFF.SHP. But if the program tells TopView (DESQview) exactly which
part of the screen changed, output may look smoother without NOFF.SHP
because an automatic update doesn't take place until the end of each
program's time slice (see Q9).

Although NOFF.SHP is included in the Quarterdeck-supplied DVP for
Wordperfect, it is not required if you are using a 386 or better and
you turn on text virtualization.

Q24: How can I increase DESQview's performance?

A24: DESQview's performance depends on many different factors. We will try
to highlight some of the important areas here.

DESQVIEW-OBLIVIOUS PROGRAMS
Performance is especially degraded by DESQview-oblivious programs
(see Q3), because they do not give up the CPU when they are not
doing useful work (see Q9).

Some programs, while waiting for keyboard input, continuously ask
if a keystroke is available instead of giving up the CPU.
Quarterdeck provides a way to force programs to give up the CPU
after a specified number of keystroke queries. One of the bytes in
the DVP file (the file edited by Change A Program) specifies the
number of keyboard polls before the CPU is taken away.

Unfortunately, Quarterdeck has never put a field on the Change A
Program screens to change this number. DvpEdit, a freeware
replacement for Change A Program, is available on SIMTEL20 (see Q7)
and allows you to change this ``Max Keypolls'' value.

Another well-known program is TAME. TAME does much more than watch
for keyboard polling; and can do a good job of increasing
performance.

System performance can be measured with the PS utility available in
the DVSI package (also on SIMTEL20 and DVNet). Using PS, an
offending program can be quickly identified.

DISK ACCESS
Since disk access can slow down the system significantly (see Q10)
using a disk cache can also increase performance. HyperDisk,
available on SIMTEL20 (see Q7), is especially popular among
DESQview users.

FOREGROUND/BACKGROUND TICKS
With the ``Tune Performance'' menu you can set the number of
foreground and background ticks. These numbers indicate how much
time DESQview is to allocate to a given task before moving on to
the next in a round-robin fashion. The default setting is 9:3,
which means DESQview gives the foreground task 9 ``ticks'', or
roughly half a second, of CPU time, then gives each of the
background tasks 3 ticks. A more common setting with today's
hardware is 1:1 or 2:2 -- each task gets 1 (or 2) ticks.

There's no single, optimal setting. Smaller numbers generally
provide smoother performance, but may overwhelm the CPU on less
powerful systems. In addition, time-sensitive applications like
communications programs may need to be serviced frequently by the
CPU. In short, experiment.

Here's an undocumented trick: Go to ``Tune Performance'' and
backspace to erase the numbers that are in the ticks fields. This
will set them to ``H0'' (next time you bring up the ``Tune
Performance'' window). This trick seems to set the ticks to 1/2
and 1/2 (although this claim has been disputed -- more
experimentation will have to be done).

Setting 0 background ticks will cause background windows to never
run. Setting 0 foreground ticks will cause background windows to
run only if the foreground window explicitly gives up its
timeslice, or if it blocks (i.e. waits for a keystroke or other
event).

SCREEN DISPLAY
There are three primary reasons why your screen may appear jerky.
First, you may be virtualizing the window. While this prevents
bleed-thru (when used in conjunction with QEMM-386), it does
increase the workload on DESQview, and the screen output only
occurs at the end of the program's timeslice. If this is a problem
for you then configure your application to use BIOS screen writes
and turn virtualization off. Second, you may need to adjust your
tick settings. DESQview updates the screen display at the end of a
task's CPU allocation. Thus, a setting of, say, 99:99 will result
in extremely jerky screen updates compared with 2:2 or so. Third,
you may be unnecessarily using NOFF.SHP (see Q23).

MEMORY USAGE
The memory usage of individual programs can be tuned in Change A
Program. For maximum window size, you must balance your TSR and
device driver usage (see Q16 and Q22). The PS utility in the DVSI
package available on SIMTEL20 (see Q7) can show which windows are
not using all their allocated memory.

Q25: My {9600 or greater} BPS modem drops characters under DESQview. Is high
speed communication possible under DESQview?

Yes, high speed communication is possible. First, you must go into the
DESQview setup program and set ``Optimize Communications'' to Y (see
Q29). If you still lose characters, you may have to get a new serial
board. The characters are coming in too fast for DESQview and your
communications program to process them.

The chip that controls serial communication is known by many names. On
an XT (or an 8-bit I/O board) it is an 8250. Most ATs contain the
16450. The problem with these chips is that they can only buffer one
character at a time, so if DESQview doesn't allow your communications
program to respond fast enough, you'll lose that character.

The solution is to get a board with the National Semiconductor NS16550AN
or NS16550AFT chip. This chip buffers up to 16 characters, so character
loss is less likely to occur. If you are the handy type, you can even
swap your 8250 (or whatever) for the NS16550AN yourself, for the chips
are pin-compatible.

Do not get a 16550 non-A chip. It is an old, buggy chip. Also, Western
Digital makes a 16550 which is rumored to be buggy at speeds of 2400 BPS
or less.

Q26: Why doesn't ANSI.SYS work in DESQview?

ANSI.SYS doesn't work inside DESQview because DESQview takes control of
all the screen writes. Quarterdeck has provided a solution, however.
Provided with DESQview is DVANSI.COM. Run this program in the window in
which you need ANSI.SYS.

Q27: Why does the mouse pointer disappear after running certain programs?

If a DESQview-aware or DESQview-oblivious program (see Q3) uses the
mouse, DESQview must turn off its own mouse handling in that window.
Unfortunately, DESQview cannot detect when the program is finished with
the mouse, so your DESQview mouse pointer will never reappear while that
window has the keyboard.

Q28: What are those files SWAP*.DV in my DV directory? Can I delete them?

A28: They're used by DESQview to store your application when it gets swapped
to disk. If the file's date and time are older than the last time you
started DV then you can safely erase the files. There is no way to
restart an application using a swap file.

Q29: What does ``Optimize Communications'' in DESQview's setup program do?

A29: The cards that you install in your computer use ``hardware interrupts''
to tell the CPU that the card has or needs data. The hardware
interrupts are like grade school students raising their hand in class.
When they teacher recongizes a student with his hand up, that student
can ask/answer a question.

Like many teachers, DESQview has a ``teacher's pet.'' This pet is
hardware interrupt 0. If a bunch of hardware interrupts raise their
hands at the same time, DESQview will always recognize 0 first, then 1,
then 2, and so on.

However, most COM ports use hardware interrupt levels 3 and 4. So by
answering ``Y'' to ``Optimize Communications'', you force interrupt
level 3 to become the teacher's pet. DESQview will then recognize the
interrupts in this order: 3, 4, 5, ... 0, 1, 2. Rather than answering
``Y'', you can put in any interrupt number you prefer. For example, if
you answer ``5'', DESQview will recognize the interrupts in the order
5, 6, 7, ... , 0, 1, 2, 3, 4.

Setting ``Optimize Communications'' to ``Y'' can reduce or eliminate
dropped characters in communication programs (see Q25).

8086/8088 machines have 8 available hardware interrupts (0-7), while
80286+ machines have 16 (0-15).

CONTRIBUTORS
------------
The following people have sent suggestions for entries in the FAQ. On
behalf of all the readers of comp.os.msdos.desqview, I thank you. If
the person is credited with a ``Q'', he/she suggested a question. If
part of an answer was contributed, the contributor is credited with an
``A''. An asterisk indicates that the contributor wrote a significant
portion of the answer.

If you see your name here and you didn't actually send me something, I
probably stole a posting of yours for the FAQ.
----
The information in A7 on access to SIMTEL20 is from regular postings to
the Usenet newsgroup comp.binaries.ibm.pc.archives by Keith Peterson.

The electronic contacts in A19 are from the QOS note ``CONTACT.TXT''

Most of A20 was copied from Quarterdeck's tech note ``DVBOOK.TEC''

Some of A25 is from Appendix B of the FOSSIL driver manual sent to me by
Stephen Lee.

[email protected] (Greg Alheid) A2*,A4*,A5*,A11,A13*,
A15*,A17,A20
[email protected] (Jerry Crow) A2,A21
[email protected] (Andrew A. Reilly) Q22
[email protected] (Charlie Kestner) Q4,Q17,Q19,Q20
Dave Osborne 1:123/27.0 A29
[email protected] (Eben Moglen) A17
[email protected] (Ellen C. Siever) A20
[email protected] (Klaus Hartnegg) A13
january%[email protected] (Jamie Pehling) A2,A7
[email protected] (Jim Orr) A20
[email protected] (Jerry Nash) A17
[email protected] (Jay Maynard) A17
kn[email protected] (Jim Knepley) A2,A4,Q8,Q17,Q18
[email protected] (Russell Herman) A19
Mark Hockings 1:102/824 A19,A24
[email protected] (Mike Batchelor) A8,A17
[email protected] Q2,Q12,Q13
[email protected] (Rick Sladkey) A4,A17
[email protected] (Nick Watkins) A2,A6,A17
[email protected] (Kyle ?) A13
[email protected] (Paul ?) A19
[email protected] (Ralf Brown) A2,A6,A7*,A8*,Q9,A10*,
A13,A14*,A17,A21*,A25
[email protected] (James J. Reisert) A25
[email protected] (Richard Reiner) A2,A17
[email protected] (Yaniv Golan) A17
Saar Blitz 2:403/139.0 A17
[email protected] (Mike Schuster) A17
[email protected] (Stephen Lee) A25*
[email protected] (Stephen Smith) A13
[email protected] (Pete Stern) Q25,Q26,Q27
[email protected] (Steve Gabrilowitz) Q8,Q15
[email protected] (George A. Theall) A2*,A3,A4,A7,A17,A19,
A20,Q22,A23,A24*,A28*
[email protected] (Doug Dougherty) A2,A4,A10,Q11,A12,Q14,
Q16,A17,A20,A25
[email protected] (Keith Peterson) A7*,A17


  3 Responses to “Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : DVFAQ3.ZIP
Filename : DVFAQ3.TXT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/