[Coco] signal/intercept routine in Basic09

Bob Devries devries.bob at gmail.com
Sat Jan 23 22:55:37 EST 2010


Would it be possible to write a short assembler routine which sets up an 
error trap, and accepts the address of a Basic09 variable (using ADDR()), 
and uses that to signal to Basic09 that something has happened by storing a 
non-zero value at the address provided? Then the Basic09 programme could 
poll the variable to see if a signal occurred.

Just my 2c

Regards, Bob Devries


--
Besides a mathematical inclination, an exceptionally good mastery of one's 
native tongue is the most vital asset of a competent programmer.

Edsger W.Dijkstra, 18 June 1975

----- Original Message ----- 
From: "Robert Gault" <robert.gault at worldnet.att.net>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Sunday, January 24, 2010 12:52 PM
Subject: Re: [Coco] signal/intercept routine in Basic09


> Aaron Wolfe wrote:
>> It's probably worth noting that the "port closed" signal is not a part
>> of standard OS-9, it is a feature of the DriveWire additions we're
>> working on.  The signal's value is 4.  It is sent to a process when
>> the remote end of a TCPIP connection closes.
>>
>
> For what it is worth, Basic09 would trap the error 4.
>  ON ERROR GOTO 100
>  ERROR 4
>  END
> 100 PRINT"The error was caught."
>
> When this is run, the message is printed. Now the manual indicates that 
> there is no real difference between signals and errors. Errors are just 
> specific signals. So, if the signal to be caught is coming from Drivewire, 
> it does not seem to be getting through to Basic09. That's assuming error 
> trapping as above is being used.
>
> It may mean that using syscall to set up an intercept may not work either.
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco 




More information about the Coco mailing list