	Spartan driver source distribution V34.3 (generic version)
	----------------------------------------------------------

	This version will work with adaptec cards as well as with true
	SCSI devices (although V34.4 is recommended for true SCSI devices).

These are the sources to the Spartan PD scsi interface driver for Amiga 500
and Amiga 1000 by Paul Harker. This is an enchanced version that includes:

* A major bugfix.
  The original driver had problems with concurrent accesses.
  These problems may show up for instance if you try to copy large files 
  between partitions, or simultaneously access files on different partitions.
  The symptom is that the hd hangs (sometimes with the drive light staying on).
  As a result of this the partition sometimes gets corrupted.
  Fix made by Tatsuo Miyachi (miyachi@ipe.rdc.ricoh.co.jp)

* SCSI-Direct support
  Many PD and other software uses the SCSI-Direct interface to obtain 
  information about the units connected to the scsi-bus (such as SysInfo,
  SCSIUtil and SCSI_Lister, all to be found in the Fred Fish collection).
  SCSI-Direct also makes it possible for you to add other things than hd:s 
  on your scsi-bus. The BTNtape (also Fred Fish) scsi tape drive device
  handler allows you to use a tape streamer. 
  Fix made by Hakan Lennestal (hakanl@lulea.trab.se)

KNOWN BUGS
  The following fields in the SCSICmd structure are currently ignored
  by the driver:
	scsi_CmdLength
	scsi_CmdActual
	scsi_Flags
	scsi_SenseData
	scsi_SenseLength
	scsi_SenseActual

  Normal (non SCSI-direct) disk read/write operations does not detect any
  SCSI error conditions.

WARNINGS
  Do *NOT* use the original SetBase command to change the base address of
  the driver. A new SetBase command (SetBase2.3) is supplied for this purpose.
  The default address is 'F7'. 
  Please observe that SetBase will not work if the driver is
  reassembled/relinked. In this case change the NCR and DMA defines 
  directly in the file scsi.i.

  SCSI-DIRECT WARNING:
  Some (older) adaptec cards will return HFERR_BadStatus (at least on
  the "Inquire" command). There is a fix in the DirectCmd.asm file for this
  (by default as a comment). This fix tailors the driver towards the
  adaptec and some functionality on normal SCSI devices will be lost
  (such as EndOfMedia detection on tape streamers).

BUILDING A NEW DRIVER
  First obtain an assembler and a linker.
  You will also need the Amiga system assembler header files and "amiga.lib"
  This is how to do with the "a68k" PD assembler and the PD linker "dlink":
	a68k mydev.asm -iUtils:asm
	a68k rdwt.asm -iUtils:asm
	a68k DirectCmd.asm -iUtils:asm
	dlink mydev.o rdwt.o DirectCmd.o Utils:lib/amiga.lib -o spartan.device

  Utils:asm points to the directory where the system header files are. 


Good luck!

  o           o
/Hakan Lennestal
