delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/06/24/19:37:38

From: mauch AT uni-duisburg DOT de (Michael Mauch)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: delay() problem
Date: Tue, 24 Jun 1997 16:28:57 +0200
Organization: Home, sweet home (via Gesamthochschule Duisburg)
Lines: 36
Message-ID: <5oolij$kd9$3@news-hrz.uni-duisburg.de>
References: <5oltjf$cbq AT gutemine DOT informatik DOT uni-kiel DOT de>
NNTP-Posting-Host: ppp73.uni-duisburg.de
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

On 23 Jun 1997 13:27:11 GMT, hbs AT informatik DOT uni-kiel DOT de (Henrik Schmidt)
wrote:

> I think it must be related to the fact that delay() is interrupt
> driven and my code ( which uses jonipx btw ) is faulty at some point.

Yes, delay() is interrupt driven, because it uses int 15h, func 86h.

Kris Heidenstroms PC timing FAQ (pctim003.zip) says about this function:

>>>
If any software locks out interrupts for more than 977 us at a time,
interrupts will be missed and the time period will be extended.  The
BIOS joystick reading function (section »» 10.4.2) and the joystick
position reading function given in section »» 10.4.4 may cause this
problem.

I have heard that the Event Wait function is used by the hard disk and
floppy disk BIOS code, but I don't know the details.  Info is welcomed.
<<<

AFAIK only one Event Wait function can be active at any time, so if
you're having some sort of signal handlers that use delay(), this could
mess it all up.

Did you try replacement functions for delay(), e.g. one that is using
uclock()?

Last but not least: you don't run Windows, do you?

Regards...
		Michael

-- 
PGP key (0x013CB889) available at public key servers. PGP mail welcome.
PGP fingerprint: 83 D1 C4 76 0A F5 35 C6  C6 C4 C8 73 1B 45 E9 D5

- Raw text -


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