; -> Notes for CDFSDriver


 General flow of driver:
 -----------------------

 eg/ after SWI CD_..

1.  Entry with R11 = SWI number AND 63
               R12 -> workspace
               R13 -> stack
               R14 = return address

2.  Is SWI CD_.. a known SWI ? ( eg/ R11 is too big )

3.  Check control block if needed

4.  Clear Command Descriptor Block ( thats the bit sent through SCSI_Op )

5.  Clear misc. vars.

6.  Put opcode for Command Descriptor Block in.

7.  Put parametersize, numberofbytesreturned, r/w/nodata and storagearea in

8.  Jump to routine for each SWI, if nec.

9.  Use either the Acorn conforming SCSI_Op or the Oak one
    Either way registers need to be set

10. On error branch to error handler - see ( 13 )

11. Jump to routine for each SWI, if nec.

12. Go 'Home' or 'PreHome' END basically

 Error !

13. If error is 'Unit attention' or 'Check condition' THEN setdischaschanged

14. If error THEN jump to routine for each SWI if nec.

15. Return error to caller of SWI with overflow set and R0 -> error block
    Operating System works out the rest
    ( ie/ if XCD_.. was called instead of CD_.. )




 Meaning of number returned by CD_Supported

  Bits    Description: ( if set )
  ----    -----------------------
  0 - 2   Level to which CD_AudioControl is supported ( 0 to 7 )
          0 = no support at all
          1 = supported to level 0
          7 = supported to level 6
    3     CD_Prefetch supported
    4     CD_CloseDrawer supported
    5     CD_AudioLevel supported
  6 - 31  RESERVED ( 0 )
