View Single Post
  #33   Report Post  
DoN. Nichols
 
Posts: n/a
Default

In article ,
Tim May wrote:
In article , DoN. Nichols
wrote:


But -- your experience with SCSI has been with systems which use
it as an afterthought -- not as a normal part of the OS and hardware,
where it has been made to work really well.


A silly comment. My first SCSI machine was a Mac Plus, in 1986, where
it was indeed designed in close conjunction with the OS and hardware.
It was sensitive to termination, addresses, etc. for very basic
reasons.


Would one of those reasons perhaps be Mac's use of the DB-25
connector for SCSI, instead of a proper 50-pin connector? The proper
design of single-ended SCSI required an individual ground wire paired
with *each* signal conductor, and ideally either twisted with that
conductor, or at a minimum alternating with the signal conductor in a
ribbon cable, so there was a shield between each of the signal
conductors and its neighbor.

Of *course* you have problems with a DB-25 connector used for
that, because it interrupts the proper ground pairing, resulting in
ground loops and other undesirable actions.

The old Sun systems used a DD-50 connector (three rows of pins)
for SCSI, and later used a miniature two-row connector from AMP (smaller
than a DB-25), but a full 50 pins with click locks. Other vendors
sometimes used the 50-pin Amphenol Blue Ribbon connectors (mis-called
"Centronics" connectors, because the printer manufacturer, Centronics,
used the 36-pin version of that connector as their standard parallel
printer interface.

Above I mentioned "single-ended SCSI", because there is also a
differential SCSI. In that, the pins previously used for ground are
driven in the opposite sense to the signal with which it is paired.
There is a differential line receiver at the end (and each intermediate
drive) on this. Standard single ended SCSI had a length limitation, and
the higher the speed, the shorter the cable must be. This included the
length of ribbon cable within the drive housings, which could sometimes
add several feet. Differential SCSI can drive lines *much* longer than
the single-ended without problems -- but it needs a proper differential
terminator, not the normal single-ended one.

There are several styles of terminators. The passive ones (just
pairs of resistors to ground and VCC), which were adequate for shorter
runs, the active ones, which had a voltage regulator from the VCC and
ground to provide a proper intermediate voltage to which a single
resistor is run from each signal, and the FPT (Forced Perfect
Termination), which added to the active sets of diodes to ensure that
the lines could not ring beyond the VCC and ground voltages.

Now -- I mentioned a relationship between total cable length and
speed. Sun systems sensed errors, and at a certain point would back off
the speed from the maximum for that interface.

Also -- cable quality makes a *big* difference. A proper SCSI
cable was twisted pairs, run within a good shield (perhaps two or three
layers woven, foil, and then woven again. On the other hand, using
cheap cables *did* lead to problems. Using ones marked with the Sun
logo did not.

So -- I stand by my statement about Suns being designed to
properly use SCSI, and Macs and PCs not being so designed. The very use
of the DB-25 connector asks for problems before anything else gets
involved.

The PC versions arrived years later, through add-on cards, and
were so flaky that SCSI was considered a joke in the PC community.


Most of the early PC versions used the DB-25 connector as well,
because that fit their card brackets without problems. The later cards
(by Adaptec, for example), use the AMP high-density 50-pin connector
which the Suns use, and those are quite well behaved with good cables.
(I've used them -- but only with cables from Sun.)

So -- most of the problems with home computers and SCSI stems
from trying to do it on the cheap (the DB-25 connectors), and
secondarily from the lack of an adaptive driver which knew when to drop
the speed back to make up for an over-length total cable setup. A
proper drive enclosure will have the 50-pin connector for the cable
entrance, a loop of wire past the drive, with an IDC connector to plug
into the drive, and the loop continues to another 50-pin connector. Use
of the DB-25 connector makes this impractical, so there is typically a
board with two DB-25s side by side, and a stub going off to the drive.
Each stub introduces more reflections, and thus more potential for
problems.

Apple has, from the very start, depended on making software
substitute for hardware, so the original Apple, as well as the
long-lived Apple-II had weird artifacts, such as split memory segments
in the middle of memory for graphics interfaces, simply to save a very
few ICs in address decoding. And they used stripped floppy drives
(compared to the rest of the world), substituting software for hardware
there, too. A result of that was that they could squeeze more data into
a floppy, by changing the data rate depending on which track you were
using. This was nice -- but it meant that they were incompatible with
the rest of the world.

Then -- let us go into the Mac world. The early 68000-based
systems could only address 16 MB of space (24 address bits), though the
internals of the chip had room for 32-bit addresses, which could address
4 GB. OK, it is perhaps reasonable that they (at that time) figured
that 8MB max for RAM, and the other 8MB for memory-mapped I/O was
sufficient. But they started a "space-saving" trick which lead to a lot
of heartaches later on. they used the upper eight bits of the address
variables to store flags, and other things. When they move past the
68010 to the 68020 (which *could* address the full 32-bit address space,
and which was *planned* for and announced when the 68000 was introduced,
all of a sudden those flags were trying to address other real spaces, so
programs from the earlier systems started breaking. Even worse, their
software vendors picked up on the flags storage trick, so programs from
the vendors also broke when put on the 68020 (and later) based systems.

So -- with this record, I am supposed to believe that they got
things right with SCSI? Sorry, I don't -- based on the evidence. For
Sun, SCSI works very well. Even back in the Sun 2/120 (my first Sun
machine), SCSI worked well. Yes -- I eventually stacked up enough
drives in separate boxes so things started to fail -- until I subsitued
18" cables between boxes for the 6-foot ones which I had started with.

SCSI, properly implemented, works well. (I've used it since its
predecessor, SASI, which I used to interface drives to home-made
interfaces in a SWTP 6800 running DOS-69 and OS-9 (the *real* OS-9, not
what Mac came out with later.) :-) (Granted, I also had to write drivers
for OS-9 for my wire-wrapped interface, but it worked, and worked well.)
I was driving pairs of MFM drives connected to dual MFM controllers for
the SASI bus.

Enjoy,
DoN.

--
Email: | Voice (all times): (703) 938-4564
(too) near Washington D.C. | http://www.d-and-d.com/dnichols/DoN.html
--- Black Holes are where God is dividing by zero ---