ID:D6 MS-DOS 6 and Quarterdeck Products
Quarterdeck Technical Note #166 Filename: MSDOS6.TEC
by Bill Burge CompuServe: MSDOS6.ZIP
Last revised: 3/31/93 Category: SW3
Subject: A discussion of MS-DOS version 6.0 and Quarterdeck products.
The information in this Technical Note assumes that you are using versions of
Quarterdeck products that are DOS 5 compatible: QEMM-386 ver 6.00 and later,
DESQview 2.40 and later, QRAM 2.0 and later, QEMM-50/60 6.00 and later, and
any version of DESQview/X.
1. Is Microsoft DOS 6 compatible with my Quarterdeck products?
Absolutely! There is nothing in DOS 6 that poses any danger to your system or
the data stored in it due to the use of any Quarterdeck product. The
Microsoft DOS 6 README.TXT file states, in Section 6.10: "Quarterdeck's QEMM
memory manager is compatible with MS-DOS 6." In addition, there are no known
incompatibilities between MS DOS 6.0 and Quarterdeck's DESQview or DESQview/X
2. As a QEMM-386 user, what information do I need to install Microsoft DOS 6?
As a QEMM-386 user, the most important information that you can take with you
in the installation and configuration of Microsoft DOS 6 is the knowledge that
you are already running the most effective memory management system available
for the IBM-compatible computer. So, if you are already using QEMM:
a. Run the SETUP program from the DOS 6 installation diskette and
follow the instructions on the screen.
b. Install any of the new DOS 6 utilities that you desire. DOS 6
provides you the opportunity to add virus protection and other
things to your configuration. Remember: the default installation
of DOS 6 installs only the MS Windows versions of these utilities;
you have to tell it to install the DOS versions as well. This is
done on the Utilities screen of the SETUP process.
c. Run QEMM's OPTIMIZE to load those drivers into Upper Memory.
If you should desire to experiment with Microsoft DOS 6's MemMaker (the
program that attempts to provide more memory), we can recommend a couple of
safeguards. MemMaker will remove ALL the QEMM-386 commands and configuration
from your CONFIG.SYS and AUTOEXEC.BAT files. We are confident that you will
want to return to Quarterdeck's QEMM-386, so we urge you to save a copy of
your CONFIG.SYS and AUTOEXEC.BAT files. Before you begin to experiment, copy
these files from the root directory to some other directory or to floppy
diskette. This will allow you to restore them easily.
Next, be aware that even if you save the configuration created by MemMaker,
you can usually reverse its process by running MEMMAKER /UNDO. If the final
screen of the MemMaker process is NOT a numerical breakdown of how MemMaker
got you more memory (and every test that we've run says it won't be), select
the default exit by pressing the
current MemMaker configuration.
It may also be helpful to know that MemMaker does NOT handle CALLed batch
files. A CALLed batch file is executed with the DOS keyword "CALL". Doing
this tells DOS that you want the commands in the "CALLed" batch file executed,
and then you want DOS to resume executing the remaining commands in the
current batch file (the AUTOEXEC.BAT in this case). The significance of this
is that Quarterdeck's Optimize process DOES handle CALLed batch files, loading
any TSR's in those batch files into Upper Memory instead of just ignoring
them. This means that when MemMaker deletes the QEMM-386 commands from the
AUTOEXEC.BAT and CONFIG.SYS, it leaves them in the Optimized, CALLed batch
files. These would have to be removed by editing the CALLed batch files and
deleting the LOADHI information. If NO changes have been made since the last
time that you Optimized your system, you could also run UNOPT.BAT. UNOPT is a
batch file, created by Optimize, that returns your system to the condition it
was in before the most recent Optimize. If you have Optimized more than once,
this may not remove the LOADHI information.
It is obvious that with the greater selection of features that QEMM-386 and
Optimize possess, MemMaker doesn't stand a chance of making more Upper Memory.
QEMM-386's Stealth feature adds 96K of Upper Memory. That's 64K better than
MemMaker's best attempt to find unused space in your System BIOS. Optimize
has the ability, through Quarterdeck's Squeeze technology, to "shoe-horn"
TSR's and device drivers into areas that are large enough for them to reside,
but too small for them to initialize. Optimize has a "What-If" feature that,
without editing your configuration and re-Optimizing, tells you the results of
rearranging the loading order of your programs and drivers. None of these are
possible with MemMaker.
3. Are any of my Quarterdeck products affected by DoubleSpace?
The most talked-about feature of Microsoft DOS 6 is DoubleSpace. DoubleSpace
was designed to be compatible with QEMM-386's Stealth feature. Disk
compression utilities, including Stacker, XtraDrive, and now DoubleSpace, have
gone to great lengths to be both Stealth- AND Optimize-compatible.
DBLSPACE.BIN is the driver that gets loaded so that your system recognizes
your DoubleSpace drive. It gets loaded by IO.SYS during boot time, BEFORE DOS
has even thought about loading QEMM-386. It uses about 43K, and when the
CONFIG.SYS has completed, the memory used by the resident portion of
DBLSPACE.BIN appears to be tacked onto the LAST driver loaded in the
CONFIG.SYS. The best way to use DoubleSpace with QEMM-386 is to make sure you
have a line in your CONFIG.SYS file that reads:
DBLSPACE.SYS has only one purpose, and that is to make DBLSPACE.BIN appear as
a "real" driver, separate in memory. It gets added at the end of the
CONFIG.SYS with the parameter /MOVE. DoubleSpace REQUIRES that the
DBLSPACE.SYS driver be loaded in order for any memory manager to load
At this point all you have to do is run Quarterdeck's OPTIMIZE. This will
load the 43K DoubleSpace driver into Upper Memory, space permitting. DESQview
or DESQview/X users should be aware that the DBLSPACE.EXE program cannot be
run from inside of DESQview or DESQview/X. DBLSPACE.EXE detects the presence
of DESQview and refuses to run. This program is used mainly for the creation
and maintenance of DoubleSpace drives.
Quarterdeck has a program called NODESQ.COM that can be run, in a window,
before a program that detects DESQview. NODESQ defeats the DESQview detection
of DESQview-aware applications, like DBLSPACE.EXE. You can add NODESQ.COM
(available from the Quarterdeck BBS) and run DBLSPACE.EXE (as is the case for
most of the DESQview-sensitive DOS 6 programs), but you may run some risk.
You should see that all DoubleSpace drives are mounted before entering any
multitasking environment. You should not mount drives using DBLSPACE.EXE
inside of DESQview. This may make working with DoubleSpaced floppies slightly
4. How can I restore my QEMM-386 configuration after MemMaker has removed
QEMM-386 from my CONFIG.SYS and AUTOEXEC.BAT files?
Your ability to return to QEMM-386, after running MemMaker, depends on how
long ago you ran it. The steps that you follow depend on whether you have:
1. Not yet completed MemMaker 2. Just finished it for the first time 3. Run it
more than once OR have made numerous post-MemMaker changes to your
For the Number 1's (those who have not yet completed MemMaker):
When MemMaker completes, and DOESN'T provide a better configuration than the
one you already had, it will tell you "Your computer's memory was optimally
configured before you ran MemMaker". At this juncture you can press
to restore your original configuration or F3 to save the MemMaker
configuration. Your choice at this time will be
QEMM-386 configuration will be restored.
For the Number 2's (those who have just completed MemMaker):
Since you have completed the MemMaker process, it has probably become evident
to you that nothing provides more Upper Memory for loading your TSR's and
device drivers than QEMM-386. Hopefully, you followed our advice and made
copies of your QEMM-386 Optimized CONFIG.SYS and AUTOEXEC.BAT. You may then
just copy them back. If you didn't, and MemMaker has completed, there are a
couple ways to recover your configuration. You should first attempt the
MEMMAKER /UNDO command. This restores your CONFIG.SYS and AUTOEXEC.BAT files
to the state they were in before the last time you completed MemMaker.
However, this might not be possible. It is not possible if you have deleted
the backup copies of the AUTOEXEC.BAT and CONFIG.SYS files that MemMaker puts
in the same directory as MEMMAKER.EXE. These files are named AUTOEXEC.UMB and
CONFIG.UMB (and sometimes SYSTEM.UMB; this is a copy of your MS Windows
SYSTEM.INI file). It is also not possible to restore the QEMM information and
remove all the MemMaker information if you have run MemMaker MORE than ONCE.
This would mean that the *.UMB files created by MemMaker would NOT have the
QEMM information in them, but would still have ONLY MemMaker's options
If for some reason MEMMAKER /UNDO does not restore your QEMM-386
configuration, don't worry. When you installed DOS 6 by using the SETUP
program, it required you to create an UNINSTALL diskette. Your original QEMM
configuration was copied to that diskette as the files CONFIG.DAT and
AUTOEXEC.DAT. You can restore your system (and save the MemMaker
configuration for future reference) from the files found on the DOS 6
UNINSTALL diskette (CONFIG.DAT and AUTOEXEC.DAT) as follows:
Place the UNINSTALL diskette in drive A: and type:
REN CONFIG.SYS CONFIG.MEM
REN AUTOEXEC.BAT AUTOEXEC.MEM
COPY A:CONFIG.DAT C:\CONFIG.SYS
COPY A:AUTOEXEC.DAT C:\AUTOEXEC.BAT
Your previous QEMM configuration should be restored. You may now install any
of the MS DOS 6 utilities and then run Quarterdeck's OPTIMIZE. Your
restoration is now complete.
For the Number 3's (those who have made further changes after MemMaker):
It may not be feasible to run MEMMAKER /UNDO or copy back your configuration
files from the UNINSTALL diskette if you have made extensive changes to your
CONFIG.SYS and AUTOEXEC.BAT files after you have completed MemMaker. It might
be quicker to follow the next steps than to repeat all the work you have done
in configuring these files.
Editing the CONFIG.SYS and AUTOEXEC.BAT:
The main objectives in editing the CONFIG.SYS and AUTOEXEC.BAT are to add the
QEMM386.SYS line and to remove the DOS 6 memory management. (You MUST edit the
files with an editor that saves the files in a DOS ASCII format. Do NOT use
an editor or word processor that saves files in a "document" format, unless
you are aware of how to save them in DOS text or ASCII Text.)
If you have done a significant amount of modification to your configuration
AFTER the MemMaker process has been completed, there are a couple of
conditions that have to be remedied. The first, and foremost, is that
MemMaker removed the QEMM386.SYS line from the CONFIG.SYS file and replaced it
with HIMEM.SYS, EMM386.EXE and DOS=UMB. The other issue is that MemMaker has
added information to the device driver and TSR-loading lines in the CONFIG.SYS
and AUTOEXEC.BAT. You will need to replace the DOS 6 memory managers with our
Quarterdeck memory manager and you will need to remove the information from
the device driver and TSR loading lines in the CONFIG.SYS and AUTOEXEC.BAT.
A. Adding the QEMM-386 memory manager
The addition of the QEMM386.SYS line should be as close to the top of the
CONFIG.SYS file as possible. There is usually no problem with making this the
first line of the CONFIG.SYS. If you have a driver for your hard drive
controller or special hard drive partitioner, that line will usually need to
precede the QEMM386.SYS line. If QEMM-386 was installed in the default
location of C:\QEMM, the line would appear as follows:
To remove the DOS 6 memory managers you need to remove three lines from the
CONFIG.SYS. They will look like the following, assuming you installed DOS in
the C:\DOS subdirectory:
DEVICE=C:\DOS\EMM386.EXE (this may be followed by some parameters)
These lines will have to be removed. The DOS=UMB line may appear as
DOS=HIGH,UMB; you will then only have to remove the ",UMB".
B. Removing the DOS 6 memory management information
The removal of DOS 6's additional memory management information is a little
bit trickier. You need to remove the MemMaker-added information from the
existing device drivers and TSR's, while not removing the device drivers and
TSR's themselves. DOS 6's LOADHIGH (or LH as it usually appears in the
AUTOEXEC.BAT) and DEVICEHIGH now support explicit region specification and
driver size specification. The resulting lines in the CONFIG.SYS may look
DEVICEHIGH /L:1,9072 =C:\DOS\ANSI.SYS
and/or in the AUTOEXEC.BAT:
LH /L:1,15762 C:\DOS\DOSKEY
This causes a bit of a problem for Optimize. For the LH's, Optimize dutifully
strips away the LH (this was all that was required for DOS 5) and attempts to
LOADHI /GS /L:1,15762 C:\DOS\DOSKEY
Here /L becomes an "invalid parameter" for LOADHI.COM. After a failed attempt
to Optimize, you may have lines in the AUTOEXEC.BAT that resemble:
These lines will not load and may cause certain actions to fail, due to that
particular TSR not loading.
The DEVICEHIGHs are completely ignored by the Optimize process and either load
low or sometimes load high (if DOS=UMB is present). You will need to manually
remove the MemMaker information from these lines. Even though the Optimize
process (since the release of DOS 5) will remove the "HIGH" and "LH" from the
lines, you might as well take out the LH along with the parameters, and the
HIGH from DEVICEHIGH as well as its switches. The example lines from the
CONFIG.SYS and AUTOEXEC.BAT would then look like:
Before editing: DEVICEHIGH /L:1,9072 =C:\DOS\ANSI.SYS
After editing: DEVICE=C:\DOS\ANSI.SYS
in the CONFIG.SYS and
Before editing: LH /GS /L:1,15762 C:\DOS\DOSKEY
After editing: C:\DOS\DOSKEY
in the AUTOEXEC.BAT. When you have successfully made these changes, you are
ready to run OPTIMIZE. After Optimize completes, you will have the best
memory configuration that also encompasses the other improvements that you
have made to your CONFIG.SYS and AUTOEXEC.BAT.
5. Will I have any problems with DESQview or DESQview/X?
Very few Microsoft DOS 6 issues confront the DESQview or DESQview/X user. Any
of the MS-DOS 6 utilities that might, in ANY way, cause a problem when run in
a multitasking environment are DESQview-aware. These particular programs will
post a message reminding you that you are currently multitasking. DOS 6 uses
portions of the DESQview API (Application Programming Interface) to detect if
DESQview, or DESQview/X, is running. There are no problems running these
programs outside of the multitasking environment.
Available from Quarterdeck (via BBS, CompuServe, or other standard support
channels), is a program called NODESQ.COM. If NODESQ is run in the window,
before running a DESQview-aware program, that program will not detect the
presence of DESQview. You can add NODESQ.COM to a batch file that runs
DBLSPACE.EXE. You should mount all possible drives before starting DESQview
or DESQview/X. You should not mount drives using DBLSPACE.EXE inside of
DESQview. This may make working with DoubleSpaced floppies slightly awkward.
VSAFE is the resident program that watches for certain acts of virii and
provides a warning when it finds one. VSAFE can be loaded in XMS (23K
conventional, 23K XMS) or EMS (6.5K conventional, 64K EMS) before DESQview
loads. If you do this, then you CANNOT ALWAYS pop it up over DESQview. If you
try, most of the time DESQview will appear to lose control over the keyboard.
The DESQ key will NOT pull up the menu, etc. This is because VSAFE is up; you
just can't see it. You have to hit ESC to make it go away. Then all will
function as normal. If VSAFE is forced into Conventional memory (44K) it will
pop-up inside of DESQview. VSAFE cannot be unloaded while inside of DESQview,
if it was loaded before DESQview.
The DOS 6 Interactive Boot Process
DOS 6 now has an "interactive" boot process. You can program the CONFIG.SYS
to query you, every time the system boots, before loading a particular command
in the CONFIG.SYS. This is done by adding a "?" to the command before the "="
in the command. The line: "DOS?=HIGH" would produce the following on the
screen: "DOS=HIGH [Y,N]?" and you can make a choice as to load it or not.
Optimize removes the "?" from any line that is edited by Optimize. These
include the lines in the CONFIG.SYS that begin with BUFFERS=, DEVICE=, or
Another feature in the interactive boot process is the ability to build menus
of configurations in the CONFIG.SYS and AUTOEXEC.BAT. This is accomplished by
building "blocks" in the CONFIG.SYS, and having the name of the block
selection that you make on boot be passed to the AUTOEXEC.BAT as an
environment variable - %config%. The use of the environment variable, for
IF's and GOTO's, will then process a particular portion of the AUTOEXEC.BAT
file that is appropriate to that portion of the CONFIG.SYS.
Multiple configurations (as implemented via the CONFIG.SYS blocks) have to be
MemMakered one configuration at a time. The DOS 6 documentation discusses the
process of converting your CONFIG.SYS and AUTOEXEC.BAT into multiple copies
and then MemMakering them one-at-a-time. They warn users to avoid [common]
blocks and "first entries" in the AUTOEXEC.BAT. Since MemMaker is strikingly
similar to the Optimize process (which predates DOS 6 by two (2) years!!) the
same steps need to be followed to Optimize the multiple configurations of MS
6. What else is Quarterdeck doing for DOS 6?
Quarterdeck's commitment to adding functionality to DOS, and DOS-based
programs, has kept our products at the forefront of memory management and
multitasking technology. With each new version of DOS comes an opportunity
for Quarterdeck to design new features and offer the DOS user an even greater
implementation of the world's most widely used operating system. Rest assured
that Quarterdeck intends to continue this pattern.
*This technical note may be copied and distributed freely as long as it*
*is distributed in its entirety and it is not distributed for profit. *
* Copyright (C) 1993 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************