No Expanded Memory in MS-DOS-Based Applications w/ Windows 3.0 (81422)
The information in this article applies to:
This article was previously published under Q81422 SUMMARY
If MS-DOS-based applications running under Windows version 3.0 386 enhanced
mode do not see any expanded memory, the EMS settings in the PIF file may
need to be increased. Increasing the EMS-required above 700K in the PIF
Advanced Options box may allow the applications to use expanded memory. The
following is an example of increasing the EMS settings:
Settings Required Desired
----------------------------------------------
Default settings: 0K 1024K
Increased settings: 1024K 2048K
MORE INFORMATIONEMS Settings
The EMS settings must increased because of the way expanded memory is
counted in Microsoft Windows version 3.0. Windows 3.0 supports LIM version
4.0 expanded memory. LIM 4.0 expanded memory counts conventional memory as
expanded in a virtual machine.
MS-DOS-based applications use only LIM version 3.2 expanded memory. LIM 3.2
expanded memory does not count the conventional memory that it operates in.
As a result, the MS-DOS-based application displays approximately 400K less
expanded memory than is allocated through the Advanced PIF settings.
The difference between how LIM 3.2 and LIM 4.0 memory is counted results in
the higher EMS settings under Windows 3.0 than would normally be expected.
Hardware Considerations
Note that modifying the Advanced PIF settings cannot override hardware or
software conflicts. It may be necessary to use an EMMEXCLUDE statement to
prevent the EMS page frame from conflicting with network cards or other
hardware in the system. A 64K contiguous block of upper memory is required
for windows to create an expanded memory page frame.
Additional Considerations
There is a problem with the Expanded Memory Manager in Windows 3.0. If the
minimum EMS required is set to above 0, Windows will not release this
memory back to the minimum memory size pool. To work around this, set the
minimum EMS required to 0. This forces Windows to use memory from the
Global EMS Memory Pool (memory it releases when it doesn't need it).
Microsoft has confirmed this to be a problem in Microsoft Windows version
3.0. This problem is corrected in version 3.1.
Modification Type: | Minor | Last Reviewed: | 7/19/2005 |
---|
Keywords: | KB81422 |
---|
|