Directory
Aus C64-Wiki
Das englische Wort Directory bezeichnet das Inhaltsverzeichnis einer Diskette. Im Directory befinden sich alle abgespeicherten Daten wie Programme, sequentielle oder relative Dateien. Diese können z.B. mit der BASIC-Eingabe LOAD"$",8 in den Speicher des C64/116/128 oder VC20 hineingeladen werden und mit einem anschließenden LIST angezeigt werden. Das Directory einer Diskette beginnt (bei einer Floppy 1541) auf Spur 18 im Sektor 1 und ist Bestandteil der BAM und kann maximal 144 Einträge aufnehmen.
[Bearbeiten] Aufbau des Directorys
"DATENDISK 1" 99 2A (Diskettenbezeichnung: Name, Identifikationsnummer) 0 "----------------" DEL (Directoryeinträge: Genutzte Blöcke, Dateiname, Dateityp) 0 "- EIGENES SPIEL-" DEL 0 "----------------" DEL 100 "GEISTERJAGD",8: PRG< (Manipulierter Directoryeintrag) 64 "DATEN1" SEQ< 44 "DATEN2" REL< 56 "DATEN3" USR< 100 "DATEN" *SEQ 350 BLOCKS FREE (Anzahl freier Blöcke bzw. freier Diskettenspeicher)
Anmerkung: Das Directory einer 5,25"-Diskette, die in einer VC-1541 formatiert und per Disketteneditor manipuliert wurde (insbesondere die ersten vier Directory-Einträge).
Bedeutung des Dateityps:
- PRG Programmdateien
- SEQ Sequentielle Datei (typischerweise Daten, nicht ausführbarer Code)
- USR User-Dateien (Sonderform der sequentiellen Dateien, per OPEN lassen sich diese Dateien ggf. direkt in der Floppy ausführen)
- REL relative Dateien (enthalten mehrere gleichgroße Datensätze und besondere Verwaltungsblöcke)
- DEL gelöschte Datei (normalerweise nicht sichtbar)
- CBM Subdirectory bei einer 1581-Disk
- DIR Subdirectory auf CMD-Speichermedien
Zusätze zur Dateitypangabe:
- < Datei besitzt softwareseitigen Überschreibschutz.
- * Nicht richtig geschlossene Datei. Das Entfernen einer solchen Datei funktioniert nicht mit dem Floppy-Befehl SCRATCH, sondern nur mittels VALIDATE!
[Bearbeiten] Joker
Die Auswahl der Directory-Einträge lässt sich mit einer Maske beeinflussen bzw. filtern, wobei die DOS-üblichen Joker-Symbole * und ? Verwendung finden.
Beispiele:
LOAD "$0:*=P",8 zeigt im Directory nur Programm-Dateien (P für PRG, LIST entsprechend mit S, U, R für SEQ, USR, REL).
LOAD "$:WA?R*",8 Alle Dateien, deren Name mit WA beginnt und an der 4. Stelle ein R besitzt, LIST werden gelistet.
LOAD"$$",8 Nur die Disketteninformation und die Anzahl freier Blöcke LIST wird ausgegeben.
[Bearbeiten] Directory verlustfrei anzeigen
Die Anzeige des Directory mit LOAD"$",8 und LIST zerstört ein gerade im Speicher befindliches BASIC-Programm. Dies kann man vermeiden mit Hilfe eines Maschinensprache-Programms. Ein Beispiel dazu gibt es bei der Beschreibung des Assembler-Befehls STX.
Einen eigenen Befehl für die Directory-Anzeige bieten neuere BASIC-Dialekte und BASIC-Erweiterungen. Einige Beispiele:
| Name | Typ | Befehl |
| BASIC V3.5+ | Basic-Dialekt | DIRECTORY |
| Simons Basic | Basic-Erweiterung | DIR |
| Commodore DOS Wedge 5.1 | Basic-Erweiterung | @$:* |
| Final Cartridge 3 | Steckmodul | CATALOG |
| Action Replay | Steckmodul | $ |
| Turbo Trans | Schnelllader | CTRL D |
| Speed-DOS | Schnelllader | @$ |
| JiffyDOS | Schnelllader | @$:* |
| V-DOS | Schnelllader | CTRL D |