www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/02/25/03:29:43

Date: Tue, 25 Feb 1997 10:25:13 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: TB200 <tb200 AT aol DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: dosmemput ... trying to preset VBESignature field
In-Reply-To: <19970225052100.AAA03925@ladder02.news.aol.com>
Message-ID: <Pine.SUN.3.91.970225101857.6546Q-100000@is>
MIME-Version: 1.0

On 25 Feb 1997, TB200 wrote:

> Instead of using dosmemput and associated functions which use the djgpp
> dos buffer, why not use an intersegment move to access it directly?

Would you please care to explain what do you mean by ``intersegment 
move''?  AFAIK, you always need to use a buffer in lower memory to move 
data between a DJGPP program and a real-mode driver.

> If you
> use the djgpp buffer, it is easier, but in the FAQ I believe it said that
> you are not always guaranteed that the buffer exists.

This is wrong.  The transfer buffer *always* exists, DJGPP programs won't 
work if it didn't.  The FAQ never says anything along these lines.  The 
*size* of the transfer buffer can be changed (but is never less than 2K), 
but it always exists.

> Since you can
> instead use a movedata with _dos_ds, why not give this a shot?
 
`_dos_ds' is just a selector that can be used to access conventional 
memory because it is not in the address space of your DJGPP program.  To 
move data, you need a buffer in the conventional memory (which you then 
access using `_dos_ds'), `_dos_ds' alone isn't enough.

- Raw text -


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