DiskBuzz - Manual Der Disketten/File-Monitor DiskBuzz! ist ein Programm, mit dem man einfach und komfortabel, und doch vielfältig, Disketteninhalte ansehen und verändern kann. Das Programm ist vollständig Mausgesteuert, die Anwahl der einzelnen Funk- tionen erfolgt meist über Gadgets. Es wird ein Überbreiter Pal-Screen ge- öffnet, damit möglichts viele Informationen Platz haben. Es folgt nun eine Auflistung der einzelnen Gadgets und der damit verbundenen Funktionen: "Block.Nr." : Hier kann eine Nummer zwischen 0 und 1759 eingetragen wer- den, die dann als Blocknummer angesehen werden kann, und vom "READ" und "WRITE"-Kommando benutzt wird (s.u.). Bemerkung: Sie sollten, wollen Sie die in "Block.Nr." ange- gebene Nummer verwenden, diese nach der Eingabe mit bestätigen. "READ" : Es wird der in "Block.Nr." angegebene Block gelesen. Bemerkung: Ist der einzulesende Block einer der beiden Boot- sektoren, so wird der jeweils andere Bootblock ebenfalls in einen, allerdings nicht zugänglichen, Puffer gelesen. Dies ist nur für die Berechnung der Checksumme bei einem even- tuell späteren Schreibvorgang von Bedeutung, da die Check- summe der Bootsektoren aus beiden Blocks berechnet wird. "WRITE" : Der Inhalt des Datenpuffers wird in den in "Block.Nr." ange- gebenen Block der Diskette Geschrieben. Bemerkung: Ist der zu schreibende Block der zweite (Block 1) der beiden Bootsektoren, so wird auch der erste (Block 0) nochmals geschrieben, da in ihm die Checksumme beider Boot- blocks zusammen abgelegt wird. "JUMP" : Der im Programm nächste Datenblock wird gelesen, ist der augenblickliche Block ein File-Header-Block, so wird der erste Datenblock gelesen. (Arbeitet nur bei einem File-Header /Data-Block). "NEXT PHYS" : Der physikalisch nächste Block der Diskette wird gelesen, d.h. die Blocknummer wird einfach um eins erhöht. "-> /" : Es wird zu dem Block verzweigt, der das Directory repräsen- tiert, in dem das momentane File/Directory aufgetaucht ist. Das kann ein User-Directory oder auch den Root-Block sein. (Arbeitet nur bei einem File-Header/Userdir-Block). "-> Header" : Es wird zum File-Header-Block des momentanen Programmes ver- zweigt. (Arbeitet nur bei einem Data-Block). "-> Root" : Der Root-Block der Diskette wird geladen. "Nx Hash" : Der nächste Block, der in der Kette der "Hash-Chain" liegt, wird geladen. (Arbeitet nur bei einem File-Header oder User- Directory-Block). "Pick" : Das Langwort auf das der "Hex-dump-Cursor" zeigt wird als neue Blocknummer angesehen und der Block wird gelesen. Bei zu großer Nummer erscheint eine Fehlermeldung. "Find" : Siehe nähere Erklärung zur "Find"-Funktion. "Directory" : Siehe nähere Erklärung zur "Directory"-Funktion. "Extension" : Es wird zu einem eventuellen File-List-Block des Header- blocks verzweigt. (Arbeitet nur bei einem File-Header-Block). "See History" : Es wird ein Fenster geöffnet, in dem die zuletzt gelesenen 30 Blöcke aufgeführt sind. Aus ihnen können Sie einen aus- wählen, der sodann gelesen wird, Sie können aber auch das Schließsymbol anklicken und das History-Fenster wieder ver- lassen. "See Extras" : Siehe nähere Erklärung zur "Extras"-Funktion "DF0:"/"DF1:" : Es wird auf das jeweilige Laufwerk, soweit vorhanden, umge- schaltet. "HEXDUMP" : Dieser Ein/Aus-Schalter bestimmt, ob Sie die hexadezimale Ausgabe des Pufferinhaltes wünschen, oder nicht. Das kann zum Beispiel nüztlich sein, wenn Sie "von Hand" eine Zeichenkette suchen wollen, und dazu natürlich den Hex-Dump nicht benötigen. Es wird dann die Zeit gespart, den Hex-Dump auf dem Bildschirm auszugeben. "CHARDUMP" : Dieser Ein/Aus-Schalter bestimmt die Ausgabe des Puffers als ASCII-Text. Ansonsten gilt das gleiche wie bei "HEXDUMP". "CHECKSUMME" : Diesen Ein/Aus-Schalter sollten Sie möglichst immer einge- schaltet lassen. Durch ihn wird vor dem Schreiben eines Blockes die benötigte Checksumme neu berechnet. Ohne diese würde das DOS den Block nicht anerkennen. Die Checksumme wird für alle verschiedenen Blocktypen berechnet, obwohl ei- nige unterschiedliche Berechnungsformeln haben. "Sende Block zum Printer" : Hiermit können Sie den aktuellen Pufferinhalt auf einem an- geschlossenen Drucker ausgeben lassen. "Zeige Block- belegung" : Bei Anwahl dieses Gadgets wird aus der Blockbelegungstabelle der Diskette eine Grafik erzeugt, die anschaulich belegte und freie Blöcke kennzeichnet. Belegte Blöcke werden als blaue kleine Quader, freie als schwarze Flächen dargestellt. Die Zahlen am rechten Bildrand zeigen die jeweilige Sektor- nummer. Beendet wird diese Funktion mit einem Mausklick. "About DiskBuzz" : Der Autor stellt das Programm vor. Nun zu den weiteren Angaben und Informationen, die angezeigt werden: "Blocktyp" : Hier wird der Typ des jeweils aktuellen Blockes ausgegeben. Dies kann "Root", "File-Header", "Data", "User-Directory", "Boot", "File-List" oder auch "Sektormap" sein. Und wenn der DiskBuzz! garnichts mit dem eingelesenen Block anfangen kann, nennt er ihn einfach "???". "Blocknummer" : Ich glaube, das kann jeder einsehen, hier wird die Block- nummer ausgegeben, und zwar zuerst in Hexadezimal und dann in Dezimaler Schreibweise. Die Blocknummern reichen von 0 bis 1759 (bzw $0000 bis $6DF). "Sektornummer": Hier wird die Sektornummer ausgegeben. Diese reicht pro Zy- linder und Seite jeweils von 0 bis 10. "Zylinder" : Hier wird die Nummer des Zylinder ausgegeben, zu dem der aktuelle Block gehört. Diese reicht von 0-79. "Seite" : Der Amiga beschreibt seine Disketten automatisch beidseitig, hier wird die aktuelle Seite angegeben (0 oder 1). Nun zu näheren Erläuterungen zu einzelnen speziellen Funktionen: Die "Find"-Funktion: Bei Anwahl dieses Gadgets erscheint ein neues Fenster mit einigen neuen Gadgets. In das oberste "String"-Gadget können Sie die Zeichenkette eingeben, nach der Sie auf der Diskette oder in einem be- stimmten Programm suchen wollen. Darunter geben Sie, wenn Sie auf der Diskette suchen wollen, den Anfangs und den Endblock ein, zwischen denen gesucht werden soll. In der Zeile darunter steht entweder "Des Programms" oder "Der Diskette", Sie können das durch einfaches Anklicken umdrehen. Hiermit spezifizieren Sie, ob Sie im dem Programm, dessen File-Header-Block Sie als letztes geladen haben müssen, oder auf der Diskette, rein "physikalisch" suchen wollen. Wenn der zuletzt gelesene Block kein File-Header- Block war, ist nur die Suche auf Diskette möglich. In der nächsten Zeile befindet sich eine weitere interessante Variante. Normalerweise weiss man, wenn man einen String suchen will, nicht, ob er nun in Klein- oder Großbuchstaben auf Diskette vorliegt. Mit dieser Funktion können Sie be- stimmen, ob die Buchstaben vor dem Vergleichen in Großbuch- staben umgewandelt werden sollen, oder nicht. Bei Umwandlung in Großbuchstaben finden Sie mit dem Suchbegriff "library" die Strings "Library", "library", oder auch "liBraRy". Mit Klicken auf "Suchen" starten Sie die Suche. Sie können sie jederzeit durch Drücken auf "Cancel" wieder unterbrechen. Während der Suche werden ständig die momentanen Blocknummern im Kommandofenster ausgegeben, damit Sie den Überblick be- halten. Die "Directory"-Funktion: Bei Anwahl dieses Gadgets erscheint ein neues Fenster auf dem Bildschirm. Das zuletzt aktuelle Directory der Diskette wird gelesen und in der linken oberen Ecke angezeigt. Das wird am Anfang das Root-Directory sein. Durch Klicken auf die "Pfeil-nach-oben/unten"-Gadgets können Sie die Filenamen, soweit mehr als 10 vorhanden sind, lang- sam oder schnell nach oben oder unten scrollen. Im Stringgadget, das sich direkt unter dem Ausgabefenster befindet wird automatisch, der momentane Pfad eingetragen. Ihn können Sie nur durch Anklicken eines Directory-Namens aus dem Ausgabefenster ändern. Die Directories sind Orange- Fett gekenntzeichnet. Unterhalb dieses Gadgets können Sie entweder durch Anklicken im Ausgabefenster, oder durch Tas- tatureingabe einen Filename bestimmen. Durch Klicken auf "OK" wird der File-Headerblock dieses Files geladen und die "Directory"-Funktion beendet. Mit dem "Go /"-Gadget wechseln Sie in das übergeordnete Di- rectory des momentanen Verzeichnisse. Das geht natürlich nur bis zum Root-Directory zurück. Mit dem "CD"-Gadget machen Sie das momentane Directory zum aktuellen Directory (Current Dir). Bei einem erneuten Aufruf der "Directory"-Funktion wird dieses Verzeichnis dann auto- matisch statt dem Root-Directory eingelesen. Das Laufwerk können Sie nur im Kommandofenster mit den "DF0:" /"DF1:"-Gadgets wechseln. Mit "Quit" verlassen Sie das Directory wieder. Die "Extras"-Funktion: Die Anwahl des "Extras"-Gadgets ist nur möglich, wenn der mo- mentane Block ein File-Header-, User-Directory-, oder Root- block ist. Bei Anwahl erscheint win weiteres Window auf dem Bildschirm. Auf diesem werden diverse Informationen über die momentane Datei oder das momentane User-Directory oder die Diskette ausgegeben. Darunter sind z.B. der Name sowie der Kommentar. Außerdem wird die Zeit und das Datum der Erstellung (nur bei dem Root-Directory), und der letzten Veränderung ausgegeben. Darunter befinden sich Angaben über die Protectflags, diese sind allerdings nur bei einer Datei von Bedeutung. Das glei- che gilt für die Länge der Datei in Blocks und in Bytes. Auf der oberen rechten Seite befinden sich zwei Gadgets, die mit "Auf" und "Ab" beschriftet sind. Mit ihnen können Sie die Erstellungszeit und/oder die Zeit der letzten Veränderung der Datei/Diskette verändern. Sie müssen nur vorher mit der Maus auf die entsprechende Stelle z.B. des Datums klicken. Die Protectflags lassen sich durch einfaches Klicken auf den jeweiligen Buchstaben ("r","w","e" oder "d") setzen oder lö- schen. Die Bedeutung dieser Protectflags entnehmen Sie bitte ihrem DOS-Handbuch, oder wenn nicht vorhanden, diversen Com- puterzeitschriften. Dies gilt übrigens ebenso für alle ande- ren Dinge in bezug auf die Struktur einer Diskette mit ihren verschiedenen Blocktypen, die Sie vielleicht nicht ganz ver- standen haben. Nun zu einem weiteren sehr wichtigen Gadget. Am unteren Rand finden Sie entweder "Hash-Korrektur:Ja" oder "Keine Hash-Kor- rektur". Dazu muß man wissen, daß die Position eines Files oder User-Directories im übergeordneten Directory explizit vom Namen des einzelnen abhängt. Wenn Sie den Namen im File- Header-Block oder User-Directory-Block ändern, muß auch seine Position in der Hash-table des übergeordneten Directories an- geglichen werden. Wenn dies nicht geschieht, können einige merkwürdige Effekte entstehen, im schlimmsten Falle wird ihr File oder User-Directory nicht mehr gefunden. Diese neue Berechnung der Position in der Hash-table über- nimmt der DiskBuzz!, allerdings nur, wenn in der untersten Zeile des "Extras"-Window "Hash-Korrektur:Ja" steht. Dieses Gadget können Sie durch einfaches Anklicken mit der Maus um- drehen. Wenn Sie also lieber auf eigene Faust die Diskette untersuchen und verändern wollen, dann stellen sie diese Funktion eben ab. Und noch etwas, wenn Sie etwas am Namen eines Files oder User-Directories geändert haben, und den entsprechenden Block abgespeichert haben, sollten Sie, bevor Sie das Directory vom System, d.h. auch mit der "Directory"-Funktion", einlesen, die Diskette aus dem Laufwerk nehmen und wieder reinstecken. Das DOS merkt sich anscheinend einige Blöcke, darunter z.B. auch den Root-Block einer Diskette für einige Zeit. Darum sollten Sie dem System Gelegenheit geben, sich mit dem neuen Directory anzufreunden. Nun noch eine Bemerkung zu den Requestern, die hin und wieder auftau- chen. Sollte es sich dabei um einen vom System angezeigten Requester handeln (z.B. wenn sich bei der Directory-Funktion keine Diskette im Laufwerk befindet), so wird der Workbench-Screen in den Vordergrund ge- bracht, d.h. der DiskBuzz! - Screen verschwindet von der Bildfläche. In diesem Falle sorgen Sie bitte dafür, das die Fehlerquelle beseitigt wird und klicken auf "Retry". Um wieder auf den DiskBuzz! - Screen zu gelangen, klicken Sie bitte auf das "Screen-nach-hinten-Gadget" des Workbench-Screens. Alle Requester, die vom DiskBuzz! ausgesandt werden (diese erscheinen auf dem DiskBuzz! - Screen) können Sie, außer dem speziellen Requester bei der "Find"-Funktion mit Klicken auf die "Okay"-Taste, durch Klicken in den Requester oder durch Drücken einer beliebigen Taste auf Ihrer Tastatur beenden. Ansonsten wünsche ich Ihnen viel Spaß bei der Erforschung Ihrer Dis- ketten, oder auch bei der Manipulation ("Patchen") von fremden Pro- grammen. Aber da ist doch noch eine Bitte, im Interesse Ihrer Daten: Arbeiten Sie möglichst immer nur mit Sicherheitskopien! Obwohl DiskBuzz! sämtliche Checksummen berechnet, und eigentlich nichts schiefgehen kann, sollten Sie das Risiko, Daten versehentlich doch zu zerstören, lieber nicht eingehen. ALSO: IMMER MIT KOPIEN ARBEITEN Das war`s, Tschüs sagt der Autor dieses Programms. DiskBuzz! - Kein Copyright 1988 bei »New Moon«. Einem Produkt der CHAIN REACTION Software Europe Nun auf Public Domain!!! Autor: Ralph Menon