Date: Sun, 17 Nov 1996 13:36:53 +0200 (IST) From: Eli Zaretskii To: Bill Currie Cc: Charles Sandmann , djgpp-workers AT delorie DOT com Subject: Re: cwsdpmi - rm callbacks and pm sw ints In-Reply-To: <328F3F27.4ADE@blackmagic.tait.co.nz> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 17 Nov 1996, Bill Currie wrote: > works fine. BUT, if I us a software interrupt instead, the computer > locks up and requires a reset. Do you know where exactly does it crash? Can it be that the crash is after the INT call returns, and not in the handler? For instance, is it safe to assume that FS stays the same across interrupts (you only call _farsetsel once)? Another thing that I'm unsure of is the 32/16 bit issue of the registers (such as EAX): what happens with the upper 16 bits when you invoke Int 21h from protected mode is a total mystery to me. > I've attaced my test code (which works perfectly under windows 3.11). Windows is different: it acts as a DOS extender, catching Int 21h in protected mode, changing some of the calls, handling others (like memory allocations and such) and reflecting still others to real mode, whereas a DPMI host merely reflects SW interrupts to RM. Can you try the code with another DPMI host which isn't Windows (PMODE?) and see what happens?