[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