Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!usc!apple!netcom!resnicks From: resnicks@netcom.UUCP (Steve Resnick) Newsgroups: comp.os.msdos.programmer Subject: Re: Backgroup processing (Was Re: DOS idle interrupt (INT28)) Message-ID: <20223@netcom.UUCP> Date: 7 Jan 91 20:45:39 GMT References: <1991Jan5.043055.17637@bronze.ucs.indiana.edu> <773@csource.oz.au> <1991Jan6.005549.29246@bronze.ucs.indiana.edu> Distribution: comp Organization: Netcom- The Bay Area's Public Access Unix System {408 241-9760 guest} Lines: 48 In article <1991Jan6.005549.29246@bronze.ucs.indiana.edu> yawei@bronze.ucs.indiana.edu (mr. yawei) writes: >In article <773@csource.oz.au> david@csource.oz.au (david nugent) writes: > >Well, I've seen examples of int 1Ch having problems (incompatibility >with SK, etc), but I've not seen an example of int 8 having problems. >I'll be interested to know whether DESQview is having problem with TSRs >using int 8. > [From Page 17-12 of the DESQview API Reference Manual, Version 1 (DESQview version 2.01)] : Hooking Interrupt 08H (the timer) The only hardware interrupt which generally has the enitre state of the task set up, and therefore has no restrictions on what its interrupt handler can do, is the timer interrupt. This is because DESQview gives the timer interrupt to the currently running process. Thus, if the user has set the foreground/ background slices to 9 and 3, then the foreground task will get nine consecutive timer interrupts while it is running, and each background task will get three consecutive timer ticks while it is running. This means that the entire task state is completely set up when it gets a timer interrupt. [DESQview Manual Stuff Done] So, what does this have to do with TSR's? Well, if your TSR is expecting a timer tick at a given rate consitently, forget it. It will not happen all the time. This, I expect goes for int 1CH as well, since it is usually called by the ISR for int 08H. There is a way around this, which is to load the TSR *before* DESQview, although that has its pitfalls as well. If your TSR hooks into int 09H, 10H, or 15H, you may not get your TSR to work correctly as DESQview uses these (and other) interrupts for its own work. (int 15H is the vector for DESQview's API, int 16H is hooked so DESQview can monitor video activity, and int 9 is used to monitor the keyboard). Most TSRs should run in a DESQview window, but be aware of the above limitations. Hope this helps, or was at least interesting ... ;) Cheers! Steve ------------------------------------------------------------------------------- resnicks@netcom.com, stever@octopus.com, steve.resnick@f105.n143.z1.FIDONET.ORG apple!camphq!105!steve.resnick, {apple|pyramid|vsi1}!octopus!stever - In real life: Steve Resnick. 530 Lawrence Expressway, Suite 374 Sunnyvale, Ca 94086 Flames, grammar and spelling errors >/dev/nul (This is a DOS machine =]) 0x2b |~ 0x2b, THAT is the question. -------------------------------------------------------------------------------