Nikolaus Heusler Archiv

Erschienen in 64'er Magazin, Ausgabe unbekannt · Originaldatei: ABC.TXT

Hinweis: Dies ist das an die Redaktion eingereichte Manuskript, nicht der gedruckte Endtext. Layout, Bildunterschriften, Korrekturen und Kürzungen der Redaktion können in der veröffentlichten Fassung abweichen.

Ordnung ist das halbe Leben: Der Directory-Sortierer

Ein Programm, das das Directory einer 1541-Diskette alphabetisch ordnet muß nicht länger als 20 Basiczeilen sein! Unser Mini-Disk-Tool ist nicht länger, aber trotzdem komfortabel, bedienungssicher und einigermaßen schnell.

Nikolaus M. Heusler

Sollen die Dateien im Directory einer Diskette alphabetisch nach ihrem Namen sortiert werden, laden Sie erst das ABC-Programm ganz normal. Wollen Sie es eingeben, achten Sie bitte genau auf die Prüfziffern, denn Eingabefehler könnten Datenverlust bedeuten. Das Programm belegt nur 20 Basiczeilen, kommt aber ohne besondere Tricks aus und kann normal editiert werden. Legen Sie jetzt die zu sortierende Diskette ein. Sie darf nicht mehr als 144 Einträge im Directory enthalten, mehr ist aber auf einer normalen 1541-Diskette gar nicht möglich. Starten Sie den Sortierer mit RUN. Jetzt wird das Directory eingelesen, was wegen der Programmierung in Basic schon einige Sekunden dauern kann. Danach ordnet der Computer die Dateien im Speicher, wobei die Leereinträge, die - für den Benutzer unsichtbar - aus technischen Gründen manchmal im Directory vorkommen, nach hinten ans Ende der Liste wandern. Für den Anwender bringt dies wesentlichen Geschwindigkeitsgewinn. Danach wird das neue Inhaltsverzeichnis gespeichert. Während dieses Vorgangs dürfen Sie im Interesse Ihrer Daten auf keinen Fall Computer und/oder Laufwerk abschalten oder das Programm abbrechen. Außerdem ist es nicht erlaubt, während des Programmlaufs (die rote Floppy-LED leuchtet) die Diskettenklappe zu öffnen. Das Sortierprogramm erkennt in jeder Phase alle auftretenden Diskettenfehler und meldet sie ggf. an den Anwender. Nach dem Schreiben können Sie die Floppy normal weiterbenutzen, allerdings ist das Verzeichnis jetzt alphabetisch geordnet. Speichern Sie jetzt darauf, werden die neuen Einträge am Ende des Directories angelegt, von wo sie ggf. wieder mit »ABC« in die Liste einsortiert werden können.
Kurz zur internen Funktionsweise: Das Programm liest und beschreibt unter Verwendung der Direktzugriffsbefehle U1 und U2 die Diskette, dabei wird direkt auf den Verwaltungstrack 18 zugegriffen. Aus diesem Grund kann es Probleme geben, wenn Sie ein anderes Laufwerk als die 1541 verwenden (ggf. ausprobieren!). Bitte wenden Sie das Programm auch nicht auf kopiergeschützte oder kommerzielle Software an, sondern nur auf Disketten, die reine Dateisammlungen enthalten. Das Ordnen der Einträge erfolgt mit einer einfachen Bubblesort-Routine, die in Basic geschrieben zwar nicht durch Tempo glänzt, aber vor allem dann schneller als andere Verfahren wird, wenn es darum geht, neue Files in eine bereits vorsortierte Liste einzuordnen. Mit einem kleinen Trick wird erreicht, daß die Lückenfiles, die nur aus Nullbytes bestehen und wertmäßig normalerweise am Anfang des Directories stehen müßten, an den Schluß des Verzeichnisses gelangen. Abschließend schreiben wird die geänderten Daten wieder direkt auf die Spur 18, wobei die gleichen Sektoren wie zuvor belegt werden.