delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/06/29/01:15:50

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: DPMI features [was Re: Peculiar behavior of program.]
Date: Thu, 28 Jun 2001 23:43:48
Organization: Aspen Technology, Inc.
Lines: 47
Message-ID: <3b3bc134.sandmann@clio.rice.edu>
References: <3b3b4662 DOT 211401101 AT news DOT primus DOT ca>
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 993791107 9024 10.32.115.107 (29 Jun 2001 05:05:07 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 29 Jun 2001 05:05:07 GMT
X-NewsEditor: ED-1.5.8
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

At severe personal risk :-) I'll wade into this thread that has become
a rope ... 

> >There are other DPMI hosts that support this feature.
> 
> Such as? I've never heard of any. If they exist, they are so obscure
> nobody's using them anyway.

Commercial software has shipped using DJGPP as the compiler and run-time.
If you pay for something, you expect it to work on your platform.  DJGPP
is more compatible than the other compilers.  The users of those obscure
platforms would be very hostile to the concept that they are nobody.

DPMI is a *STANDARD*.  There are two documented versions of the standard.  
No software exactly implemented either standard exactly that I know of.
0.9 was so weak that no implementation only provided the 0.9 features.  
The 1.0 version was so complicated and rich that noone bothered.  Since
I avoid threads completely without certain key words in the subject, I'm
not sure what "feature" is being discussed - but I'll guess null page
protection.  If you don't want this feature you can use CWSPARAM on r5
to set flag "4" and be happily ignorant of programming errors.  

> >So identification is not so simple.
> If so, then why not modify CWSDPMI to exhibit a "signature" of sorts?

A signature was added to r5 of CWSDPMI (0x401 - a DPMI 1.0 function) at
Eli's request.  However r4 did not support this, and there are hundreds
of thousands of copies of CWSDPMI r4 and earlier out there.

But if anyone really needs CWSDPMI ident code, the page table locating
code is very specific to CWSDPMI, and works since early betas.  However,
this is a very bad thing to do unless you know exactly why you are doing
it...

> Of course, this would cause problems if CWSDPMI were used with a 
> non-DJGPP app, but a) this probably doesn't occur 

Sigh.  It is, by the way.  Other people have written their own 32-bit
environments on top of it, and even embedded it into ROM.

> b) CWSDPMI can certainly check whether the app is DJGPP or not and 
> behave accordingly (all DJGPP apps start with a common piece of stub 

CWSDPMI is small, tight, specialized code implementing a standard.
While there are some features which help to support DJGPP, I have no
plans to put anything environment specific into the DPMI provider.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019