Mail Archives: djgpp/1998/03/29/05:32:49
On Thu, 26 Mar 1998, Ben N. Shadwick wrote:
> I am using whatever version the HTML version on DJ's server is.
That *is* the latest version.
> The only
> example code pertaining to passing the address of a buffer shown is how to
> stuff the address of the DPMI transfer buffer into the es:di register pair.
Section 18.4 (which is one of the two I mentioned) begins with the
following question:
**Q*: How can I move data between my program and the transfer buffer?*
and then goes on to explain how to copy data in and out of the
transfer buffer. Specifically, it mentions library functions
`_farpeekX' and `_farpokeX', `dosmemget' and `dosmemput', and
`movedata'. I believe these are the functions you need.
> 1) perhaps the amount of feedback you have received on certain areas of
> the FAQ might indicate that some improvements to those areas would be
> helpful.
I always try to do my best to incorporate any suggestions and address
any feedback I get. But please note that for this I need more
specific feedback than just ``it's confusing''. I usually do my best
in explaining things as clearly as I can, so asking me to ``improve''
it doesn't help. I need specific references to specific paragraphs
with some indication of *why* is it unclear or confusing; then I can
sit down and try to rephrase, or to add what seems to be missing.
> 2) if a "tutorial" is what is required to find out how to do what I am
> asking, please point me to one.
Shawn already mentioned the User's Guide. If the section there that
deals with these issues is incomplete or in a need of improvement,
please suggest them to the Guide maintainer.
> I don't see anything on how to access the contents of the DPMI transfer
> buffer after passing its linear address to an interrupt service.
The second half of section 18.4 should explain that. If it doesn't,
please tell what is missing there.
> As for the int86x function, what are the SREGS for? Could someone give me
> an example of how I would pass the address of a variable via the es:di
> register pair to an interrupt service via the int86x function?
Don't use `int86x' for that, use `__dpmi_int'. `int86x' is not
general enough in the protected-mode environment, and will almost
surely get you into trouble. It should be only used for a small
number of functions supported by it (see the library docs for a list,
if you need it).
- Raw text -