Provides access to the upper memory area and uses extended memory to simulate expanded memory.
Path |
The full path. Default is the root directory of the start-up drive (usually C:/) |
Although the EMM386 device driver must be loaded in Config.sys, it need not be activated unless required. Once loaded, the activation status can be modified with the EMM386 command at any time. |
ON |
EMM386 is activated at startup (Default). |
OFF |
EMM386 is not activated at startup. |
AUTO |
EMM386 is not activated at startup but is automatically activated if any program calls for it. |
Although few programs these days use expanded memory, EMM386 is still needed to allow access to the upper memory area. If no expanded memory is required, that part of EMM386's job can be disabled. |
NOEMS |
Provides access to the upper memory area but does not provide any expanded memory. |
NOVCPI |
Disables support for VCPI programs. This switch must be used with the NOEMS switch otherwise VCPI support is not disabled. If both switches are set, EMM386 disregards the memory parameter and the MIN switch. Disabling support for VCPI programs reduces the amount of extended memory required by EMM386. |
Left to itself, EMM386 will allow all extended memory up to 32 Mb to be used as expanded memory if programs require it. Any memory not required is still available as extended memory for other programs. A number of switches allow more precise control over exactly how much of each type of memory is allocated/kept free. |
memory |
Specifies the maximum amount of extended memory (in Kb) to be provided as expanded/Virtual Control Program Interface (EMS/VCPI) memory. This amount is in addition to the memory used for Upper Memory Blocks (UMBs) and EMM386 itself. Values for memory can be in the range 64 to the lesser of the amount of extended memory available or 32768 (32 Mb) with the value being rounded down to the nearest multiple of 16. (Default: maximum possible). |
MIN=size |
Specifies a minimum amount of EMS/VCPI memory (in Kb) to be provided by EMM386. Additional expanded memory may be allocated if required (and if available) but the minimum is guaranteed. |
size |
size must be in the range of 0 to the maximum available. (Default: 256). If size is greater than a value set as memory, EMM386 uses the value specified by size |
L=minXMS |
Specifies a minimum amount of extended memory (in Kb) that is not to be made available as expanded memory. (Default=0) |
By default, once Emm386.exe is installed, it moves part of itself along with the extended BIOS data from conventional memory to upper memory. Should these actions not be desired for any reason, they can be prevented: |
NoHi |
Emm386.exe remains entirely in conventional memory. |
NoMoveXBDA |
The extended BIOS data remains in conventional memory. |
When EMM386 is configured to provide upper memory blocks (by using the NOEMS or RAM switches), EMM386 will also automatically backfill conventional memory if there is less than 640k, in order to bring total conventional memory up to 640k. |
NoBackfill |
Because Windows does not support backfilled conventional memory, use the NoBackfill switch if your computer has less than 640K of conventional memory. |
Under some circumstances EMM386 will interfere with the function of Ctrl+Alt+Del when used to restart the computer. |
AltBoot |
Specifies that EMM386 use an alternate handler to restart your computer when you press Ctrl+Alt+Del. Use this switch only if your computer stops responding or exhibits other unusual behavior when EMM386 is loaded and you press Ctrl+Alt+Del. |
/V or /Verbose |
Directs EMM386 to display status and error messages while loading. By default, EMM386 does not display any messages unless it encounters an error. As an alternative to using the switch, status messages can be displayed by holding down the Alt key while EMM386 is loading. |
A number of switches allow control over exactly where UMBs and expanded memory page frames are to be located. |
RAM=range |
Specifies a range of segment addresses to be used for UMBs and also enables EMS support. If =range is omitted, EMM386 uses all available adapter space to create UMBs along with a page frame for EMS. |
ROM=range |
Specifies a range of segment addresses that EMM386 uses for shadow RAM. Specifying this switch may speed up your system if it does not already have shadow RAM. |
X=range |
Prevents EMM386 from using a particular range of segment addresses for an EMS page or for UMBs. The X switch takes precedence over the WIN and I switches if the ranges overlap. |
I=range |
Specifies a range of segment addresses to be used (included) for an EMS page or for UMBs. |
|
WIN=range |
Reserves a specified range of segment addresses for Windows instead of for EMM386. The WIN switch takes precedence over the RAM, ROM, and I switches if their ranges overlap. |
range |
range is specified in the form: mmmm-nnnn where mmmm and nnnn can be from A000h through FFFFh and are rounded down to the nearest 4-kilobyte boundary.
|
Mx |
Specifies the address of the page frame. |
x |
Valid values are in the range 1 through 14. Values in the range 10 through 14 should be used only on computers that have 512K of memory. The following list shows each value and its associated base address in hexadecimal format:
1 => C000h 8 => DC00h
2 => C400h 9 => E000h
3 => C800h 10 => 8000h
4 => CC00h 11 => 8400h
5 => D000h 12 => 8800h
6 => D400h 13 => 8C00h
7 => D800h 14 => 9000h
|
FRAME=address |
Specifies the page-frame segment base directly. To specify a specific segment-base address for the page frame, use the FRAME switch, and specify the address you want. |
address |
Valid values for address are in the ranges 8000h through 9000h and C000h through E000h, in increments of 400h. To provide expanded memory and disable the page frame, you can specify FRAME=NONE; however, this may cause some programs that require expanded memory to work improperly. |
/Pmmmm |
Specifies the address of the page frame. |
mmmm |
Valid values for mmmm are in the ranges 8000h through 9000h and C000h through E000h, in increments of 400h. |
Pn=address |
Specifies the segment address of a specific page, where n is the number of the page you are specifying and address is the segment address you want. The addresses for pages 0 through 3 must be contiguous in order to maintain compatibility with version 3.2 of the Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS). If you use the M switch, the FRAME switch, or the /P switch, you cannot specify the addresses for pages 0 through 3 for the /P switch. |
n |
Valid values are in the range 0 through 255. |
address |
Valid values are in the ranges 8000h through 9C00h and C000h through EC00h, in increments of 400h. |
B=address |
Specifies the lowest segment address available for EMS "banking" (swapping of 16KB pages). |
address |
Valid values are in the range 1000h through 4000h. The default value is 4000h. |
|
A=altregs |
Specifies how many fast alternate register sets (used for multitasking) you want to allocate to EMM386. Every alternate register set adds about 200 bytes to the size in memory of EMM386. |
altregs |
Valid values are in the range 0 through 254. The default value is 7. |
|
H=handles |
Specifies how many handles EMM386 can use. |
handles |
Valid values are in the range 2 through 255. The default value is 64. |
|
D=nnn |
Specifies how many kilobytes of memory should be reserved for buffered direct memory access (DMA). Discounting floppy disk DMA, this value should reflect the largest DMA transfer that will occur while EMM386 is active. |
nnn |
Valid values are in the range 16 through 256. The default value is 32. |
The Weitek co-processor apparently requires special provisions with EMM386 |
W=ON |
Enables support for the Weitek co-processor. |
W=OFF |
Does not provide support for the Weitek co-processor (Default). |
|
HIGHSCAN |
Specifies that EMM386 use an additional check to determine the availability of upper memory for use as UMBs or EMS windows. On some computers, specifying this switch may have no effect or cause EMM386 to identify upper memory areas as available when they are not. As a result, your computer might stop responding. |
The significance of a number of the above switches is, I regret, beyond my comprehension. I have included them here for completeness. However, not only have I not tested them, but have no idea on how to go about trying.