Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!labrea!decwrl!sun!plx!titn!herve From: herve@titn.TITN (Herve Siegrist) Newsgroups: comp.sys.ibm.pc Subject: Re: millisecond timing Message-ID: <182@titn.TITN> Date: Fri, 17-Jul-87 13:47:50 EDT Article-I.D.: titn.182 Posted: Fri Jul 17 13:47:50 1987 Date-Received: Wed, 22-Jul-87 06:24:35 EDT References: <4343@jade.BERKELEY.EDU> Organization: TITN Inc. Hayward, CA Lines: 28 Summary: Probably an other way on an AT... It looks to me that there is a much better way to control timings on an AT, as the BIOS provides some neat functions for that. All this is in the interrupt 15H for the cassette I/O. Two timing functions are provided, the function code beeing provided in AH: -1/ Function 86H (wait): Set AH to 86H, (CX,DX) to the number of microseconds to wait, and call INT15H. The call will return when the requested number of microseconds elapsed. -2/ Function 83H (event wait): Set AH to 86H, (ES:BX) to the address of a memory byte, (CX,DX) to the requested number of microseconds. Also set AL to 0 to set the interval or to 1 to cancel the previous request, and call INT15H. This function returns right away. When the delay expires, the high order bit of the byte whose address was provided in (ES:BX) will be set by the BIOS. This provides a nice way to get timing information with a microsecond resolution. I should say however that I never tried to use that myself... FROM: Herve Siegrist, TITN Inc. 24301 Southland Dr. Suite 200 Hayward, CA 94545 Tel: (415) 785-5970 UUCP: (decvax|ucbvax|ihnp4)!decwrl!sun!dlb!plx!titn!herve