5.0 Chapter 5. Using DOS 5.0, Windows, and QEMM-386
You can use the LAN Support Program NDIS Version 1.0 (LSP NDIS) with the
memory management features of DOS 5.0. You can also use Microsoft Windows
and the Quarterdeck Expanded Memory Manager-386(**) (QEMM-386(**)) Version
6.02 or higher, with DOS 5.0 or Asian DOS J5.0. This chapter offers
information about using LSP NDIS with these memory management programs.
See the README.LSP file for additional information about this topic.
5.1 Hardware Requirements
The computer you use must be supported by LSP NDIS.
For Windows, the computer must have the following features:
1. An Intel(**) 286 or better processor. Only Windows standard mode is
supported on the 286 processor.
2. At least, enhanced graphics adapter (EGA) level graphics.
For QEMM-386, the computer must have an Intel® 386 or better processor.
5.2 Installing the Software
If you are doing a new installation, IBM recommends that you install the
software in the following order:
2. LSP NDIS
3. DOS LAN Requester (DLR) or other LAN requester software
If you are not using Windows, install QEMM-386 after DLR. If QEMM-386 is
already on the system, you can install and update LSP NDIS without
re-installing QEMM-386. However, in almost all cases, you will have to
rerun the QEMM-386 Optimize program.
5.3 Setting the DXMT0MOD.SYS Parameter CALL.FAR
When running LSP NDIS with Windows, QEMM-386, or any other protect-mode
application such as a memory manager or DOS extender, the CALL.FAR (CF)
parameter of the NetBIOS driver DXMT0MOD.SYS should be set to Y. You can
set this parameter manually or you can use the Installation Aid. To use
the Installation Aid, select Change parameters (F5) from the configuration
panel that displays the LSP NDIS drivers to be installed. See CALL.FAR in
topic 4.4.5 for more information about this parameter.
5.4 Using the Installation Aid for Reconfiguration
You can use the LSP NDIS Installation Aid to reconfigure the LAN Support
Program NDIS after it has been configured using QEMM-386 or one of the
other memory managers. If appropriate, the Installation Aid preserves any
CONFIG.SYS words that are used to load memory high, such as DEVICEHIGH,
HIDEVICE, DEVICE=LOADHI, or DEVICE=XLOAD. The statements are preserved if
the drivers being loaded are still used in the new configuration. For
example, if one of the statements in CONFIG.SYS is DEVICEHIGH=DXME0MOD.SYS
and the new configuration uses this LSP NDIS driver, the Installation Aid
keeps the statement. The statement is removed only if the new
configuration no longer uses the driver. See "Reconfiguring with LSP
NDIS" in topic 2.2.4 for more information.
If an LSP NDIS driver is chosen that was not in the previous
configuration, the Installation Aid loads the new driver low in memory,
using a statement such as DEVICE=DXMJ0MOD.SYS. You must do a new
configuration using a memory manager for the new driver if you want it
loaded in high memory.
5.5 Files That Should be Loaded in Low Memory
If you are using a direct memory access (DMA) adapter, such as a Streamer
Family adapter, its NDIS MAC driver must be loaded in low memory whether
you use QEMM-386 or another memory manager.
PROTMAN.DOS and NETBIND.EXE should also be loaded in low memory because
problems arise when they are loaded in high memory. The memory stubs kept
by the memory managers in low memory to locate these files are almost as
big or bigger than the memory used by the files themselves (after
initialization). Also, PROTMAN.DOS loaded in high memory may interfere
with other programs when it allocates memory for initialization and then
releases it after the binding process.
See "Hints for Using QEMM-386" in topic 5.8 for information about loading
device drivers low in memory in QEMM-386.
5.6 Hints for Using DOS 5.0
DOS 5.0 offers memory management features that affect the configuration
of LSP NDIS. Unlike QEMM-386, DOS 5.0 does not have an optimization
In the information which follows, a Streamer Family adapter is used as an
example. The Streamer Family adapter is an IBM adapter that is supported
by the NDIS interface.
To configure the expanded memory manager using IBMMPC.DOS, enter the
following statements in CONFIG.SYS:
In this example, PROTMAN.DOS and PROTOCOL.INI are located in the
subdirectory \LSP. PROTMAN.DOS and IBMMPC.DOS are loaded in low memory.
Note: This configuration does not use DEVICEHIGH.
5.6.1 Using DEVICEHIGH= with DOS 5.0 Memory Management
You can use the DOS DEVICEHIGH= command with all LSP NDIS LSP NDIS drivers
to take advantage of the DOS 5.0 memory management features. Refer to the
DOS 5.0 user's guide for more information about this command.
For example, to use DEVICEHIGH with LSP NDIS, enter the following
statements in CONFIG.SYS:
The NDIS MAC driver IBMMPC.DOS and PROTMAN.DOS should be loaded in low
Important: You cannot use the Installation Aid to configure for
DEVICEHIGH. However, if you use the Installation Aid to reconfigure a
system that was previously using DEVICEHIGH, the DEVICEHIGH statements are
preserved if the drivers being loaded by DEVICEHIGH are still used in the
new configuration. If the driver is removed from the configuration, the
DEVICEHIGH statement for that driver is erased.
5.6.2 Task Switching from the DOS Shell
LSP NDIS does not maintain the LAN connection if you run a program, such
as Personal Communications/3270, from the DOS 5.0 shell and switch it out
in order to use another application. However, if you have another means
of maintaining the LAN connection, such as the PCS802.SYS driver supplied
with Personal Communications/3270, LSP NDIS allows it to be used.
5.7 Hints for Using Windows
The following hints may be useful when you use LSP NDIS Version 1.0 with
5.7.1 Handling an 802.2 Call
When a Windows application program sends a NetBIOS call to LSP NDIS,
Windows provides a mechanism to forward the call. However, when a Windows
application program sends an 802.2 call to LSP NDIS, Windows has no
mechanism to forward the call. Some application programs that run in
Windows, such as Personal Communications/3270, provide a virtual device to
handle 802.2 calls. (Virtual device is represented by the acronym VxD.
The x varies depending upon the virtual device. For example, the virtual
device might be a display, a printer, or a network.)
LSP NDIS does not provide a generic 802.2 VxD to handle 802.2 calls.
Therefore, if 802.2-based application programs, such as LAN Station
Manager Version 1, are to be used with Windows, they can use the 802.2
interface in the normal manner only if they are loaded as terminate and
stay resident (TSR) programs or device drivers before Windows is started.
5.7.2 Handling Application Programs Set Up for Foreground Execution
If a DOS application program running in a Windows environment is set up
only for foreground execution in its program information file (PIF), it
should not be swapped out. If such an application program is swapped out,
the LAN traffic for that application program may not be correctly
completed. The application program may fail when it is swapped back in.
To prevent this problem, either:
1. Avoid setting up DOS application programs that run on the LAN for
foreground execution only, or
2. If such programs are set up for foreground execution only, avoid
swapping them out.
5.7.3 Editing the Windows SYSTEM.INI File
Several entries in the Windows SYSTEM.INI file may need to be changed
based on your network software and QEMM-386 settings. For example, the
IBM PC LAN Program requires you to set INDOSpolling=TRUE in the [386enh]
section of SYSTEM.INI. Follow the instructions given in Windows or the
Windows Resource Kit and the QEMM-386 documentation when editing the
5.7.4 Preventing Windows from Attempting to Use Unavailable Memory
Windows is designed to query the memory manager, such as QEMM-386, to
determine what memory is still available after the memory manager has
finished loading up high memory. However, Windows may not always
correctly identify the high memory. You need to ensure that Windows does
not attempt to use memory that the memory manager has already loaded up.
To do this, use the ReservedHighArea or the EMMExclude parameter in the
Windows SYSTEM.INI file to exclude all the upper memory blocks being used
by the memory manager. Then, for QEMM-386, set the EMMPageFrame parameter
to whatever value QEMM-386 is using.
5.8 Hints for Using QEMM-386
Unless you have a reason to override the QEMM-386 installation defaults,
you should accept them. Use the QEMM-386 Optimize program to assign the
memory areas. You can run this program at the end of the installation of
QEMM-386, or restart your computer after the installation, and then invoke
When you run the Optimize program, it will try to load as many of your
drivers in upper memory as possible. If it finds that you do not have
enough upper memory, it asks if you want to try the Stealth option. The
Stealth option usually helps by freeing up a considerable amount of upper
memory with only a small performance penalty.
As previously mentioned, the NDIS MAC driver for a DMA adapter, such as a
Streamer Family adapter, must be loaded in low memory. Also, PROTMAN.DOS
and NETBIND.EXE should be loaded in low memory, if they are used.
QEMM-386 offers you several ways to be sure these files are loaded low,
but the easiest and quickest way is to make an ASCII text file called
OPTIMIZE.EXC. This file contains one line for each file to be excluded
from high memory.
To exclude the NDIS MAC driver IBMMPC.DOS from high memory, enter just the
file name (not the extension or path) of the driver on one line. To
exclude PROTMAN.DOS and NETBIND.EXE, enter their names on two separate
lines. The first line should consist of PROTMAN and the second should
consist of NETBIND. No path or file extensions should be specified for
The names of all files to be excluded should be listed in OPTIMIZE.EXC,
and OPTIMIZE.EXC should be placed in the subdirectory where the rest of
your QEMM-386 code is installed.
In addition, when you are making sure that NETBIND is loaded in low
memory, you must put REM in front of the NETBIND line in AUTOEXEC.BAT
before you run the Optimize program. Remove the REM after Optimize has
QEMM-386 uses the MCA.ADL file shipped with QEMM-386 to recognize the
adapters on a computer with Micro Channel(*) architecture and to read
their POS settings. If you have a new adapter or an adapter not
recognized by QEMM-386, you have to modify the ADL file. You can do this
yourself by following the directions in the QEMM-386 documentation
(Appendix D in version 6.02), or you can send the file to Quarterdeck's
bulletin board to have it updated.
Please see the LEGAL - Trademark notice.
Feel free - send a for any BUG on this page found - Thank you.