Mail Archives: djgpp/2001/06/29/01:15:50
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 -