Article ID: 98768 - View products that this article applies to.
This article was previously published under Q98768
You encounter unexpected behavior (for example, your system stops responding [hangs] or a program hangs) when using the version of EMM386.EXE included with the following products:
Product Version of EMM386.EXE MS-DOS 6.0 4.45 MS-DOS 6.2 and 6.21 4.48 MS-DOS 6.22 4.49 Windows for Workgroups 3.1 4.44 Windows for Workgroups 3.11 4.48 Windows 95 4.95
Use the steps in the following sections to pinpoint and then correct the problems.
Troubleshooting MS-DOS 6.x and EMM386.EXE
X=A000-F7FFIf excluding the entire upper memory area (UMA) resolves a system problem, EMM386.EXE may be scanning too aggressively and setting up upper memory blocks (UMBs) on top of some adapter ROM or RAM. Use any available hardware documentation (including documentation on the add-on hardware devices such as video, network, and disk controller cards) to identify any ROM or RAM present in the UMA for that device, and exclude all pertinent regions. If the hardware documentation is not available or does not give the required information, you can use the Microsoft Diagnostic Utility (MSD) to identify the memory regions.
NOHIEMM386.EXE has the ability to load a portion of itself into UMBs. If the NOHI option corrects the problem with EMM386.EXE, EMM386.EXE may be loading into an occupied UMB. (Excluding the appropriate ranges in the UMA may correct this problem; see the "X=A000-F7FF" section above.) If all such regions are excluded, EMM386.EXE cannot be loaded high on the system, and NOHI must be used. Contact the system manufacturer or vendor for additional information on compatibility with EMM386.EXE.
NOEMSIf the NOEMS parameter corrects the problem with EMM386.EXE, EMM386.EXE may be inadvertently conflicting with some hardware ROM or RAM address in the UMA when attempting to establish an expanded memory (EMS) page frame. If EMS is required to run MS-DOS-based applications, use the parameter FRAME= or M<x> (where <x> is the defined hexadecimal address) to explicitly specify placement of the EMS page frame in a nonconflicting region. If no applications require EMS, simply continue to use the NOEMS parameter.
NOVCPIThe NOVCPI switch disables Virtual Control Program Interface (VCPI) support and can be used only in conjunction with the NOEMS parameter. If using NOVCPI corrects the problem, the application may not be fully compatible with the EMM386.EXE VCPI allocation scheme. Either continue using the NOVCPI parameter, or do not load EMM386.EXE when using the application.
NOMOVEXBDASome machines use the last kilobyte of conventional memory for an extended BIOS Data Area. By default, EMM386.EXE remaps this memory area into the UMA instead of conventional memory. If this causes unexpected system behavior, the NOMOVEXBDA parameter MUST be used.
NOTREMM386.EXE has a detection code to search for the presence of a token ring network adapter. This detection code may cause some computers to hang. The NOTR switch can be used to disable this search.
For more information about EMM386.EXE command-line parameters and syntax, refer to MS-DOS Help by typing "help emm386.exe" (without quotation marks) at the MS-DOS command prompt and pressing ENTER.
Article ID: 98768 - Last Review: December 17, 2000 - Revision: 1.0
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.