Third Party Memory Managers

Document 1303
Third Party Memory Managers

Initials:
        MDC
        11/2/91
DRDOS 6.0

Keywords:
        EMM386.SYS
        HIDOS.SYS
        QUALITAS
        QUARTERDECK
        DESQVIEW
        386MAX
        QEMM
        QRAM

Description:

 Relocating the Kernel

When you use a memory manager from another vendor, you can gain additional
conventional memory space by relocating the DR DOS kernel to upper
or high memory. The third-party memory manager must support the XMS
specification, and upper or high memory must be available.
To relocate the kernel, insert the statement:

        DEVICE=C:\DRDOS\HIDOS.SYS

after the statement that loads the third-party memory manager.

HIDOS.SYS attempts, by default, to relocate the DR DOS kernel to upper
memory. If upper memory is not supported or not available, the kernel
is placed in high memory. You can force the kernel to high memory
by using the following DEVICE statement:

        DEVICE=C:\DRDOS\HIDOS.SYS /BDOS=FFFF

The following examples show how and where to add the statement when
loading Qualitas 386MAX or the Quarterdeck QEMM or QRAM
drivers.

Qualitas 386MAX

        DEVICE=C:\386MAX\386MAX.SYS [...etc.]
        DEVICE=C:\DRDOS\HIDOS.SYS [...etc.]
        DEVICE=C:\386MAX\386LOAD.SYS [...etc.]

Quarterdeck QEMM.386

        DEVICE=C:\QEMM\QEMM.SYS [...etc.]
        DEVICE=C:\DRDOS\HIDOS.SYS [...etc.]
        DEVICE=C:\QEMM\LOADHI.SYS [...etc.]

Quarterdeck QRAM (with Intel AboveBoard)
        @SCREEN = DEVICE=C:\ABOARD\EMS.SYS AT 208 MC
        DEVICE=C:\QRAM\QRAM.SYS.
        DEVICE=C:\DRDOS\HIDOS.SYS
        DEVICE=C:\QRAM\LOADHI.SYS [...etc.]

Note:
EMM386.SYS cannot be used with other memory managers.

When a third-party memory manager is loaded, the following config.sys
statements have no effect:

HIINSTALL
HIDEVICE
HIDOS= [ON/OFF] will work with third party memory managers that provide
XMS UMB support.  However, HILOAD, HIDEVICE, and HIINSTALL commands
have no effect.  Most memory managers offer equivalent commands that
you can use.

Quarterdeck DESQview

When running the Quarterdeck DESQview proggram under the DR DOS 6.0
operating system, use the QEMM386.SYS driver as the primary memory
management driver instead of EMM386.SYS provided with the DR DOS 6.0
operating system. When QEMM386.SYS loads from the config.sys file,
it then becomes responsible for controlling both the upper memory
area, between 640 Kytes and l Mbyte, and the high memory area, the
first 64 Kytes above l Mbyte.

Move device drivers and memory resident software to upper memory using
the normal QEMM LOADHI commands. After loading QEMM386.SYS, the operating
system kernel can still be moved to upper memory or high memory by
loading the DR DOS HIDOS.SYS driver in the config.sys file right
after the QEMM386.SYS driver. To move the kernel to upper memory,
use the option /B=AUTO at the end of the HIDOS.SYS line in config.sys.

To specify that the kernel should be placed in high memory, leaving
more upper memory available for device drivers and memory resident
programs, use the option /B=FFFF.

Depending on the configuration of DESQview, a gain in available memory
might not be seen after loading HIDOS.SYS. DESQview uses the high
memory for 63Kbytes of code that normally sit in conventional memory,
while HIDOS.SYS moves approximately 45Kbytes into that area. Because
the high memory area can be used by only one application at a time,
experiment with /B=AUTO, /B=FFFF, or do not load HIDOS.SYS.
These different options can be quickly tested using the DR DOS 6.0
question mark option (?) in config.sys. Placing a ? in front of
any line in config.sys displays that line at boot-up and then you
can select Y(es) or N(o) to execute that instruction.

You might insert the following lines while experimenting:

?"Do you want to avoid moving the KERNEL (Y/N)"GOTO SKIP
?"Kernel in Upper Memory (Y/N)"
DEVICE=C:\DRDOS\HIDOS.SYS /B=AUTO
?"Kernel in High Memory (Y/N)"
DEVICE=C:\DRDOS\HIDOS.SYS /B=FFFF
:SKIP

Refer to Chapter 11 of the DR DOS 6.0 User Guide for a full
discussion of this feature.

If you are running QEMM386.SYS without DESQview, you should always
move the kernel to high memory.

 HIDOS=ON AND 3RD PARTY MEMORY MANAGERS

It was brought to our attention recently that the HIDOS=[ON|OFF] command
from DR DOS 6.0 will function properly with QEMM v.6.0. I have found
that HIDOS=[ON|OFF] will work with any XMS UMB provider. That is, if a
user loads a third party memory manager which creates and makes
available XMS upper memory blocks compatible with the 2.0 specification,
HIDOS=[ON|OFF] itself will relocate DR DOS 6.0 data structures in upper
memory. Those blocks will appear as "XMS UMB"'s from within any memory
mapping utilities provided with the third party memory manager.

Comments

Popular posts from this blog

BOTTOM LIVE script

Fawlty Towers script for "A Touch of Class"