Quaterdeck QEMM Tips

Report Error and General Enquiry

1991 Author Unknown

The following files represent the configuration I use to get just over 624K on my Dell 386sx with 2Mb of RAM. The network is Netware 3.11 over Token Ring at 16Mbps using an IBM 4/16 NIC. The actual MANIFEST printouts are listed at the end of the document. I hope this information proves useful to someone out there. If there are any suggestions please leave word at Prodigy ID VSTJ12A. I am also active on The Red Phone in New York, which serves Novell users and Administrators, reachable via a number of echo mail facilities. If necessary, I can be reached by voice at (212) 605-1633.

CONFIG.SYS

In order to get a large enough contiguous block of upper memory free for net5, it was necessary to change the dip switch settings to relocate ROM to D600-D7FF from the default CC00-CDFF. The RAM setting was left at the default of D800-DBFF for a 16K shared RAM area. The QEMM page frame was set to DC00 so that there was one contiguous block of memory used for the NIC and page frame, thus preventing segmentation. The HMA area is not shared. I included the RAM area F000-F7FF because the first 32K is probably only used for system initialization (assumption based on use of similar tactic at home using C&T Gateway 2000 286 machine and The Last Byte, an excellent shareware upper memory manager). So far, this has been borne out by the stability of the environment. FastBios has to be disabled to free up 128K (it would be nice if the Phoenix BIOS would show a separate area for upper memory instead of lumping everything above 640K as extended). I have had some trouble in the past with having QEMM mark the area based on its own examination. The NOTOKENRING parameter is used to prevent QEMM from trying to determine the areas used by the card. The areas used by the NIC are specifically indicated by AROM and ARAM. The maps parameter reduces QEMM's footprint in RAM to 88K from 96K, because the machine is not used for multitasking. The NW3 parameter gives non-Windows users an extra 1K or so of conventional memory. The ramdrive is used to hold a copy of command.com and the Wordperfect dictionary, thus reducing network traffic and making things a bit faster overall (WordPerfect is run with /r, which loads the overlay (WP.FIL) into expanded memory). Users not requiring NETBIOS services can forego the DXMT0MOD.SYS file, which provides NETBIOS emulation. I know that there are faster ANSI substitutes (NNANSI.SYS, NANSI.SYS, ZANSI.SYS etc.) out there, but haven't gotten around to assembling a customized version of NNANSI.SYS as yet. ANSI.SYS gives enough control of the environment to date, slow operation notwithstanding. So far have not had any problems with this setting other than CMOS reporting that system BIOS not found when Ctrl-Alt-Enter used (expects to see it at E800:0100 but this area used is by QEMM). I get around this by rebooting with a QEMM-less floppy when access to setup is needed. The NOSH parameter is used to disable shadowing, which to the best of my knowledge has no adverse effect on operation, as determined by Norton SysInfo 4.5 with and without the FastBios. The NR parameter is used to save 4K, since QEMM can detect reboots without remapping this portion of memory. The system is primarily for WordPerfect 5.1 use and is also a test-bed for memory optimization for the department.

STACKS=0,0 ; DOS takes 9x128 bytes for stacks for hard ints.
FILES=8 ; default, but included anyway for documentation
FCBS=1,0 ; default is 4,0 but few, if any, programs use FCBS
SHELL=C:DOSCOMMAND.COM /P
DOS=HIGH
BUFFERS=15
DEVICE=C:QEMMQEMM386.SYS FR=DC00 RAM I=F000-F7FF NR NOSH MAPS=0 NW3 NOTOKENRING AROM=D600-D7FF ARAM=D800-DBFF
DEVICE=C:QEMMLOADHI.SYS /R:1 C:UTILSDXMA0MOD.SYS
DEVICE=C:QEMMLOADHI.SYS /R:1 C:DOSRAMDRIVE.SYS 416 512 2 /E
DEVICE=C:QEMMLOADHI.SYS /R:1 C:UTILSDXMC0MOD.SYS
DEVICE=C:QEMMLOADHI.SYS /R:1 C:DOSANSI.SYS

AUTOEXEC.BAT

The environment variable TEMP might not be needed. It was included because I can vaguely remember reading somewhere that an environment variable named temp, pointing to a directory in which the user has full rights, is needed to run batch files from the network prompt on 3.11 networks. If this is not so please let me know. The command history executable "DOSKEY" is really helpful for DOS prompt work, though my familiarity with it is not great. High-loaded file handles are needed because of WP's need for 20 handles, and loading 12 in the upper area saves about 636 bytes. Prior to using NET5, I used EMSNET5, which only took up 8.8K of conventional memory. This shell was very stable and caused no problems, though it seems to be somewhat slower than the NET5, based purely on observations of the times needed to load WordPerfect entirely into memory (/r active) when using the two different shells. I am aware that this is not at all scientific (network probably is loaded differently at the times I ran the tests) but what the heck. The /R:# settings can be determined from a combination of the MFT First Meg Overview and Programs screens or by running the Optimize program. I printed out these and determined where I was going to put what manually, instead of using Optimize, just for the experience of it. These files are included at the end of this document.

@ECHO OFF
CLS
PROMPT $E[7;36;44m$P$G
PATH C:;C:DOS;C:UTILS;C:QEMM
MODE CON: RATE=32 DELAY=1 ; speed up keyboard
MODE CON: LINES=43 ; take advantage of VGA resolution; helpful
COPY C:DOSCOMMAND.COM D: > NUL ; no need to see all that stuff
SET COMSPEC=D:COMMAND.COM
SET TEMP=D:
LOADHI /R:1 C:DOSDOSKEY.COM BUFSIZE=1024 > NUL
LOADHI /R:3 C:UTILSIPX.COM > NUL
LOADHI /R:1 FILES +12 > NUL
LOADHI /R:2 NET5.COM > NUL
F:
LOGIN

Manifest Printouts

                        Total       Available
  Conventional Memory    640K         624K
  Expanded Memory       1632K         576K
  Extended Memory       1280K           0K

First Meg / Overview
Memory Area Size Description
0000 - 003F 1K Interrupt Area
0040 - 004F 0.3K BIOS Data Area
0050 - 006F 0.5K System Data
0070 - 0332 11K DOS
0333 - 03DD 2.7K Program Area
03DE - 9FFF 624K [Available]
===Conventional memory ends at 640K====
A000 - AFFF 64K VGA Graphics
B000 - B7FF 32K High RAM (area 1)
B800 - BFFF 32K VGA Text
C000 - C7FF 32K Video ROM
C800 - D5FF 56K High RAM (area 2)
D600 - DBFF 24K Unused
DC00 - EBFF 64K Page Frame
EC00 - F7FF 48K High RAM (area 3)
F800 - FFFF 32K System ROM
HMA 64K First 64K Extended

First Meg / Programs
Memory Area Size Description
0333 - 03C7 2.3K COMMAND
03C8 - 03CC 0.1K [Available]
03CD - 03DD 0.3K COMMAND Environment
03DE - 9FFF 624K [Available]
====Conventional memory ends at 640K=====
B000 - B044 1.1K DXMA0MOD
B045 - B08C 1.1K RAMDRIVE
B08D - B284 7.9K DXMC0MOD
B285 - B38B 4.1K ANSI
B38C - B393 0.1K [Available]
B394 - B496 4K DOSKEY
B497 - B4ED 1.4K FILES
B4EE - B7FE 12K [Available]
C800 - C807 0.1K [Available]
C808 - D448 49K NET5
D449 - D5FE 6.8K [Available]
EC00 - EC07 0.1K [Available]
EC08 - F11A 20K IPX
F11B - F7FF 27K [Available]