Manifest Shows EMS Memory with NOEMS Switch (96447)

The information in this article applies to:
    Microsoft MS-DOS operating system 6.0
    Microsoft MS-DOS operating system 6.2
    Microsoft MS-DOS operating system 6.21
    Microsoft MS-DOS operating system 6.22

This article was previously published under Q96447


Quarterdeck's Manifest program indicates that EMS memory exists, even if EMM386.EXE is loaded with the NOEMS switch. If you add the NOVCPI switch to the EMM386.EXE line in the CONFIG.SYS file, Manifest no longer shows any EMS memory.


EMM386.EXE version 4.45, which ships with MS-DOS 6.0, and EMM386.EXE version 4.48, which ships with MS-DOS 6.2x, is a Virtual Control Program Interface (VCPI) provider even when the NOEMS switch is specified. With VCPI support enabled, EMM386.EXE supplies an upper memory frame buffer for the VCPI applications to use. When an application checks for EMS memory, it may see this buffer and believe it to be an EMS page frame, and thus report that EMS memory is available when it is not. When the NOVCPI switch is added, it disables this upper memory buffer, thus disabling what the application is seeing as EMS.

NOTE: MS-DOS 6.0 and later can maintain VCPI server functionality with the NOEMS switch specified; this feature was not provided in versions of MS-DOS prior to 6.0.

VCPI support can exist without a page frame. For example, EMM386 in MS-DOS 5.0 (version 4.44) provided VCPI support by using the "frame=0" switch. MS-DOS 6.0 and later can achieve the same result using the NOEMS switch and the NOVCPI switch together.

Manifest is manufactured by Quarterdeck Office Systems, a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.

Modification Type: Major Last Reviewed: 11/26/1999
Keywords: KB96447