Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: $Revision: 1.6.2.16 $; site ima.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!harvard!think!ima!johnl From: johnl@ima.UUCP Newsgroups: net.micro.pc Subject: Re: (Orphan) Re: How does SideKick work? Message-ID: <131300001@ima.UUCP> Date: Fri, 22-Nov-85 18:16:00 EST Article-I.D.: ima.131300001 Posted: Fri Nov 22 18:16:00 1985 Date-Received: Mon, 25-Nov-85 07:30:56 EST References: <233@well.UUCP.UUCP> Lines: 23 Nf-ID: #R:well.UUCP:-23300:ima:131300001:000:1264 Nf-From: ima!johnl Nov 22 18:16:00 1985 /* Written 11:43 pm Nov 20, 1985 by patrick@ISM780B in ima:net.micro.pc */ > > SideKick installs in the timer interrupt. > It can't be as simple as that. You're right, it's a lot more complicated than that. I was working on a program that grabbed the keyboard interrupt to peek at the keystrokes coming in. (It's Javelin, read all about it in next week's InfoWorld.) Anyway, it worked fine normally but hung and barfed under SideKick. After a lot of calling back and forth I finally talked to a guy at Borland named Bela, and here's what he told me: SideKick grabs all sorts of interrupts including the timer, the keyboard, the DOS call interrupt, and lots more. Every time that the clock ticks, it looks at the keyboard interrupt to see if some other program grabbed it back, and if so reinstalls its own routine into the keyboard interrupt on top of the other one, after saving the other one away. This means that programs like Epsilon which establish their own keyboard handlers will still work with SideKick. Unfortunately, my program grabbed the keyboard interrupt twice, out of sloppiness, and SideKick couldn't handle that. When I fixed it only to grab the keyboard once, it worked fine. Strange stuff, this PC software. John Levine, ima!johnl