Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!sdcsvax!ucsdhub!jack!man!wolf!markd From: markd@wolf.UUCP (Mark Divecchio) Newsgroups: comp.sys.ibm.pc Subject: Undocumented 34h Call Message-ID: <558@wolf.UUCP> Date: Sat, 14-Nov-87 17:01:40 EST Article-I.D.: wolf.558 Posted: Sat Nov 14 17:01:40 1987 Date-Received: Sun, 15-Nov-87 20:16:43 EST Organization: Systems'n'Software San Diego, CA Lines: 28 Keywords: TSR,Critical Section Flag The latest chapter in the saga of how to write TSR programs was played out on page 77 of the September 1987 Microsoft Systems Journal. In the Ask Dr. Bob column, he gives us some hints on how to use the critical section flag returned by int 21h function 34h. He says the what you do with it depends on the version of DOS which you are running. Specifically : "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)." My first problem is the first sentence of the quote. It is so poorly phrased that I can't figure it out. The second problem is how one tells if we in the middle of a 13h or 16h interrupt. I have a program called LPTx which tries to redirect the output destined for the printer to a disk file. I use the 34h flag but I always checked the byte which the flag pointed to, not one before or after. Has anyone figured this one out? -- --------------------------------- Mark C. DiVecchio 10435 Mountain Glen Terrace, San Diego, CA 92131 K3FWT Home of PC-VT and LPTx 619-549-4056 sdcsvax!man!wolf!markd Bulletin Board 619-549-3927