•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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.