Date: Mon, 10 Mar 1997 17:47:01 +0200 (IST) From: Eli Zaretskii To: Andrew Crabtree cc: Gisle Vanem , djgpp AT delorie DOT com Subject: Re: RMCB Help In-Reply-To: <199703101430.AA263944228@typhoon.rose.hp.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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.