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

  1.  
  2.     TEAC SCSI FLOPPY AUTODISKCHANGE DOC            July 2/91
  3.  
  4.     TSFADC.doc              Copyright 1991 by Harvey Taylor
  5.  
  6.  
  7.     What it is
  8.     ----------
  9.     The TEAC SCSI Floppy does not send DiskChange messages to its
  10.     handler. This is a situation which is liable to cause problems. One
  11.     only need to forget a diskchange once & a disk will be corrupted.
  12.     TSFADC is a program which runs in the background & periodically
  13.     tests the FC-1 scsi controller to see if there has been a disk change.
  14.     If there has TSFADC sends a packet to the handler to inform it of the
  15.     change.
  16.  
  17.  
  18.     Command Lines
  19.     -------------
  20.     You must run TSFADC from the CLI.
  21.  
  22.     TSFADC ?                 /* Prints format */
  23.     TSFADC                     /* USES DEFAULTS */
  24.     TSFADC scsi.device 3
  25.  
  26.     TEMPLATE: TSFADC [xxx.device scsi_id]
  27.  
  28.     The defaults are harddisk.device and 1
  29.     To kill the TSFADC process, simply run the program again.
  30.  
  31.  
  32.     Examples
  33.     --------
  34.  
  35.     To use with a 2 Meg disk
  36.  
  37.     1) After the drive is mounted, scsi formatted, and AmigaDOS formatted,
  38.        one need only to run TSFADC.
  39.         eg. use the command line
  40.         1> TSFADC
  41.     2) To kill a running TSFADC simply run it again.
  42.         eg. use the command line
  43.         1> TSFADC
  44.  
  45.        TSFADC starts its own process, so there is no need to use
  46.     RUN >NIL: <NIL:.
  47.  
  48.  
  49.     Limitations, possible problems & algorithms
  50.     -------------------------------------------
  51.     There are several limitations one should be aware of when using
  52.     TSFADC. Firstly the names SD1: SD2: SD4: SI1: SI2: SI4: (see mountlist
  53.     entries in Overview.doc) are hardwired into TSFADC. ie if you want to
  54.     use TSFADC you need to use these names.
  55.     Secondly TSFADC only knows about the handlers which are operating
  56.     when it is started. If you mount SD2:, start TSFADC and then mount SD4:
  57.     TSFADC will not know about SD4:. In this instance, you will need to run
  58.     TSFADC again to kill the running process and once again so that it can
  59.     start up and see both SD2: and SD4:.
  60.     If you start TSFADC when there are none of the devices listed above
  61.     present, TSFADC will abort.
  62.     TSFADC will put up three kinds of requestors if it finds something
  63.     odd. It will tell you if it finds a disk type it doesn't recognize (or
  64.     recognizes but doesn't have a handler for). It will ask you if it wants
  65.     you to ignore the disk. If so, it will until a valid disk is again
  66.     inserted. If you do not want to ignore the disk, TSFADC will ask you if
  67.     you want it to quit. If there is a scsi error of some sort, TSFADC will
  68.     ask you if you want it to quit.
  69.     For example, if you accidentally put in an MSDOS disk when there is
  70.     no MSDOS drive mounted, TSFADC will put up a requestor.
  71.     If you put a 4 Meg disk in the drive, while only SD2: is mounted,
  72.     TSFADC will put up a requestor.
  73.     Note that if you use different capacity disks with TSFADC, you will
  74.     see a lot of scsi activity while the controller tries to read the disk
  75.     in the wrong modes. TSFADC works best when only a single capacity of
  76.     disk is used.
  77.     It is probably best to kill TSFADC when you are doing some
  78.     formatting. TSFADC will not hurt anything, but you are liable to
  79.     requestors popping up, which may be confusing...if not annoying.
  80.     There is liable to be a hit on system performance from TSFADC. The
  81.     reason is that TSFADC has to poll the scsi controller every n seconds.
  82.     Here ia a sketch of algorithms used.
  83.  
  84.     TSFADC MAINLOOP:
  85.        Wait for signal
  86.        If die_bit: exit
  87.        If timeout:
  88.            Do TUR
  89.            If Ready: loop
  90.            If Not Ready:
  91.                Do Request_Sense
  92.                If Medium_Change:
  93.                    Send <DC> packet to current handler
  94.                 Get new handler
  95.                 If new handler same as last handler: loop
  96.                 Else Send <DC> packet to new handler & loop
  97.                 Else advise of scsi problem
  98.  
  99.  
  100.    TO GET NEW HANDLER:
  101.    for each mode
  102.    set mode x
  103.    read block 0
  104.    if error: next
  105.    check for AmigaDOS
  106.        if present test sdx_b
  107.        if not set: error
  108.        if set: use sdx.hndlr
  109.        else test six_b
  110.        if not set: error
  111.        if set: use six:hndlr
  112.        fi
  113.  
  114.     Clearly the polling interval is an important variable here. I have
  115.     chosen 10 seconds out of the blue. Let me know if this value seems
  116.     inappropriate.
  117.  
  118.     Email Addr
  119.     ----------
  120.  
  121.     Harvey Taylor      Meta Media Productions
  122.     uunet!van-bc!rsoft!mindlink!Harvey_Taylor
  123.         a186@mindlink.bc.ca
  124.  
  125.  
  126.     The TSF suite and documentation is all Copyright   1991    by Harvey Taylor
  127.  
  128.