[Coco] Os9 Intercept
Lothan
lothan at newsguy.com
Tue Oct 30 12:35:16 EDT 2012
The documentation doesn't explain this, but set X=$0000 to reset the signal
intercept vector. If you search for P$SigVec in krn.asm, you'll see it
checks to determine if the signal intercept vector is $0000 and if so
branches to the F$Exit code:
ldu <P$SigVec,x get signal handler addr
beq L02AC branch if none
* no signal handler, exit with signal value as exit code
L02AC ldb P$State,x
orb #SysState
stb P$State,x
ldb <P$Signal,x
andcc #^(IntMasks)
os9 F$Exit
-----Original Message-----
From: Bill Pierce
Sent: Tuesday, October 30, 2012 12:42 AM
To: coco at maltedmedia.com
Subject: [Coco] Os9 Intercept
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
More information about the Coco
mailing list