delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/12/17/12:16:32

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <9612171707.AA17455@clio.rice.edu>
Subject: Re: _dos_ds
To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
Date: Tue, 17 Dec 1996 11:07:12 -0600 (CST)
Cc: dj AT delorie DOT com, djgpp-workers AT delorie DOT com
In-Reply-To: <Pine.SUN.3.91.961217174603.21540B-100000@is> from "Eli Zaretskii" at Dec 17, 96 05:46:55 pm

> > It used to be 1Mb.  People complained that it should be 16Mb, to cover
> > the original 286 address space and some I/O boards.  Then people
> > complained that it needed to cover the Weitek I/O space.  Then people
> > wanted it to contain the linear frame buffer for SVGA boards.  So now
> > it's a 4G segment.
> 
> Another case of creeping featurism, then.  Thanks for the info.

A semi-broken one in this case - no memory outside the 1Mb address space
will be properly mapped without additional calls - in which case the
DPMI provider may put the Weitek or SVGA address someplace completely
different than you expect.  The only way to then guarantee access to
the mapped memory is via a separate selector (since large limit hacks
may be ignored if they span non-owned memory).  So, use of this "feature"
will probably break code on some DPMI platforms, and should not be used.

But I'll say the same thing about nearptrs, too, which I wrote.  Just beware
these features that encourage bad coding practices - if you use dos_ds
you must use an selector anyway - so other than the one line to set it 
up a custom selector nothing is gained.

- Raw text -


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