Microsoft Corporation
16011 NE 36th Way
Box 97017
Redmond, WA 98073 9717


Date: Tue, 27 Feb 2001 06:36:17 -0800


Mr. Rod Welch
rowelch@attglobal.net
The Welch Company
440 Davis Court #1602
San Francisco, CA 94111 2496

Subject:   Email for Case SRX010207601263

******* The following is an email for an incident from Microsoft Corp.
******* So that your reply is added to the case, please forward your
******* response to email address COMPMAIL@MICROSOFT.COM
******* and place your text after the keyword MESSAGE: below.
******* Please delete all other text above & below the keywords
******* CASE_ID_NUM: SRnnn & MESSAGE: .
******* Thank you.

CASE_ID_NUM: SRX010207601263
MESSAGE:


Hello Rod,

I appologize for it taking so long to get back to you.

Here is some information that may assist you with the options you need to run your application in a VM. If your DOS application does not require DMPI memory, then you do not need to load DOSX.

The information below is publicly available on www.microsoft.com

http://www.microsoft.com

....in the Knowledge Base. Some of this information has been available to the public since 1992 and will reference early Windows operating systems. Possibly some of this information will be of benefit to the design of your application and how you design it to access memory.

+++++++++++++Beginning of Information+++++++++++++++++++++++

MS-DOS Extender, DOSX, DPMI (DOS Protected Mode Interface)

DPMI is similar to VCPI in that both provide mode switching and extended memory management services to programs, but DPMI servers (such as Microsoft Windows 3.0 and later) run at a higher privilege level than their clients, which allows the use of the hardware to enforce a "kernel/user" protection model.

DPMI is a multitasking version of VCPI with a few other enhancements. Many software companies have already announced plans to support DPMI in future releases of their products. If you experience difficulties running an MS-DOS-based application in standard or enhanced mode of Windows, check with the MS-DOS-based-application manufacturer to see if it now supports the DPMI specification.

XMS memory combines the upper memory area (UMA, unused memory between 640K and 1 MB), and the extended memory area (all memory above 1 MB). XMS may be accessed through drivers such as HIMEM.SYS.

LIM/EMS 4.0 (Lotus/Intel/Microsoft Expanded Memory Manager) The expanded memory page frame is a collection of 16K physical pages from which an application may access expanded memory. These page frames are swapped in and out of memory by an expanded memory manager such as EMM386 or QEMM.

VCPI (Virtual Control Program Interface) allows 80386-based protected-mode programs to interact with 80386-specific expanded memory emulators such as 386-to-the-Max, QEMM-386, and EMM386.

+++++++++++++++++End of Information gathered from articles+++++++++++++++++

I have tested a Dell 866 running on a 133 MHZ buss using Win98 to boot to a command prompt. If you attempt to use emm386 and include the c800-cfff memory range, which is the next block above the VGA video range, the machine will not even boot to a MS-DOS prompt.

Try this on the system in question and see if you don't get the same behavior. Therefore the NTVDM will not attempt to use the memory area either.

I have noticed that if DOSX starts loading in the upper c000 range both stubbs load. If DOSX starts loading in the D000 range, only one stub loads. Each one of these ranges is a 64K block of memory. In your case you only have the D000 range to load into thus not having enough room to load both DOSX stubbs. This is a hardware/BIOS issue that we may not be able to workaround using software.

Sincerely,

Microsoft Corporation

Joe Griffin
DOS Engineer
joegr@microsoft.com
Windows 2000 Support
Applications and Performance