[Coco] Os9 Intercept

Bob Devries devries.bob at gmail.com
Tue Oct 30 17:19:18 EDT 2012


Hi all,

Regarding the use of fflush() in C, it would be good to study pages 4-11 and 
4-12 of the C manual. I seem to remember also being able to set a bit to 
make the output unbuffered, but I'll need to study some of my code to see 
what I did.

Regards, Bob Devries
Dalby, QLD, Australia

----- Original Message ----- 
From: "Retro Canada" <retrocanada76 at gmail.com>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Wednesday, October 31, 2012 12:33 AM
Subject: Re: [Coco] Os9 Intercept


> I'm am using I$Write on stdout path in C with no luck either. I have
> to fflush every time too. So I believe is not a C problem.
>
> #define _IWRITE(a,x,y) { reg.rg_a = a;reg.rg_x = x;reg.rg_y =
> y;_os9(I_WRITE,&reg); }
>
>
> On Tue, Oct 30, 2012 at 10:16 AM, Bill Pierce <ooogalapasooo at aol.com> 
> wrote:
>>
>> Thanx guys
>> I just set my intercept back to the break catcher on return from the sub 
>> and that seems to get me out of a loop I was getting into.
>>
>> Now if I can just convince "C" that I want everything I send to stdout 
>> printed on the screen without flush after every printf, I would be happy. 
>> The "C" print routines really suck. The CWArea prints are really screwed. 
>> As long as I stay in one area, I'm fine. As soon as I start to change 
>> areas, print, change again  and print again, "C" seems to buffer 
>> everything and dump it in the 2nd area. Flush seems to do no good. It's 
>> worse when the area is only 2-3 lines long and I don't want CRs scrolling 
>> it. CRs seem to make it flush, but when you're dealing with a 2 line work 
>> area and have 2 lines of info, you don't want to scroll it off the 
>> screen. Everything seems to work fine in overlays, it's just the cwarea 
>> that seems to not want to flush.
>>
>> Bill P
>>
>> 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: Gene Heskett <gheskett at wdtv.com>
>> To: coco <coco at maltedmedia.com>
>> Sent: Tue, Oct 30, 2012 9:45 am
>> Subject: Re: [Coco] Os9 Intercept
>>
>>
>> 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..."
>>
>> --
>> 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
>
>
>
> -- 
> Panasonic FSA1-WSX
> Commodore 64
> Commodore 64C
> Commodore 128
> Apple //c
> TRS-Color Computer 3
> TI-99/4A
> ..and more coming!
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
> 




More information about the Coco mailing list