More on SCSI for Unix PC

Michael Thompson miket at bnrmtv.UUCP
Tue Apr 4 11:54:34 AEST 1989


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 at 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



More information about the Unix-pc.general mailing list