[Coco] Os9 Intercept
Gene Heskett
gheskett at wdtv.com
Tue Oct 30 09:44:53 EDT 2012
On Tuesday 30 October 2012 09:38:48 Bill Pierce did opine:
> Thanks Aaron, I think that's what I need. The real problem is there's
> already an intercept running on the program that catches the BREAK key.
> Then my ML sub to connect to DW (inline, same program) sets up the
> intercept when it runs. I need to be able to read the intercept &
> vector data address BEFORE it makes the call, then I can restore it
> afterwards.
>
> New question.. when you set the intercept.. do the calls stack, or does
> it just wipe the old intercept and create a new one? Example:
>
> set intercept 1...
> program code..
>
> set intercept 2
> program code..
>
> signal
> jmp intercept 2..
> jmp intercept 1..
> return (RTI)
>
> If it doesn't stack like this, then I can just reset the first intercept
> and it should be fine.
>
> thnx
> Bill P
>
Since the size of the PD area is fixed, its my understanding that only the
last intercept set by the F$Icpt call will be executed when the signal
comes in. IOW they do not stack. OTOH, since they don't stack, I also
don't believe there is a limit other than your imagination. :)
> Music from the Tandy/Radio Shack Color Computer 2 & 3
> https://sites.google.com/site/dabarnstudio/
> Bill Pierce
> ooogalapasooo at aol.com
>
>
>
>
> -----Original Message-----
> From: Aaron Wolfe <aawolfe at gmail.com>
> To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
> Sent: Tue, Oct 30, 2012 4:47 am
> Subject: Re: [Coco] Os9 Intercept
>
>
> You can get the current intercept settings for a process from it's
> process descriptor. F$GPrDsc is one way, I think that works in user
> mode. There may be others, I am no OS9 expert. In the PD your
> intercept info is at +$36 but if you're using os9 defs you can use the
> pretty names:
>
> P$Signal RMB 1 Signal Code $36
> P$SigVec RMB 2 Signal Intercept Vector
> P$SigDat RMB 2 Signal Intercept Data
> Address
>
> hth
> -Aaron
>
> On Tue, Oct 30, 2012 at 12:42 AM, Bill Pierce <ooogalapasooo at aol.com>
wrote:
> > Hi Guys,
> > In OS9, how do you reset an Intercept back to default after a program
> > has set
>
> it?
>
> > I have a program that runs a function that uses a signal intercept.
> > When the
>
> function is called, the F$Icpt is set. The program will be continuously
> running, but the intercept will no longer be needed until the same
> function is called again. The lines that set the intercept can be
> jumped over each time, but the intercept itself does not need to in
> operation unless within that function, as it interferes with the rest
> of the program. So, how would I go about resetting the intercept
> address to what it was before the change. I searched through both the
> "C" User's guide and the OS9 Tech Reference manual and only found
> reference to setting the intercept.
>
> > So, is there some way to call before the intercept is set to get the
> > current
>
> intercept address saved before I set the intercept?
>
> > Thnx
> > Bill P
> >
> > Music from the Tandy/Radio Shack Color Computer 2 & 3
> > https://sites.google.com/site/dabarnstudio/
> > Bill Pierce
> > ooogalapasooo at aol.com
> >
> >
> > --
> > Coco mailing list
> > Coco at maltedmedia.com
> > http://five.pairlist.net/mailman/listinfo/coco
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
Cheers, Gene
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
My web page: <http://coyoteden.dyndns-free.com:85/gene> is up!
The word "Windows" is a word out of an old dialect of the Apaches. It
means: "White man staring through glass-screen onto an hourglass..."
More information about the Coco
mailing list