Chapter 4 (i) - New features of EMM386 
 
Version 4.45 of the Microsoft expanded memory manager (EMM386.EXE), provided with MS-DOS 6, 
has the following new features:

	Advanced upper memory scanning
	EMS/VCPI/XMS memory sharing
	Ability to provide upper memory regions for Microsoft Windows
	Ability to load with NOEMS when no page frame is available
	NOVCPI switch for smaller load size
	Automatic IBM Token Ring adapter detection
	Quiet loading
	Alternate CTRL+ALT+DEL handling
	Larger default DMA buffer size 

Advanced upper memory scanning. 

EMM386 can now scan the E000h-EFFFh region and the F000h-F7FFh region when the system ROM 
is duplicated between F000h-F7FFh and F800h-FFFFh. The ROM Basic area on IBM PS/2 systems 
is included by default.

To enable this feature, edit your CONFIG.SYS file and add the highscan switch to the device command 
line that loads EMM386.EXE.

EMS/VCP/XMS memory sharing.

Previous versions of EMM386 allocated as much Extended Memory Specification (XMS) memory as 
possible during their initialization phase. 
This tied up memory that could otherwise have been used by programs that 
use Expanded Memory Specification (EMS) memory.
EMM386 version 4.45 includes support for dynamic allocation of memory. 
This means EMM386 can create and free different types of memory as you 
run different programs.

Ability to load with NOEMS when no page frame is available.

EMM386 version 4.45 provides a new win switch that defines upper memory regions available for use by 
Microsoft Windows. These regions are similar to regions excluded by using the x switch, because 
memory is not mapped into those areas. However, unlike regions excluded by using the x switch, 
Windows (when running in 386 enhanced mode) can map its own memory into these upper memory 
regions and make more conventional memory available to MS-DOS  based applications running with 
Windows.

Ability to load with NOEMS when no page frame is available.
  
Previous versions of EMM386 would not load if expanded memory support was enabled and there was 
not enough contiguous available address space for an EMS page frame. To support MemMaker, 
EMM386 has been enhanced to display a warning message and to continue loading if this situation 
occurs.

NOVCPI switch for smaller load size.
 
Previous versions of EMM386 disabled both EMS and virtual control program interface (VCPI) support 
when the noems switch was used. EMM386 version 4.45 leaves VCPI support enabled by default when 
the noems option is used (relying on the EMS/VCPI/XMS sharing enhancement to supply VCPI memory).
To disable VCPI support, add the novcpi switch to the device command for EMM386.EXE. Using the 
noems and novcpi switches together results in a reduction in the amount of extended memory used by
 EMM386.

Automatic IBM Token Ring adapter detection.
  
EMM386 automatically detects the memory location of IBM Token Ring adapter cards and prevents the 
mapping of expanded or upper memory over the adapter. To disable the new Token Ring adapter 
detection, add the new notr  switch to the device command for EMM386.EXE.

Quiet loading.
 
By default, EMM386 version 4.45 now loads without displaying any status messages. To instruct 
EMM386 to display status messages as well as warning and error messages, edit your CONFIG.SYS
file and add the verbose switch to the device command for EMM386.EXE. (You can also display startup 
information by pressing the ALT key while your computer is starting.)
If EMM386 encounters an error during initialization, it switches to verbose mode and displays the error 
message and all remaining startup information.

Alternate CTRL+ALT+DEL handling.

EMM386 now provides the altboot switch, which can help avoid problems when you restart a computer 
with the key combination CTRL+ALT+DEL. If your computer stops responding when you press 
CTRL+ALT+DEL, try adding the altboot switch to the device command for EMM386.EXE.
The CTRL+ALT+DEL handling routine changed when EMM386 was upgraded in Microsoft Windows 
version 3.1. The altboot parameter tells EMM386 to handle CTRL+ALT+DEL the same way it does in 
Microsoft MS-DOS version 5.0.

 Larger default DMA buffer size. 

EMM386's default direct memory access (DMA) buffer size has increased from 16 to 32 kilobytes. 
All DMA buffers are stored in extended memory regardless of size.

 



 

  

 