[comp.sys.att] More on SCSI for Unix PC

miket@bnrmtv.UUCP (Michael Thompson) (04/04/89)

Greetings again,

I have found more information on the SCSI protocal and I feel it
is a completely feasible project to try and build such an interface
for the Unix PC.  

I have got a hold of a publication from NCR called the "NCR 5380 SCSI
Interface Chip Design Manual" which covers the NCR 5380 chip in some
detail.  It seems this chip would be quite easy to interface to the
Unix PC bus.  A circuit almost identical to one needed for a Parallel
Interface would be needed with the addition of tapping into the DMA
lines on the Unix PC bus.  I need to find someone in the Sunnyvale/
Mt. View/Los Altos/Palo Alto area who has the technical reference manual
on the Unix PC so I can look at the schematics for the beast.  The 
specific information I would need seems to involve:

  1.  The circuit for the parallel interface.  Might as well not 
      reinvent the wheel.  I would have to see what type of address
      decoding circuit is used.  
  2.  An address map for the Unix PC which maps the various peripherals,
      Boot ROM, RAM, etc. into real memory.  Have to find a hole 8 bytes
      wide to put the NCR 5380.  
  3.  Documentation on how to control DMA on the Unix PC.  I am assuming
      that at least one DMA channel is available on the Unix PC.  If 
      there is no DMA on the Unix PC, a SCSI controller is still possible,
      just performance will suffer.
  4.  A description of the Unix PC Bus.  Both physical and electrical.  
      Also, where do I get those damn 99 pin, 3 level connectors.  I can
      get 96 pin 3 level ones, but not 99 pin.

What else do I need to know?  Come on you hardware gurus, I can use some
help here.

I do not have good experience at making a reliable printed circuit board
for the SCSI interface.  It would be pretty simple, probably on the order
of 5 to 10 chips/components.  Can anyone give me advice in this area?
The board would have to be 14" long and 4-3/4" wide to fit nicely into
one of the slots for the Unix PC.  Can a SCSI adapter me mounted in the
Unix PC any other way?

Now comes the hard part, does anyone have any information on how to write
a loadable device driver for the Unix PC?  As much sample code as possible
would be appreciated.  What would be really valuable would be to find 
publicly accessable code which implements the SCSI protocal on another
Unix box, and port as much as is possible to the Unix PC.  Also, how does
one initiate DMA from a driver on the Unix PC.  I sure hope someone can
help me, otherwise a SCSI driver may be impossible for me (or anyone) to
write.  I now realize that each SCSI peripheral wants certain control
information in a slightly different manner.  Does anyone have information
on the exact control protocal for a popular SCSI disk drive, disk controller
or tape controller.  It would help me figure out how to incorporate device
dependent information into the driver.   
 
With help in those three areas, I think that I would be able to come up
with a workable SCSI controller.  

I am right now in a purely research mode in this project.  I want to 
gather as much information possible, study its feasibility (hopefully
with some other people), build a hardware prototype, write a device 
driver, and then release the information to the public domain.  What I
need is to see if interest out there on netland can reach a critical
mass so that enough people can help me do such the project so gaps in my
knowledge is covered by expertise in someone else.  I am willing to
release anything that is built or coded into the public domain because
I doubt there is enough money to be made selling it.  I just really
want a SCSI controller for my Unix PC and I can't do it alone.  My alterier
motive is not profits, but it would look good on my resume.

If someone has greater technical skills than I, I would be glad to turn
over the project to them and then assist them as much I can.    

Another thing which I need to further evaluate the project is a copy
of the ANSI standard "Small Computer System Interface (SCSI) Specification
(ANSI X3.131-1986)".  If you happen to have it in machine readable format,
I would love for someone to email it to me.  If you have it on paper, 
I would be grateful if it can be mailed to me.  

If you are with me up to now, think a SCSI adapter is a good idea, think
it can be done, and are willing to help in any way, please get in contact
with me.  Also, check out the reference list below, they will give you
a good idea on what the SCSI bus is about and how complicated an 
implemenation project might be.

References:
  "What is SCSI? Understanding the Small Computer Bus", C. 1988
  NCR Corporation
  SCSI Technology Group
  3718 North Rock Road
  Wichita, KS  67226

  "NCR 5380 SCSI Interface Chip Design Manual", C. 1986
  NCR Microelectronics Division
  1635 Aeroplaza Drive
  Logic Products Marketing
  Colorado Springs, CO  80916
  (800) 825-2252 or (303) 596-5612

  "Adding SCSI to the SB180 Computer Part 1: Introduction" May 1986
  "Adding SCSI to the SB180 Computer Part 2: Bus Phases" June 1986
  Byte Magazine

  "SCSI optimizes peripherals integration for small systems", April 1, 1986
  "Peripherals and Memory Systems: Design considerations: ESDI and
   SCSI", Sept. 1987
   Computer Design

   Does anyone know of any other references?

I think this is enough for now.  I am really enthusiastic about this
project.  I hope it is contagious.  I would like to get a list of about
a dozen or so people willing to help.  Once interest is proven, I'll put
together some sort of package which will include most of the SCSI 
information I have found and my ideas on the adapter board.  We can
then go on from there, keeping in contact by email, U.S. snail, and
the phone.  I am willing to put some money where my mouth is to develop
this board up to a certain point, but I have to be resonably assured
that I have a chance of succeeding. 

Hope to hear from you soon.

Mike Thompson

PS  tim@scsmo1.uucp wrote to me and I am unable to send a message back
to him.  Can you please write back so I can find your complete mail
path.  I accidently lost your original letter to me.
 
=========================================================================
Michael P. Thompson                                Bell Northern Research 
Member Scientific Staff                          685A E. Middlefield Road
(415) 940-2575                                          Mountain View, CA
amdahl!bnrmtv!miket                                            94039-7277

thad@cup.portal.com (Thad P Floryan) (04/06/89)

Re: Mike Thompson's quest for "local" assistance for 3B1 SCSI ...

I reside in the Los Altos area, have the UNIX PC reference manual, "sort of"
chair the UNIX PC SIG of the local AT&T Computer Users' Group, our group has
all the docs from AT&T, members of the group (from PacBell) are experts
writing SCSI device drivers, I have a manufacturing plant that produces
special computers of my own design, I have PC board layout services available
and have software (for Amiga and PC), I've interfaced just about every SCSI
device available (except an optical scanner) to the SCSI bus, my lab computers
operate with over 1GB HD on their SCSI busses, and I have the entire SCSI-2
specs on disk (downloaded from the ANSI X3T9.2 SCSI BBS).  I also have a copy
of the AT&T memo concerning writing loadable device drivers for the UNIXPC
(but it's a copy of a copy of a copy and difficult to read).

Now, any other questions?   :-)

Join the Users' Group and we can possibly make the SCSI board for the UNIX PC
a group project.  I still need to call IDT and determine precisely what their
position is and inquire whether they want to sell the manufacturing rights to
their (already designed and manufactured) SCSI board to us; from what I last
heard, their (IDT's) only problem was that they didn't have any expertise
writing SCSI drivers.

If someone who lives near IDT can call them on our behalf and post their
comments, we can work from there.

My interest in putting SCSI on the 3B1 is very great; I picked up some Maxtor
380MB drives in anticipation of IDT's SCSI board last year, and so far have
relegated these drives to backing up the RP06 and RP07 drives on my VAX and
DEC-2060 (these drives are actually faster than the RA81, RP06 and RP07, and
are only 5-1/4" full-height units).

And just IMAGINE the possibilities of SCSI-networked 3B1s!  With shared laser
printers, page scanners, tape drives, etc.

The UNIXPC is enjoying a resurgent interest.  Just last week I received a
phone call from a software vendor in Sunnyvale who is buying 8,000 *NEW* UNIXPCs
upon which to sell his application; he called enquiring as to where he might
get a PASCAL compiler, and I referred him to LPI in Massachussets.

In any event ...

The Users' Group, South Bay Chapter, meets the 3rd Wednesday of each month at
the AT&T West Coast Facility in Sunnyvale; I'll be posting considerable
information about this in the VERY near future.  The next meeting is April 19.

Thad Floryan [ thad@cup.portal.com (OR) ..!sun!portal!cup.portal.com!thad ]