Tony Duell wrote:
Was the Tube ULA (or the Tube interface) fully
documented anywhere?
Obviously a pinout of the ULA exists, as does a general description of
what it did. And I think the source code to the drivers on at least one
side were published somewhere (I seem to rememebr a book on the Master
512 the contains such sources). But I didn't think there was enough info
to necessarily correctly implent the ULA functions.
It seems to be 80%-documented:
- The 6502 and Z80 Second Processor Service Manuals explain how big the
FIFOs are, and how to write to them:
-
http://acorn.chriswhy.co.uk/docs/Acorn/Manuals/Acorn_65022ndprocSM.pdf
-
http://acorn.chriswhy.co.uk/docs/Acorn/Manuals/Acorn_Z802ndprocSM.pdf
- Acorn Support Group Application Note 004 explains a bit about the
host<=>parasite interface, but not a lot. Mainly useful for the Parasite->Host
FIFO #1 size (24 bytes, or 20 bytes depending on who you ask)
-
http://acorn.chriswhy.co.uk/docs/Acorn/AN/004.pdf
- Yellow Pig (?!) explains a lot of stuff about the ULA on his website
(<http://www.cowsarenotpurple.co.uk/bbccomputer/master512/tube.html#tubeula>).
This explains (in some detail) how the first Status register works.
- The New Advanced User Guide (Dickens and Holmes) p.327 onwards lists the
ULA registers, but then goes on to say "you won't need to control the ULA
directly".
From what I've gathered, there are three FIFOs -- one 24-byte, two 2-byte,
and the rest of the transfer paths are latches.
The problem, of course, is that 20% of undocumented stuff. Things like:
- The inner workings of the DMA system (DREQ, DACK and friends)
- What happens if you write 25 bytes to the 24-byte FIFO? What about the
2-byte FIFOs?
- What does a Parasite-originated reset clear, if anything?
If I had a Tube ULA (or a complete 6502 2nd processor), I might be tempted to
breadboard it and do some "experimental analysis" with the logic analyser and
a digital signal generator.
Duplicating the "known 80%" in Verilog HDL is probably about a day's work;
probably a week for the whole thing assuming no hold-ups or "WTF?!" moments.
--
Phil.
classiccmp at philpem.me.uk
http://www.philpem.me.uk/