Microsoft Product Support Services   All Products  |   Support  |   Search  |   microsoft.com Home  
microsoft.com
  Support Home  |   Find a Solution  |   Request Support  |   Custom Support  |

Detailed Explanation of EMM386.EXE Switches


The information in this article applies to:
  • Microsoft MS-DOS operating system versions 5.0, 5.0a, 6.0, 6.2, 6.21, 6.22


SUMMARY

This article explains the following EMM386.EXE switches for MS-DOS 5.0 or later:


   W=on/off

   Mx

   FRAME=

   /Pmmmm

   Pn=address

   X=

   I= 
This article explains these switches in-depth, and describes some of the differences and limitations associated with the switches. There is also a separate note regarding the use of X= and I= to maximize available UMB space.

W=on/off

This switch enables or disables support for the Weitek 3167 math coprocessor. If W=on, MS-DOS 5.0 must be loaded low because the HMA will be used by the coprocessor.

The Weitek coprocessor and the Intel coprocessor use different methods of passing instructions and results back and forth to the 80386/80486 chip controlling the system. The Intel chips do not reside in the memory space of the CPU. The Weitek chip is memory-mapped; it appears to take up a certain amount of space in extended memory, but the area of memory it uses is the HMA. Because the HMA is also the location used to load the MS-DOS 5.0 kernel high, the Weitek processor cannot be used while MS-DOS 5.0 is loaded high. Therefore, if the W=on switch is used, the DOS=HIGH command will be unusable and MS-DOS must be loaded low.

Mx/FRAME=/Paddress versus Pn=address

The Mx, FRAME=address, and /Pmmmm parameters are all essentially equivalent. They create a 64K LIM 3.2 compatible page frame at the address specified. The syntax for specifying the address for each of these is on page 606 of the version 5.0 "Microsoft MS-DOS User's Guide and Reference."

The Pn=address parameter allows you to create LIM 4.0 compatible 16K pages. This allows you to create 16K pages at any available address in the allowable memory ranges (8000-9C00, which is in conventional memory space, or C000-EC00 which is part of the upper memory area). Note that multiple uses of this parameter with a different value for n will create additional 16K pages (up to a maximum of four). These additional pages do not necessarily need to reside in contiguous areas of memory with respect to the other pages.

To use LIM expanded memory emulation, a page frame must be created somewhere in memory to provide a location for the visible pages of expanded memory to appear as they get bank-switched in and out by the applications using EMS.

LIM versions 3.2 and earlier require a 64K contiguous block for use as the page frame. LIM 4.0 allows for disjoint page frames of 16K each, and it is not necessary to create four frames for a total of 64K. An application written for LIM 4.0 can function with a single page of 16K. However, because most expanded memory boards in use conform to LIM 3.2 or earlier, very few applications can take advantage of the reduced "footprint" capability of LIM 4.0. For these applications, it is still necessary to create a 64K LIM 3.2 compatible page frame.

X=address and I=address

These switches force EMM386 to include (I=) or exclude (X=) specific areas of memory between A000-FFFF when EMM386 is determining where to place upper memory blocks (UMBs) or finding a location for the EMS page frame.

Using I=address can often increase available UMB space by including areas that EMM386 was not able to automatically detect. Be careful when using this switch to not include memory areas in use by system adapters or ROMs. If these areas are included, it may cause the system to hang when booting, or to display other unpredictable behavior. You can determine which memory areas are free by using memory scanning utilities from several third party vendors, or MSD from Microsoft.

The X=address statement is sometimes required to prevent EMM386 from using areas that it might otherwise attempt to use, such as RAM on certain network adapters, which is otherwise undetectable.

Additional query words: 6.22 5.00 5.00a 6.00 6.20

Keywords :
Issue type :
Technology :


Last Reviewed: December 14, 2000
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.


Article ID: Q78433

Last Reviewed:
December 14, 2000

Send to a friend

Provided by
Microsoft Product Support Services


Did the information in this article help answer your question?

Yes
No
Did not apply

Please provide additional comments about this information.
(255 character max)