DPMIONE Documentation File
Version 0.91

Overview

The DOS Protected Mode Interface (DPMI) Specification version 0.9 was
created by the DPMI Committee in 1990, and extended to version 1.0 in
1991. From the introduction to the DPMI 1.0 spec, "The DOS Protected
Mode Interface (DPMI) allows DOS programmers to access the advanced features
of 80286, 80386, and 80486-based PCs in a well-behaved, hardware-independent
fashion that does not compromise system protection". With this spec,
it becomes especially easy to write a program which enters Protected Mode
(PM), and has access to all of the system's extended memory.

DPMI 0.9 hosts are readily available, standalone or otherwise. Some DPMI
0.9 hosts implemented a handful of DPMI 1.0 features, but other than 386MAX,
none of them do the whole spec.

DPMIONE is, to my knowledge, the first publicly available standalone
DPMI 1.0 host. This program is an outgrowth of the DPMI 1.0 host which
first appeared in 386MAX from Qualitas, Inc. in 1992. As such,
it has undergone extensive testing in that commercial product before being
ported to this standalone program.

Limitations

The TSR facility of DPMI 1.0 is not supported -- if you really, really need
it, ask.

Installation

Unzip the files into a separate directory (say, C:\DPMIONE).

Edit the file DPMIONE.PRO to include a line which
loads the DPMI.LOD file, e.g.

load=c:\dpmione\dpmi.lod pro=c:\dpmione\dpmi.pro

Edit the DPMI.PRO file as necessary (no changes are
needed from the defaults).

Decide whether you want to load DPMIONE.EXE in your
CONFIG.SYS or AUTOEXEC.BAT file (or
neither). Then, do either step 4a or 4b (but NOT BOTH):

Edit your CONFIG.SYS file to include a line such
as

Device=c:\dpmione\dpmione.exe pro=c:\dpmione\dpmione.pro

Edit your AUTOEXEC.BAT file to include a line
such as

c:\dpmione\dpmione pro=c:\dpmione\dpmione.pro

If you chose not to load DPMIONE automatically, you can run it
from the command line at a later time, with a line similar to the
one in 4b.

If necessary, reboot your system to load DPMIONE.

Compatibility

As a test of this program's compatibility as a DPMI host, you can actually
use it as a substitute for the Windows 3.1x DPMI host. That is, install
a fresh copy of Windows 3.1x. Then, with DPMIONE resident, go to the WINDOWS
directory and type

system\krnl386

and Windows is up and running! This instance of Windows does not support
DOS sessions or anything related to that, but most other Windows functions
are there including File Manager. This has proven to be an exceptionally
rigorous test of a DPMI host. No other unrelated DPMI host can make
this claim.

Expand Down Stacks

The Locked Protected Mode stack used by DPMIONE for hardware interrupts
and faults is marked as Expand Down so it expands automatically. In the
process of making this work, I learned a lot. For more details on Expand
Down segments, see this page.