Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!rochester!PT.CS.CMU.EDU!B.GP.CS.CMU.EDU!ralf From: ralf@B.GP.CS.CMU.EDU (Ralf Brown) Newsgroups: comp.sys.ibm.pc Subject: Re: Undocumented 34h Call Message-ID: <366@PT.CS.CMU.EDU> Date: Tue, 17-Nov-87 20:07:46 EST Article-I.D.: PT.366 Posted: Tue Nov 17 20:07:46 1987 Date-Received: Fri, 20-Nov-87 03:32:23 EST References: <558@wolf.UUCP> Sender: netnews@PT.CS.CMU.EDU Organization: Carnegie-Mellon University, CS/RI Lines: 25 Keywords: TSR,Critical Section Flag In article <558@wolf.UUCP> markd@wolf.UUCP (Mark Divecchio) writes: }[...] "Depending on the DOS version, you should }check the byte after (DOS 2.1), before (DOS 3.0 and 3.1, if not }Compaq-DOS), or 01AAH bytes before (Compaq-DOS 3.0). You should }check to make sure that you're not in the middle of a BIOS interrupt }13h (Disk I/O) or 16h (Keyboard Service Request)." }--------------------------------- }Mark C. DiVecchio 10435 Mountain Glen Terrace, San Diego, CA 92131 }sdcsvax!man!wolf!markd Bulletin Board 619-549-3927 The first sentence quoted above refers to a second byte that you should check *in addition* to the byte pointed to by the address returned by the INT 21/AH=34h function call. The only way to check whether you're in the middle of an INT 13h or INT 16h is to hook yourself into these interrupts. Your routine needs to set a flag, call the original interrupt handler, reset the flag, and return. -- {harvard,uunet,ucbvax}!b.gp.cs.cmu.edu!ralf -=-=- AT&T: (412)268-3053 (school) ARPA: RALF@B.GP.CS.CMU.EDU |"Tolerance means excusing the mistakes others make. FIDO: Ralf Brown at 129/31 | Tact means not noticing them." --Arthur Schnitzler BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA -=-=- DISCLAIMER? I claimed something?