Library Utilities

CP/M verfügt ja nicht über Directory-Strukturen, wie diese z.B. unter UNIX oder MS-DOS bekannt sind. Eine gewisse Struktur lässt sich zwar mit den sogenannten User Areas erreichen, diese sind aber bei CP/M+ auf 16 Areas beschränkt Gary P. Novosielski kam auf die Idee, mehrere Dateien in einer speziellen Bibliothek zusammenzufassen, wodurch eine Struktur auch unter CP/M zu erzielen ist. Das Programm zur Verwaltung solcher Bibliotheken war LU.COM1 (Library-Utility), später dann NULU.COM2.
Eine solche Library kann wie ein Datenträger unter CP/M betrachtet werden: Am Anfang befindet sich ein Verzeichnis (Directory), danach folgen die einzelnen Dateien
3.
Eine Beschreibung der Library-Struktur findet sich hier .

Auch wenn die Programme LU oder NULU alle Werkzeuge zur Bearbeitung mit den Libraries beinhalten, habe ich trotzdem etwas mit den Libraries gespielt. Dabei sind die beiden folgenden Programme entstanden4.

Hier die Quelldateien:
DIRLBR.MAC Dieses Programm zeigt den Inhalt ausgewählter Libraries an.
Mit dem Aufruf
DIRLBR {D}{U}{:}{LBR-Maske} {Datei-Maske}
lassen sich die Inhalte von Library-Dateien anzeigen.
DELBR.MAC Dieses Programm lädt Dateien aus ausgewählten Libraries.
Mit dem Aufruf
DELBR {DU:}LBR-Maske {DU:}{Datei-Maske} {-C}
lassen sich die Dateien von Library-Dateien aus dem Archiv holen.
Die Option -C veranlasst das Programm, jede Extraktion zu bestätigen.
LBREQU.MAC Das Programm sucht nach EQU-Anweisungen in .MAC-Dateien aus ausgewählten Libraries und schreibt diese in der Form
LABEL   EQU     WERT    ; [LBR/MAC-Datei]
in eine Datei.
Mit dem Aufruf
LBREQU LBRfile {EQUfile} {[opt]}
werden gefundene Daten in EQUfile geschrieben.
Die Option A veranlasst das Programm, gefundene Dateien an die Datei EQUfile anzuhängen statt eine neue Datei anzulegen, die Option V protokolliert die gefundenen Dateien.

Archive

Unter CP/M gibt es - neben Kompressionsprogrammen (z.B. Squeeze5, Crunch) - auch Archivprogramme, u.a. ZIP Archiv sind unter CP/M nur lesbar und auch da nur unter Version 1.01.

Ich habe seinerzeit ein Programm geschrieben, dass Directory-Informationen über die oben angeführten Archive ausgibt, ADIR.MAC
1. 1984 wurde LU von Steve Freeman in Pascal geschrieben: LU.PAS
2. Auch NULU habe ich disassembliert. Eine Beschreibung findet sich hier .
3. Mit einem entsprechenden Hilfsprogramm lassen sich Dateien aus einer Library laden und ausführen.
4. Für die Anzeige und das Laden existierten bereits Programme, die ich disassembliert habe, LDIR und LBREXT
5. Das Squeeze-Verfahren wird hier detailliert beschrieben