Review of DPMI Serving Software for DosLynxP
The DOS Protected Mode Interface (DPMI) specification has been around for
almost as long as the Internet and its Web. It came about, in the very late
'80s. When some of the largest PC businesses finally came to grips with the
issue of how to adapt or extend DOS to take advantage of the Protected Mode
offered in the 80286 and following 'x86 family microprocessors. So, some of
the software mentioned here is as old as the Internet. However, one of the
better entries is still being perfected, this year. I think that testifies
to the DPMI specification's success.
The DosLynx 16 bit Protected Mode version (DosLynxP) is brand new this year.
When I started work on it, I thought it would suffice to wave my hand and
tell potential DosLynxP users to go get a DPMI server for their system.
Now, I see that the situation is a little too complicated for that.
Because, in a number of cases, the successful DPMI serving software has been
released as just a part of an expensive commercial package. QEMM and the
Borland compilers provide examples. As often happens, however, a free
offering that's also available works as well or better, with DosLynxP, as
all the rest!
Another complication is that many of the available DPMI servers support only
16 bit applications. Or, only 32 bit applications. Though, some do support
both. But, those limitations aren't always apparent from their names.
Being a 16 bit application, DosLynxP can't work with a DPMI server that
supports only 32 bit applications. I won't mention many of those.
But, I'll list at least one popular one that doesn't have a revealing name.
So, here are two lists. The first is to let you know what it is that you
need to look for. The second is to let you know what you don't need to
waste your time with. The DPMI servers that DosLynxP likes all work pretty
well. The others aren't usable at all. So, the two lists are given in
alphabetical order by the author's or publisher's names.
DPMI Servers That DosLynxP Likes
- Borland's DPMI16BI.OVL
- Borland first released DPMI16BI.OVL, along with DPMIINST.EXE,
DPMILOAD.EXE, and DPMIRES.EXE, in their C/C++ v3.x compiler
packages, in 1992. DPMIINST provides for updating a hardware
database included within DPMI16BI.OVL. It is said that you
probably won't need to use DPMIINST unless you have an unusual
'286 based system. This package may be your best bet if you
do have such a system. To activate this package, you simply
command: DPMIRES. When you're done with it, command: EXIT,
to have it leave memory, if you like. As an early version of
DPMILOAD.EXE had to be updated, you will do best to look for
the v3.1 edition of this package. I have tested DosLynxP with
this package on systems starting with Willy, my '386 based
Zenith system, with only 4 MB of RAM.
-
- Borland released an updated DPMI16BI.OVL, along with RTM.EXE and
RTMRES.EXE, in their Pascal v7.x compiler packages, in 1993.
The DPMI16BI.OVL in these packages has an expanded hardware
database. This later DPMI16BI.OVL works well with the DPMI*.EXE
programs named above. However, I haven't been able to get
DosLynxP to work with it, in combination with RTM and RTMRES.
After commanding: RTMRES, DosLynxP is only able to get about
128 KB of Extended Memory before a further request gets
refused.
-
- Japheth's HDPMI16.EXE v2.01
- This is a free DPMI server included within the HXRT.ZIP package
offered at:
http://www.japheth.de/HX.html
. DosLynxP seems to like it as well as, or better than, the other
entries in this list! As with the Borland package, you simply use
an HDPMI16 command to start its service up. Unfortunately, it is
said to require a '486 or later processor. I have tested DosLynxP
with HDPMI16 on my '486 based system, with 36 MB of RAM,
Sailboard.
-
- Microsoft's Windows DOS windows
- These provide DPMI service by default. As with DosLynx, the main
trick involved in running DosLynxP in a Windows DOS window, will
come in arranging Packet Driver interface(s) for it.
With Windows 3.x, you may as well load a Real Mode
(or, traditional DOS) Packet Driver before starting Windows.
This approach may also work with Windows 9x and ME.
However, it would be a shame to keep these Windows versions from
using their own drivers on your network devices. With Windows
driving your network devices, you'll also need a driver such as
NDIS3PKT.386, NDIS3PKT.SYS, or SWSVPKT.SYS, to provide Packet Driver
interface(s) for your Windows DOS windows. My
What
To Do with a WinModem Web page provides more information on
these drivers. So far, my DosLynxP testing has been limited to
Windows 3.x, 9x, and NT v4.0, SP6 DOS windows.
I have tested DosLynxP with Willy's Windows 3.11 system.
With Sailboard's Windows 95 and NT v4.0, SP6 systems.
And, with Windows 98 SE on my Pentium based system,
with 64 MB of RAM, Digerydo.
-
- Quarterdeck's QDPMI.SYS
- If you are already running with QEMM386.SYS, getting DPMI service
is just a matter of adding QDPMI.SYS to your CONFIG.SYS file, as
well. Once you have done that and reBooted, DPMI service will be
available by default. You may disable and reenable it by means of
QDPMI.COM. As you might expect, QDPMI OFF disables DPMI
service. And, QDPMI ON reenables it. I have tested DosLynxP
with QEMM/QDPMI versions 7.02 and 8.01. Unless you keep
QEMM386.SYS from loading itself into Extended Memory, its
requirements together with DosLynxP's, may be more than is
available on a system with only 4 MB of RAM.
Fortunately, QDPMI.SYS can fill the gap by providing a swap file.
You can expect DosLynxP to get very slooow when it is working with
swap file based memory. But, that won't come until it has
allocated all the physical RAM.
DPMI Servers That DosLynxP Doesn't Like
- DR-DOS v7.x EMM386.EXE
- DosLynxP seems to get started with this DPMI service.
Though, very slowly. It continues to respond to keyboard and mouse
interrupts, for a while. But, its background process seems to
stall in a disk I/O call.
-
- Charles W. Sandmann's CWSDPMI or CSDPMI
- These packages set out to support only 32 bit applications.
They dismiss 16 bit DosLynxP's request(s) and shut it down.
-
- Bob Smith's DPMIONE v0.91
- Depending on profile settings, DosLynxP either hangs or crashes,
almost immediately, when run with this DPMI service.
Please tell me about other DPMI serving software that should be added
to either of these lists!
Fred C. Macall
20 December 2005