Topic : A system-global SCSI-driver SCSI-Driver Author : Steffen Engel Version : Text-Release 1.10e Subject : Documentation/Utilities Nodes : 31 Index Size : 708 HCP-Version : 3 Compiled on : Atari @charset : atarist @lang : en @default : Title @help : @options : -i +zz -t2 @width : 70 View Ref-File6 Driver installation SCSI-Driver This section is not complete yet. Only the essential key points that the drivers should respect are listed. If a driver is already installed: ∙ Drivers may not replace already existing busses, i.e. one must first of all scan for busses, then any new busses can be placed on free bus-IDs. The Cookie contents of the previous driver is then stored and the new data are then written into the structure of the old driver - thus the data is replaced. The Cookie value (the pointer in the Cookiejar) may NOT be replaced. ∙ Tables and variables must be initialised at driver start. Initialised variables (DATA-segment) are not permitted, as a reset-proof-loaded driver (say: SCSI.RAM with MagiC) can not work in such a case. ∙ The error messages that a driver has to/can report: NOSCSIERROR All OK, no errros. SELECTERROR The device could not be selected. With SCSI a timeout on /SEL (/BSY not received). STATUSERROR Default error, when nothing at all works. PHASEERROR An invalid phase was recognised. This error message is provided for bus phases that do not conform to the SCSI- standard. These are the phases with /C/D = 0, /MSG = 1 and /I/O = 0 or = 1. BSYERROR The target has released the bus in an uncontrolled manner (busy loss). BUSERROR Bus error during transfer (e.g. an error message from the TT DMA-chip). TRANSERROR No data transferred during DMA-transfer. Use only if the data phase was opened but then nothing was transferred, and so it should be understood as a device error, not a SCSI error. FREEERROR If the bus could not be released at completion (Msg Complete) (Busy state remains). TIMEOUTERROR A timeout during the connection (not selection, use SELECTERROR there). DATATOOLONG So much data cannot be handled with one transfer (e.g. FRB-size). LINKERROR An error occurred during Linked-Cmd (special message for ACSI with Linked-Cmds) TIMEOUTARBIT If arbitration for the bus could not be completed successfully within the time provided for by the driver. PENDINGERROR Should be returned where an error is still noted for a handle and has not been cleared yet. The client must clear the error with Error(cErrRead) to release the handle. PARITYERROR A parity error has occured.