CP/M-Modus

1 Einleitung

CP/M ist ein Produkt der Firma Digital Research. Die beim Commodore 128 verwendete CP/M Version ist

CP/M Plus Version 3.0.

In diesem Handbuch wird diese Version als CP/M 3.0 oder nur als CP/M bezeichnet. Die Beschreibung bezieht sich hier auf die Anwendung des CP/M beim C128. Detailliertere Auskunft finden Sie im Handbuch für CP/M-Plus, das zusammen mit dem Utility-Programm duch die Ihrer Garantieinformationen anhängenden Bestellkarte angefordert werden kann.

CP/M 3.0 ist ein weit verbreitetes Betriebssystem für Mikrocomputer. CP/M 3.0 steuert und verwaltet alle Computerfunktionen: Speicher, Diskettenlaufwerke, Konsole (Bildschirm und Tastatur), Drucker und andere Peripheriegeräte. CP/M 3.0 verwaltet Diskettendateien und ermöglicht das Kopieren von Dateien in den Speicher oder zu anderen Peripheriegeräten wie z. B. zu einem Drucker. CP/M 3.0 legt verschiedene Programme im Computerspeicher ab und führt sie in Abhängigkeit von den Befehlen, die über die Konsole eingegeben werden, aus.

CP/M kann zum Erstellen eigener Programme oder zum Ausführen einer breiten Palette bereits vorhandener Programme verwendet werden.

1.1 Voraussetzungen zum Betrieb mit CP/M 3.0

Die notwendige Mindeskonfiguration zum Arbeiten unter dem Betriebssystem CP/M 3.0 besteht aus einem Computer mit einem 8080-, 8085- oder Z80-Mikroprozessor, einer Konsole (Tastatur und Bildschirm), einem Diskettenlaufwerk und einer Systemdiskette.

Im Commodore 128 ist der Z80-Mikroprozessor bereits fest eingebaut; als Konsole dienen die volle C128-Tastatur und ein 80-Zeichen Bildschirm; als Diskettenstation kann das neue schnelle Diskettenlaufwerk Commodore 1571 wie auch das Laufwerk 1541, dann allerdings nur mit normaler Lese/Schreib-Geschwindigkeit verwendet werden. Dazu gehören noch zwei Diskette, eine mit dem eigentlichen CP/M-Betriebssystem und einem ausführlichen HELP-Dienstprogramm und eine mit vielen anderen Dienstprogrammen.

1.2 Verwendung eines 40-Zeichen-Bildschirms

Bei der Verwendung eines 40-Zeichen-Bildschirms können nur 40 Zeichen pro Zeile gleichzeitig dargestellt werden. Um alle 80 Zeichen nacheinander zu sehen, muss der Bildschirminhalt horizontal verschoben werden. Dazu wird die CONTROL-Taste in Verbindung mit den entsprechenden Cursortasten (links oder rechts) verwendet.

1.3 Verwendung des Diskettenlaufwerks 1541

Auch dieses Laufwerk kann mit CP/M verwendet werden. Dabei erfolgt der Datentransfer zwischen der Konsole und Laufwerk wesentlich langsamer als mit dem Laufwerk Commodore 1571.

Das Diskettenlaufwerk 1541 kann, im Gegensatz zum Diskettenlaufwerk 1571, die Disketten nur einseitig bearbeiten. Dateien auf mit 1571 beschriebenen Disketten können nur solange bearbeitet werden, wie sie sich auf der ersten Diskettenseite befinden.

Mit beiden Laufwerken können auch Disketten, die mit dem Commodore 64 und seinem Z80-Modul angelegt sind, bearbeitet werden.

1.4 Verwendung anderer Diskettenformate

Um Dateien von anderen Computern bearbeiten zu können, ermöglicht das neue Laufwerk Commodore 1571 auch die Verwendung von Disketten, die mit folgenden Formaten beschrieben sind:

  • Epson QX10 Valdocs
  • Kaypro II
  • Osborne

unter dem Betriebssystem CP/M 80 und

  • IBM PC bzw. Commodore PC10

unter dem Betriebssystem CP/M 86.

Eine Erweiterung um andere Formate ist mit entsprechenden Programmen jederzeit möglich.

Wird eine mit einem fremden Format formatierten Diskette in das Laufwerk 1571 eingelegt, erscheint beim ersten Zugriff auf diese Diskette ein Leuchtbalken in der untersten Bildschirmzeile. In diesem Leuchtbalken erscheint dann die Systembezeichnung des Diskettenformats oder, wenn das Format nicht identifiziert werden kann, das Wort

HTML

Die vom Laufwerk akzeptierten Diskette können dann unter- CP/M 3.0 beliebig gelesen und beschrieben werden. Damit stehen dem direkten Programm- und Datenaustausch mit anderen Systemen keine Hindernisse im Weg.

Nach der Meldung des Fremdformates, muss entweder Return zum einmaligen Zugriff, oder Control Return zum dauernden Zugriff gedrückt werden. Sollte es sich z. B. um eine Diskette Kaypro II handeln, so muss nach der Meldung (Kaypro II) mit der linken oberen Cursortaste Kaypro II angewählt werden.

Die Programmübernahme wird auch dadurch erleichtert, dass die C128-Konsole die Arbeitsweise des Terminals ADM31 bzw. ADM3A emuliert. Die gleiche Emulation finden wir z. B. bei Kaypro II und IV.

2 Starten des CP/M 3.0

2.1 Laden des CP/M 3.0

Unter dem Laden (boot) des CP/M ist ein Kopieren des Betriebssystems von der CP/M-Systemdiskette in den Speicher des Computers zu verstehen.

Dies kann auf verschiedene Arten geschehen. Bei ausgeschaltetem Computer kann man die CP/M-Systemdiskette in das Diskettenlaufwerk einlegen und dann den C128 einschalten. Das CP/M-Betriebssystem wird automatisch geladen. Wenn sich der C128 im BASIC-Modus befindet, können Sie den BASIC-Befehl BOOT zum Laden des CP/M verwenden oder die RESET-Taste drücken. Dabei muss sich die CP/M-Systemdiskette im Laufwerk befinden.

Warning

Wenn Sie eine Diskette in das Laufwerk einlegen, vergewissern Sie sich vor dem Verriegeln des Laufwerks, ob die Diskette bis zum Anschlag eingeschoben ist!

Wenn Sie aus dem C64- in den CP/M-Modus wechseln möchten, müssen Sie zuerst den Computer ausschalten und dann das CP/M wie oben beschrieben laden.

Unter CP/M 3.0 steht auf dem Commodore 128 ein freier Benutzerspeicher (TPA – Transient Program Area) von 59 KByte zur Verfügung.

2.2 Die CP/M-Startmeldung auf dem Bildschirm

Nachdem das CP/M in den Speicher geladen und gestartet wurde, erscheint folgende Meldung auf dem Bildschirm:

Je nachdem, welcher Bildschirm angewählt ist, erscheint anstelle von xx die Zahl 40 oder 80.

Der wichtigste Teil dieser Meldung sind die zwei folgenden Zeichen:

HTML

Das ist die CP/M-System bzw. Bereitschaftsmeldung (system prompt). Diese Meldung signalisiert die Bereitschaft von CP/M zu einer Befehlsübernahme von der Tastatur. Diese Meldung sagt weiterhin aus, dass das Laufwerk A das sog. aktuelle Laufwerk ist. Das bedeutet, dasss bis zu einer anderen Laufwerkseingabe von der Tastatur alls Diskettenoperationen auf dem Laufwerk A durchgeführt werden. Das Fehlen einer Nummernangabe vor dem A bedeutet, dass der Benutzerbereich 0 (USER 0) der aktuelle Benutzerbereich ist.

Unter CP/M wird ein Disketteneinzellaufwerk als Laufwerk A zugeordnet. Das entspricht der Geräteadresse 8, Laufwerk 0 im C128- und C64-Modus. Die maximale Anzahl der tatsächlich angeschlossenen Diskettenlaufwerke beträgt vier. Weiteren Laufwerken sind die Laufwerksbezeichnungen B, C und D zugeordnet. ein virtuelles Laufwerk, das auf dem Einzellaufwerk A ein weiteres Laufwerk emuliert, erhält die Bezeichnung E.

Die CP/M Befehlszeile

CP/M 3.0 steuert die Aktivitäten des Computers in Abhängigkeit von den Befehlen, die Sie über die Tastatur eingeben. Diese Befehle erscheinen auf dem Bildschirm in einer Befehlszeile. Cine CP/M Befehlszeile setzt sich aus einem Befehlsschlüsselwort und aus optionellen Befehlsargumenten zusammen. Das Befehlsschlüsselwort bezeichnet entweder einen residenten CP/M-Befehl (z. B. TYPE, DIR u. a.) oder ein ausführbares Programm auf der Diskette. Das Argument beinhaltet zusätzliche Informationen, z. B. Dateiname oder andere Parameter. nachfolgend ein Beispiel für eine Befehlszeile:

HTML

In diesem Beispiel ist DIR das Befehlsschlüsselwort und TESTDATA das Argument. Um die Befehlszeile an CP/M zu übergeben, muss die RETURN-Taste gedrückt werden. In dieser Anleitung wird das notwendige Drücken der RETURN-Taste mit <CR> dargestellt.

Beim Eingeben eines Zeichens auf der Tastatur erscheint dieses Zeichen gleichzeitig auch auf dem Bildschirm. Der Cursor bewegt sich dabei um eine Stelle nach rechts.Wenn Sie sich vertippen, drücken Sie die INST/DEL-Taste oder CTRL-H, um den Cursor nach links zurückzubewegen, und korrigieren Sie die falsche Eingabe. CTRL ist die Abkürzung für die CONTROL-Taste. Um ein Controlzeichen einzugeben, muss die CTRL-Taste gedrückt gehalten und gleichzeitig die entsprechende andere Taste betätigt werden. Manchmal wird für CONTROL auch die Abkürzung ⬆ (Pfeil nach oben), z. B. ⬆Z für CTRL-Z, verwendet.

Eine Übersicht der Control-Zeichen und deren Verwendung ist im Abschnitt 5 abgebildet.

Alle Eingaben in der Befehlszeile können in kleinen bzw. großen Buchstaben erfolgen. CP/M interpretiert alle Zeichen in der Befehlszeile als großgeschrieben.

Die Eingabe in die Befehlszeile sollte unmittelbar nach der Bereitschaftsmeldung erfolgen, obwohl CP/M 3.0 auch Leerstellen zwischen der Bereitschaftsmeldung und Befehlswort toleriert.

2.4 Die Befehlsarten

CP/M 3.0 unterscheidet zwei verschiedene Befehlsarten: interne bzw. residente (built-in commands) und externe bzw. tarnsiente Befehle( Dienst- und andere Programme).

Residente Befehle veranlassen die Ausführung von Programmen, die fest im Speicher als Teil des CP/M verankert sind. Diese Befehle können jederzeit ausgeführt werden, da dazu keine Diskettendateien notwendig sind.

Transiente Programme sind als Programmdateien auf Disketten gespeichert. Sie müssen zuerst von der Diskette geladen werden, bevor sie ausgeführt werden können. Diese Programmdateien sind duch die Typenbezeichnung COM gekennzeichnet.

Bei den transienten Befehlen wird nur das Befehlsschlüsselwort von CP/M interpretiert und die entsprechende Datei von der Diskette geladen. Die Argumente werden durch CP/M nicht überprüft, sondern direkt für die Programme in einem Puffer abgelegt. Eine Befehlszeile darf nicht länger als 128 Zeichen sein.

2.5 Verarbeitung einer Befehlszeile durch CP/M

Nehmen wir den DIR-Befehl, um zu sehen, wie CP/M eine Befehlszeile interpretiert. DIR, das eine Abkürzung für ‘directory’ darstellt, veranlasst CP/M, ein Verzeichnis der Diskettendateien auf dem Bildschirm anzuzeigen. Der Befehl DIR wird direkt nach der Systemmeldung eingegeben und mit RETURN agbeschlossen.

HTML

CP/M reagiert auf diesen Befehl mit der Anzeige der Namen aller Dateiein, die auf der Diskette im Laufwerk A gespeichert sind. Wenn sich beispielsweise die CP/M-Systemdiskette im Laufwerk A befindet, wird folgendes auf dem Bildschirm angezeigt:

CP/M erkennt nur korrekt eingegebene Befehlsschlüsselworte. Wenn Sie bei der Eingabe einen Fehler machen und RETURN drücken, ohne den Fehler zu korrigieren, wiederholt CP/M die Befehlszeile und fügt ein Fragezeichen an. Wird z. B. fälschlich anstelle von DIR

HTML

eingegeben, reagiert CP/M wie folgt:

Aud der Diskette im Laufwerk A wird nach der Datei DJR.COM gesucht. Ist diese Datei nicht vorhanden, wird auf dem Bildschirm

HTML

angezeigt.

Dies bedeutet, dass der Befehl DJR vom CP/M nichtt gefunden werden kann. Um einen Tippfehler auszubessern, können Sie die INST/DEL-Taste oder CTRL-H zum Löschen des letzten eingegebenen Zeichens verwenden.

CP/M stellt eine Reihe von CTRL-Zeichen zur Verfügung, die Ihnen beim Editieren der Befehlszeile helfen.

Der Befehl DIR akzeptiert einen Dateinamen als Argument. DIR mit einem Dateinamen als Argument wird dazu verwendet, um zu sehen, ob sich eine bestimmte Datei auf der Diskette befindet. Um z. B. festzustellen, ob sich die Datei TESTDATA auf der Diskette befindet, wird eingegeben:

HTML

CP/M antwortet auf diese Eingabe mit der Anzeige des Dateinamens oder (falls die Datei nicht auf der Diskette vorhanden ist) mit der Meldung:

HTML

Zwischen dem Befehlswort und dem Argument muss eine Leerstelle ausgelassen werden. Wird diese Leerstelle nicht eingegeben, reagiert das CP/M mit einer Fehlermeldung:

HTML

3 CP/M Dateien

Eine der wichtigsten CP/M-Eigenschaften ist der Verwalten und Bearbeiten von Dateien auf Disketten. Dateien im CP/M-Modus sind im Prinzip das gleiche wie im C128- oder C64-Modus – nämlich eine Datenmenge. Allerdings werden diese Dateien von CP/M anders als in den anderen Modi behandelt. Dieser Abschnitt macht Sie mit zwei Arten von Dateien bekannt; Sie werden lernen, wie man Dateien erstellt, benennt und bearbeitet und welche Dateien auf Ihren CP/M-Disketten abgespeichert sind.

Wie bereits gesagt, eine CP/M-Datei ist eine Menge von Daten. Jede Datei muss einen eindeutigen Namen haben, damit sie von CP/M erkannt wird. Auch ein Inhaltsverzeichnis (directory) ist auf jeder Diskette abgespeichert. In diesem Inaltsverzeichnis sind die Namen aller Dateien und deren Lage auf der Diskette festgehalten.

3.1 Zwei Arten von CP/M-Dateien

Programmdateien und Datendateien.

In einer Programmdatei sind ausführbare Befehle abespeichert, die vom Computer schrittweise abgearbeitet werden können. Eine Datendatei beinhaltet verschiedene Informationen, z. B. ein Namens- oder ein Adressverzeichnis oder einen Text. Die Datendateien können selbst nicht ausgeführt, sondern nur von Programmdateien verarbeitet werden.

3.2 Erstellen einer Datei

Es gibt verschiedene Möglichkeiten, um CP/M-Dateien zu erstellen. Beispielsweise könnte der CP/M-Texteditor ED dazu verwendet werden, um Dateien zu erstellen und zu benennen. Sie können auch eine Datei erstellen, indem Sie eine bereits existierende Datei an eine andere Stelle kopieren; dabei kann auch der Name der Datei geändert werden. Unter CP/M kann dazu das Programm PIP verwendet werden. Auch andere Programme, z. B. MAC, der CP/M 3.0-Assembler, erzeugen Ausgabedateien, und diese können wiederum als Eingabedateien für andere Programme verwendet werden.

Die ED– und PIP-Befehle sind, zusammen mit anderen CP/M-Befehlen, ausführlich im Teil 9 aufgeführt.

3.3 Die Dateibezeichnung

CP/M erkennt jede Datei an ihrer eindeutigen Bezeichnung. Für die Dateibezeichnung werden folgende Teile verwendet:

  • die Laufwerksbezeichnung
  • der Dateiname
  • die Typbezeichnung
  • das Passwort

Unbedingt erforderlich ist die Angabe des Dateinamens; alle anderen Bestandteile der Dateibezeichnung können, müssen aber nicht unbedingt angegeben werden.

3.4 Die Laufwerksbezeichnung

Die Laufwerksbezeichnung besteht aus einem Buchstaben (A – E) mit einem nachfolgenden Doppelpunkt. Jedem CP/M-Diskettenlaufwerk ist ein Buchstabe zugeordnet. Wenn Sie die Laufwerksbezeichnung als Teil der Dateibezeichnung angeben, sucht CP/M auf diesem Laufwerk nach der angegebenen Datei.

Wenn Sie z. B.:

HTML

eingegeben, wird auf dem Diskettelaufwerk B nach der Datei TESTDATA gesucht. Ohne Angabe der Laufwerksbezeichnung wird auf dem aktuellen Laufwerk (in der Regel A) nach der Datei gesucht.

3.5 Der Dateiname

Ein Dateiname kann bis zu 8 Zeichen lang sein. Eine Dateibezeichnung kann im einfachsten Fall nur aus einem Dateinamen bestehen.

Der Dateiname sollte so gewählt werden, dass man aus ihm auf den Inhalt der Datei schließen kann. Wenn Sie beispielsweise ein Kundenverzeichnis erstellen, können Sie als Namen dieser Datei

HTML

wählen, so dass Sie schon an dem Dateinamen den Inhalt der Datei erkennen.

3.6 Die Typbezeichnung

Um Dateien, die ähnliche Strukturen aufweisen, auch bei unterschiedlichen Dateinamen zusammenfassen zu können, lässt sich wahlweise eine Typbezeichnung an den Dateinamen anhängen. Diese Typbezeichnung kann bis zu 3 Zeichen lang sein und wird vom eigentlichen Dateinamen mit einem Punkt (.) abgetrennt. Auch bei der Wahl dieser Typbezeichnung sollte die Bezeichnung in einem Zusammenhang mit der Art der Datei suchen.

Unser Kundennamensverzeichnis könnte beispielsweise diese Bezeichnung bekommen:

HTML

Bei der Anzeige von Dateibezeichnungen durch CP/M werden kurze Dateinamen mit Leerzeichen auf acht Stellen aufgefüllt, so dass ein Vergleich der Typenbezeichnungen schnell erfolgen kann.

Die Programmdateien, die vom CP/M in den Speicher geladen werden und ausgeführt werden, sind immer durch die Typenbezeichnung COM gekennzeichnet.

3.7 Das Passwort

Bei CP/M 3.0 auf dem Commodore 128 kann ein Passwort als Teil der Dateibezeichnung definiert werden. Das Passwort kann bis zu 8 Zeichen lang sein und wird bei der Eingabe mit einem Semikolon von der vorangestellten Dateibezeichnung getrennt:

HTML

Das Passwort kann wahlweise eingegeben werden. Allerdings muss dieses Passwort als Teil der Dateibezeichnung immer eingegeben werden, wenn der Zugriff auf eine Datei mit einem Passwort geschützt ist.

Beispiel einer vollständigen Dateibezeichnung:

HTML

3.8 Dateispezifikation ‘dateispez’

Als ‘dateispez’ (Dateispezifikation) wird jede zuöässige Kombination der 4 Teile der Dateibezeichnung akgekürzt. Alle Teile müssen mit ihren passenden Trennzeichen getrennt werden.

Zulässige Kombinationen für CP/M-Dateibezeichnungen sind:

  • Dateiname
  • Laufwerksbezeichnung:Dateiname
  • Dateiname.Typbezeichnung
  • Laufwerksbezeichnung:Dateiname.Typbezeichnung
  • Dateiname;Passwort
  • Laufwerksbezeichnung:Dateiname;Passwort
  • Dateiname.Typbezeichnung;Passwort
  • Laufwerksbezeichnung:Dateiname.Typbezeichnung;Passwort

3.9 Benutzerbereich (User)

CP/M kann die Dateien auch einem Benutzerbereich (User 0-15) zuordnen. Mit der Benutzerbereichsnummern (User-Nummern) können Dateien in 16 verschiedene Bereiche eingeteilt werden. Die Benutzerbereichsnummer wird der Datei bei deren Erstellung zugeordnet.

Die Benutzerbereichsnummer wird immer der CP/M-Bereitschaftsmeldung vorangestellt (mit Ausnahme der Nummer 0). Der Benutzerbereich 0 ist der voreingestellte Bereich, seine Nummer wird bei Bereitschaftsmeldung nicht angezeigt. Nachfolgend einige Beispiele für die Anzeige der Benutzerbereiche und deren Bedeutung:

HTML

Zum Ändern des aktuellen Benutzerbereichs kann der interne Befehl USER verwendet werden:

HTML

Sie können auch gleichzeitig den Benutzerbereich und das aktuelle Laufwerk ändern, indem Sie beides gleichzeitig eingeben:

HTML

Die meisten Befehle haben nur auf die Dateien Zugriff, die dem aktuellen Benutzerbereich zugeordnet sind. Allerdings kann man aus allen Benutzerbereichen auf die Dateien zugreifen, die dem Benutzerbereich 0 zugeordnet und mit dem SYS-Attribut gekennzeichnet sind.

3.10 Platzhalter beim Zugriff auf mehrere Dateien

Jeder interne oder transiente CP/M-Befehl kann sich auf mehrere Dateien beziehen, wenn im Dateinamen oder der Typenbezeichnung besondere Platzhalterzeichen verwendet werden.

Ein Platzhalter ist ein Zeichen, das anstelle einer anderen zulässigen Zeichen verwendet werden kann. CP/M verwendet den Stern (*) und das Fragezeichen (?) als Platzhalter. Wird z. B: das Fragezeichen (?) als drittes Zeichen in einem Dateinamen eingesetzt, wird von CP/M an dieser Stelle jedes beliebige Zeichen akzeptiert. Ein * veranlasst CP/M, den Dateinamen oder die Typbezeichnung von der Stelle, an der er eingesetzt wird, mit ? aufzufüllen. Mit der Dateibezeichnung, die den Platzhalter beinhaltet, kann CP/M entsprechend den Vorgaben auf mehrere Dateien zugreifen. Wenn z. B. folgendes eingegeben wird:

HTML

ordnet CP/M alle Dateien, die im Dateinamen auf TAX enden und die Typbezeichnung LIB haben, dieser Dateibezeichnung zu. Anstelle der ersten fünf Zeichen können beliebige Zeichen stehen.

3.11 Reservierte Zeichen

Die Zeichen, die in der folgenden Tabelle aufgeführt sind, haben unter CP/M eine besondere Bedeutung und dürfen nicht als Bestandteil der Dateibezeichnung verwendet werden.

ZeichenBedeutung
<=,!|>[]
TAB CR
LEERST.
Befehlszeile – Trennzeichen
:Laufwerksbezeichnung – Trennzeichen
.Typbezeichnung – Trennzeichen
;Passwort – Trennzeichen oder Kommentar- Trennzeichen am Anfang der Befehlszeile
*?Platzhalter
[]Befehlsargumente – Trennzeichen für golbale und lokale Optionen
/$Weitere Trennzeichen in der Befehlszeile
<>$!|\+-Weitere Trennzeichen

3.12 Reservierte Typbezeichnung

Unter CP/M 3.0 sind mehrere Dateitypen bestimmten Programmen bereits fest zugeordnet. In der nachfolgenden Tabelle werden sie aufgelistet und kurz beschrieben.

TypBedeutung
ASMQuelldatei für Assembler ASM
BASBASIC Programm
COMAusführbare Programmdatei
HEXAusgabedatei von MAC (für HEXCOM)
HLPHELP-Datei
$$$Zwischendatei (temporär)
PRNPrintdatei von MAC oder RMAC
RELAusgabedatei von RMAC (für LINK)
SUBBefehlsliste für SUBMIT
SYMSymboldatei von MAC, RMAC oder LINK

4 Kopieren der CP/M-Disketten und -Dateien

Kopien (backups) der CP/M-Disketten können mit einem oder mit zwei Diskettenlaufwerken angefertigt werden. Die Diskette, auf welche übertragen wird, kann eine neue oder bereits benutzte Diskette sein. Diese Diskette muss vor dem eigentlichen Kopiervorgang bereits formatiert sein. Dazu muss ein geeignetes Formatierungsprogramm verwendet werden. Auf der Diskette mit den Dienstprogrammen befindet sich hierzu das Programm FORMAT.COM. Mit diesem Programm wird auch der CP/M-Systembootsektor auf die neu formatierte Diskette übertragen.

Nach dem FORMAT-Aufruf erscheint auf dem Bildschirm die Meldung:

Mit den Cursortasten wird ein inverser Zeiger in die Zeile mit der gewünschten Formatbezeichnung bewegt und die RETURN-Taste gedrückt. Dann erscheint:

Nach dem Einlegen der zu formatierenden Diskette im Laufwerk A muss die $-Taste gedrückt werden. Es erscheint:

Beim Eingeben von N wird mit der Meldung

HTML

das FORMAT-Programm beendet.

Alle anderen Dateien, auch die Systemdateien CPM+-SYS und CCP.COM, können mit dem Dienstprogramm kopiert werden.

4.1 Kopieren mit einem Diskettenlaufwerk

Disketteninhalte können von einer auf eine andere Diskette auch mit nur einem Diskettenlaufwerk (1541 oder 1571) übertragen werden. Dazu wird das Dienstprogramm PIP verwendet. Das Format für die PIP-Befehlseingaben kann mit dem HELP-Befehl:

HTML

auf dem Bildschirm angezeigt werden. Als Quelllauffwerk wird das Laufwerk A und als Ziellaufwerk E eingegeben. Das Laufwerk E ist ein virtuelles Laufwerk – das bedeutet, dass dieses Laufwerk nicht als Teil der Hardware existiert. Während des Kopierens werden Sie aufgefordert, die Quelldiskette herauszunehmen und eine Zieldiskette einzulegen. Diese Aufforderung wird je nach Länge der kopierten Dateien mehrmals wiederholt.

Wird mit PIP eine ganze Diskette kopiert, so muss beachtet werden, dass Files, die eine andere Extension als COM haben, auf jeden Fall die Option O für Objektcode bekommen müssen: PIP b:=a*.* ÄoÜ (ä, ü bei deutschem Zeichensatz, statt rechteckiger Klammer).

4.2 Kopieren mit zwei Diskettenlaufwerken

Mit zwei Laufwerken kann das Kopieren bequemer und schneller als nur einem Laufwerk durchgeführt werden. Die Laufwerke haben in der Regel die Bezeichnung A und B.

Um die CP/M-Systemdateien zu kopieren, wird das PIP-Programm aufgerufen:

HTML

Jetzt wird z. B. eingegeben:

HTML

und während des Kopierens erscheint nacheinander:

HTML

Anschließend können noch andere Dateien übertragen oder das PIP-Programm mit CTRL-C beendet werden.

5 Steuern der Ein- und Ausgaben

5.1 Steuern der Konsolenausgabe

Die Anzeige von Informationen auf dem Bildschirm erfolgt oft schnell. dass nicht mitgelesen werden kann. Um dem System mitzuteilen, dass die Ausgabe angehalten werden soll, drücken Sie die CTRL-Taste und gleichzeitig die Taste S. Das CTRL-S-Zeichen bewirkt ein Anhalten der Ausgabe. Die Ausgabe wird fortgesetzt, indem CTRL-Q gedrückt wird. Auch das Drücken der NO SCROLL-Taste hält die Ausgabe an. In der untersten Zeile (25) erscheint invers eine PAUSE-Anzeige. Bei wiederholten Drücken der NO SCROLL-Taste wird die Ausgabe wieder fortgesetzt. Wird während der Pause eine andere Taste als CTRL-Q oder NO SCROLL betätigt, ertönt ein Piepton.

Einige CP/M-Programme (z. B. DIR oder TYPE) verwenden automatische seitenweise Ausgabe (paging) auf der Konsole. Das bedeutet, dass bei einer längeren Ausgabe, als ein Bildschirminhalt fassen kann, die Ausgabe bei gefülltem Bildschirm selbstständig angehalten wird. Wenn dies geschieht, erscheint in der untersten Zeile die Aufforderung:

HTML

Erst dann wird die Ausgabe wieder fortgesetzt. Diese Option kann mit dem SETDEF-Befehl ein- oder ausgeschaltet werden.

5.2 Steuern der Ausgabe auf dem Drucker

Mit einem CTRL-Zeichen kann die Konsolenausgabe auch parallel auf einen Drucker geleitet werden (printer echo). Um die gleichzeitige Ausgabe auf den Drucker zu starten, wird CTRL-P eingegeben. Dabei ertönt ein Piepton.

Beendet wir die Druckerausgabe durch erneute Eingabe von CTRL-P. Bei eingeschalteter Druckerausgabe wird jedes Zeichen, das auf dem Bildschirm erscheint, auch auf dem Drucker ausgedruckt. Bei nichtbereitem Drucker wird auch die Bildschirmausgabe solange blockiert, bis der Drucker wieder bereit ist.

Zum Erstellen einer Liste der Dateien, die aich auf einer Diskette befinden, kann der Befehl DIR mit nachfolgender Eingabe von CTRL-P (vor dem RETURN) verwendet werden.

Auch bei der Druckerausgabe können die Zeichen CTRL-S, CTRL-Q und die Taste NO SCROLL verwendet werden, um die Ausgabe zu steuern. Soll ein Teil nicht mit ausgedruckt werden, wird die Ausgabe mit CTRL-S gestoppt, die Druckerausgabe mit CTRL-P abgeschaltet und die Bildschirmausgabe mit CTRL-Q fortgesetzt. Dabei können die Zeichen CTRL-P, CTRL-S und CTRL-Q beliebig kombiniert werden.

5.3 Zeileneditierung auf der Konsole

Wie bereits erwähnt, können Sie einfache Tippfehler mit den Tasten INST/DEL bzw. CTRL-H korrigieren. CP/M stellt außerdem noch andere Editierfunktionen in Form von CTRL-Zeichen zur Verfügung. Mit diesen CTRL-Zeichen können CP/M-Befehlszeilen anderer Programme editiert werden.

5.4 CTRL-Zeichen zum Editieren

Bei der Verwendung von CTRL-Zeichen, die in der Tabelle aufgeführt sind, können Sie den Cursor nach links und rechts zum Einfügen oder Löschen von Zeichen in der Mitte der editierten Zeile bewegen. Das bedeutet, dass Sie die Zeichen, die rechts von der korrigierten Stelle stehen, nicht neu eintippen müssen.

Im folgenden Beispiel wird gezeigt, wie eine falsche Eingabe von PIP korrigiert werden kann:

HTML

Nach der Korrektur kann die RETURN-Taste gedrückt werden, auch wenn der Cursor noch in der Mitte der Zeile platziert ist. Der RETURN-Befehl veranlasst nicht nur die Ausführung der Befehlszeile, sondern speichert die Zeile auch in einen Puffer, so dass sie mit CTRL-W wieder aufgerufen werden kann.

Wenn Sie ein Zeichen in die Mitte der Befehlszeile einfügen, bewegen sich alle Zeichen rechts vom Cursor weiter nach rechts. Wird die Zeile länger als die Bildschirmbreite, verschwinden die Zeichen auf der rechten Bildschirmseite aus dem Bild. Diese Zeichen sind aber nicht gelöscht. Sie werden wieder angezeigt, wenn Sie Zeichen in der Zeile löschen oder CTRL-E drücken, sobald sich der Cursor in der Mitte der Zeile befindet. Mit CTRL-E werden alle Zeichen rechts vom Cursor in die nächste Bildschirmzeile bewegt.

ZeichenBedeutung
CTRL-ABewegt den Cursor eine Stelle nach links.
CTRL-BBewegt den Cursor an den Anfang der Befehlszeile, ohne in der Zeile eine Veränderung hervorzurufen. Wenn sich der Cursor am Anfang der Zeile befindet, wird er mit CTRL-B auf das Zeilenende bewegt, usw.
CTRL-CUnterbricht den Programmablauf und setzt die Laufwerksparameter zurück.
CTRL-EBewirkt einen Zeilenvorschub ohne den Befehl an CP/M zu übergeben. Bewegt den Cursor an den Anfang der nächsten Zeile, ohne die bisherigen Eingaben zu löschen.
CTRL-FBewegt den Cursor um eine Stelle nach rechts.
CTRL-GLöscht das Zeichen unter dem Cursor. Der Cursor wird dabei nicht bewegt. Die Zeichen rechts vom Cursor werden um eine Stelle nach links bewegt.
CTRL-HLöscht das Zeichen links vom Cursor und bewegt den Cursor um eine Stelle nach links. Die Zeichen rechts vom Cursor werden um eine Stelle nach links verschoben.
CTRL-IBewegt den Cursor zur nächste TAB-Marke. Die TAB-Marken sind automatisch auf jede achte Stelle gesetzt. Hat die gleiche Funktion wie die TAB-Taste.
CTRL-JÜbergibt die Befehlszeile an CP/M und setzt den Cursor an den Anfang der nächsten Zeile. Hat die gleiche Funktion wie die RETURN-Taste oder CTRL-M.
CTRL-KLöscht alle Zeichen rechts vom Cursor.
CTRL-Mbergibt die Befehlszeile an CP/M und setzt den Cursor an den Anfang der nächsten Zeile. Hat die gleiche Funktion wie die RETURN-Taste oder CTRL-J.
CTRL-PSchaltet parallel zur Bildschirmausgabe auch die Druckerausgabe ein.
CTRL-QDie Bildschirmausgabe wird fortgesetzt.
CTRL-RWiederholt die Befehlszeile bis zum Cursor in der nächsten Zeile. An der Cursorposition erscheint ein #-Zeichen, und der Cursor wird um eine Zeile in derselben Spalte nach unten bewegt.
CTRL-SDie Bildschirmausgabe wird so lange angehalten, bis CTRL-Q eingegeben wird.
CTRL-ULöscht alle Zeichen in der Befehlszeile, setzt ein #-Zeichen an die Cursor-Position und bewegt den Cursor in die nächste Zeile. Mit CTRL-W können alle Zeichen, die links neben dem Cursor in der alten Zeile gestanden haben, in einer neuen Zeile wiederholt werden.
CTRL-WWiederholt die letzte ausgeführte Befehlszeile, ohne sie an CP/M zu übergeben. Der Cursor muss dabei am Anfang der Befehlszeile stehem, sonst wird CTRL-W nicht ausgeführt. Wiederholt wird die letzte mit CTRL-J, CTRL-M, CTRL-U oder RETURN abgeschlossene Zeile. Wenn sich in der Befehlszeile bereits Zeichen befinden, wird mit CTRL-W der Cursor lediglich an das Ende der Zeile bewegt. Mit wird die wiederholte Zeile an CP/M übergeben.
CTRL-XLöscht alle Zeichen links vom Cursor und bewegt den Cursor an den Anfang der Zeile. Alle Zeichen rechts vom Cursor werden ab Zeilenanfang kopiert.
CTRL-ZDateiendezeichen.

6 Arbeiten unter CP/M

6.1 Umleitung von Eingaben und Ausgaben

Der Befehl PUT ermöglicht es, die Ausgabe auf den Bildschirm oder auf den Drucker in eine Diskettendatei umzuleiten. Der GET-Befehl wird dazu verwendet, die Konsoleneingabe für CP/M oder ein Programm anstelle von der Konsole aus einer Diskettendatei vorzunehmen. Die nachfolgenden Beispiele zeigen einige Möglichkeiten, die sich hinter GET und PUT verbergen.

PUT wird verwendet, um die Ausgabe von der Konsole in eine Diskettendatei so umzuleiten, als ob es die Konsole wäre. Mit PUT kann z. B. eine Diskettendatei erstellt werden, in der das Inhaltsverzeichnis der Diskette so gespeichert wird, wie es sonst auf dem Bildschirm ausgegeben wird.

Der GET-Befehl ermöglicht die Verarbeitung von Dateien, die normalerweise über die Tastatur eingegeben werden, aus einer Diskettendatei. Wird diese Datei von CP/M gelesen, muss sie aus normalen CP/M-Befehlen zusammengesetzt sein.

Wenn die Diskettendatei einem Programm als Eingabe dienen soll, muss sie sich aus den vom jeweiligen Programm lesbaren Befehlen und Daten zusammensetzen. Die Eingabedatei darf sowohl CP/M-Befehle als auch Programmeingaben beinhalten.

6.2 Zuordnung logischer Einheiten

Die minimale Commodore-128-CP/M 3.0-Hardware-Konfiguration besteht aus dem Rechner mit Tastatur, Bildschirm und einem Diskettenlaufwerk. Sie können auch andere Einheiten an ihr System anschließen, z. B. einen Drucker oder ein Modem. Die Zuordnung der logischen und physikalischen Einheiten zu den Einheitsnamen sind aus der Tabelle ersichtlich. Sie zeigt gleichzeitig auch die Zuordnung der physikalischen zu den logischen Einheiten beim Commodore 128 an.

Mit dem DEVICE-Befehl kann die Zuordnung geändert werden. AUXIN und AUXOUT können beispielsweise einer seriellen Schnittstelle (6551) zugeordnet werden, an die ein Modem angeschlossen werden kann.

Logischer Name der EinheitEinheiten TypPhsikalische Zuordnung der Einheit
CONIN:KonsoleneingabeKEYS (Tastatur)
CONOUT:Konsolenausgabe80COL oder 40COL (Bildschirm)
AUXIN:Externe Eingabe
AUXOUT:Externe Ausgabe
LST:List AusgabePTR1 oder PTR2 (Drucker)

Bei CP/M auf dem C128 ist eine physikalische Einheit 6551 vorhanden. Diese Einheit emuliert ein ACIA-IC und kann als serielle Schnittstelle verwendet werden.

Durch entsprechende Zuordnung mit dem DEVICE-Befehl kann diese Einheit als Modem- oder Druckeranschluss dienen.

6.3 Suchen von Programmdateien

Wenn ein nicht-residenter Befehl eingegeben wird, sucht CP/M auf dem aktuellen oder angegebenen Laufwerk nach einer Datei mit diesem Namen und dem Dateityp COM. Hierbei wird zuerst im aktuellen Benutzerbereich gesucht und dann im Benutzerbereich 0 nach einer gleichnamigen Datei mit dem SYS-Attribut. Sobald die entsprechende Programmdatei gefunden worden ist, wird der Inhalt dieser Datei in den Speicher (TPA) geladen und das Programm ausgeführt. Nach Ablauf des Programms meldet sich CP/M wieder mit der Bereitschaftsmeldung und erwartet die Eingabe eines weiteren Befehls. Wurde die angegebene Datei nicht gefunden, wiederholt CP/M die Befehlszeile mit einem angehängten ? und wartet ebenfalls auf nächste Befehlseingabe.

6.4 Ausführen von Mehrfachbefehlen

In den bisherigen Beispielen hat CP/M immer nur einen Befehl ausgeführt. CP/M kann aber auch eine Befehlsfolge abarbeiten. Die Befehlsfolge kann entweder in der Befehlszeile eingegeben oder als eine Diskettendatei mit der Typenbezeichnung SUB auf einer Diskette abgespeichert werden. Die in einer SUB-Diskettendatei abgespeicherten Befehlsfolge kann mit dem SUBMIT-Befehl angearbeitet werden.

6.5 Unterbrechen des Programmablaufs

Das Zeichen CTRL-C kann zum Unterbrechen des Programmablaufs oder zum Rücksetzen der Diskettenlaufwerke verwendet werden.

Viele Programme lassen sich in ihrem Ablauf mit der Eingabe von CTRL-C unterbrechen. Nur wenn versucht wird, einen Programmablauf während der Datenausgabe auf den Bildschirm zu unterbrechen, muss zuerst die Ausgabe mit CTRL-S angehalten und erst dann CTRL-C eingegeben werden.

6.6 HELP-Programm

Mit dem transienten Befehl HELP kann man aus einer Hilfsdatei Informationen über die meisten CP/M-Befehle, deren Eingabe und deren Bedienung auf den Bildschim bringen. Um das Programm aufzurufen, genügt es,

HTML

einzugeben. Sie können auch die HELP-Taste drücken und anschließend RETURN bestätigen.

Auf dem Bildschirm erscheint ein Verzeichnis der abrufbaren Informationen:

Um Beispielsweise Informationen zum Programm PIP zu bekommen, geben Sie ein:

HTML

Folgendes wird angezeigt:

Mit HELP kann man schnell benötigte Informationen über die internen und transienten CP/M-Befehle abrufen. Wenn Sie Informationen gezielt abrufen wollen, können Sie den Programmnamen in der Befehlszeile eingeben, und die benötigten Information wird sofort angezeigt:

HTML

Sie können mit dem HELP-Befehl auch die CP/M-Befehlsbeschreibungen durchblättern, um ihre Kenntnisse über CP/M zu vertiefen.

7 Erweiterungen des CP/M 3.0 beim Commodore 128

Beim CP/M 3.0 auf dem Commodore 128 sind dem Betriebssystem einige Erweiterungen zugefügt, die sonst in CP/M nicht enthalten sind. Diese Erweiterungen werden hier im folgenden beschrieben.

7.1 Tastaturerweiterungen

Jeder Taste kann ein anderer Code bzw. andere Bedeutung als ursprünglich zugeordnet werden. Hiervon sind jedoch folgende Tasten ausgenommen:

  • Linke SHIFT-Taste
  • Rechte SHIFT-Taste
  • COMMODORE-Taste
  • CONTROL-Taste
  • RESTORE-Taste
  • 40/80-Taste
  • ASCII/DIN-Taste

Um die Belegung einer Taste zu definieren, gibt es bei CP/M zusätzliche Tastaturfunktionen. Um diese Funktionen aufzurufen, müssen mehrere Tasten gleichzeitig gedrückt werden – zuerst die CTRL- und die rechte SHIFT-Taste und dann nach Bedarf eine der folgenden Tasten:

TasteBedeutung
CURSOR nach LINKSTastenbelegung definieren
CURSOR nach RECHTSFunktionstasten mit String belegen
ALTTasten-Modus umschalten

7.2 Tastenbelegung definieren

Der beim Tastendruck erzeugte Zeichencode kann vom Benutzer umdefiniert werden. Jeder Taste sind, je nach dem, welche Umschalttaste gleichzeitig gedrückt wird, vier mögliche Definitionen zugeordnet: normal, Alpha-Shift, Shift und Control.

Normal-ModusTaste wird nur allein gedrückt.
Alpha-Shift-ModusDie Zuordnung der Tastenbelegung in diesem Modus wird mit der Commodore-Taste ein- und ausgeschaltet. Danach erscheint ein inverses Feld in der untersten Bildschirmzeile. Die erste Taste, die jetzt gedrückt wird, ist die zu definierende Taste. Die bisherige Zuordnung wird als eine Hex-Zahl in dem inversen Feld angezeigt. Durch die Eingabe einer anderen Hex-Zahl kann der Taste die dieser Zahl eintsprechende Zuordnung zugewiesen werden. Nachfolgend eine Übersicht der möglichen Tastenzuordnungen:
CodeBedeutung
00HNull (keine Auswirkung)
01H bis 7FHNormaler ASCII-Code
80H bis 9FHZugewiesene Strings
A0H bis AFH80-Zeichen-Bildschirm: Zeichenfarbe
B0H bis BFH80-Zeichen-Bildschirm: Hintergrundfarbe
C0H bis CFH40-Zeichen-Bildschirm: Zeichenfarbe
D0H bis DFH40-Zeichen-Bildschirm: Hintergrundfarbe
E0H bis EFH40-Zeichen-Bildschirm: Rahmenfarbe
F0HDisk-Status-Anzeige ein- oder ausschalten
F1HPause ein- oder ausschalten
F2HNicht definiert
F3HNicht definiert
F4H40-Zeichen-Bildschirm: horizontal rollen
F5H bis FFHNicht definiert

7.3 Tastenbelegung mit Strings belegen

Diese Funktion ermöglicht es, einer einzigen Taste nicht nur ein Zeichen, sondern auch eine Zeichenfolge (String) zuzuordnen. Die eingegebene Zeichenfolge wird in einem langen inversen Feld in der untersten Bildschirmzeile angezeigt.

Jede gedrückte Taste wird mit ihrer Bedeutung in den String übernommen. Damit können auch CTRL- und andere Steuerungszeichen in den String mit eingegeben werden. Um den Cursor innerhalb der eingegebenen Zeichenfolge zu bewegen und in der Zeile zu editieren, kann wie folgt verfahren werden: Zuerst sind die CTRL- und die rechte SHIFT-Taste gedrückt zu halten und dann gleichzeitig eine der folgenden Tasten zu betätigen:

TasteBedeutung
RETURNString-Definition beenden
+ (obere Reihe)Leerstelle einfügen
– (obere Reihe)Zeichen unter Cursor löschen
CRSR linksCursor nach links
CRSR rechtsCursor nach rechts

7.4 ALT-Modus

Der ALT-Modus kann entweder ein- oder ausgeschaltet werden. Nach dem CP/M-Start ist er ausgeschaltet. Dieser Modus ermöglicht die Aussendung von 8-Bit-Zeichen.

7.5 Der CP/M-Bildschirm

Der CP/M-Bildschirm emuliert ein ADM31-Terminal. In der Tabelle sind die Bildschirmsteuerfunktionen, die auch den Funktionen des älteren ADM3A entsprechen, aufgeführt. Diese Funktionen sind eine Untermenge der ADM31-Funktionen. Die weiteren ADM31-Funktionen sind in den nachfolgenden Tabellen aufgeführt.

FunktionBedeutung
CTRL-GKlingelzeichen
CTRL-HCursor nach links
CTRL-JCursor nach unten
CTRL-KCursor nach oben
CTRL-LCursor nach rechts
CTRL-MCursor an den Zeilenanfang setzen
CTRL-ZCursor Home und Bildschirm löschen
ESC = RCCursor an die Position RC setzen. R bestimmt die Zeile (Leerzeichen bis Ziffer 8) und C die Spalte (Leerzeile bis Buchstabe O) in Bezug auf die linke obere Ecke des Bildschirms.
ESC T oder tLöschen bis Zeilenende
ESC Y oder yLoschen bis Bildschirmende
ESC : oder *Cursor Home und Bildschirm löschen (auch Statuszeile)
ESC QZeichen einfügen
ESC WZeichen löschen
ESC EZeile einfügen
ESC RZeile löschen
ESC ESC ESC Farbe#Setzt die Bildschirmfarbe fest. Die Farbnummern liegen zwischen 0 und 15 und haben folgende Bedeutung:
20H bis 2FHZeichenfarbe
30H bis 3FHHintergrundfarbe
40H bis 4FHRahmenfarbe (nur bei 40 Zeichen)
FunktionBedeutung
ESC >Halbe Intensität
ESC <Volle Intensität
ESC G4Inverse Darstellung
ESC G3Unterstreichen einschalten (keine ADM31 Funktion)
ESC G2Blinken einschalten
ESC G1Alternativen Zeichensatz anwählen (keine ADM31-Funktion)
ESC G0Alle ESC-G-Attribute ausschalten

8 CP/M 3.0-Befehlsübersicht

8.1 Struktur der CP/M-Befehle

Format:A>Befehlsschlüsselwort
Zweck:Eine CP/M-Befehlszeile wird aus einem frei wählbaren Befehlsargument zusammengesetzt und durch Drücken der RTURN-Taste (carriage return , deutsch: Wagenrücklauf) abgeschlossen und damit zur Ausführung an das CP/M-Betriebssystem abgesendet. Ein Befehlsschlüsselwort ist entweder ein residenter CP/M-Befehl oder der Name einer Programmdatei, die geladen und ausgeführt werden soll. Das frei wählbare Befehlsargument kann aus einer Laufwerksangabe, einer oder mehreren Dateiangaben und einigen Optionen oder Parametern bestehen.

8.2 CP/M-Befehlsarten

CP/M unterscheidet zwei Arten von Befehlen, die sog. residenten und die transienten Befehle:

Residente (built-in) Befehle: Interne Befehle, die im CP/M-Betriebssystem implementiert und immer abrufbar sind.

Transiente (externe) Befehle: Programme, die von der Diskette nachgeladen werden.

CP/M kennt sechs interne und über zwanzig transiente Befehle, die zum Standardlieferumfang von Digital Research gehören. Weitere Dienstprogramme, die unter CP/M lauffähig sind, können mitverwendet werden. Sie können auch mit Hilfe der bereitstehenden CP/M-Dienstprogramme eigene Programme erstellen.

Information

Die Befehle LINK, MAC, RMAC, HEXCOM, SID, XREF, die in diesem Handbuch beschrieben sind, befinden sich nicht auf der mitgelieferten Utility-Diskette.

8.3 Residente Befehle

BefehlBedeutung
DIRZeigt alle Dateinamen im Diskettenverzeichnis mit Ausnahme der mit dem SYS-Attribut markierten Dateien an.
DIRSYSZeigt die Namen der Dateien, die mit SYS-Attribut gekennzeichnet sind, an.
ERASELöscht den angegebenen Dateinamen aus dem Disketteninhaltsverzeichnis und kennzeichnet den belegten Platz wieder als frei.
RENAMEÄndert den Dateinamen.
TYPEZeigt den Inhalt von Textdateien auf dem Bildschirm an.
USERWechselt zwischen verschiedenen Benutzerbereichen.

8.4 Transiente (externe) Befehle

Diese Befehle sind in der nachfolgenden Tabelle aufgelistet. Beim Aufruf dieser Befehle lädt CP/M die entsprechende Programmdatei von der Diskette in den Speicher und stellt alle weiteren Eingaben von der Befehlszeile dem aufgerufenen Programm in einem Puffer zu Verfügung.

Auch einige der internen Befehle existieren in einer erweiterten Form nur als transiente Befehle.

Wir finden hier die Befehle, DIR, ERASE, RENAME und TYPE.

Wenn versucht wird, diese Befehle ohne Eingabe einer Dateispezifikation oder mit einem erweiterten Argument einzugeben, ohne die entsprechende Diskette im aktuellen Laufwerk zu haben, meldet das System

HTML

als Zeichen, dass zum Ausführen diesen Befehls die entsprechende Diskettendatei erforderlich ist und auf der Diskette nicht gefunden werden konnte.

Das Wort BEFEHL steht hier für das entsprechende Befehlswort.

Beispiel:

HTML

erscheint, wenn sich im Laufwerk A keine Diskette mit der Datei RENAME.COM befindet.

BefehlBedeutung
COPYSYSErzeugt eine neue bootfähige Diskette.
DATESetzt oder zeigt Datum Zeit an.
DEVICEOrdnet logische CP/M-Einheiten einer oder mehreren physikalischen Einheiten zu, ändert Baudrate und Übertragungsprotokoll oder setzt die Bildschirmgröße neu.
DIR [o]Zeigt das Disketteninhaltsverzeichnis und die Dateiattribute an.
DUMPZeigt den Inhalt einer Datei im ASCII- und Hexadezimalformat an.
EDErstellt und modifiziert Textdateien.
ERASEWird zum löschen von Dateien mit den Platzhaltern * und ? verwendet.
FORMATFormatiert Disketten und erzeugt einen Boot-Sektor.
GETDie Eingabe erfolgt vorübergehend aus einer Diskettendatei anstelle von der Tastatur.
HELPErklärt die CP/M-Befehle und deren Anwendung.
HEXCOMErzeugt aus einer MAC-Ausgabedatei ein lauffähiges Programm.
INITDIRInitialisiert das Disketteninhaltsverzeichnis für die Aufnahme von Zeit- und Datumsmarkierungen.
LIBBearbeitet Bibliotheksdateien der Typbezeichnung LIB.
LINKBindet REL-Programmmodule zu lauffähigen Programmen zusammen.
MACbersetzt Assembler-Quelldateien in Maschinencode.
PATCHModifiziert CP/M-Systemdateien.
PIPKopiert und kombiniert Dateien.
PUTLeitet vorübergehend die Konsolen- oder Druckerausgabe in eine Diskettendatei um.
RENAMEndert den Namen einer Diskettendatei, in Verbindung mit den Platzhalterzeichen auch mehrerer Dateien gleichzeitig.
RMACbersetzt Assembler-Quelldateien in verschiebbare Programmmodule.
SAVEKopiert Speicherinhalte in eine Diskettendatei.
SETSetzt Dateioptionen, Disketten-Labels, Dateiattribute, Datums- und Zeitmarkierungen und den Passwort-Schnutz.
SETDEFSetzt Systemoptionen, auch Laufwerkssuchverkettungen.
SHOWZeigt Disketten und Diskettenlaufwerkseigenschaften an.
SIDTestet Programme und ermöglicht das Auffinden von Programmablauffehlern.
SUBMITFührt automatisch mehrere Befehle aus.
TYPEGibt den Inhalt einer oder mehrerer (bei der Verwendung von * und ?) Testdateien auf dem Bildschirm (und Drucker, wenn angewählt) aus.
XREFErstellt Referenztabellen der ariablen von Assemblerprogrammen.

9 CP/M 3.0-Befehlsbeschreibungen

In den Befehlsbeschreibungen in der Bedienungsanleitung wird folgende Syntax, wie in der folgenden Tabelle aufgeführt, verwendet:

ZeichenBedeutung
{ }Geschweifte Klammern schließen frei wählbare Befehlsteile ein.
|Senkrechter Strich trennt alternative Befehlsteile in einer Befehlszeile voneinander.
Steht für die RETURN-Taste (carriage return).
Steht für die CONTROL-Taste.
nErsetzt eine Zahl.
sErsetzt eine Zeichenkette.
oErsetzt eine Option oder Liste von Optionen.
[ ]Eckige Klammern schließen eine optionsliste ein.
( )Runde Klammern schließen einen Bereich von Optionen innerhalb einer Optionsliste ein.
RWSchreib/Lese-Attribut, d. h. kein Schreibschutz (Read-Write), das gegenteil von RO.
ROSchreibschutzattribut (Read-Only), das Gegenteil von RW:
SYSSystemattribut, das Gegenteil von DIR.
DIRDirectoryattribut (Disketteninhaltsverzeichnis), das Gegenteil von SYS.
. . .Das vorstehende Element kann so oft wiederholt werden, wie es gewünscht ist.
*Jokerzeichen: Dieser Platzhalter ersetzt den ganzen oder einen Teil eines Dateinamen bzw. einer Typenbezeichnung.
?Jokerzeichen: Dieser Platzhalter ersetzt ein beliebiges einzelnes Zeichen an der Stelle in einem Dateinamen bzw. einer Typenbezeichnung, an der es steht.
Datenschutz
Ich, Andreas Hoever (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.
Datenschutz
Ich, Andreas Hoever (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.