home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d552 / tsfsuite.lha / TSFSuite / docs / TSX.doc < prev    next >
Text File  |  1991-10-28  |  7KB  |  222 lines

  1.  
  2.     TEAC SCSI EXERCISER DOC             July 2/91
  3.  
  4.     TSX.doc
  5.  
  6.     Index
  7.     -----
  8.  
  9.     1) What it is
  10.     2) Getting started
  11.     3) Command Lines
  12.     4) Examples
  13.     5) TEAC SCSI commands supported
  14.     6) Menus
  15.     7) Limitations
  16.     8) Email addr
  17.  
  18.  
  19.     What it is
  20.     ----------
  21.     In the course of writing TSFFx, TSFMx, & TSFADC I needed to be able
  22.     to find out what was going on with the scsi controller. In order to do
  23.     this I wrote a SCSI Exerciser. TXS works on the relatively high level
  24.     of the CDB. There is no information about SCSI Bus phases. There is a
  25.     scsi_Status byte returned in the SCSI_CMD, but you are the mercy of the
  26.     xxx.device author as to the meaning of these status bytes.
  27.  
  28.     NOTE 0: You need req.library in your LIBS: to run TSX.
  29.  
  30.     Command Lines
  31.     -------------
  32.     You must run TSX from the CLI.
  33.  
  34.     TSX ?                      /* Prints format */
  35.  
  36.     TEMPLATE: TSX
  37.  
  38.     For this program you do not need to worry about passing the .device
  39.     and scsi id as parameters, because there are menu items which allow one
  40.     to set these.
  41.  
  42.     Getting Started
  43.     ---------------
  44.     Once the program is running, the first thing you need to do is open
  45.     the device (assuming you do not have the default Xetec harddisk.device
  46.     SCSI_ID=1 & LUN=0). In order to do this you need to set up the DEVICE
  47.     NAME, SCSI ID, AND LUN. Then you can use the menu item to open the
  48.     device. At this point the rest of the Menu items become available to
  49.     you.
  50.  
  51.  
  52.  
  53.     TEAC SCSI
  54.     ---------
  55.     The FC-1 controller supports the following SCSI commands.
  56.  
  57.     TEST_UNIT_READY
  58.     REQUEST_SENSE
  59.     INQUIRY
  60.     READ_CAPACITY
  61.     MODE_SELECT
  62.     FORMAT
  63.     SEND DIAGNOSTIC  (Self Test)
  64.     MODE_SENSE
  65.     START UNIT
  66.     STOP UNIT
  67.  
  68.     REZERO UNIT
  69.     RESERVE UNIT
  70.     RELEASE UNIT
  71.     READ
  72.     WRITE               *
  73.     SEEK               *
  74.     READ EXTEND           *
  75.     WRITE EXTEND           *
  76.     SEEK EXTEND           *
  77.     VERIFY               *
  78.  
  79.     (*) TSX does not yet support these commands.
  80.  
  81.     Menus
  82.     -----
  83.     Project/ About
  84.         The usual
  85.     Project/ Open Log
  86.         The output of TSX can be written to a .log file as well as printed
  87.         to the screen.
  88.     Project/ Close Log
  89.         What it says.
  90.     Project/ Clear Buffer
  91.         Zero the SenseBuffer, the SCSI BUFFER & the CDB buffer.
  92.     Project/ Show Buffers
  93.         Dump & Interpret the various buffers.
  94.     Project/ Quit
  95.         Also RAmiga-Q
  96.  
  97.     Device/ Driver/ harddisk.device
  98.         Set the xxx.device for SCSI Direct.
  99.     Device/ Driver/ hddisk.device
  100.         Set the xxx.device for SCSI Direct.
  101.     Device/ Driver/ scsi.device
  102.         Set the xxx.device for SCSI Direct.
  103.     Device/ Driver/ Your Choice
  104.         Set the xxx.device for SCSI Direct using a string requestor.
  105.     Device/ SCSI ID/ (00-07)
  106.         Set the SCSI ID from 0-7.
  107.     Device/ LUN/ (00-07)
  108.         Set the LUN from 0-7.
  109.     Device/ A2090(a)Unit                *
  110.         Set the UNIT for OpenDevice() for A2090(a) weirdness. [See scsidisk.i]
  111.     Device/ Open
  112.         Open the current device.
  113.     Device/ Close
  114.         Close the current device.
  115.     Device/ Display
  116.         Display the current device, the SCSI ID, & the LUN.
  117.  
  118.     COMMANDS_0/ Start Unit
  119.     COMMANDS_0/ Test Unit Ready
  120.     COMMANDS_0/ Inquiry
  121.     COMMANDS_0/ Mode Sense/ No Pages
  122.     COMMANDS_0/ Mode Sense/ Currents
  123.     COMMANDS_0/ Mode Sense/ Changeable
  124.     COMMANDS_0/ Mode Sense/ Defaults       (Note 2)
  125.     COMMANDS_0/ Send Diagnostic/Self Test
  126.     COMMANDS_0/ Request Sense
  127.     COMMANDS_0/ Mode Select -  6 byte/ Auto
  128.     COMMANDS_0/ Mode Select -  6 byte/ 720K
  129.     COMMANDS_0/ Mode Select -  6 byte/ 1.44M
  130.     COMMANDS_0/ Mode Select -  6 byte/ 2.88M
  131.     COMMANDS_0/ Read Capacity
  132.     COMMANDS_0/ Stop Unit
  133.         Send the various SCSI commands.
  134.  
  135.     COMMANDS_1/ Send Diagnostic        (Note 1)
  136.     COMMANDS_1/ Read Capacity
  137.     COMMANDS_1/ Reserve Unit
  138.     COMMANDS_1/ Release Unit
  139.     COMMANDS_1/ Rezero Unit
  140.     COMMANDS_1/ Verify            (Note 1)
  141.     COMMANDS_1/ NULL            (Note 1)
  142.         Send the various SCSI commands.
  143.  
  144.     COMMANDS_2/ READ
  145.         Reads only block 0.
  146.     COMMANDS_2/ WRITE            (Note 1)
  147.     COMMANDS_2/ SEEK            (Note 1)
  148.     COMMANDS_2/ READ EXTEND         (Note 1)
  149.     COMMANDS_2/ WRITE EXTEND        (Note 1)
  150.     COMMANDS_2/ SEEK EXTEND         (Note 1)
  151.     COMMANDS_2/ FORMAT/ 720K
  152.     COMMANDS_2/ FORMAT/ 1.44M
  153.     COMMANDS_2/ FORMAT/ 2.88M
  154.         Send the various SCSI commands.
  155.  
  156.     SEQUENCES/ Verify State
  157.         Verify State is a SCSI-2 sequence of commands which verifies that
  158.         a device is ready to use.
  159.     SEQUENCES/ Search LUNs            (Note 3)
  160.         For the current SCSI ID, do an Inquiry command with LUNs 0-7.
  161.     SEQUENCES/ Format
  162.         Does a Verify_State, Start_Unit, Verify_State, Mode_Select, Stop_Unit
  163.     SEQUENCES/ RAW CDB
  164.         Brings up a requestor which allows you to define a CDB to send
  165.         to a SCSI controller. This function initializes the CDB with the
  166.         current LUN. You are also able to set the READ or WRITE flag in
  167.         the SCSI CMD. There are some variables which this method does not
  168.         control ie which use default values eg. Buffersize. (See Limitations)
  169.     SEQUENCES/ NULL             (Note 1)
  170.     SEQUENCES/ Medium Types         (Note 3)
  171.         Test all Medium Types for 0-256.
  172.     SEQUENCES/ Get Defaults         (Note 3)
  173.         Get all defaults for the Medium Types which the FC-1 (my version)
  174.         supports. This item will generate a _lot_ of output. It will not
  175.         likely be useful for any other controller.
  176.  
  177.     Note 1: These commands are not implemented.
  178.  
  179.     Note 2: There are many Page Codes which are not yet supported by TSX.
  180.         I have implemented the TEAC Page Codes and and a couple of
  181.         others in which I was interested (for DASD & CDROM). If you run
  182.         into some others which you need, send me a description of the
  183.         Page Descriptor and I'll see what can be done. Either that
  184.         or get the code & do it yourself ;-). See PageCodes.doc
  185.     Note 3: This command is abortable with ^C.
  186.  
  187.  
  188.     Examples
  189.     --------
  190.     1> TSX
  191.  
  192.  
  193.     Limitations
  194.     -----------
  195.     The TEAC FC-1 scsi controller for which I wrote this program does
  196.     not support all of the myriad scsi commands. If you need to check out a
  197.     command which is not included here, you coulkd use the RAW CDB menu item
  198.     or get the source code and modify the program for your purposes.
  199.  
  200.     Note 4: The CDB_RAW command really opens a Pandora's box. I mean once
  201.     one can define the CDB, why not the whole SCSI_CMD? This would involve
  202.     setting up buffers of various sizes. Then there is the matter of
  203.     setting up parameter blocks for the various CDBs. If one is going to
  204.     get into this degree of manipulation, it would likely be better to get
  205.     the source and modify the program to your purposes.
  206.     Note 5: The Xetec controller, does not seem to implement AutoSense, so
  207.     I have done explicit Request_Senses when something goes awry.
  208.     This program was written on an A2000B with Kickstart version 34.5.
  209.     Workbench version 34.27. Xetec MiniFastCard controller ROM Version 1.48.
  210.     I have to build a cable yet to test the A2090(a) routines.
  211.  
  212.     Email Addr
  213.     ----------
  214.     Harvey Taylor      Meta Media Productions
  215.     uunet!van-bc!rsoft!mindlink!Harvey_Taylor
  216.         a186@mindlink.bc.ca
  217.  
  218.  
  219.  
  220.     The TSF suite and documentation is all Copyright   1991    by Harvey Taylor
  221.  
  222.