Document 1303 Third Party Memory Managers 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 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. 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.