Date : Sat, 10 Jan 2004 18:32:35 +0000
From : Richard Gellman <splodge@...>
Subject: Re: IDE Interface for BBC
Philip Blundell wrote:
>On Sat, 2004-01-10 at 04:48, Jonathan Graham Harston wrote:
>
>
>>I have a bazillion IDE drives on the shelf :) I don't know how hard it is
>>to find suitable SCSI/SASI drives for the Acorn card, but I understand
>>it's hard to find Acorn cards, and I haven't been able to track down a
>>circuit diagram for it.
>>
>>
>
>I have a couple of Acorn SCSI cards here, but no schematics for them.
>The circuit doesn't look very complicated, though, so if I find myself
>at a loose end I could have a go at tracing it.
>
>I'm not sure what the situation is with drive compatibility either,
>though.
>
>p.
>
>
>
>
The circuit diagram for the Acorn SCSI Host Adapter card is in the
Winchester Service Manual. This was (last I looked) on the BBC Lives!
site under "documentation". I haven't looked to see if its still there
though.
The card itself is basically a glorified bus buffer with a few
flip-flops into to simplify the handshake process, along with the
obligatory signal cleaning/1Mhz Bus Address decode logic. All the
components are off-the-shelf, and the chips are all from the 74 series.
The remainder are 2.2K, 330ohm, and 220ohm resistors, a 22uF
electrolytic cap, and a 47nF ceramic cap. (according to the circuit
diagram).
As for SCSI compatibility/drive availability, the ADFS issues only 3
commands in normal usage: 0x1B (initialise), 0x08 (read) and 0x0A
(write) [1]. All drives should, by SCSI compliance, support these
commands. Formatting the drive may be interesting, but does not actually
involve a SCSI format command (this is only needed for a low-level
format (ick) [2]). You should only need to blank all the sectors, and
write the initial catalogue and free space map (be sure to get the
checksums right or ADFS does complain). Sniffing around ebay should find
you a few small-capacity drives. Its not like you need an 80Gb monster
to run on a BBC :) (Plus, you WILL be waiting for hell to freeze while
you blank it...).
When funding allows, I was considering building this board myself and
giving the 500Mb SCSI drive I have lying about a go. If I ever get
around to this, I shall divulge results.
-- Richard Gellman
[1] An article in the Micro User from '87 concerning the ADFS and its
capabilities made mention of OSWORD &72 (ADFS version of &7F, the direct
access function), stating that &08 and &0A were the read and write
commands. The article said "there are other commands available, but no
documentation at this time. But surely it is no coincidence that there
are the lower four bits of the OSWORD &7F commands?". As it turns out,
it was a coincidence. The byte in question in the block is the SCSI
command to execute, it is followed by the SCSI paramters, even when
accessing the floppy disk.
[2] This is probably well known, but ADFS uses 256-byte sectors, where
as most SCSI drives are supplied formatted with 512-byte sectors.
Attempting to access these drives will cause the BBC to lock-up, as the
ADFS is particularly lazy, and will receive the first 256 bytes, then
wait indefinitely for the SCSI bus to change to "status block out"
phase, while the drive, in equal laziness will wait indefinitely for an
ACK to byte 257.
To get around this, you will need to start ADFS in "Nodir" mode (see
Ref. Man. Part 1 for M128 on *CONFIGURE Nodir, and *FADFS) and use a
custom program with OSWORD &72 to send SCSI format commands specifying
256 byte sectors.