www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/07/16/14:49:31

Message-Id: <m0ywt4m-000S4aC@inti.gov.ar>
Comments: Authenticated sender is <salvador AT natacha DOT inti DOT gov DOT ar>
From: "Salvador Eduardo Tropea (SET)" <salvador AT inti DOT gov DOT ar>
Organization: INTI
To: "Steve Ball" <s DOT ball AT xtra DOT co DOT nz>, djgpp AT delorie DOT com
Date: Thu, 16 Jul 1998 15:56:44 +0000
MIME-Version: 1.0
Subject: Re: longjmp() from interrupt handler
In-reply-to: <6okp9j$7p6$1@wolfman.xtra.co.nz>

"Steve Ball" <s DOT ball AT xtra DOT co DOT nz> 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019