INF: Writing MS-DOS-Extended Programs with Microsoft C 6.0

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