Message-Id: Comments: Authenticated sender is From: "Salvador Eduardo Tropea (SET)" Organization: INTI To: "Steve Ball" , djgpp AT delorie DOT com Date: Thu, 16 Jul 1998 15:56:44 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: longjmp() from interrupt handler In-reply-to: <6okp9j$7p6$1@wolfman.xtra.co.nz> Precedence: bulk "Steve Ball" wrote: > We are doing some investigating to see if it's worth porting our code to > DJGPP and ditching (crappy) Watcom 11.0 and Borland 3.1. I'm real keen, but > there's one problem I haven't been able to solve. > > Some of the BIOS calls we use hang on some machines. To recover from this, > before executing the BIOS call, we set up a handler for the timer tick. If > the handler is not removed before its countdown reaches zero, it longjmp()s > the execution back to a known point which gets it out of the hung BIOS call. > > None of this works in protected mode of course. Has anybody got any smart > ideas about how to recover from hung BIOS calls? Any help would be greatly > appreciated (but please use little words -- my DPMI understanding is not > real good :-) ). Perhaps you can create a small TSR that acts like a wrapper for the BIOS call. Then from djgpp you call the service of the TSR, the TSR calls BIOS and makes all the "ant-hang" tricks and finally it returns to your protected mode program. This TSR can be used from pmode and real-mode and enhances your faulty BIOS. Just an idea. SET ------------------------------------ 0 -------------------------------- Visit my home page: http://set-soft.home.ml.org/ or http://www.geocities.com/SiliconValley/Vista/6552/ Salvador Eduardo Tropea (SET). (Electronics Engineer) Alternative e-mail: set-soft AT usa DOT net set AT computer DOT org ICQ: 2951574 Address: Curapaligue 2124, Caseros, 3 de Febrero Buenos Aires, (1678), ARGENTINA TE: +(541) 759 0013