Article View: comp.os.msdos.programmer
Article #4169Re: Backgroup processing (Was Re: DOS idle interrupt (INT28))
From: Steve Resnick
Date: Mon, 07 Jan 1991 20:45
Date: Mon, 07 Jan 1991 20:45
48 lines
3110 bytes
3110 bytes
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.
-------------------------------------------------------------------------------
Technical Details
Message-ID:
<20223@netcom.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!usc!apple!netcom!resnicksReferences:
<1991Jan5.043055.17637@bronze.ucs.indiana.edu> <773@csource.oz.au> <1991Jan6.005549.29246@bronze.ucs.indiana.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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