5-22 Utility Descriptions
EMM386
The EMM386 device driver enables expanded memory support for
systems capable of supporting expanded memory, such as the 386 and
higher CPUs. HIMEM.SYS, or another extended memory specifications
(XMS) manager, must be installed prior to EMM386.
Syntax (in CONFIG.SYS)
device=[drive:] [path] HIMEM.SYS
device=[drive:] [path] EMM386.EXE {I=xxxx-yyyy} {X=xxxx-yyyy}
[FRAME=seg[,memK]]
[ROM=xxxx-yyyy] [D=xxx] [NOMOVEXBDA]
xxxx and yyyy define a range of memory. I= includes UMBs (Upper
Memory Blocks) in that range. X= excludes UMBs in that range. ROM=
creates ROM shadowing in that range.
Remarks
The HIMEM.SYS driver must be loaded for the EMM386 utility to function
properly. Datalight’s EMM386 supports Expanded Memory Services
(EMS), Upper Memory Blocks (UMB), Virtual DMA Services (VDS), Virtual
Control Program Interface (VCPI), and ROM shadowing.
MS-DOS checks for the presence of an XMS UMB provider after it loads
any device. If such a device is found, it allocates all available UMBs,
builds MCB chains within them, and records the fact that an upper
memory chain is available in its SDA. However, ROM-DOS does not
function in this manner. The Datalight EMM386 driver builds its own MCB
chains within its allocated UMBs and sets up the previously mentioned
data structures with the help of the DOS kernel. Consequently, XMS
UMBs that are made available by programs such as MS-DOS’
EMM386.EXE are not recognized by ROM-DOS.