    Informationen zum Paket CheckFat, Stand: 27.07.1998
    ---------------------------------------------------


    1. Einleitung
    -------------

    CheckFat ist ein 16-Bit-FAT-Prfer fr die Kommandozeile, der im Rahmen 
    eines Artikels in der ST-Computer 02/96 vorgestellt wurde und mit 
    freundlicher Genehmigung der MAXON Computer GmbH als Freeware 
    weitervertrieben werden darf.

    Das Paket enthlt dabei alle Sourcen; nderungen sind jedoch nur fr 
    den Privatgebrauch erlaubt, d.h. es ist verboten, vernderte Versionen 
    in Umlauf zu bringen. Aus diesem Grund erfolgt die Originaldistribution 
    auch immer als Archiv im Archiv, wobei fr das innere Archiv ein PGP-
    Signaturfile beiliegt, mit dem sichergestellt werden kann, da man eine 
    unvernderte Version vorliegen hat.


    2. Rechtliches
    --------------

    Die dem Paket beiliegenden Programme CheckFat und AutoCFat wurden mit 
    groer Sorgfalt programmiert und eingehend getestet. Es ist jedoch 
    nicht auszuschlieen, da sie noch Fehler enthalten. Ich, Thomas 
    Binder, kann daher weder fr ihre einwandfreie Funktionsfhigkeit, noch 
    fr die Tauglichkeit zu einem bestimmten Zweck garantieren.

    Desweiteren erfolgt die Benutzung von CheckFat und AutoCFat auf eigene 
    Gefahr! Ich bernehme keinerlei Haftung fr Schden jeglicher Art, die 
    direkt oder indirekt durch die sach- oder unsachgeme Anwendung von 
    CheckFat und/oder AutoCFat entstanden sind oder entstanden sein knnten.

    Wenn jemand einen Fehler findet, sollte mir diesen bitte mitteilen, 
    wenn mglich mit einer genauen Beschreibung, was passiert und wie man 
    es nachvollziehen kann (meine Adresse steht unter Punkt 6).


    3. Benutzung
    ------------

    CheckFat ist, wie bereits erwhnt, ein Kommandozeilenutility zum Prfen 
    (nicht Reparieren!) von 16-Bit-FATs, wie sie bei Atari-Festplatten 
    vorzufinden sind. Wenn ein AHDI-3.0-kompatibler Treiber aktiv ist (sind 
    heute eigentlich alle), kann CheckFat auch DOS-Partitionen mit mehr als 
    32 MB prfen, z.B. auf Wechselmedien.

    Die Aufrufsyntax lautet

    checkfat [Optionen] Laufwerk

    Dabei darf, wenn CheckFat vom Desktop aus gestartet wurde, checkfat 
    selbst natrlich nicht eingegeben werden.

    Folgende Optionen sind mglich:

    -v: Ausfhrliche FAT-Fehlermeldungen.
        Im Normalfall erhlt man bei Fehlern am Schlu nur eine Statistik 
        (beispielsweise "10 verwaite(r) Cluster"), mit -v wird jeder 
        einzelne betroffene Cluster aufgelistet. Bei Unterschieden zwischen 
        den beiden FATs werden dann alle Abweichungen gemeldet, nicht nur 
        die erste.
        Im Zusammenhang mit der Option -f (siehe unten) aktiviert -v auch 
        die ausfhrlicheren Fragmentierungsinformationen.
    -n: Alle Filenamen anzeigen.
        Mit dieser Option gibt CheckFat den Namen des Files/Ordners aus, 
        dessen Verkettung gerade durchlaufen wird. Ordner sind dabei am 
        abschlieenden Backslash zu erkennen. Fehler in Verkettungen werden 
        auch ohne -n immer mit Namen gemeldet.
        Ist zustzlich -f aktiv, werden auch Dateien mit Clustersprngen 
        gemeldet.
    -c: Alle Cluster zu allen Files anzeigen.
        Diese Option schliet -n ein und gibt zustzlich alle Cluster aus, 
        die zu diesem File gehren, und zwar vor der berprfung auf 
        Zulssigkeit. Ist zustzlich die Option -f aktiv, werden 
        Clustersprnge durch "-/-" gekennzeichnet.
    -a: Alle mehrfach belegten Cluster einer Datei anzeigen.
        Wenn beim Prfen der Clusterkette eines Files festgestellt wird, 
        da der aktuelle Cluster bereits von einer anderen Datei belegt 
        ist, meldet CheckFat dies nur beim ersten Mal, weil die restlichen 
        Cluster ja ebenfalls betroffen sind. Mit der Option -a kann man 
        CheckFat nun anweisen, trotzdem alle beteiligten Cluster zu melden 
        (z.B. um zu sehen, wie lang der betroffene Bereich ist).
    -x: Bei mehrfach belegten Cluster auch die anderen Dateinamen melden.
        Trifft CheckFat auf einen Cluster, der bereits von einer vorher 
        geprften Datei belegt ist, wird bei aktiver Option -x der Name der 
        letzten Datei, die ihn beim Prfen belegt hat, ausgegeben.
    -l: Komplette Pfadnamen bei -x melden.
        Schliet -x ein und sorgt dafr, da nicht nur der Name der anderen 
        Datei, sondern ihr kompletter Zugriffspfad gemeldet wird. Diese 
        Option hat einen nicht unerheblichen Speicherbedarf!
    -d: Bei der Ergebnisausgabe als defekt markierte Cluster melden.
        Im Normalfall meldet CheckFat Cluster, die in der FAT als defekt 
        markiert sind, nicht. Mit der Option -d kann man dies nun 
        erzwingen, wobei CheckFat bei den beiden Clustern, die von den 
        meisten Partitionierungsprogrammen aus Schutz vor einem GEMDOS-
        Fehler als defekt markiert werden (in der Regel 16383 bzw. 16384), 
        einen speziellen Hinweis ausgibt.
    -1: Bei Ungleichheit FAT 1 als Prfgrundlage benutzen.
        Jedes GEMDOS-Medium hat 2 FATs, wobei die zweite die Grundlage fr 
        die Dateizugriffe darstellt; die erste ist lediglich eine Kopie. 
        Sollte CheckFat feststellen, da Kopie und Original unterschiedlich 
        sind, kann man durch die Option -1 erreichen, da CheckFat den 
        Inhalt der ersten FAT fr den Test benutzen soll. Treten dann keine 
        oder weniger Fehler auf, sollte die zweite FAT mit einem geeigneten 
        Tool durch die Kopie ersetzt werden.
    -f: Fragmentierungsinformationen ausgeben.
        Da CheckFat ohnehin den gesamten Dateibaum durchgehen mu, lt 
        sich sozusagen nebenbei ermitteln, wie stark die Dateien auf der 
        Platte zersplittert sind. Mit der Option -f erreicht man, da 
        CheckFat eine entsprechende Statistik ausgibt. Ist gleichzeitig -v 
        gesetzt, erhlt man noch detailiertere Informationen.
    -i: BPB des Laufwerks ausgeben
        Mit dieser Option wird CheckFat angewiesen, den BIOS-Parameterblock 
        des zu prfenden Laufwerks ausgeben, selbst wenn dieser nicht in 
        Ordnung zu sein scheint (und CheckFat daher nicht prft). Die dabei 
        ausgebenen Informationen knnen bei Problemen mit einem Laufwerk 
        hilfreich sein, auch bei solchen, die mit CheckFat selbst nichts zu 
        tun haben.
    -t: VFAT-Struktur berprfen
        Das von Windows 95 und seit einiger Zeit auch MagiC bekannte VFAT-
        Verfahren legt zustzliche unsichtbare Verzeichniseintrge an, die 
        fr einen bestimmten 8+3-Namen den langen Namen enthalten. Werden 
        VFAT-Laufwerke jedoch zwischenzeitig auch mit TOS oder alten DOS-
        Versionen bearbeitet (insbesondere mit Lschen und Umbenennen von 
        Dateien, die auch einen Langnamen haben), so werden VFAT-
        Informationen zerstrt oder zumindest ungltig. Mit der Option -t 
        kann man CheckFat nun anweisen, alle Verzeichnisse auf Fehler in 
        den dort eventuell vorhandenen VFAT-Eintrgen zu durchsuchen. 
        Solche Fehler sind brigens harmlos, vergeuden aber Platz in 
        Verzeichnissen, die dadurch sehr schnell unntig gro werden knnen.
    -u: Laufwerk nicht mit Dlock sperren.
        Wenn die GEMDOS-Funktion Dlock vorhanden ist, sperrt CheckFat 
        automatisch das zu prfende Laufwerk gegen Zugriffe anderer 
        Programme und gibt es am Ende wieder frei. Wenn das nicht erwnscht 
        ist, mu die Option -u benutzt werden.
    -s: Keine unntigen Ausgaben.
        CheckFat gibt normalerweise einige Zeilen Text aus, die keine 
        Fehlermeldungen sind. Wem das zuviel ist, kann CheckFat mit -s dazu 
        berreden, wirklich nur Fehlermeldungen auszugeben.
    -h: Vor Programmende auf einen Tastendruck warten.
    -?: Kurzen Hilfetext ausgeben (erscheint auch beim Aufruf vllig ohne 
        Parameter).

    Folgende Fehlertypen werden von CheckFat erkannt:

    - Falsche Dateilngen
    - Illegale Start- und Folgecluster
    - Clusterschleifen
    - Ordnerschleifen
    - Files, die einen als defekt markierten Cluster enthalten
    - Files, die einen nicht belegten Cluster enthalten
    - Cluster mit mehreren Vorgngern
    - Ungltige FAT-Eintrge
    - Verwaiste Cluster
    - Mehrfach belegte Cluster
    - Cluster, die auf einen unbelegten Cluster verweisen
    - Cluster, die auf sich selbst zeigen
    - Unterschiede zwischen FAT 1 und FAT 2
    - Fehlerhafte Pseudoverzeichniseintrge im ersten Cluster eines Ornders
    - Bei Option -t verschiedene Fehler in der VFAT-Struktur, wie z.B. 
      verwaiste oder unvollstndige VFAT-Sequenzen

    Wer mehr zu diesen Fehlern wissen will, kann im oben erwhnten Artikel 
    nhere Informationen finden (nicht zu allen).

    Damit CheckFat vernnftig in Shellskripts eingebaut werden kann (u.a. 
    deswegen ist es kein GEM-Programm), liefert es folgende Returncodes, 
    anhand derer man Entscheidungen treffen kann:

    0: FAT geprft, alles OK
    1: FAT konnte nicht fertig geprft werden, beispielsweise wegen 
       Speichermangels oder Lesefehlern
    2: bergebene Parameter sind unbrauchbar
    3: FAT konnte fertig geprft werden, ist aber fehlerhaft

    WICHTIG: CheckFat sollte nach dem Einlegen eines neuen Mediums bei 
    Wechselplatten (und hnlichen Gerten) erst aufgerufen werden, wenn man 
    sich auf dem Desktop das neue Inhaltsverzeichnis angesehen hat. 
    Andernfalls kann es passieren, da der Medienwechsel von GEMDOS nicht 
    erkannt wird. Es arbeitet in diesem Fall weiter mit den FAT-Puffern des 
    alten Mediums, was selbstverstndlich Gift fr die aktuellen Daten ist, 
    insbesondere bei Schreibzugriffen.

    4. AutoCFat
    -----------

    Als Zusatz fr CheckFat gibt es AutoCFat, das einen Einsatz im Auto-
    Ordner ermglicht (der zweite Grund, warum CheckFat kein GEM-Programm 
    ist). Auf diese Weise kann man alle wichtigen Partitionen whrend des 
    Bootens (auf Wunsch auch nur bei Kaltstarts) untersuchen lassen und hat 
    damit deutlich mehr Sicherheit.

    Die Konfiguration erfolgt ber die Datei AUTOCFAT.INF, die entweder 
    auch im Auto-Ordner oder im Wurzelverzeichnis liegen mu. Nheres steht 
    in der beiliegenden Beispieldatei.

    AutoCFat ruft CheckFat zunchst mit der Option -s auf (beim 
    Bootlaufwerk mit -su), liefert es dabei 3 zurck (FAT nicht OK), erhlt 
    man die Mglichkeit, das Laufwerk nochmals mit detailierteren Meldungen 
    prfen zu lassen. Meines Wissens gibt es leider keine XHDI-Funktion, 
    mit der ein Laufwerk schreibgeschtzt werden kann (das wre nmlich im 
    Fehlerfall sehr sinnvoll). Falls doch, bitte ich um Benachrichtigung.

    Da CheckFat trotz hoher Zuverlssigkeit sehr schnell prft, fllt die 
    regelmige Anwendung im Auto-Ordner noch nicht einmal allzu schwer ins 
    Gewicht. Eine 248-MB-Partition auf einer IBM DPES-31080 mit 4786 
    Dateien in 527 Ordnern (111 MB belegt, mittlere Fragmentierung) prft 
    es auf dem Falcon in knapp 20 Sekunden. Meine Bootpartition mit 16 MB 
    wird in unter 4 Sekunden untersucht. (Beide Zeiten beziehen sich auf 
    den Aufruf ohne zustzliche Optionen.)


    5. Kopierbedingungen
    --------------------

    Wie schon in Abschnitt 1 erwhnt, ist das CheckFat-Paket Freeware, darf 
    und soll also kostenlos benutzt und weitergegeben werden (das schliet 
    auch den Vertrieb ber PD-Hndler und hnliche Organisationen ein, 
    solange der Preis pro Diskette 10 DM nicht berschreitet). Bedingung 
    fr die Weitergabe ist, da alle Dateien komplett und unverndert 
    kopiert werden (Archivierung ist erlaubt). Dies sind: AUTOCFAT.C, 
    AUTOCFAT.INF, AUTOCFAT.PRG, AUTOCFAT.PRJ, CHECKFAT.C, CHECKFAT.PRJ, 
    CHECKFAT.TTP und LIESMICH.TXT.

    Das Originalarchiv enthlt dabei immer nur folgende Dateien: 
    ARCHIVE.LZH und ARCHIVE.SIG. Ersteres enthlt alle oben erwhnten 
    Dateien, das zweite File ist eine PGP-Signatur ber das LHarc-Archiv, 
    um prfen zu knnen, da es sich um unvernderte Originaldateien 
    handelt. Mein ffentlicher Schlssel ist auf Anfrage erhltlich.

    Es ist nicht(!) erlaubt, CheckFat ohne meine ausdrckliche schriftliche 
    Genehmigung anderen Programm beizulegen. Sollte dazu Interesse 
    bestehen, bitte anfragen.


    6. Kontakt mit dem Autor
    ------------------------

    Wer einen Fehler gefunden hat, Vorschlge oder Kritik loswerden mchte 
    oder einfach nur mit mir "reden" will, kann diese Adressen benutzen:

    Thomas Binder
    Johann-Valentin-May-Strae 7
    64665 Alsbach-Hhnlein
    Deutschland

    Per EMail bin ich im InterNet ber folgende Adressen erreichbar:

    gryf@hrzpub.tu-darmstadt.de (InterNet)
    Thomas Binder @ HD (MausNet, keine Mails > 16K!)

    Wer ab und zu (oder hufiger ;) ) im IRC hngt, sollte nach Gryf gucken.


    7. (Nicht) geplantes
    --------------------

    CheckFat soll in nchster Zeit zustzlich ein wenig auf die 
    Dateistruktur achten (doppelte Eintrge oder illegale Dateinamen 
    melden, etc.) Allerdings wird das wohl nur optional sein, weil es das 
    Prfen merklich verlangsamen drfte.

    Was ich nicht vorhabe ist, CheckFat zu einem (automatischen) 
    Repariertool zu erweitern. Kein Programm kann die Semantik von Daten 
    bewerten und so abschtzen, welche der mglichen Repaturanstze am 
    wenigsten Schaden anrichtet. Es gibt eigentlich nur einen Fehlertyp, 
    der sich sicher ohne schdliche oder unerwnschte Nebenwirkungen 
    automatisch beheben lt, nmlich verwaiste Cluster (wenn es richtig 
    geschieht). Das wird, wenn berhaupt, das einzige sein, das CheckFat 
    repariert. Ansonsten empfehle ich jedem, der wei, was er tut, zum 
    Reparieren selbst "Hand anzulegen" (beispielsweise mit SED oder 
    Diskus). Unerfahrene Anwender sollten sich ernsthaft beschdigte FATs 
    besser von jemandem flicken lassen, der sich damit auskennt (auch wenn 
    diese Leute nicht in den Gelben Seiten stehen...) oder die Partition 
    gleich lschen (nein, das nennt man nicht formatieren) und das 
    hoffentlich vorhandene Backup zurckkopieren.


    8. History
    ----------

    Hier stehen die nderungen seit der ersten verffentlichten Version 
    (also die, die zusammen mit dem Artikel in der MAXON-Mailbox erschienen 
    ist). Wer's genauer wissen will, mu in die Sourcecodes schauen.

    CheckFat vom 27.05.1998:
    - Fehler in einer der Unicode->ATARI-ASCII-Tabellen behoben; Dank an 
      Frank Naumann fr den Hinweis
    - Bei der Prfung von VFAT-Namen wurden bestimmte fehlerhafte 
      Eintrge nicht gefunden; ebenfalls Dank an Frank Naumann

    CheckFat-Beta vom 30.01.1998:
    - Fehler bei Speichermangel behoben, der zum Absturz fhren konnte
    - Fehler bei der Speicheranforderung fr Option -x behoben
    - Clustersprnge werden bei Option -f jetzt gemeldet bzw. angezeigt, 
      wenn gleichzeitig die Option -n bzw. -c aktiviert ist
    - CheckFat kommt jetzt auch mit groen (> 32 MB) DOS-Partitionen 
      zurecht, bentigt dafr aber einen AHDI-3.0-kompatiblen Treiber (was 
      heute eigentlich alle sind)
    - Neue Option -i zur Ausgabe des BIOS-Parameterblocks
    - Neue Option -t zur Prfung der VFAT-Struktur eines Laufwerks

    CheckFat vom 17.03.1996:
    - Partitionen, die 16384 oder 32768 Bytes pro logischem Sektor haben, 
      werden jetzt korrekt bearbeitet. 32768 Bytes pro Sektor sind brigens 
      nicht besonders gut, da die Cluster dann im Normalfall 64 Kilobyte 
      gro werden, was nicht mehr in den BIOS-Parameterblock pat. Das 
      GEMDOS des Falcon kommt damit zwar zurecht, dokumentiert sind aber 
      maximal 1023,9375 Megabyte (in Datenclustern) pro Partition mglich.
    - FAT-Gre im BPB wird jetzt korrekt berprft.

    CheckFat vom 06.03.1996:
    - Unterschiede zwischen FAT 1 und FAT 2 werden jetzt erkannt und 
      gemeldet.
    - Die neue Option -1 sorgt dafr, da FAT 1 bei Unterschieden als 
      Grundlage fr die Prfung dient.
    - Files, die einen leeren Cluster beinhalten werden jetzt ebenso 
      gesondert gemeldet wie FAT-Eintrge, die auf unbelegte Cluster 
      verweisen.
    - Mit der neuen Option -f kann man sich ber den Fragmentierungsgrad 
      des Laufwerks informieren lassen, zusammen mit -v etwas ausfhrlicher.

    CheckFat vom 01.03.1996:
    - CheckFat ermittelt die Clusternummern, die zum Schutz vor einem 
      GEMDOS-Fehler als defekt markiert werden, jetzt korrekt anhand der 
      Anzahl von Sektoren pro Cluster.

    CheckFat-Beta vom 18.02.1996:
    - Einfhrung der Option '-s'.


    AutoCFat vom 10.03.1996:
    - Untersttzung der neuen Option -1 von CheckFat, falls die FAT im 
      ersten Prfdurchlauf fehlerhaft war.
    - Die Meldung, da CheckFat nicht vollstndig prfen konnte, 
      berschreibt jetzt nicht mehr die letzte von CheckFat ausgegebene 
      Zeile.

    AutoCFat vom 26.02.1996:
    - Die INF-Datei wird jetzt wesentlich schneller eingelesen und bentigt 
      in der letzten nicht-Kommentarzeile kein Zeilenende mehr.

    AutoCFat-Beta vom 18.02.1996:
    - Aufruf von CheckFat mit der neuen Option '-s'.
    - War die Prfung unvollstndig oder der Returncode von CheckFat 
      unbekannt, kann man jetzt einen neuen Durchgang starten.

