[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New csa2 FAQs: F002HDNSCSI



Apple II Hard Drives and the SCSI interface

Csa2 FAQs-on-Ground file: FxxxHDnSCSI.txt

This material compiled by the Ground Apple II site, 1997.
 It may be freely distributed.

Note: This is a pure Text file which has no Font, Color, etc.
formatting. To correctly view tables and diagrams on a super-res
display, use a mono-spaced Font such as CoPilot or PCMononspaced.
____________________________




 001- How difficult is it to add a hard drive to my IIgs?
 002- What kinds of hard drive systems are available? 
 003- What do SCSI ID numbers mean?
 004- What is "SCSI-2" and how is it different from SCSI-1?
 005- Will a SCSI-2 hard drive work with an Apple II system?
 006- Will my Rev. C SCSI Card work with a SCSI-2 drive?
 007- What is SCSI "termination power"?
 008- Can I avoid the "Ramfast/SCSI is searching SCSI bus" delay?
 009- What is the pin-out for the standard 50-pin SCSI cable?
 010- What's the SCSIHD.DRIVER patch to ignore DRIVER43 partitions?
 011- What is the "bad bug" in the ROM 3.01e RamFAST?
 012- How do I attach a 90mb Bernoulli drive? 
 013- What are the settings for a CMS hard drive controller card?
 014- Does it matter when I power-ON my SCSI hard disk?
 015- Can I leave SCSI devices I'm not using turned OFF? 
 016- Is there a SCSI tutorial available for downloading?






From: Bradley P. Von Haden

001- How difficult is it to add a hard drive to my IIGS?

Adding a hard drive is not much of a problem. Usually, you will need to
insert an interface card, possibly connect a cable or two, and change a
Slot setting in the Control Panel Desk Accessory.

---------------------------


002- What kinds of hard drive systems are available for Apple II
     users?

     The most versatile and most common hard drive set-up is an internal
SCSI interface card and an external SCSI drive.  Hard drives, cd-rom
drives, removable media (SyQuest, Iomega), flopticals, and scanners all
can be added to the SCSI chain.  Insert the card in a slot, connect a
cable or two, and change a slot setting.

     The preferred SCSI card here on c.s.a2 is the RamFAST Rev. D SCSI
card from Sequential Systems.  The next best card is the Apple Hi-Speed
SCSI card.

Here are some RamFAST notes:

- still being produced and supported by Sequential Systems
- faster than Apple Hi-Speed, especially in ProDOS
- provides termination power to the SCSI chain
- allows partitions to be mapped in ProDOS
- device drivers come on the card in the upgradeable ROM chip
  (3.01f)
- allows up to 8 devices to be added to the chain
- allows up to 12 partitions to be active at any one time
  (switchable)
- allows up to 12 partitions per drive
- only one device, the last physical device on the SCSI chain,
  can be terminated
- about $130 new

Here are some Apple High Speed notes:

- no longer produced or supported by Apple
- does not provide termination power to the SCSI chain (can be
  modified to provide termination power)
- does not allow partitions to be mapped in ProDOS
- device drivers are software
- allows up to 7 devices to be added to the chain
- allows over 100 partitions to be active at any one time
- allows up to 20 (?) partitions per drive
- only one device, the last physical device on the SCSI chain,
  can be terminated
- about $110 new (if still available)

For the hard drive itself, look for a SCSI drive in an external
enclosure.  Just pick up a Mac magazine.  Look for the following
features:

- 30 day money-back guarantee
- external SCSI ID switching
- dual 50 pin SCSI connectors
- no or switchable termination (use an external terminator at
  end of SCSI chain)
- active or switchable termination power is a plus, especially
  for Apple High Speed SCSI card users [Termination and
  termination power are different.  Both need to be present in
  the correct quantity for the SCSI chain to operate in the
  proper manner.]

     If you have an IDE drive lying around, it can be used with the
Turbo IDE card from SHH Systeme (about $120).  The card is not as
flexible as a SCSI card, but if all that is wanted is a hard drive, then
this is a good option; especially if the drive is available for little
or no money.

     The simplest hard drive to install is the FOCUS hard drive on an
interface card available from Alltech in varying sizes (20MB-200MB at
approx. $70-$200). The card comes plug-n-play: just insert in a slot and
change a slot setting. The drive is already formatted.  If all that is
wanted is a hard drive, and no other devices are going to be added, this
is an economical choice.

 
____________________________


from Nathan Mates

003- What do the SCSI ID numbers mean?

     SCSI ID numbers 0 and 7 tend to have special meanings; the Apple
High Speed SCSI displays multiple copies of partitions online if a drive
has that ID. Use 1-6 instead. The computer will boot the hard drive with
the highest SCSI ID, which should be ID 6.

      Check that each device has a unique ID. Most drives have a
thumbwheel on the back to set the ID. Your SCSI card (yes, it counts
too) is probably ID 7. Number your drives from 6 downwards for best
compatibility. The IDs have nothing to do with what slot the card is in.

___________________________


From: David Empson

004- What is "SCSI-2" and how is it different from SCSI-1?

For hard drives, "SCSI-2" basically means that the drive supports a
stricter command set. The physical interface is usually identical.

For other device types, "SCSI-2" means a lot more, because the original
SCSI standard didn't define much in the way of device types and command
sets, so most devices use proprietary command sets. SCSI-2 standardises
the command sets for most types of devices.

There are three special types of interface that you might see mentioned:

 "Fast SCSI" supports data transfer at twice the speed of the  original
SCSI standard (10 MB per second vs 5 MB per second).  This  will not be
a compatibility issue, as it is just the maximum transfer  speed
supported by the drive.  The Apple II cannot transfer more than  one
megabyte per second.

 "Wide SCSI" uses a different cable arrangement to double the width of 
the data path (16 bits instead of 8 bits).  A wide SCSI drive cannot be 
used with an Apple II, unless it can also operated in "narrow" mode
with  the original 50-pin connector.  (There is also "Fast Wide SCSI",
which  doubles the data rate and the width of the bus.)

 "Differential SCSI" involves a different type of interface to the 
computer, where every data signal has a balanced positive and  negative
pair of wires, rather than a single wire and a ground line.  I believe
it has a different type of connector.  Differential SCSI  drives cannot
be used with an Apple II."

Some drives use a proprietary connector, but the standard (narrow,
non-differential) SCSI bus uses the same 50-pin connector for SCSI-1 and
SCSI-2.

The only significant problem you might run into is termination, and
supply of termination power.  SCSI-2 devices tend to be fussier about
termination than older devices.

------------------------------


005- Will a SCSI-2 hard drive work with an Apple 2 system?

     Usually, yes. I'm on my second Quantum drive that is described as
"SCSI-2".

------------------------------


006- I have a plain ol' Rev. C SCSI Card, will this work with a
     SCSI-2 drive?

     My Quantum LPS240 is working fine on an original Apple SCSI card.

Note: With the original Apple SCSI card, the card itself is not
terminated, so if you are connecting more than one device, you need to
add a second terminator between the computer and the first drive (using
a "pass-through" external SCSI terminator, or internal termination on
the first drive).


------------------------------

007- What is SCSI "termination power"?

     At least one device (computer or any drive) must provide power for
the SCSI terminators, by feeding 5 volts onto the TERMPWR line on the
SCSI bus (usually through a diode, to prevent backfeeding from a higher
voltage device; a good implementation will also have a fuse to protect
against shorts and a capacitor to cope with a sudden rise in termination
power drain).

     The Apple SCSI cards do not provide termination power (though
recent Apple High-speed SCSI cards were modified by Apple to provide
termination power).  The RamFast has a switch (?) to select whether it
supplies termination power.

     I do not recommend getting the computer to supply termination power
unless you have a heavy duty power supply, as the TERMPWR line can
potentially use up the entire available current capacity of the +5V rail
going to the slots.

     Both of my Quantum drive mechanisms provide termination power to
the SCSI bus, avoiding the need to supply it from anywhere else.

____________________________



From: LJSilicon

008- I just reinstalled System 6.01. Now every time I cold boot
     I get this message 'Ramfast/SCSI is searching the SCSI bus
     for devices..etc.' and have to wait several seconds. WEIRD?!

     When you reinstalled the software, the RAMFast set itself for a
long search. This is an option that you can change using the RAMFast
utility. What it is doing is giving your scsi devices a chance to spin
up. If you want a fast check, go to the options menu on the utilities
and reset the Short Timeout option there to "YES".


__________________________



From: dempson@atlantis.actrix.gen.nz (David Empson)

009- I would like to make my own SCSI cable. Does anyone on csa2
     know the pin-out for the standard 50-pin SCSI cable?

     The cable pinout is documented in the technical reference manual
for the Apple High-Speed SCSI card (and the original one as well).

This pinout is not a simple mapping from one end to the other.

I repeat that it is NOT easy to make one of these yourself.  Apart from
any issues of wiring errors, you also need a properly shielded cable to
minimise noise being picked up or radiated.  You should definitely not
use a ribbon cable.

Here is the pinout, assuming I haven't made any typos (I can't see any).

DB-25   50-pin     Function

1       49         -REQ
2       46         -MSG
3       50         -I/O
4       45         -RST
5       44         -ACK
6       43         -BSY
7       16,18,19   Ground lines
8       26         -DB0
9       20,21,22   Ground lines
10      29         -DB3
11      31         -DB5
12      32         -DB6
13      33         -DB7
14      1,2,3      Ground lines
15      48         -C/D
16      4,5,6      Ground lines
17      41         -ATN
18      7,8,9,11   Ground lines
19      47         -SEL
20      34         -DBP
21      27         -DB1
22      28         -DB2
23      30         -DB4
24      23,24,25   Ground lines
25      38         TERMPWR

The unlisted pins in the 50-pin connector (10, 12, 13, 14, 15, 17, 35,
36, 37, 39, 40, 42) are ground.

Note: the numbers for the 50-pin connector are counted along each row,
like a DB-25.  They are NOT the wire numbers in a ribbon cable.

____________________________



From: Steve Reeves

010- Is there some patch for SCSIHD.DRIVER to make it ignore
     APPLE_DRIVER43 driver partitions?

     Yes; you can change the counter in the string comparison routine
that checks for the "Apple_Driver" partition type string so that it only
checks the first 12 characters.  This counter is at byte $3574 in the
System 6.0.1 SCSIHD.DRIVER file and is originally $1F.  Change this to
$0B and the driver will then ignore "Apple_Driver43" partitions.

     If you make this or any other patch to the driver, I also you
recommend you bump up the version number.  Change byte $01FF from $10 to
$2E (for version 6.02 experimental).

____________________________



from Harold Hislop

011- Someone told me there's supposed to be a bad bug in the
     ROM 3.01e RamFAST. What is it?

     Don't use the built in backup/restore in 3.01e!!! The restore
opeation will nuke the partition map on the drive being restored to, as
well as all existing partitions on that drive!


____________________________



From: Bradley VonHaden

012- I am having problems attaching a 90mb Bernoulli drive
     to my GS. My system is as follows:
 
     ROM 1 Apple //gs
     4mb AE RAM card
     8mhz ZIP GS
     Apple High-Speed SCSI card
     90 mb Bernoulli hard drive
     System 6.0.1


Three things I can think of to check:

One possibility is DMA compatibility.  If your memory card is not DMA
compatible, then switch 1 on the Apple HS SCSI card should be open (up).

Another possibility I guess is a SCSI ID conflict.  The Apple HS SCSI
card's ID at the factory is set to 7.  Here are the Apple HS SCSI card
switch combinations:

 note: Switch 1 controls DMA; open (up) turns DMA off
 note: Switches 2-4 control SCSI card ID
 note: 'U' means open (up), 'D' means closed (down)

 SWITCH:     1234  1234  1234  1234  1234  1234  1234  1234
 SETTING:    .UUU  .UUD  .UDU  .UDD  .DUU  .DUD  .DDU  .DDD
 CARD ID:      0     1     2     3     4     5     6     7

Third, the scsi chain needs termination power to work properly.  This is
different from termination.  Both are required for a properly
functioning scsi chain.  It is possible that neither the Bernoulli drive
nor the Apple HS SCSI card is supplying termination power.  If this is
the case, and there is no other device on the scsi chain to supply said
power, it probably won't work.  There is a modification (requires
soldering skills) to the Apple HS SCSI card to make it supply
termination power.

____________________________



From: Jack Countryman IAC

013- I want to configure a CMS hard drive controller card to run a
     20 meg drive for a //e. Could someone supply info on settings?

     According to the CMS manual, page D3, the six sets of eight pairs
of jumpers
(u1....u6) are for the following purpose:
 
    _______________________________________________________________
   /                                                               |
  /     u 1          u 2            u 3            u 4       j2    |
 /                                                                 |
/                                                                  |
|                                                                  |
|                                                                  |
|                                                                  |
|                                                                  |
|                                                                  |
|    u 5     u 6                                                   |
|___________________________________________                    j1 |
                                            |                      |
                                            |______________________|


u 1: Boot Scan delay....manual shows no jumpers here in default
     configuration

u 2: first (left) jumper is 'Enable I.C.P. (Yes/No)', middle 6 not
     used, last (right) is 'multiple initiators (Yes/No)'...manual
     shows no jumpers in default configuration

u 3: Selection phase time out delay....I believe this sets how long
     the card waits for the drive to come up to speed(?)...manual
     shows the default as having 4, 5, and 7 with jumpers installed

u 4: Arbitration phase time out delay....manual shows default as no
     jumpers installed

u 5: Bus Free phase time out delay...manual shows default as jumper
     on number 1

u 6: Interrupt recovery delay....manual shows jumpers on 3, 4,
     and 5


     J1 and J2 are single sets of pins. The manual says J2 is not used,
but J1 is to be jumpered.


     The card I have here, came out of a IIGS where it was hooked to
first a twenty meg CMS drive, and later a forty meg CMS drive.  It has
the following jumpers set:

u1:  jumper on 7
u2:  no jumpers
u3:  jumpers on 4, 5, and 7
u4:  no jumpers
u5:  jumper on 1
u6:  jumpers on 3, 4, and 5
j2:  no jumper
j1:  jumper


     As I recall, this setup yeilded a rather long pause for the hard
disk to come up to speed (about 40 to 45 seconds) that we found
necessary at the time to avoid boot problems.

____________________________



From: B.J. Major

014- Does it matter when I power-ON my SCSI hard disk?

     From the Apple IIgs Owner's Reference, page 267:


"In order for the Finder to recognize a hard disk, the hard disk must be
switched on and up to speed before you start up (or restart) the
computer. Switch on the hard disk, wait about 10 seconds for it to come
up to speed, and then restart the computer."

     From the Macintosh User's Guide for desktop Macs, page 216:

"IMPORTANT:  Always turn on any external SCSI devices connected to your
Macintosh before turning on the computer itself.  Otherwise, your
computer cannot recognize the SCSI devices."

___________________________


From: Randy Shackelford

015- Can I leave SCSI devices I'm not using OFF when I
     turn ON my GS?

     If it were not okay, I would have fried plenty of hardware. I do
this all the time. I have seen no problems with having some devices off.
As I have mentioned, I keep my magneto optical off most of the time;
and, my buddy who uses my 700 now has a flatbed scanner and leaves it
off most of the time. Both work fine.

____________________________



016- Is there a SCSI tutorial available for downloading?

SCSI (pronounced scuzzy) TUTORIAL  By Daniel L. Miller, MD, BSEE

This article combines two interests in that it fits into both the
advanced pc hardware series and the Texas computer firm series.


1  Operational Description

The Small Computer Serial Interface is an input/output channel bus
specification.  The specification allows up to eight bus controllers to
exchange control packets and bytes of data between any two pairs of
controllers.


2  Examples of Data Exchange

Workstation to hard disc, optical disc and high density floppy.
Workstation is the bus master the peripheral devices are individually
accessed.  One initiator , 3 targets.

    Several workstations accessing a bank of hard discs for fast
      data retrieval with interleaved seeks and queed commands.
      Multiple initiators, multiple targets. Each drive disconnects
      from the bus during long seeks, while other drives transfer
      data and then reconnects when ready to transmit data.

3   Rates of data exchange

      Data rate of readily available bus interface chips  12 - 15
      megabits per second.  NCR 5380 / NCR 5385
      Logic Devices L5380 32 megabits / sec

4   Controller Selection

      Bus controllers are free to access the bus to try to gain
      control to initiate a data exchange. Bus arbitration is
      according to a fixed priority 0 - 7 rating.  If two devices
      request access the lower priority device must wait.

5   How many devices.

      The specification allows 8 controllers
      to be selected from 8 data lines -- one line per each device.
      Two additional lines select up to 4 devices for each controller.
      Up to eight bus controllers each controlling up to 4 devices
      totals 32 devices.
      A proposed extension allows binary decoding of the selection
      lines to allow 64 controllers.  ( Ampro SCSI+ protocol, Ampro
      advertises in Byte )

6   Accessing the Bus

     The scsi interface protocal may be implemented with a dedicated
     cpu and 4 input and 4 output data latches. (Novix Beta Board )
     Scsi bus interface chips with data latches are readily available
     both in TTL and CMOS configuration.  NCR, Toshiba 2nd source and
     similar purpose chips are available from Adaptec and Western
digital.
     Emulex has announced a vlsi chip scsi processor which they claim
can
     implement bus sequences without external microprocessor
intervention.

     The NCR chip is programmed by addressing register select lines and
     storing a byte in the controll register and if appropriate in the
     data register.  A programming manual lists the possible commands.
     The chip will perform aribitration logic and drive the bus and
     detect protocol errors ( called phase errors in the NCR literature
)
     and parity errors.  Data ready and error conditions are flagged
     by an inerrupt line.  A register holds a code to identify the type
     of error detected to be read by the host cpu for error interrupt
     handling routines.

     The interface chip has handshake signals to operate efficiently
     with a DMA controller to move blocks of data into or out of a
     section of memory.  The dma is a dedicated cpu chip that generates
     addresses for moving data sequentially into or out of memory.

6.5  Terminology

     Initiator - the device that begins an interchange

     Target - The device that is selected by the initiator

     Host - In the configuration of a computer sending data to
            one or more disk drives, "host" refers to the main
workstation
            computer.
 
     Controller - any device that connects to the scsi bus
          connects through a controller.

     Device -  Each controller on the bus can control up to 4 devices.
          Each device can be individually addressed, so a device
connected
         to one controller can specifically talk with a device on
another
         controller.  Devices connected to the same controller cannot
         talk to each other over the scsi bus.  The devices are also
         called "Logical Units" or LUN's because they are addressed and
         specified by 2 bits in each command sent over the bus, rather
than
         being selected by a hardware bus line.
 
     SASI - sasi stands for Sugart Associates System Interface, a single
         host multiple target ( non arbitrating ) interface which was
the
         precursor to the SCSI specifications.

     SCSI - Small Computer System Interface, the current standard
         specification is the ANSI (American National Standards
Institute)
         version X3.131, 1986.

     Embedded Controller- some drives have a scsi interface built into
         the drive electronics mounted in or on the drive itself.  This
         will be referred to as a "scsi drive."
 
     SCSI controller - a scsi interface board that then connects with up
         to four devices like esdi drives or st412/506 drives or optical
         drives. (The scsi controller is made to talk to regular
devices,
         like the drives in a xt or at computer.)  Scsi controllers are
made
         for optical drives, tape systems, ESDI and st412/506 hard
discs.

7   Data Transfer Protocol

    The initiating controller first gains control of the bus and
    gets the attention of its target controller.  The target then
    takes control of the data exchange and asks the initiator what
    it wants to do.  ie give a command, send or receive data.  The
    initiator responds and the target aknowleges receipt of command
    and transmits or recieves data, under control of the target
controller.
    The target will indicate with a message that it has successfully
    completed its mission.

        Bus phases
        BUS FREE phase

        SELECTION phase

        COMMAND phase   --
        DATA phase        |-----These are the information transfer
        STATUS phase      |       phases.
        MESSAGE phase   --|

        ARBITRATION phase  (optional)   |            |-for multiple
hosts
        RESELECTION phase  (optional)   |---optional-| for multidrive
high
                                                       bus performance

7.5  DATA EXCHANGE WALKTHROUGH

     An example of a simple data interchange between an initiating host
     PC and a target hard disc drive.
     To send a block of data to a disk drive a pc first checks the bus
     busy line.  When the line indicates the bus is free,  the pc will
     send its identification code over the data lines and pull the bus
     control lines.  If there is more than one device desiring to use
     the bus at the same time, the device with the highest priority
     always wins.  There is no inherent mechanism to insure fairness
     or to force a round robin to prevent one device from tying up the
     bus.
 
     After gaining control of the bus the pc will select its target
     device by activating one of eight lines.  The device selected
     then takes control of the data interchange, and will remain in
     control until the end of the exchange.  The target asks the pc
     for a command.  The pc responds with a command block to read
     10 blocks beginning with block 5.  The target acknowledges and
     translates the logical block numbers to absolute sectors, seeks and
     reads the sectors, performs error correction and  transmits the
     data byte by byte with a handshake acknowlegement after each byte.
     When it is finished it requests to send its status and transmits
     a status report, if the status is good and the data does not have
     to be retransmitted the drive then requests to send a message  and
     reports  completion.
 
8   SCSI Command Format

        When the target requests a command, the initiator responds by
        sending out 5 bytes ( 40 bits ) of command information.  These
        bits are used to specify the command and identify the logical
        device.  There is a SCSI COMMON COMMAND SET specification.

        The purpose of the specification was to
        "Allow true second sourcing of SCSI hardware."  However,
        because there are still multiple ways to do certain commands
        and vendor specific functions, hard disc interchangeability
        has not yet been achieved. From the end user point of view,
        one can't unplug one scsi drive and replace it with one
        from another manufacturer and expect it to work without
        rewriting the device driver software for formats and the message
        handling scsi driver routines.

        The set of 40 bits is called a command block.  The first byte
        specifies the class of commands or opcode.
        Some Common Command Set Opcodes are the following:

                Opcode 00 (hex)  TEST UNIT READY
                       03        FORMAT UNIT
                       08        READ
                       0A        WRITE
                       0B        SEEK

        Since the drive controller electronics is on the drive side of
        the SCSI BUS the data is organized by the drive controller and
        requested by block number.  The controller translates the block
        number to the track and sector information used to step to the
        data.  This permits flexibility for the drive manufacturer.  A
        drive with an embedded SCSI controller can reallocate bad blocks
        internally and substitute blocks automatically from a spare
track.
        The meaning of the remaining bits varies for each opcode.

                The Write Command, opcode 0A, for example

  BYTE 0       opcode  1A    (00001010)
  BYTE 1       Logical unit number in bits 5-6, bits 1-4 specify logical
                 block address
  BYTE 2       logical block address
  BYTE 3       logical block address
  BYTE 4       Bits 2 to 5 specify the transfer length
  BYTE 5       Bits 7 and 6 are vendor unique, bit one is a flag, bit 0
a
               link
 

9   SCSI Hardware Bus Specification

        25 signal lines; 25 ground lines
        Signals may assume true or false. Signal assertion true is 0 v.
        Signal negation (false) is 2.5 to 5.25 V dc
        ( Bus driver chips typically invert the signal so bus voltage
        levels are typically the reverse of normal logic levels input to
the
        on chip or input to the bus drivers where
        +5 V is true.)

        SCSI BUS SIGNALS

        Busy            indicates the bus is in use

        Select          used by the host to select the drive

        Control/Data    This signal is driven by the target (like a disc
                        drive and indicates whether CONTROL or DATA
                        information is on the DATA bus. A true value
                        indicates a control signal is on the bus.

        Input/Output
                        This signal is driven by the target (disc drive)
and
                        controls the direction of data movement on the
DATA
                        bus with respect to the host.
                        A true value indicates input to the host.

        Message         This signal is driven by the target (disc drive)
                        during the message phase.

        Request         This signal is driven by the target (disc drive)
and
                        indictes  a request for a data transfer handsake
                        acknowlegement.

        Acknowledge     This signal is driven by the host and
acknowleges a
                        a data transfer handshake.

        Attention       This signal is driven by the host to indicate a
                        condition needing attention.

        Reset           This forces a reset of devices on the bus.

        Data lines (8)

        Parity line (1) This line may be used by the devices to signal a
                        parity error in the received data or command.

        Bus Power lines