Heutzutage ist ein Betriebssystem mit grafischer Oberfläche Standard – sei es Linux, MacOS oder Windows. Aber erinnern Sie sich noch an die Zeit vor Windows? Sie denken jetzt vielleicht an MS-DOS, doch auch dieses System hatte mit CP/M einen Vorläufer, der sich unter Linux emulieren lässt.
Kurioses und Interessantes
- Unter CP/M war die Länge der Dateinamen auf acht Buchstaben plus drei für eine Erweiterung beschränkt. Die Nachwirkungen dieser Maßnahme sind noch heute spürbar.
- Die erste CP/M-Version benötigte lediglich 3 KB Hauptspeicher.
CP/M
Gary Kildall entwickelte 1974 ein Betriebssystem für Computer mit dem Intel-Prozessor 8080. Er nannte es Control Program for Microcomputers, kurz CP/M. Für den zunächst schleppenden Vertrieb gründete er eigens die Firma Digital Research. Erst als Diskettenlaufwerke zu einem Massenprodukt wurden und Zilog seinen wesentlich günstigeren 8080-Klon Z80 auf den Markt warf, gingen die Absätze steil nach oben. CP/M wurde so beliebt, dass einige Firmen sogar Z80-Erweiterungen für bestehende Computer vertrieben oder den Prozessor zusätzlich in ihre Heimcomputer einbauten (wie z. B. beim Commodore C128).
Der Schlüssel zum Erfolg von CP/M lag in seinem modularen Aufbau: Nur die als BIOS bezeichnete Schicht musste an die jeweilige Hardware angepasst werden. Der Betriebssystemkern BDOS und die textbasierte Benutzerschnittstelle (CCP, Console Command Processor) konnten unverändert übernommen werden.
Im Laufe der Zeit erschienen nicht nur zahlreiche Programme – darunter Klassiker wie WordStar und die Datenbank dBase –, auch die Vielfalt der CP/M-Versionen wirkt eher verwirrend. Am erfolgreichsten war CP/M 2.2; die letzten 8-Bit-Versionen hörten auf den Namen CP/M 3.0 bzw. CP/M Plus. Später wurde das System als CP/M 86 auch auf Intels ersten 16-Bit-Prozessor 8086 portiert. Letzterer ist übrigens der Großvater aller heutigen Pentium- und Athlon-Prozessoren.
Vorlauf
Für den Betrieb eines Emulators benötigen Sie neben einer Kopie der CP/M-Betriebssystemdiskette nur noch passende Anwendungsprogramme. Sofern Sie im Besitz der Originaldisketten sind, gibt es zwei Möglichkeiten, ihren Inhalt den Emulatoren bekannt zu machen:
- Zum einen können Sie sämtliche Dateien in ein Verzeichnis unter Linux kopieren. Die Emulatoren verhalten sich dann so, als wäre dieses Verzeichnis ein Laufwerk.
- Die andere Möglichkeit besteht darin, eine vorhandene CP/M-Diskette Bit für Bit auszulesen und in ein Disketten-Image zu speichern. Die Emulatoren laden diese Datei ein und simulieren auf diese Weise eine reale Diskette. Leider kann Linux das CP/M-Format nicht von Haus aus lesen. Dankenswerterweise gibt es aber die
cpmtools[2], eine Sammlung von kleinen Programmen, die den Zugriff auf CP/M-Datenträger ermöglichen. Bei einigen Formaten, wie z. B. den 3-Zoll-Disketten für den Schneider/Amstrad CPC, müssen aber auch diecpmtoolspassen.
Leider bringen die Tools keine grafische Oberfläche mit und müssen daher in einem Terminalfenster gestartet werden. Mit cpmls können Sie z. B. das Inhaltsverzeichnis anzeigen, per cpmcp Dateien von und auf einen CP/M-Datenträger kopieren. Die verschiedenen Parameter, die beim Aufruf übergeben werden müssen, sind in den Manpages aufgeführt.



