Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : QWHITE13.ZIP
Filename : DOS4.TEC

Output of file : DOS4.TEC contained in archive : QWHITE13.ZIP

ID:D4 DOS 4.0 and Expanded Memory Drivers
Quarterdeck Technical Note #143 Filename: DOS4.TEC
by Quarterdeck Testing & Compatibility CompuServe: DOS4.TEC
Last revised: 2/12/92 Category: SW3

Subject: Discusses the DOS 4.0 bug with the /X parameter on BUFFERS, and notes
on DOS 4's expanded memory drivers.

We have tested all of our products under DOS 4.0 and above and have not found
any problems, other than those mentioned below under the heading "Consumer
Alert! - Using the '/X' parameter."

DOS's Expanded Memory Drivers

DOS 4.0 provides two files, XMAEM.SYS and XMA2EMS.SYS, that can be used to
provide expanded memory on some systems.

This driver is used to emulate an IBM XMA card on 386 IBM machines. XMA
is an IBM hardware specification which uses a bank-switching technique. It
should be noted that on a hardware level, this technique is not EMS 3.2, EEMS
or EMS 4.0. It is IBM's own method. The IBM 3270 Workstation program uses
XMA in its native mode, but any program that uses LIM style memory requires an
additional EMS emulation driver on top of XMAEM.SYS systems or XMA boards.

This driver, when used with a 386 that has XMAEM.SYS loaded or when used
with an XMA board, emulates EMS 4.0. This driver seems to do a reasonably
good job of emulating the EMS 4.0 spec, but is of limited use to DESQview
users in that it cannot set map EMS in the 0-640K area (thus not allowing
DESQview to multitask in EMS) and cannot map EMS into high (640K-1 meg) memory
addresses (thus not allowing QRAM to create any High RAM or DESQview to be
able to load itself into this area) other than the EMS 64K page frame. This
driver can be used for DESQview program swapping, but not to support
multitasking in expanded memory.


DOS 4.0 defines EMS 4.0 pages 254 and 255 to be reserved for the use of the
DOS 4.0 utilities BUFFERS, FASTOPEN and VDISK. This function can be utilized
by allocating specific physical 16K pages for P254 and P255 on the expanded
memory driver line in CONFIG.SYS. These three utilities can then access this
memory by giving them a "/X" parameter.

This represents an addition to the EMS 4.0 specification by IBM, an addition
which is not supported by the specification as outlined by Lotus, Intel and
Microsoft. It is not supported by Quarterdeck's QEMM-386 or QEMM-50/60 driver
or any other EMS 4.0 driver other than IBM's. Quarterdeck believes that users
with IBM DOS 4.00 or 4.01 or MS-DOS 4.00 should not use the "/X" switch to
load any of the above-mentioned utilities, as other EMS 4.0 software will not
be able to detect this special usage of EMS and may overwrite these pages.
Since the BUFFERS driver contains directory information, this could lead to
the loss of information on your hard disk.

Under the appropriate circumstances, later versions of DOS 4 can be safely
permitted to use expanded memory for loading BUFFERS, FASTOPEN and VDISK. If
you are using our Manifest product, it can detect whether your system is
currently configured to use "/X" safely or not. To find out, boot up without
using the "/X" parameter and then look at Manifest's "Hints." If one of the
hints is to load your BUFFERS with the "/X" parameter, then you may assume it
is safe to use. If you are unsure about whether your DOS can safely use the
"/X," we strongly recommend you do not use the "/X" parameter for BUFFERS,
FASTOPEN and VDISK at any time, whether using our products or not.



Unless you don't have the QEMM products, there is no particular reason to use
the IBM drivers.

On a 386: IBM's drivers (both of which must be used), take 19K of
conventional memory overhead vs. 1.5K for QEMM. They do not provide memory
sorting, High RAM (for loading high TSRs), or shadowing of ROMS; DESQview
users will not get virtual screen support, and the memory mapped by the IBM
drivers can only be used by DESQview for swap space, not for multitasking
programs. Even if you don't plan to run DESQview or load TSRs into high
memory, QEMM-386 is probably a faster and more robust driver.

On expanded memory boards: The IBM drivers cannot be used on these boards.
Only IBM XMA boards or 386 extended memory can support the drivers. You will
still need to run the expanded memory driver that came with the board.

On Model 50/60 with memory expansion: QEMM-50/60 maps conventional memory (0-
640K), allowing DESQview to multitask in expanded memory, it creates High RAM,
and it manages multiple different XMA or MEO boards simultaneously. XMAEM and
XMAEMS do not provide these features.

*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) 1988-92 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************