Date : Wed, 18 Apr 2001 00:02:36 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: Re: Confusing tube
Mike Tomlinson <mike@...> wrote:
> Richard Gellman <r.gellman@...> writes:
> >I'm confused about the loading of the Tube OS ROM in the 6502 2nd processor.
> >I have two roms download from TBL, one 2K and one 4K.
> As the second processor has 64k RAM and the maximum addressable space of
> the 6502 is 64k, at switch on the tube code is copied from a ROM into
> the second processor's RAM.
> perhaps it means pages 4,5,6,7 ? The I/O processor is the BBC itself.
> To be honest, I thought the Tube code got loaded at &0D00 so not sure
> what is meant here.
That's the NMI space, used by high-speed devices (disk interface, network
interface, etc.)
> >The second processor operating system is copied from a ROM inside the
Second
> >Processor to &F800-&FFFF.
> >
> >Now would somebody care to clear this up a bit? :)
>
> for the second processor to work, there has to be code running in both
> boxes to allow communication between the two. It sounds as if you have
> downloaded a copy of the 2k second processor ROM from TBL! - not much
> use, as it will already be present in any second processor you care to
> attach. Perhaps the 2k ROM is for the 6502 SP and the 4k is for the
> Z80?
On Reset the host system (the BBC or Master) checks the Tube hardware to
see if there's a copro on the other side. If there is, the character set
is exploded and code is copied to pages 0, 4, 5 and 6 in the i/o processor
from the DNFS rom on the BBC or from the MOS rom on the Master.
About 30 bytes in page 0 are used for a polling loop.
Pages 4, 5 and 6 hold code that communicates with the parasite processor.
&0400, &0403 and &0406 are entry points for host-controlled Tube
communications. &0500 has entry addresses for parasite-controlled Tube
communications.
The parasite processor has a small rom with code in that is copied to ram
on startup. The 6502 parasite code runs at &F800 to &FFFF, the Z80 at
&F000 to &FFFF. Examining the contents of the rom will show exactly which
processor it is for. Near the beginning is the startup string:
Acorn TUBE 6502 64k, Acorn TUBE 65C02 64k or Acorn TUBE Z80 64k.
When the parasite processor is reset, the code in the rom is copied to
high ram, and then a polling loop is entered waiting for the host to tell
it what to do next: receive data, send data, execute code.
If I've got round to uploading it, there's commented disassemblies at
http://www.mdfs.net/Software/Tube
--
J.G.Harston (JGH BBC PD Library) 70 Camm Street, Walkley, SHEFFIELD S6 3TR
jgh@... - Running on BBCs & Masters with SJ MDFS FileServer
Z80+6502/CoPro+Tubes/Econet+SJ - - - - - - - http://www.mdfs.net/User/JGH/
Et In Arcadia Ego