Date : Tue, 01 Dec 2009 23:55:22 +0000
From : kevin@... (Kevin Bracey)
Subject: Tube - I/O processor memory questions
> In article <4B159074.2060002@...>,
> Kevin Bracey <kevin@...> wrote:
>> is there some definite
>> cue that this is a Break-derived entry?
> Entry is with C=0 for reset triggered start (hard/soft/power on).
> with C=1 for start due to *FX142
> when your service handler matches the command it should start the language
> using OSByte 142, not just calling the language entry point!
Pah! As if I'd do that. I'm Captain Tube(R). I don't touch a host BBC
unless it's to grobble in its spare RAM. I might deign to let it carry
my VDU output, I guess. But I'm definitely not letting it execute my
language. We all know it was only ever intended to be an I/O processor.
> Not sure if that carry distinction makes it across the Tube though.
Doesn't seem to, sadly. Experiments show C set in both cases on the
Tube. I think we can count that as a cunning hack, rather than a proper
API. Not found it in my manuals either.
And even if it had worked, I bet it wouldn't have held up for the
distinction between *RUNning and restarting after Break. The Tube seems
to try to re-enter the last thing you *RAN (*RUNned?) after a Break; not
something I've seen documented.
It may be time to reverse-engineer EDIT a bit more, to find their
solution. It did seem a little complex, and I didn't quite get to the
bottom of it.
At the minute I tend to get a "Bad name" or "Bad string" error on Break
under my banner, which is inelegant, but not the end of the world. Just
Ctrl-Break to recover on a BBC (its default BRK handler halts), or on
the 6502 2nd Proc or Master it drops to the Supervisor prompt, giving
you a couple more options.