Mail Archives: djgpp/1997/03/10/11:07:56
On Mon, 10 Mar 1997, Andrew Crabtree wrote:
> Originally I was using the go-32 functions, but after reading from the
> faq and some of Eli's posts I decided the the dpmi ones were preferred
> for djgpp v2.x.
IMHO, this is a wrong decision. The FAQ suggest to use the `_go32'
functions first, in particular if your handler is written in C, until you
have a working version. Only then it advises to migrate your handler
into assembly and use `__dpmi' functions.
> I couldn't get the go-32 functions working either.
You should have debugged the `_go32' version before switching to `__dpmi'
variant.
> I checked my dpmi reference and it doesn't specify whether the callback has
> a retf or and iret but my assumption was a retf (anybody?).
When you use the `__dpmi' function, you get neither! Your callback is
supposed to do an iret. I suggest you look at the sources of the
`_go32_dpmi_allocate_real_mode_callback_iret' (in v2/djlsr201.zip, file
src/libc/go32/gormcb.c) to see how is the assembly-level callback
written. Again, it is best to use the `_go32' functions first.
- Raw text -