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