home *** CD-ROM | disk | FTP | other *** search
/ Shareware Supreme Volume 6 #1 / swsii.zip / swsii / 165 / MAXTEST.ZIP / MAXDOC < prev    next >
Text File  |  1991-04-22  |  28KB  |  659 lines

  1.  
  2.                       MAXDOC
  3.  
  4.                    April 20, 1991
  5.  
  6.       Test program for the Adaptec 1540A SCSI to AT host adapter
  7.  
  8.  
  9.                   Jumpers
  10.  
  11.     1. Refer to the pamphlet shipped with the board for the
  12.         jumper locations.
  13.  
  14.     2. This program can be run on the Adaptec AHA1540A host 
  15.         adapter with the jumpers as shipped.
  16.  
  17.     3. If synchronous negotiation by the host is desired, jumper
  18.         the top pin pair on J1 of the host adapter.
  19.  
  20.     4. Set the SCSI ID as desired; it is shipped as 7.
  21.  
  22.     5. Disable the BIOS if you don't want to run as a DOS device
  23.         also, because otherwise the system may try to boot from
  24.         the host adapter.
  25.        But the program will run with the BIOS enabled also.
  26.  
  27.     6. The other jumpers need only be changed if there is a conflict
  28.         with something else in your system.
  29.  
  30.  
  31.  
  32.                  Starting the program
  33.  
  34.     1. Command line parameters may be either upper or lower case.
  35.  
  36.     2. Start the program by typing "MAXTEST".
  37.  
  38.     3. A command file may be called this way: "MAXTEST CMDS".
  39.  
  40.     4. A port may be selected by typing "MAXTEST CMDS -P".
  41.         A list of possible ports will be presented.
  42.         Choose the one that is set by the jumpers. [page 2-15]
  43.         Default is 330h; any other must be selected with -P.
  44.        If you already know the port number, you may type
  45.         "MAXTEST CMDS -P134" or whatever the port number is.
  46.        If the board is not jumpered to the selected port, the
  47.         program will tell you so and exit.
  48.        But this option allows running a system board and a test
  49.         board if desired.
  50.  
  51.     5. Monochrome may be forced with -M.  Usually this is not
  52.         necessary, since the program reads the system bytes to
  53.         self-configure.
  54.  
  55.     6. The only required parameter is "MAXTEST".
  56.         The others are optional and may be entered in any order.
  57.  
  58.                      1
  59.                   MAXDOC  
  60.  
  61.                 Philosophy
  62.  
  63.     This is an open-ended tester.  Since it is hard to predict which
  64.     commands will be desired by the user, no attempt has been made to
  65.     automate the command definition.
  66.  
  67.     But every attempt has been made to make the tester easy to use.
  68.  
  69.     1. Upper case or lower case entries are both treated equally.
  70.  
  71.     2. While editing SCSI commands and data, only entries that are
  72.           in range will be accepted.
  73.  
  74.     3. For almost all user commands, defaults are provided in 
  75.           brackets [ ]; just return will accept the default.
  76.  
  77.     4. When entering yes/no [Y/N] choices, anything but Y will be
  78.           interpreted as no.  
  79.  
  80.     5. When entering multiple byte user choices, backspace and
  81.           right and left arrow keys allow editing.  Return may be
  82.           hit anywhere in the entry, and the whole entry will be
  83.           accepted.  Escape will refuse the whole entry, changing
  84.           nothing.  This is useful if you decide you don't want to
  85.           execute this user command.
  86.  
  87.     6. Escape will get you out of almost anything except the 
  88.           program.
  89.  
  90.                      2                   MAXDOC  
  91.  
  92.            Special characteristics of the AHA1540A
  93.  
  94.     Reset: SCSI vs. host adapter
  95.  
  96.       1. F3 and Z are identical: they execute both a host adapter
  97.           and a SCSI reset.  
  98.          THIS IS THE ONLY WAY TO FORCE A SYNCHRONOUS NEGOTIATION!
  99.  
  100.       2. F8 executes a SCSI reset without a synchronous negotiation.
  101.           This is the way to force asynchronous transfers.
  102.          The host adapter still reports in F5 [report synchronous
  103.           negotiation results] that it is synchronous, but a logic
  104.           analyzer shows that it is asynchronous.
  105.  
  106.       3. A SCSI reset from another source, including powering off
  107.           and on the drive under test, will also result in 
  108.           asynchronous transfers, unless the user executes a
  109.           board reset.
  110.  
  111.  
  112.     Computer to host adapter interface
  113.  
  114.       1. This program translates each displayed command into a
  115.           software structure.
  116.          When a command file is loaded, and at some other times,
  117.           a ripple can be seen running down the screen.
  118.          This occurs during the conversion of the text list of
  119.           SCSI commands to the corresponding structures.
  120.  
  121.       2. Mailboxes-out are the way the host adapter finds out
  122.           which SCSI commands to execute.
  123.          Mailboxes-in tell the program which SCSI commands have
  124.           finished execution. 
  125.          There are 20 pairs of mailboxes: 20 out and 20 in.
  126.          Mailboxes can be displayed with Control M, or by hitting
  127.           return to stop looping commands.
  128.          00 in the first byte of any mailbox means the mailbox
  129.           is free [not in use].
  130.          01 in the first byte of a mailbox-out means that the
  131.           program has told the host adapter to execute the command
  132.           whose address is in that mailbox, but that the host
  133.           adapter has not yet done so.
  134.          01 in the first byte of a mailbox-in means good completion
  135.           of the command whose address is in that mailbox.
  136.          04 in the first byte of a mailbox-in = error completion.
  137.          This is mainly of use if the drive hangs, to tell which
  138.           commands have or have not finished.
  139.  
  140.       3. Mailboxes in and out are matched by the address in them,
  141.           not by their number.  The "out" may be in mailbox 2,
  142.           while the "in" may be in maibox 17.
  143.  
  144.                      3                       MAXDOC  
  145.  
  146.                 SCSI command editing
  147.  
  148.     1.  Control M [Modify] selects command editing.
  149.         A prompt will ask, Which command?
  150.              Enter the command number [0 to 19].
  151.         The command being edited will be highlighted.
  152.         Arrow, home, end, and tab keys let you move around
  153.          in the commands. 
  154.  
  155.     2.  Only allowed choices are accepted, otherwise no change is
  156.          made in the command.
  157.  
  158.     3.  Editing starts at the far left byte of the selected command.
  159.          This byte is the SCSI opcode.
  160.         Enter the bytes as required for the SCSI command.
  161.          Any number of bytes may be entered up to 12.
  162.         If the appropriate value is already there, you may just
  163.          move past it.
  164.  
  165.     4.  Target ID and LUN [TARG ID, LN] may be entered as
  166.          appropriate: 0 - 7 are accepted.
  167.  
  168.     5.  Buffer [BUFFER #] is a letter: A, B, or D is accepted.
  169.          Buffers A and B are each 64K [addresses up to FFFFh].
  170.          D [double] selects both, giving one 128K buffer.
  171.  
  172.     6.  Buffer address [BUFFER ADDR] is the address where the data
  173.          will start reading or writing.
  174.         Any address in the buffer is accepted, but it must be hex.
  175.  
  176.     7.  Linked command [LNK CMD] tells to which command this
  177.          command will be linked.
  178.         For example: while editing command 1 you may link it to any
  179.          other command on the screen; just enter that command's
  180.          number [0 - 19].  DON'T LINK IN A CIRCLE [LAST TO FIRST]!
  181.         But this field will be ignored unless the link bit is set
  182.          in the command's last byte [last byte = 01 or 03].
  183.  
  184.     8.  Command length [CMD LEN] defines the SCSI command length.
  185.         Commands with opcodes lower than 20h are treated as 6 byte 
  186.          commands; the rest are treated as 10 byte commands.
  187.         If the command length field = 0, default lengths are used.
  188.         If the default command length is not correct, enter the
  189.          length in the command length field in decimal.
  190.  
  191.     9.  Host and drive status [STATUS, HO, DR] and sense key, code,
  192.          and qualifier [SENSE KY, CD, QF] cannot be edited.
  193.         They are filled in by the program after command execution.
  194.  
  195.     10. You may arrow up or down to edit another command if desired.
  196.  
  197.     11. Return [Enter] or Escape completes SCSI command editing.
  198.          The command gets converted at this time.
  199.         If the number of data blocks is too big to fit in the buffer
  200.          defined, a message will appear at the bottom of the screen
  201.          telling you so.  When you hit a key to show you have read
  202.          the message, the data length field will get corrected to fit. 
  203.  
  204.                      4                   MAXDOC  
  205.  
  206.                   Buffers
  207.  
  208.     1.  Two 64K data buffers are used by the program: A and B.
  209.         These buffers are identical.  You can do all the things
  210.          listed in the buffer menu equally well with either one.
  211.         The two buffers can be used as one by selecting D [double]
  212.          when editing a command.
  213.  
  214.     2.  A buffer can be wrapped up to 16 times by selecting
  215.          buffer wrap with Control W.
  216.         This is a little slower, and only the last wrap of data
  217.          can be compared.  It is recommended to use buffer wrap
  218.          only if you need longer transfers than will fit in 128K.
  219.         In some cases, buffer wrap hangs...it may not be the drive.
  220.  
  221.     3.  The buffer menu is a separate set of choices, entered by
  222.          R [Read] or W [Write] from the main menu [list of commands]
  223.          or from the main help menu [H].
  224.         R and W prompt you for which buffer [A or B].
  225.          Entering anything but B will choose buffer A.
  226.         The buffer will be displayed starting at address 0.
  227.  
  228.     4.  W [Write] puts the cursor at the top left buffer position
  229.          ready to edit the buffer.
  230.         R [Read] puts the cursor at the bottom of the screen 
  231.          waiting for a buffer menu choice.
  232.  
  233.     5.  H [Help] shows buffer menu choices with a little more
  234.          detail.
  235.         A very brief list of some buffer choices appears at the
  236.          bottom of the buffer screen.
  237.         Enter the first letter of your choice, either from the
  238.          buffer screen or from the buffer help menu.
  239.         Further prompts will appear asking for the parameters needed.
  240.  
  241.     6.  A [Address] displays current buffer at the address entered.
  242.          This is a way to jump around in the buffer.
  243.  
  244.     7.  B [Buffer] lets you choose which buffer to display at the
  245.          current address.
  246.  
  247.     8.  E [Edit] lets you edit the current buffer, starting at the 
  248.          top left position displayed.
  249.         Right, left, up, and down arrow keys may be used to move
  250.          around while editing.
  251.         Page Up and Page Down are also supported.
  252.         The buffers wrap at the end: addresses go from FFF0h to 0h.
  253.         Only hex characters are accepted.
  254.         An ASCII dump of printable characters is displayed on the
  255.          right.
  256.         Return or Escape ends the edit.
  257.  
  258.                      5                   MAXDOC  
  259.  
  260.                   Buffers
  261.  
  262.     9.  C [Compare] compares buffers A and B, at the start address
  263.          entered for the length entered. [Both entries in hex.]
  264.         The result of the compare is displayed at the bottom of the
  265.          screen.  If there is an error, the comparison may be
  266.          displayed.
  267.         Note that this compare is so fast you might think it is fake.
  268.          To verify it, you can fill both buffers with the same thing,
  269.          then change one byte at a known address.
  270.         Compare will find that byte.
  271.  
  272.     10. F [Fill] has its own set of choices.
  273.          C [Clear]: fills whole buffer chosen with 00.
  274.          1: Fills with up to 16 bytes of data pattern you enter.
  275.          2: Fills with 4-byte LBA [doesn't quite fill each block if
  276.            blocksize is not even multiple of 4].
  277.         Uses blocksize [set by F1 in main menu].
  278.          3: Fills with 1 byte data incrementing from 00 to FFh.
  279.          4: Fills with 2 byte random data.
  280.          5: Overwrites with 4 byte LBA at beginning of each block.
  281.         Uses blocksize [set by F1 in main menu].
  282.  
  283.     11. G [Get] buffer file: loads file into buffer.
  284.          This choice asks you for the file name and length,
  285.           which buffer, and buffer start address.
  286.          A path name may be specified with the file name.
  287.         If the file can't be loaded, the program will tell you.
  288.          [This usually means the file can't be found, either because
  289.          it is misspelled or isn't in the current directory or the
  290.          path specified.]        
  291.         This choice loads either the number of bytes requested or
  292.          the whole file, whichever is less.
  293.         The bytes loaded are not modified at all; this is a DOS file
  294.          read [DOS call 3Fh].
  295.         Therefore this choice is suitable to download and execute
  296.          binary code.
  297.         And the buffer can be used as an editable dump if desired.
  298.  
  299.     12. S [Save] buffer file: saves buffer to file.
  300.          This choice asks you for the file name and length,
  301.           which buffer, and buffer start address.
  302.          This function calls a DOS file write [DOS call 40h].
  303.         As many bytes are saved as you specify to the file name
  304.          and path you specify.
  305.         If a file by that name already exists it gets written over.
  306.         The bytes saved are not changed in any way.
  307.  
  308.     13. P [Print] allows printing of buffer A or B starting at
  309.          a chosen address for a chosen length.  There is also
  310.          an option to save this section to a printable file.
  311.          [S does not create a printable file; it is binary.]
  312.  
  313.     14. T [Table] lists all files in the current directory.
  314.  
  315.     15. L [List] returns to the main menu [SCSI command list].
  316.         Escape also returns to the main menu.
  317.  
  318.                      6                   MAXDOC  
  319.  
  320.                 Executing commands
  321.  
  322.          E [Execute commands] and X are identical.
  323.  
  324.     1.  This function first asks which commands are to be executed.
  325.          The command numbers shown at the left of the command
  326.           [0 - 19] are to be entered.
  327.          From 1 to 20 numbers may be entered, separated by commas,
  328.           spaces, or any other non-digits.
  329.          Escape aborts this user command, leaves the function
  330.           without executing anything.
  331.          Return ends the list.
  332.          If more than 20 numbers are entered, the extras are
  333.           ignored.
  334.  
  335.     2.  If linked commands are to be executed, only enter the
  336.          FIRST command of the linked chain in the command list.
  337.         The program will follow the rest of the chain, as long
  338.          as the linked bit is set in the command.
  339.  
  340.     3.  Next the function asks for options.
  341.          A brief list of the options appears at the bottom of
  342.           the screen.
  343.          Return with no options entered means execute the command
  344.           string 1 time.
  345.          Return with options entered ends the options list.
  346.          Escape means abort the user command.
  347.          # of passes may be a number from 0 to 65536.
  348.           0 means run until a key is hit.
  349.           Any other number executes the command string for that
  350.            many times.
  351.          L [Loop] means the same as 0 passes...run until a key hit.
  352.  
  353.     4.  I [Incrementing] and R [Random] use the parameters entered
  354.          with the I user command.  See the description of I.
  355.          [Defaults are length 1 to 80h, LBA 0 to 2FFFFh].
  356.         But note that if the lowest and highest LBAs are the same,
  357.          R and I will use the value displayed in the command on
  358.          the screen, and will not randomize or increment that LBA.
  359.         The same is true of the length; if the longest length and 
  360.          shortest length are the same, the length displayed is used.
  361.  
  362.     5.  R and I as options only work on read, write, seek, and
  363.          write verify commands.
  364.         For other commands they are ignored.
  365.         S [Step] only has meaning with the I option; otherwise it
  366.          is ignored.
  367.         The number entered for Step is in hex.  Normally Step is
  368.          used to advance by the number of blocks being transferred.
  369.         So if a fixed block transfer of 80h is used, then S 80 will
  370.          increment the LBA by 80h, so all blocks will be read once. 
  371.  
  372.                      7                   MAXDOC  
  373.  
  374.                 Executing commands
  375.  
  376.     6.  I [Incrementing] means increment the LBA by the hex number
  377.          entered immediately after S [Step] or by 1 if step not
  378.          entered, unless the LBAs or lengths are the same.
  379.         When the highest LBA is reached, the numbers start over 
  380.          with the lowest.
  381.         I also increments the data length from the shortest to the
  382.          longest length, then starts over.  [Only increments by 1].
  383.  
  384.     7.  R [Randoming] randomizes the LBA and length each time the
  385.          command is executed, unless the LBAs or lengths are the same.
  386.  
  387.     8.  A pass count may be entered with R or I; then the program
  388.          will loop until the pass count is reached or a key is hit.
  389.  
  390.     9.  Once the command list and option list have been filled,
  391.          execution begins.
  392.         If screen update has been suppressed [F7], a message will
  393.          appear at the bottom of the screen: Screen update suppressed.
  394.         Otherwise, the commands to be executed are marked with an
  395.          arrow at the left side of the screen.
  396.  
  397.     10. When each command is finished, the program will find it and
  398.          check the return code in the mailbox.
  399.         A return code of 01 means good completion, so the program
  400.          goes to the next command if there is one, or returns to
  401.          the main menu if all are finished.
  402.         When each command has been completed, the arrow marking the
  403.          command is erased.
  404.         A return code of 04 means error completion.  The program
  405.          puts the error codes in the appropriate place in the
  406.          screen display.
  407.         Then it does whatever has been set up for error handling
  408.          in the O [error options] user command.
  409.          [Default error option is log any error and continue.]
  410.  
  411.                      8                   MAXDOC  
  412.  
  413.                  Main Menu choices
  414.  
  415.     1.  B [Bring buffer file] loads file into buffer.
  416.          This is the same exact function as G in the buffer menu.
  417.         You are prompted to enter the file name [with path if
  418.          desired], length in bytes, which buffer, and buffer start
  419.          address.
  420.         Either the whole file is loaded or the number of bytes
  421.          requested, whichever is less.
  422.         After the file is loaded, the buffer is displayed at the
  423.          start address requested, and you are in the buffer menu.
  424.  
  425.     2.  C [Clear entire buffer] fills requested buffer with 00,
  426.          but does not enter the buffer menu.
  427.  
  428.     3.  D [Data] saves buffer to file.
  429.          This is the same exact function as S in the buffer menu.
  430.         You are prompted to enter the file name [with path if
  431.          desired], length in bytes, which buffer, and buffer start
  432.          address.
  433.         The number of bytes requested are saved.
  434.         If a file by that name exists, it gets overwritten.
  435.         You stay in the main menu after the file is saved.
  436.  
  437.     4.  E [Execute commands] sets up which commands will be
  438.          executed and which options.
  439.         See the description under Executing commands.
  440.  
  441.     5.  G [Get command file] loads a previously defined command
  442.          file into the SCSI command list on the main screen.
  443.         This may also be done by naming the file when calling
  444.          the program.  Example: maxtest cmds.
  445.  
  446.     6.  H [Help menu] displays the main help menu.
  447.         Any user command [any of the menu choices] may be executed
  448.          from the help menu if desired.
  449.  
  450.     7.  I [Initialize random/incrementing parameters] lets you set
  451.          the lowest and highest LBA and the shortest and longest
  452.          transfer length in blocks.
  453.         These parameters are used only when R or I is selected
  454.          as an execution option.
  455.         Defaults are LBA 0 to 2FFFFh, length 1 to 80h.
  456.         Current values are accepted just by hitting return at the
  457.          prompt.
  458.         Otherwise enter the desired number in hex.
  459.         LBA is a 4 byte number in hex [FFFFFFFF].
  460.         Length is a 1 byte number in hex [FF].        
  461.         The last choice under I is whether to change the random or
  462.          incrementing parameters when each command is called or
  463.          for the whole command string.
  464.         When you execute only 1 command in the command list, this
  465.          doesn't matter.  If you execute more than one, the numbers
  466.          being varied start from whatever was on the screen if the
  467.          choice was "by command" [1].
  468.         If "by command string" [2] was chosen, all the varied numbers
  469.          will be the same for each pass of the command string. 
  470.  
  471.                      9                   MAXDOC  
  472.  
  473.                  Main Menu choices
  474.  
  475.     8.  L [List] returns to the main screen and menu from the
  476.          buffer menu, or redraws the main screen from the main menu.
  477.  
  478.     9.  K [Kill] deletes and re-initializes the current log file,
  479.          effectively erasing the contents but keeping the file.
  480.  
  481.     10. M [Modify command] edits the SCSI command list.
  482.          See the description under Editing commands.
  483.  
  484.     11. Q [Quit] leaves the program and returns to DOS.
  485.  
  486.     12. R [Read buffer] enters the buffer menu.
  487.          See the description of the buffer menu under Buffers.
  488.  
  489.     13. S [Save command file] saves the current set of commands
  490.          under whatever name and path you choose.
  491.  
  492.     14. T [Table] displays the current directory.  If more than
  493.          one screen is needed to display all files, you will be
  494.          prompted to hit a key to see the next screen.
  495.  
  496.     15. U [Display logfile] displays whichever logfile you
  497.          choose.  Options are Page up, Page down, Home [go to
  498.          first record in file], End [go to last record in file],
  499.          # [jump to a record number], Escape [return to main menu].
  500.  
  501.     16. W [Write buffer] enters the buffer menu in edit mode.
  502.          See the description of the buffer menu under Buffers.
  503.  
  504.     17. X [Execute commands] sets up which commands will be
  505.          executed and which options. [Same as E].
  506.         See the description under Executing commands.
  507.  
  508.     18. Y executes the last command string with its options.
  509.          This does exactly the same as E and X, but without
  510.          requesting any user input.  It just repeats the last
  511.          set.
  512.  
  513.     19. Z [Zap] does a SCSI bus reset and a host adapter reset.
  514.          If synchronous is jumpered, a synchronous negotiation
  515.          is initiated.  Z and F3 are identical.
  516.         [The host adapter will always respond to a target-initiated
  517.          synchronous negotiation.]
  518.  
  519.     20. ? and / display 256 bytes of sense information for the
  520.              requested SCSI command.
  521.  
  522.                     10                   MAXDOC  
  523.  
  524.                  Main Menu choices
  525.  
  526.     21. F1 sets block size.  It is ABSOLUTELY REQUIRED that the
  527.          block size be correct.  The host adapter has no way of
  528.          finding out except by this user command.
  529.         Blocksize is entered in hex, so it can be read from mode
  530.          sense.
  531.         Default is 200h [512 decimal] bytes.
  532.          If this is changed, use F1!
  533.  
  534.     22. F2 sets a timeout in seconds for each command string
  535.          execution.
  536.         It times the execution of ONE command string; it is 
  537.          reinitialized each time the command string is started
  538.          in a loop.
  539.         Default is 3600 seconds or 1 hour; maximum is 65535 seconds.
  540.          This default is long to allow for a format with certify.
  541.         You don't really need this to stop command execution
  542.          interactively, because hitting a key will stop it.
  543.         But it is useful if you are running in a loop.
  544.  
  545.     23. F3 resets the host adapter and the SCSI bus.
  546.          If synchronous is jumpered, a synchronous negotiation
  547.          is initiated.  F3 is identical to Z.
  548.  
  549.     24. F4 displays the installed SCSI devices.
  550.          This function takes a few seconds to execute.
  551.  
  552.     25. F5 displays the synchronous setup.
  553.         Warning: if F8 is executed after synchronous transfers
  554.          have been set up, this function still reports that
  555.          synchronous transfers are being used.
  556.         The default synchronous speed is 5 megabytes [200 ns],
  557.              and the default offset is 7.
  558.         MAXTEST cannot change these.
  559.         The target can negotiate down from here, but not up.
  560.  
  561.     26. F6 allows setting the maximum transfer speed.
  562.         This is the transfer speed between the host adapter and
  563.          the computer, not the SCSI bus transfer speed.
  564.         But this is the maximum speed that the SCSI bus can truly
  565.          run, no matter what is negotiated.
  566.         Note that potentially asynchronous can run pretty fast also.
  567.          There is no arbitrary host adapter defined limit.
  568.  
  569.     27. F7 allows suppressing screen update, to get the fastest speeds.
  570.         This does not affect the actual command execution timing, but
  571.          shortens the program overhead between command string
  572.          executions.
  573.  
  574.     28. F8 does a SCSI bus reset, but the host adapter does not
  575.          initiate a synchronous negotiation.
  576.         This is a way to force asynchronous transfers.
  577.         Note that F5 still displays that synchronous is in effect.
  578.         Powering the drive off and on without resetting the host
  579.          adapter will also force asynchronous transfers.
  580.  
  581.                     11                   MAXDOC  
  582.  
  583.                  Main Menu choices
  584.  
  585.     29. F10 sets the target ID for all commands on the screen to
  586.          whichever ID is selected.  If the selected ID is the same
  587.          as the host ID, you will be prompted to pick another ID.
  588.  
  589.     30. Control A calls the Data Transit Bus Analyzer.
  590.         The analyzer must be connected to a serial port on the
  591.          computer...either COM1 or COM2.  The program will
  592.          self-configure to either port.
  593.         The baud rate in the program is 19.2K.  Be sure the baud
  594.          rate switches on the Data Transit are set to 19.2K.
  595.         To use the analyzer, set it up first, start it, then 
  596.          execute the command[s] from MAXTEST.
  597.         Analyzer setup can be done either from the buttons on
  598.          the box or from MAXTEST after executing Control A.
  599.         When you want access the Data Transit from MAXTEST,
  600.          select Control A.
  601.         If nothing appears on the screen, hit M for menu.  If
  602.          the Data Transit doesn't respond in 2 seconds, a 
  603.          message will appear on the screen telling you so.
  604.         Otherwise the screen and keyboard will behave as described
  605.          in the Data Transit manual.
  606.  
  607.         The Data Transit owns the screen and the keyboard in
  608.          this mode, with two keyboard exceptions.
  609.         A choice of 'T' will print the screen. [In most cases,
  610.          so will the computer's PrintScreen.]
  611.         Escape will return to the MAXTEST main menu.
  612.  
  613.     31. Control H displays the meanings of host adapter error codes.
  614.         These are returned in the column under STATUS HO [host adapter].
  615.  
  616.     32. Control M displays all mailboxes.
  617.         Mailboxes are also displayed if you hit return to stop an
  618.          execution loop or a hang.
  619.  
  620.     33. Control P will print the current screen.  Use the computer's
  621.          Printscreen if it works, because DOS fights for Control P;
  622.          sometimes it does weird things.
  623.  
  624.     34. Control S allows you to seed the random number generator.
  625.         This accepts a 4 byte hex number.  The lowest byte must not
  626.          be all 0.
  627.         The same sequence will be generated from the same seed.
  628.         Note that the fill random in the buffer uses the same
  629.          random number generator, so will be affected by this function.
  630.  
  631.                     12                   MAXDOC  
  632.  
  633.                  Main Menu choices
  634.  
  635.     35. Control T times the FIRST command in the command string.
  636.         Timing is in 1/3 of a millisecond increments, so this is a
  637.          rough timer....not the same as a logic analyzer.
  638.         It is useful for comparing the effect changes have made on
  639.          performance.
  640.         The timer is also slightly affected by computer clock speed.
  641.          At 8 mhz 1 less pass was averaged than at 20 mhz on my setup.
  642.         Timing starts when you select S under Control T, and continues
  643.          until you end it or leave the program.
  644.         So be sure to initialize it when you want to time something.
  645.         65535 passes may be timed, then it will overflow.
  646.         Four bytes of times are added up to average.
  647.          This could also overflow, but that's a pretty big number.
  648.         Timing results can be displayed [without stopping the timing]
  649.          by choosing D under Control T.
  650.  
  651.     36. Control U [user choices] lets you select beep tones of low,
  652.          medium, or high for beep on error.  It also allows some
  653.          choices of color.  This choice is not offered on monochrome.
  654.  
  655.     37. Control W turns buffer wrap on and off.
  656.          See the description of buffer wrap under Buffers.
  657.  
  658.                     13
  659.