www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/06/30/15:15:03

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: DPMI problem
Date: Sat, 30 Jun 2001 13:47:29
Organization: Aspen Technology, Inc.
Lines: 31
Message-ID: <3b3dd871.sandmann@clio.rice.edu>
References: <3b3d0f21 DOT sandmann AT clio DOT rice DOT edu> <D7f%6.64346$WB1 DOT 18512448 AT typhoon DOT tampabay DOT rr DOT com>
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 993927967 27248 10.32.115.107 (30 Jun 2001 19:06:07 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 30 Jun 2001 19:06: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

> Well *sigh* I am exasperated. I spent a day or two working on that, and
> after I took out the __dpmi_allocate_linear_memory call as you suggested, it
> worked. Thank you.

Glad to help.

> ....and now my little rant
> I can't figure out why DPMI will not support the allocate_linear_memory
> call, especially when the implementation is so trivial. It might even be
> acceptable for cwsdpmi to not support this, but the DPMI server in Win9x
> doesn't support this call when the OS makes it available to Win32 apps via
> VirtualAlloc. (?!!?!)
> ....Go figure.

CWSDPMI doesn't support 0x504 since it's not a full 1.0 implementation and
the primary feature of 0x504 you might want over 0x501 (specifying the
desired address location) turns out to be a can of worms to implement.  I
considered adding 0x504 as a 0x501 wrapper (failing if EBX was nonzero)
but it seemed not such a good idea because of some other DPMI compatibility
issues (some code checked to see if 0x504 worked and if so assumed all
sorts of other things worked).  Sorry if this mis-feature caused you
grief.  The DPMI 1.0 API does specifically say you need the 0x504 call
to use the map conventional (or set page attributes) calls.  All of the
DPMI providers which I tested that supported these calls also supported 
them on 0x501 handles - so thus the strange, poorly documented behavior.

Windows has never supported any features beyond DPMI 0.9 except the 
coprocessor emulation calls (needed if an FPU was not present).  Does 
anyone even remember when Intel made chips without FPUs?  Microsoft's
goal since Windows 3.1 was to stop all enhancements for DOS program API's 
(DPMI) to encourage developer migration to the Windows APIs.

- Raw text -


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