delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/26/13:13:19

Message-ID: <D1FB30BBA491D1118E6D006097BCAE391C2E08@Probe-nt-2a.Probe.co.uk>
From: Shawn Hargreaves <ShawnH AT Probe DOT co DOT uk>
To: djgpp AT delorie DOT com
Subject: Re: passing & retrieving buffer thru interrupt
Date: Thu, 26 Mar 1998 18:12:48 -0000
MIME-Version: 1.0

Ben N. Shadwick writes:
>> If the info in the FAQ is still unclear and confusing, please 
>> describe what parts are unclear and confusing, and/or suggest how 
>> to change them.
>
> I can't tell you what to say when I don't understand what you're
> already saying in the FAQ.

But you could point to specific areas that you don't understand.
If you say "I don't understand what you mean when you say that 
[xyz]", I think Eli would find it much easier to give you detailed
help and/or improve that area of the FAQ. A general "I don't
understand the whole section" isn't much help, because the only
option this leaves him is to try and rewrite that entire part
of the file (a futile undertaking, since I'm sure he already gave 
it his best effort on the first attempt).

> 2) if a "tutorial" is what is required to find out how to do what I 
> am asking, please point me to one.

This sort of material should be a part of the DJGPP User's Guide
(http://www.delorie.com/djgpp/doc/ug/), but nobody has written the
chapter about DPMI and DOS interaction yet. Any takers?

I know that doesn't help you while you are still trying to figure
things out, but all I can suggest for this is that you look at
the sources for other programs that do similar things to what you
are needing. There are any number of free libraries and example
sources available for djgpp, which I found extremely useful while
I was trying to get to grips with pmode coding myself...

> 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. 

This is exactly the same as putting data into the buffer, but
in reverse. Use the _farpeek*() or dosmemget() functions, as
described in FAQ section 18.4.

> although it only overs passing buffers via __dpmi_int and not the 
> usual int86x method.

The int86() function is not "usual" in djgpp. It tries to understand
DOS calls and automatically deal with the functions you are trying
to use, but it doesn't know about everything so I think it isn't such
a great idea to rely on this. In fact I would go so far as to say
that you probably ought never to use this function: __dpmi_int() is
a much better all-rounder.

	Shawn Hargreaves.

- Raw text -


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