From: Nigel Stephens Date: Thu, 18 May 95 16:38:33 +0100 To: Charles Sandmann Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: RM functions with DJGPP References: <199505172028 DOT NAA03954 AT kendaco DOT telebyte DOT com> <199505181256 DOT HAA28675 AT praline DOT no DOT NeoSoft DOT com> Charles Sandmann (sandmann AT praline DOT no DOT neosoft DOT com) writes: > Joel Hunter wrote: > > I realize that starting with 2.0, DJGPP-compiled programs will operate > > only under a DPMI environment, and as such many hardware-interrupt issues > > will be more easily resolved. However, sometimes your need for speed is so > > great that you want NO mode-switching when the interrupt occurs. In these > > cases, you need a real-mode handler for when the interrupt occurs in > > real-mode. Will we be able to do this in version 2? (Even if it has to be > > pure assembly I think it would still be very useful.) > > Here you are at the mercy of the DPMI provider you are using. If you hook > both RM and PM interrupts, you should hook the PM interrupt first (since it > modifieds the RM interrupt to reflect). If the PM interrupt does an IRET > and does not chain, then you would not need the extra mode switches, if the > DPMI provider allows this (I think it would work under CWSDPMI). Can you clarify this? Under GO32 v1.x I believe that it was necessary to install both a protected-mode handler AND a real-mode handler, to ensure that interrupts weren't missed when GO32 switched to real-mode to call DOS/BIOS. Is it true that a program using GO32 v2 (or any other "real" DPMI provider) runs totally in protected mode, using V86 mode to access DOS/BIOS functions, and that a real-mode handler is no longer absolutely required. Regards Nigel -- _________________________________________________________________________ Nigel Stephens, Algorithmics Ltd, 3 Drayton Park, London, N5 1NU, England mailto:nigel AT algor DOT co DOT uk http://www.algor.co.uk phone:+44 171 700 3301 fax:+44 171 700 3400