home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0624.ZIP / CCE_0624.PD / TAPE_DRV / README < prev    next >
Text File  |  1993-09-01  |  4KB  |  101 lines

  1. Many people asked me to post my version of a SCSI  streamer  tape
  2. driver  for  TOS - here it is. I tested it on the following hard-
  3. ware: 
  4.  
  5. Mega ST 4 with TOS 1.2 (Blitter version). ICD Advantage ST+  SCSI
  6. Host  Adapter.  Cipher  CT540  streamer  tape  (QIC 24, 40/60 MB)
  7. (jumpered at SCSI ID 2). Megafile 30 (SCSI ID 1).  ST1480N  (SCSI
  8. ID 0). 
  9.  
  10. The driver was written for a ST - I don't know if it runs on STEs 
  11. or TTs. 
  12.  
  13. What do you get? tapeio.[sh], mt, tar, bkrs.
  14.  
  15. The tape driver:
  16. ================
  17.  
  18. The tape driver source is in tapeio.s + tapeio.h. You can call it 
  19. directly from C - no need to install  a  driver  before  starting
  20. your  program, no wasted spece when your program exits. This ver-
  21. sion of the driver has many parents (beside me): 
  22.  
  23. * Paul Moreau, who posted st_tar (which includes a tape driver)
  24. * J. R. Bammi, who included a tape driver in the GCC-Minix-Kernel
  25. * C. Brod, whose book "Scheibenkleister" was used extensively
  26.  
  27. The driver is set up for a streamer tape with SCSI ID 2.  You may
  28. change this in tapeio.s, line 2 (insert SCSI_ID << 5).
  29.  
  30. Many tape driver functions (especially those  without  DMA)  need
  31. some  delay before the drive is ready for the next command. I did
  32. _NOT_ wait in the driver because usually there are  other  things
  33. to  be  done so I don't want to waste my time in an idle loop. If
  34. needed  you  may  put  a  "msleep  (1L)"  between  two  calls  to
  35. mt_*-routines.  (There  is  no need to do this after a mt_read or
  36. mt_write request). 
  37.  
  38. There is an unresolved problem: When trying  to  do  many  reads/
  39. writes in a short time (for instance 16 writes of 250 blocks each 
  40. without  doing  anything  else)  I  had to notice that garbage is
  41. read/written from/to tape. At the moment I  tend  to  think  that
  42. this may be a bug in my DMA chip. I WOULD LIKE TO KNOW IF THIS IS 
  43. A  GENERAL  PROBLEM OR NOT. If you want to try it out have a look
  44. at bkrs.c, line 384. The "#define MAXBLOCK" puts a limit  on  the
  45. buffer size used - this should not be necessary. 
  46.  
  47. mt:
  48. ===
  49.  
  50. The usual tape manipulation tool:
  51.     append     ( skip to end for appending ),
  52.     buffer     ( set buffered mode ),
  53.     erase      ( erase ),
  54.     fsf        ( skip n filemarks forward, default is 1 ),
  55.     fsb        ( skip n blocks forward, default is 1 ),
  56.     load       ( load tape at BOT ),
  57.     nobuffer   ( set unbuffered mode ),
  58.     retense    ( retense tape ),
  59.     rewind     ( rewind tape ),
  60.     unload     ( unload tape ),
  61.     wfm        ( write n file marks, default is 1 ),
  62.  
  63. tar:
  64. ====
  65.  
  66. Based on st_tar (Paul Moreau), with most  of  its  problems,  but
  67. with  many  bugs  fixed  (and  a few new ones :-( I guess). It is
  68. definitely not cuspy at all, but it does its job. 
  69.  
  70. bkrs:
  71. =====
  72.  
  73. A quick and dirty disk backup and restore tool. It works with the 
  74. AHDI, CBHD and ICD disk drivers.  Multivolume  backup/restore  is
  75. supported.  The default value for the disk size (bkrs.c, line 11:
  76. #define DISKSIZE ...) is for my old Megafile 30.  Change  it  for
  77. your needs if you want. 
  78.  
  79.  
  80. Disclaimer:
  81. ===========
  82.  
  83. tapeio.s is all I _want_ you to post - all the rest  is  just  to
  84. give  you a working example. I know that the code is ugly - all I
  85. wanted to do is testing my driver under TOS as a standalone envi- 
  86. ronment before putting it into a Minix tape driver.  Bug  reports
  87. welcome, comments on style to /dev/null, please. 
  88.  
  89. Wolfgang
  90.  
  91. ==================================================================
  92. Name    : Wolfgang Denk                         (+49)-89-68004-288
  93. Company : PCS GmbH, Pfaelzer-Wald-Str. 36,  8000 Munich,  Germany.
  94. UUCP    : ..[pyramid ;uunet!unido]!pcsbst!wd  (PYRAMID PREFERRED!!)
  95. DOMAIN  : wd@pcsbst.pcs.[ COM From rest of world; DE From Europe ]
  96. ###################################################################
  97. #  "UNIX was not designed to stop you from doing stupid things,   #
  98. #   because that would  also stop you from doing clever things."  #
  99. #   -- Doug Gwyn                                                  #
  100. ###################################################################
  101.