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.
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
Post a Comment