<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 26 Jul 2005 14:34:35 +0200 (BST)
From   : Johan Heuseveldt <johan@...>
Subject: Re: ARM copros, speech cartridges, real timeclocks, etc

Hi Rob,

On Tue 26 Jul, Rob wrote:

[snip]

> I was just contemplating the other day what would happen if I were to 
> attach an external second-processor to a Master with a 65C102 already
> inside..
> 
> According to a seriously ancient printout of an article "communicating 
> across the tube" I got off Micronet years back, any software running in
> the  2P that talks to the host machine has to "claim" the tube for itself
> before  transfers go ahead. (Call &0406 with A = &C0+<your sw id> returns
> carry set  if you got it.)

This has nothing to do with a selection of a particular CoPro machine.
It's intended for software protocols not getting mixed up in each other,
on /that/ particular Tube ULA. 

If two protocols would like control over the Tube to do something, they
would interfere which each other, as the TUBE protocols can't cope with
more than a single client protocol. So one client protocol has to finish,
before another one can continue/start.

That's implemented with this Claim and Release of the Tube. If you
think about it as a claim/release on the Tube as a complete system,

 * including that particular Tube ULA
 * which has that particular CoPro at its end,
 * for which all kinds of stuff could have been setup for in the Beeb
       (including nothing at all)
 * and for which a single protocol is started now,
 * which can be CoPro specific,
       which the Beeb is completely unaware of, as it was initiated
       by the CoPro in the first place
 * which in turn can have more than one data exchange between Host/CoPro
 * between more than one of its (four) data paths;

it would make more sense I hope! :-)

> The doc implies you're unlikely to be refused unless an interrupt routine 
> claimed it first, but I guess this mechanism could also provide a means
> for multiple processors to cooperate on communications with the host too, 
> assuming the tube code on the host can accommodate it ...

Not only the Tube code can't, but as the Tube code has no knowledge
about CoPro specifics in the rest of the Beeb, this not possible,
unless you write a lot yourself.


greetings,
Johan

-- 
Johan Heuseveldt <johan@...              >
  aka  waarland

  The best place is a Riscy place
 
To my embarrassment I was born in a bed with a lady.
Wilson Mizner
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>