home *** CD-ROM | disk | FTP | other *** search
-
- TEAC SCSI EXERCISER DOC July 2/91
-
- TSX.doc
-
- Index
- -----
-
- 1) What it is
- 2) Getting started
- 3) Command Lines
- 4) Examples
- 5) TEAC SCSI commands supported
- 6) Menus
- 7) Limitations
- 8) Email addr
-
-
- What it is
- ----------
- In the course of writing TSFFx, TSFMx, & TSFADC I needed to be able
- to find out what was going on with the scsi controller. In order to do
- this I wrote a SCSI Exerciser. TXS works on the relatively high level
- of the CDB. There is no information about SCSI Bus phases. There is a
- scsi_Status byte returned in the SCSI_CMD, but you are the mercy of the
- xxx.device author as to the meaning of these status bytes.
-
- NOTE 0: You need req.library in your LIBS: to run TSX.
-
- Command Lines
- -------------
- You must run TSX from the CLI.
-
- TSX ? /* Prints format */
-
- TEMPLATE: TSX
-
- For this program you do not need to worry about passing the .device
- and scsi id as parameters, because there are menu items which allow one
- to set these.
-
- Getting Started
- ---------------
- Once the program is running, the first thing you need to do is open
- the device (assuming you do not have the default Xetec harddisk.device
- SCSI_ID=1 & LUN=0). In order to do this you need to set up the DEVICE
- NAME, SCSI ID, AND LUN. Then you can use the menu item to open the
- device. At this point the rest of the Menu items become available to
- you.
-
-
-
- TEAC SCSI
- ---------
- The FC-1 controller supports the following SCSI commands.
-
- TEST_UNIT_READY
- REQUEST_SENSE
- INQUIRY
- READ_CAPACITY
- MODE_SELECT
- FORMAT
- SEND DIAGNOSTIC (Self Test)
- MODE_SENSE
- START UNIT
- STOP UNIT
-
- REZERO UNIT
- RESERVE UNIT
- RELEASE UNIT
- READ
- WRITE *
- SEEK *
- READ EXTEND *
- WRITE EXTEND *
- SEEK EXTEND *
- VERIFY *
-
- (*) TSX does not yet support these commands.
-
- Menus
- -----
- Project/ About
- The usual
- Project/ Open Log
- The output of TSX can be written to a .log file as well as printed
- to the screen.
- Project/ Close Log
- What it says.
- Project/ Clear Buffer
- Zero the SenseBuffer, the SCSI BUFFER & the CDB buffer.
- Project/ Show Buffers
- Dump & Interpret the various buffers.
- Project/ Quit
- Also RAmiga-Q
-
- Device/ Driver/ harddisk.device
- Set the xxx.device for SCSI Direct.
- Device/ Driver/ hddisk.device
- Set the xxx.device for SCSI Direct.
- Device/ Driver/ scsi.device
- Set the xxx.device for SCSI Direct.
- Device/ Driver/ Your Choice
- Set the xxx.device for SCSI Direct using a string requestor.
- Device/ SCSI ID/ (00-07)
- Set the SCSI ID from 0-7.
- Device/ LUN/ (00-07)
- Set the LUN from 0-7.
- Device/ A2090(a)Unit *
- Set the UNIT for OpenDevice() for A2090(a) weirdness. [See scsidisk.i]
- Device/ Open
- Open the current device.
- Device/ Close
- Close the current device.
- Device/ Display
- Display the current device, the SCSI ID, & the LUN.
-
- COMMANDS_0/ Start Unit
- COMMANDS_0/ Test Unit Ready
- COMMANDS_0/ Inquiry
- COMMANDS_0/ Mode Sense/ No Pages
- COMMANDS_0/ Mode Sense/ Currents
- COMMANDS_0/ Mode Sense/ Changeable
- COMMANDS_0/ Mode Sense/ Defaults (Note 2)
- COMMANDS_0/ Send Diagnostic/Self Test
- COMMANDS_0/ Request Sense
- COMMANDS_0/ Mode Select - 6 byte/ Auto
- COMMANDS_0/ Mode Select - 6 byte/ 720K
- COMMANDS_0/ Mode Select - 6 byte/ 1.44M
- COMMANDS_0/ Mode Select - 6 byte/ 2.88M
- COMMANDS_0/ Read Capacity
- COMMANDS_0/ Stop Unit
- Send the various SCSI commands.
-
- COMMANDS_1/ Send Diagnostic (Note 1)
- COMMANDS_1/ Read Capacity
- COMMANDS_1/ Reserve Unit
- COMMANDS_1/ Release Unit
- COMMANDS_1/ Rezero Unit
- COMMANDS_1/ Verify (Note 1)
- COMMANDS_1/ NULL (Note 1)
- Send the various SCSI commands.
-
- COMMANDS_2/ READ
- Reads only block 0.
- COMMANDS_2/ WRITE (Note 1)
- COMMANDS_2/ SEEK (Note 1)
- COMMANDS_2/ READ EXTEND (Note 1)
- COMMANDS_2/ WRITE EXTEND (Note 1)
- COMMANDS_2/ SEEK EXTEND (Note 1)
- COMMANDS_2/ FORMAT/ 720K
- COMMANDS_2/ FORMAT/ 1.44M
- COMMANDS_2/ FORMAT/ 2.88M
- Send the various SCSI commands.
-
- SEQUENCES/ Verify State
- Verify State is a SCSI-2 sequence of commands which verifies that
- a device is ready to use.
- SEQUENCES/ Search LUNs (Note 3)
- For the current SCSI ID, do an Inquiry command with LUNs 0-7.
- SEQUENCES/ Format
- Does a Verify_State, Start_Unit, Verify_State, Mode_Select, Stop_Unit
- SEQUENCES/ RAW CDB
- Brings up a requestor which allows you to define a CDB to send
- to a SCSI controller. This function initializes the CDB with the
- current LUN. You are also able to set the READ or WRITE flag in
- the SCSI CMD. There are some variables which this method does not
- control ie which use default values eg. Buffersize. (See Limitations)
- SEQUENCES/ NULL (Note 1)
- SEQUENCES/ Medium Types (Note 3)
- Test all Medium Types for 0-256.
- SEQUENCES/ Get Defaults (Note 3)
- Get all defaults for the Medium Types which the FC-1 (my version)
- supports. This item will generate a _lot_ of output. It will not
- likely be useful for any other controller.
-
- Note 1: These commands are not implemented.
-
- Note 2: There are many Page Codes which are not yet supported by TSX.
- I have implemented the TEAC Page Codes and and a couple of
- others in which I was interested (for DASD & CDROM). If you run
- into some others which you need, send me a description of the
- Page Descriptor and I'll see what can be done. Either that
- or get the code & do it yourself ;-). See PageCodes.doc
- Note 3: This command is abortable with ^C.
-
-
- Examples
- --------
- 1> TSX
-
-
- Limitations
- -----------
- The TEAC FC-1 scsi controller for which I wrote this program does
- not support all of the myriad scsi commands. If you need to check out a
- command which is not included here, you coulkd use the RAW CDB menu item
- or get the source code and modify the program for your purposes.
-
- Note 4: The CDB_RAW command really opens a Pandora's box. I mean once
- one can define the CDB, why not the whole SCSI_CMD? This would involve
- setting up buffers of various sizes. Then there is the matter of
- setting up parameter blocks for the various CDBs. If one is going to
- get into this degree of manipulation, it would likely be better to get
- the source and modify the program to your purposes.
- Note 5: The Xetec controller, does not seem to implement AutoSense, so
- I have done explicit Request_Senses when something goes awry.
- This program was written on an A2000B with Kickstart version 34.5.
- Workbench version 34.27. Xetec MiniFastCard controller ROM Version 1.48.
- I have to build a cable yet to test the A2090(a) routines.
-
- Email Addr
- ----------
- Harvey Taylor Meta Media Productions
- uunet!van-bc!rsoft!mindlink!Harvey_Taylor
- a186@mindlink.bc.ca
-
-
-
- The TSF suite and documentation is all Copyright 1991 by Harvey Taylor
-
-