Date : Tue, 06 Jul 2004 14:03:51 +0000
From : Jules Richardson <julesrichardsonuk@...>
Subject: Re: Acorn Winchester unit
On Tue, 2004-07-06 at 12:18, Richard Gellman wrote:
> pfft. you're controlling the wrong thing.
> 8 data lines for the SCSI bus/SCSI ID select, then use the
> control/status lines on the parallel port to control the SCSI bus directly.
Hmm, well you have the spec - I've just got info gleaned from the web
:-)
However the SCSI signal definitions I've seen define the following as
inputs to the host:
/MSG
/C/D
/I/O
/REQ
.. the following as outputs from the host:
/ATN
/ACK
.. and the following as bidirectional:
DB0..7
/BSY
/RST
/SEL
TERMPWR
PARITY
I can lose the termination power and parity lines, but that still needs
five lines that are potentially outputs (plus 8 data lines) = 13 lines.
There are only 12 available on the PC parallel port - 8 data + 4
control. (parity would be nice, but a lot of ancient devices didn't
support it anyway)
Plus it potentially needs 8 data + 7 lines as inputs (ignoring termpwr
and parity), whilst there are only 8 data + 5 control lines as input on
the parallel port.
Whilst data lines on modern parallel ports are bidirectional, I'm not
sure if there's any kind of standard for the control lines. Implication
is that it's possible to use parallel port output lines *on some ports*
as inputs, but on others it'll just toast the port (not good on modern
hardware when the parallel port circuitry's probably inside some huge
chip somewhere!)
*However* - and this is where it gets fuzzy:
I'm not sure what /ATN does or when it turned up in the spec. It's not
even listed as being a signal in the Omti manual - pin 32's just marked
as 'open'.
Without /ATN that leaves 8 output lines needed for data and 4 for
control, which then *is* possible - but even then there technically
still aren't enough input lines.
But /RST *probably* isn't ever asserted by a device, although it's not
impossible. Likewise according to the Omti info, it looks like /SEL is
only ever an output from the host, despite being declared as
bidirectional in the web-based signal descriptions that I've seen.
Presumably the provision for multiple controllers on the bus came in at
a later date, which would explain /SEL being a bidirectional line in the
pinouts I've seen (and you having enough parallel port lines available
for your cable, if you're running from an old spec)
All bloody confusing. I've just found the Torch SASI board schematics
and that does just use /SEL as an output. Hmm. The ones for the Torch
SCSI and the Acorn SCSI boards are in the loft *somewhere* - wonder what
they do with /SEL...
Maybe it's cable time. :) (One of the other things I have is a SCSI
drive with a perspex lid, that I was going to stick up on the wall at
the museum. Driving it from a parallel port and people being able to see
it seeking would make a nice little display)
> You'll probably find that termination is *required* on the SCSI device
> in question.
Indeed. The Torch SASI board schematics show all the data and control
lines being terminated at the board too - 220 ohms to +5V and 330 ohms
to ground. Presumably you should be doing that with your cable too, and
just got away with it because your cable length was short enough.
Presumably it really needs some buffer ICs in there too - parallel ports
can't source or sink much current at all. A couple of buffer chips and a
handful of resistors is far preferable to me messing about with latches
and decoding ICs though :)
cheers
Jules