home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / disks / tools / allowbad / allowbad.doc < prev    next >
Text File  |  1996-06-01  |  13KB  |  274 lines

  1.                          AllowBad 0.7 (ßeta version)
  2.  
  3.                      © Mikolaj Calusinski 1996. Freeware.
  4.  
  5.                                  User Manual
  6.  
  7. Introduction
  8. ------------
  9. AllowBad  is  freeware (see 'Distribution') and copyright 1995-1996 by Mikolaj
  10. Calusinski. All rights reserved.
  11.  
  12. *****************************************************************************
  13. IMPORTANT!
  14.  
  15. IF YOU ARE A FASCIST OR NAZI YOU ARE *NOT* ALLOWED TO USE THIS PROGRAM!!!
  16. *****************************************************************************
  17.  
  18. Distribution
  19. ------------
  20.  
  21. [The  following text has been derived and adjusted from 'FileMaster 3.0.guide'
  22. © Toni Wilen 1995 (I don't want to reinvent the wheel). I hope Toni, you don't
  23. mind.]
  24.  
  25. AllowBad may be distributed freely, providing the following criteria are met:
  26.  
  27.  - None of the files in the AllowBad distribution archive may be modified or
  28.    omitted.
  29.  
  30.  - No money is charged for it apart from media and small handling fee.
  31.  
  32.  - AllowBad may be included in freely distributable software libraries,
  33.    including the Fred Fish collection and CD-ROM distributions of the Aminet
  34.    FTP site contents.
  35.  
  36.  - AllowBad may not be bundled with any commercial hardware or software
  37.    product without prior written consent from the author.
  38.  
  39.  - You may not reverse-engineer or modify the AllowBad executable on disk or
  40.    on memory except for compressing it.
  41.  
  42. Disclaimer
  43. ----------
  44.  
  45. [The  following text has been derived from 'FileMaster 3.0.guide' © Toni Wilen
  46. 1995 (I don't want to reinvent the wheel). I hope Toni, you don't mind.]
  47.  
  48. THIS  PRODUCT  IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ALL RISKS AND
  49. DAMAGES,  INCIDENTAL  OR OTHERWISE, ARISING FROM THE USE, MISUSE, OR INABILITY
  50. TO  USE  THIS  PROGRAM ARE ENTIRELY THE RESPONSIBILITY OF THE USER. THE AUTHOR
  51. DOES  NOT  MAKE  ANY  GUARANTEES OR REPRESENTATIONS REGARDING THE CORRECTNESS,
  52. RELIABILITY,  ACCURACY, CURRENTNESS, ETC. OF THIS PROGRAM. THE AUTHOR WILL NOT
  53. ACCEPT RESPONSIBILITY FOR ANY DAMAGE OR LOSSES RESULTING FROM THE USE, MISUSE,
  54. OR INABILITY TO USE THIS PRODUCT.
  55.  
  56.  
  57. What is that for?
  58. -----------------
  59.  
  60. This  program  was written as a replacement for good, but old BFormat 4.0. Its
  61. purpose  is  to  format  disks  of any *floppy-based* devices, which have hard
  62. (media)  error on them. Such disks cannot be formatted (and hence utilized) by
  63. system  'Format',  so  only  thing  you  could  do  was  getting  rid of them.
  64. Optionally, you could use BFormat of course, but such prepared disks were very
  65. unstable  under  AmigaDOS,  and gave 'read-write' errors quite often. This was
  66. because  of  way BFormat works - it allocates only blocks which appeared to be
  67. corrupted,  leaving  rest  of the track for use by filesystem. It sounds quite
  68. logical  and  give you more free space on disk but doesn't work that well with
  69. floppies.  For  safety  of  stored  data  it  is  better  to avoid whole track
  70. regardless whether there is only one or more bad blocks on it. That is the way
  71. AllowBad handles the errors - it masks the tracks, not blocks.
  72.  
  73. AllowBad should be able to format disks in all floppy-like devices, which have
  74. the following parameters (and these are checked when device type is determined
  75. to be floppy or not):
  76.  
  77. - number of surfaces must be 2
  78.  
  79. - starting cylinder (LowCyl) *must* be 0
  80.  
  81. - ending cylinder (HighCyl) must not be higher than 81
  82.  
  83. - block per track can be any number above three (so at least four)
  84.  
  85. - block size must be standard (512 bytes)
  86.  
  87. - device must use AmigaDOS filesystem (0x444F53XX - 'DOS')
  88.  
  89. - max unit number is 3 (ranging from 0 to 3)
  90.  
  91. The  above  should  rule  out  all  harddisks  (if  you want to format damaged
  92. harddisk  use  BFormat  or  Quarterback), CDROMs, etc. AllowBad works (and has
  93. been  tested)  with  trackdisk  (DFx:)  and  diskspare [(c) 1992-1994 by Klaus
  94. Deppisch]  (DSx:) devices. It should support all possible future devices which
  95. comply to the specs mentioned.
  96.  
  97. The  program  is  aware of high density (HD) floppies and should support them,
  98. but unfortunately I was unable to test it (hence the ßeta status of AllowBad).
  99. Please,  report  all the possible bugs to the address found at the end of this
  100. document.
  101.  
  102. You  can  format  RAD:  device  with AllowBad (as long as it complies to above
  103. specs) but this does not make much sense.
  104.  
  105. Requirements
  106. ------------
  107.  
  108. As  most  of  nowadays  programs,  AllowBad  requires  at  least  version 2.04
  109. of operating  system.  Reasons  are  obvious: it is much easier for programmer
  110. (me) to  code the whole thing and most Amiga users have already upgraded their
  111. systems  anyway.  If  you  want  to use DIRCACHE filesystem you need OS 3.0 or
  112. higher (however AllowBad can format dircache disks under 2.04, too).
  113.  
  114. AllowBad  also  requires  some  free memory; its amount depends on device. For
  115. further details see 'Way of operation' section.
  116.  
  117. Limitations
  118. -----------
  119.  
  120. AllowBad  is  somehow  a  little  bit  more  tollerant  than other programs of
  121. its kind  -  it  can  properly format and initialize disks, which have track 0
  122. (boot) damaged!   The   only   requirement  for  such  disks  is  the  ability
  123. to read/write  first  two  block  on  track  0  (ie. bootblocks) and one block
  124. on middle  track  of  disk  (ie.  rootblock).  So, if you have for example the
  125. disk which  has  damaged  only block number 3, there is a good chance AllowBad
  126. will be  able  to  initialize this disk and make it available for file storage
  127. (with low  side  of  track  0  allocated  as  bad).  But remember: such a disk
  128. is extremely  vulnerable  and  unstable.  Be  sure  not to store any important
  129. files on it!
  130.  
  131. In  previous  version  (0.5ß) AllowBad also was able to initialize disks which
  132. had  the  root  track  corrupted.  Unfortunately,  current version of AmigaDOS
  133. cannot  write to tracks which contain corrupted blocks (it can read from them,
  134. however),  so  such  disks most propably would be of no use anyway. In current
  135. version  the  disk  must  have  whole  root track not corrupted to be properly
  136. initialized.
  137.  
  138. This  version  of  AllowBad  is meant as a CLI command and cannot be used from
  139. Workbench (it has no GUI, so no pain I think).
  140.  
  141. Usage
  142. -----
  143.  
  144. Standard template (can be obtained via use of question mark) looks like this:
  145.  
  146. DRIVE/K/A,NAME/K/A,OFS/S,INTL=INTERNATIONAL/S,DIRCACHE/S:
  147.  
  148. As you can see only two parameters must be specified - drive name and name you
  149. want  your  disk  to have. Drive name is standard doslevel device name such as
  150. 'df0:',  'ds1:', etc., case insensitive. Must end with colon. Name of the disk
  151. must  not  exceed  30  chars  (this  limit  is  imposed  by current version of
  152. AmigaDOS).  Names  longer than permitted will simply be truncated. If you want
  153. the  filename to contain spaces, you must use quotes. Remaining two parameters
  154. are  optional  and  pertain  to type of filesystem used while initializing the
  155. disk.  INTL (equivalent to INTERNATIONAL) denotes INTL FFS (DOS3) and DIRCACHE
  156. -  DC  FFS  (DOS5),  respectively.  If  you  use both of them at the same time
  157. DIRCACHE  will  be  used  (DC  implies  INTL anyway). When none of switches is
  158. present the disk will be formatted with default normal FFS (DOS1).
  159.  
  160. Use  OFS switch to format disks with OldFileSystem (1.3 Kickstart compatible).
  161. But be warned, that 1.3 DOS ignores all protection bits except 'd' (deletable)
  162. and  you  can  access  the  faked dummy.file accidentally, causing 'Read/Write
  163. Error'  requester to appear. So, don't be surprised when this happens and take
  164. some care when using disks prepared by AllowBad under Kickstart 1.3.
  165.  
  166. While  formatting,  the program can be interrupted with CTRL-c. If this is so,
  167. execution  is  terminated  with  RC  (return code) set to 5 (WARN) and message
  168. '***BREAK' is printed.
  169.  
  170. Way of Operation
  171. ----------------
  172.  
  173. At  start  AllowBad  checks  whether the parameters issued by user are correct
  174. (they are  obtained through  standard  ReadArgs() function). At this analizing
  175. stage,  availability  of  disk  unit is also confirmed. If disk is not in use,
  176. AllowBad  immediately allocates it (by Inhibit() function). Else program quits
  177. with  error  message  'AllowBad failure: object is in use'. Unfortunately some
  178. programs  (such  as  great disk editor DPU 1.5 or recovery utility Quarterback
  179. Tools  2.2)  ignore  the  fact that the drive is inhibited by someone else and
  180. allow  you to work with such a drive.  This could lead to interference between
  181. those  programs  and  AllowBad, resulting in incorrectly formatted/initialized
  182. disks.  This is NOT my fault, but programmers of those utilities! My advice is
  183. not to use any disk utility while AllowBad executes.
  184.  
  185. If  everything  went  okay  (and  there  is a write-enabled disk in drive) two
  186. memory  buffers  are allocated (and these are the only memory allocations made
  187. by  the  program)  -  first  buffer  is  the  three times of one track in size
  188. (calculated as follows: 3*BlocksPerTrack*512), and the second one is 83 bytes.
  189. Thus  currently  the  most 'memory-hungry' situation I can think of will be HD
  190. disk  formatted  using  diskspare.device [(c) 1992-1994 by Klaus Deppisch]. In
  191. this  case  AllowBad will need 3*24*512+84 (= 36948) bytes of free memory. The
  192. kind  of  allocated  memory (chip, public, etc.) depends of flags parameter in
  193. device's  FileSysStartupMsg  (you  can  specify  it in BufMemType parameter in
  194. mountlist).
  195.  
  196. Because  Allowbad  is  system  friendly,  it  uses  standard  device calls for
  197. accessing  the  disk  (via  IORequest). First, each track of disk is formatted
  198. (using  command  #11 - FORMAT) with special data pattern. Then (after flushing
  199. device  buffers for reliability) contents of this track is read back from disk
  200. and  compared with pattern data. If operation is successful, the same track is
  201. written with zeros and once again verified. During all of this program informs
  202. briefly  about  what  is  going  on. Each error encountered is notified in the
  203. second  buffer  and  the  appropriate  message  is diplayed. Each track can be
  204. accessed  up  to  four  times,  so  AllowBad  undoubtedly  is  not the fastest
  205. formatter  around.  But when dealing with corrupted media, reliability is what
  206. counts, not time.
  207.  
  208. When  formatting  completes,  AllowBad attempts to initialize the disk - first
  209. boot  blocks  are  written  (and  verified) then so is root. If above could be
  210. done,  disk state info (as obtained during format stage) is analysed and place
  211. for  other control blocks is determined. These blocks include: - dircache info
  212. block  (if  DIRCACHE  switch was specified), bitmap block, file info block and
  213. eventually  some  file  extension  blocks.  The last two can be needed only if
  214. there were errors detected.
  215.  
  216. AllowBad  masks  corrupted areas using dummy file which pretends to occupy all
  217. the  bad  tracks.  This keeps the AmigaDOS filesystems from using those places
  218. and  you  can store files the same way as on good (error free) disks. To avoid
  219. confusion  the  file  is  protected from reading, updating, deleting, etc. and
  220. should  remain as such (don't play with this file - it IS completely faked and
  221. does not contain anything intreresting!) The name of the file is 'dummy.bad'.
  222.  
  223. Because of way AllowBad works (and I can't think of anything better, can you?)
  224. disks  prepared  by  it  can  *only*  be  used  under DOS, even that with some
  225. limitations.  Don't  try to diskcopy to such a disk! Use DOS command 'copy' or
  226. any  file managing program instead. Also, don't try to optimize bad disks with
  227. Reorg  or  like.  If  you  want  fast  directory listings use dircache (OS 3.0
  228. rules!)  And  remember that AllowBad DOES NOT repair anything - it only allows
  229. bad disks to be used while they actually still remain bad!
  230.  
  231. On  completion AllowBad informs you about number of blocks allocated (this not
  232. includes boot, root, DC, bitmap and FIB blocks).
  233.  
  234. Bugs
  235. ----
  236.  
  237. During  my  tests (well, not very intensive) no bugs were detected, which does
  238. not  mean  there  aren't  any.  If  you  find  any error or have some ideas of
  239. improvement  (or  if you simply wanna chat a little, receive the source, etc.)
  240. please contact me!
  241.  
  242. History
  243. -------
  244.  
  245. V0.5ß - (24.12.95) - first release
  246. V0.6ß - (3.3.96) - added some enhancements:
  247.  - removing disk while prog executes is now handled properly
  248.  - added waiting for user response before any action is done (security)
  249.  - added OFS switch (but watch out 1.3 freaks!)
  250.  - displays 'cylinder' rather than 'track'
  251.  - fixed minor bug
  252. V0.7ß - (29.5.96) - minor fixes
  253.  - fixed very stupid bug with disk labels longer than 30 chars
  254.  - no longer crashes when attempted to run from WB
  255.  - removed some even more stupid grammar errors in documentation ;)
  256.  
  257. Contact address
  258. ---------------
  259.  
  260. Unfortunately,  I  still  have  no direct access to Internet (must buy a modem
  261. first) so you can reach me only by snail mail, sorry. Here is my address:
  262.  
  263.                               Mikolaj Calusinski
  264.                             ul. Olsztynska 113/117
  265.                               42-200 Czestochowa
  266.                                     POLAND
  267.  
  268.  
  269.  
  270. I hope you find this little proggy useful. Have fun!
  271.                                                             Mike.
  272.  
  273.            ------------> AMIGA - THE BEST COMPUTER EVER <------------
  274.