[comp.sys.atari.8bit] File system repair utility

chasm@killer.DALLAS.TX.US (Charles Marslett) (12/12/88)

This is a utility to scan a MYDOS or Atari DOS 2.0 or 2.5 disk and
validate the file links, the directories and the VTOC bit map are
consistent.  It will also repair any inconsistencies, one way or
another.

Please, be aware that no disk repair utility is perfect:  there are
an infinite number of ways to damage a file system and any program will
have to make a guess as to what the original file system looked like.
Even semi-automatic repair techniques depend on the knowledge of the
person running them, and you may not know all the details about your
disk organization (when did you write and delete each file written or
deleted since you last formatted the disk ;^)?).

If the disk is a floppy, repair a copy made with the 'J' command, and
the sector list form (1-720) if using MYDOS, or if repairing a hard
disk, back up any files you might get mad about losing.  The result
of a repair operation is usually better than what you started with, but
sometimes it is a completely scrambled disk -- I know from experience!

========= Cut here and UUDECODE, the result is executable =============
begin 644 vtocfix
M__\`;P9]3`#_"WL?`TQ3'`,```````````````````````````"<V'4+!#X@
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
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
#`FQ\
`
end
===========================================================================
Charles Marslett
STB Systems, Inc.  <== Apply all standard disclaimers
Wordmark Systems   <== No disclaimers required -- that's just me
chasm@killer.dallas.tx.us