ID Number: Q79838
5.10 6.00 6.00a 6.00ax
MS-DOS
Summary:
MS-DOS-extended programs can take advantage of the capabilities of the
80286 and 80386 microprocessors to address memory space greater than
one megabyte (MB). There is no built-in support for writing
MS-DOS-extended programs in the libraries provided with Microsoft C
versions 5.1, 6.0, 6.0a, and 6.0ax. There are, however, several
alternatives for users to produce programs with these compilers that
have memory requirements that exceed 640K.
More Information:
For a good introduction to writing MS-DOS-extended programs, refer to
the Addison-Wesley book titled "Extending DOS" by Ray Duncan.
Listed below are several specifications and software packages that can
be used to write MS-DOS-extended programs.
XMS 2.0 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.
The XMS (extended memory specification) 2.0 is available at no
charge from Microsoft by calling Microsoft Customer Support at
(800) 426-9400.
LIM/EMS 4.0 Specification
-------------------------
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.
The LIM/EMS (Lotus/Intel/Microsoft Expanded Memory Specification)
is available at no charge from Intel by calling (800) 538-3373.
VCPI 1.0 Specification
----------------------
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.
The VCPI specification can be obtained from Phar Lap Software at no
charge by calling (617) 661-1510 or by writing:
Phar Lap, Inc.
60 Aberdeen Ave.
Cambridge, MA 02138
DPMI 1.0 Specification
----------------------
The DPMI (DOS Protected Mode Interface) 1.0 specification is
available from Intel at no charge by calling (800) 548-4725 or by
writing:
Intel Literature Sales, jp26
3065 Bowers Ave.
P.O. Box 58065
Santa Clara, CA 95051-8065
The 0.9 DPMI specification will be sent out along with the 1.0
specification until proven by the implementation of a fully 1.0
compliant host. The 0.9 specification will be dropped at that time.
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.
A good description of differences between VCPI and DPMI may be
found in the July 1990 issue of the "Microsoft Systems Journal."
The article is titled "Supporting Protected-Mode Applications in a
DOS-based Environment," by Ray Duncan.
The following products are complete systems used in conjunction with
the Microsoft C compiler to create MS-DOS-extended applications. Both
Rational Systems and Phar Lap may be contacted directly for
information concerning their MS-DOS-extender packages.
Rational Systems DOS/16M
------------------------
Rational Systems's DOS/16M product provides all of the components
needed to create MS-DOS-extended programs with the Microsoft C 5.1,
6.0, 6.0a, and 6.0ax compilers. Rational Systems may be contacted
at (508) 653-6006 or by writing:
Rational Systems, Inc.
P.O. Box 480
Natick, MA 01760
DOS/16M is compatible with XMS drivers, such as HIMEM.SYS, and with
VCPI drivers, such as EMM386.EXE and QEMM386. It is also
DPM-compatible, allowing programs running under Windows to access
memory through the DPMI interface.
Phar Lap 286|DOS-Extender SDK
-----------------------------
Phar Lap's 286|DOS-Extender is also compatible with the Microsoft C
5.1, 6.0, 6.0a, and 6.0ax compilers and runs applications in 16-bit
protected-mode under XMS, VCPI, and DPMI. More information may be
obtained by contacting Phar Lap at (617) 661-1510 or by writing the
address given under the VCPI specification.
Additional reference words: 5.10 6.00 6.00a 6.00ax