» Seitenende

Kapitel 6

Technisches Nachschlagwerk

 

6.1 Definition von Datei-Typen

Das Z3PLUS-Betriebssystem identifiziert die Funktionen gewisser besonderer Dateien durch ihren Dateityp. Diese Typen sind in der unten stehenden Tabelle aufgeführt. ZRL-Files sind besondere, relokatible Dateien, die an jede beliebige Z3PLUS-System Konfiguration anpaßbar sind. Sie können sowohl das Format von SLR Systems (SLR-Ass.) oder das von Microsoft (M80) besitzen. Die Moduln müssen in Übereinstimmung mit der Tabelle benannt werden durch Beifügen einer Zeile im Source-Code mithilfe des "NAME"-Pseudo-Opcodes. Es gibt keine Einschränkungen in Bezug auf die Namen, die für die Dateien selbst verwendet werden können. Zum Zeitpunkt des Ladens bestimmt Z3PLUS die Art des Moduls, das in einer Datei kodiert ist, indem es den darin eingebetteten Namen liest.

DATEI-TYP   INHALT
LBR Library File
Z3P Z3PLUS System Descriptor
Z3T Z3 Terminal Capability Descriptor (TCAP)
NDR Named Directory Register Datei
ZRL Benannter Common Bereich, Z-system ReLozierbar
  Datei mit dem REL-Modulnamen:
  CP3xxx Z3PLUS Kommando Prozessor
  RCPxxx Residentes Kommando-Paket
  FCPxxx Fluß Kommando Paket
  wobei "x" irgendein Zeichen ist

Tabelle der Dateitypen, die das Z3PLUS-System verwendet.

 

6.2 Bei Z3PLUS mitgelieferte Dateien

Viele Dateien sind im Lieferumfang des Z3PLUS-Systems enthalten. Die meisten davon sind in diesem Abschnitt zusammen mit Erklärungen ihrer Funktionen aufgeführt. Beachten Sie die Datei RELEASE.NOT in Bezug auf Informationen über eventuelle Änderungen.

6.2.1 Z3PLUS System-Dateien

Die Dateien, die das Z3PLUS-Produkt bilden, sind in der folgenden Tabelle aufgelistet. Wir möchten Sie daran erinnern, daß diese Dateien durch Copyright geschützt und auf einen einzigen Anwender lizensiert sind. Es ist ungesetzlich, diese Dateien zu kopieren oder an Dritte weiterzugeben. Details hierzu entnehmen Sie bitte dem Copyright-Vermerk am Anfang dieses Handbuchs.

Z3PLUS  .COM 
Z3PLUS Systemlader
Z3PLUS  .LBR
Library der Z3PLUS System Moduln
DEFAULT .Z3P
Default System Deskriptor
DEFAULT .Z3T
Default Terminal Deskriptor (adm3a)
DEFAULT .NDR
Default Benannte Directory Registerdatei
DEFCP3  .ZRL
Default Kommando-Prozessor
DEFRCP  .ZRL
Default Residentes Befehls-Paket
DEFFCP  .ZRL
Default Fluß Kommando-Paket
SMALL   .Z3P
SMALL System Deskriptor
LARGE   .Z3P
LARGE System Deskriptor
LARGERCP.ZRL
RCP für das Large System
TIMECP3 .ZRL
CPR mit Stunde:Minute-Prompt
JETLDR  .COM
Z-System Paket-Lader
Liste der Z3PLUS-Systemdateien.

6.2.2 Tools und Utilities

Viele Dateien, die nicht Teil des Z3PLUS-Systems sind, werden als Zugeständnis an den Anwender mitgeliefert. 1 Einige dieser Dateien sind Public Domain. Andere unterliegen dem Copyright ihrer Autoren oder der ZSIG, der Z-System Interest Group. Für alle gilt jedoch die Erlaubnis der Autoren, diese Dateien zu Kopieren und ohne Berechnung für nichtkommerzielle Zwecke an andere Anwender weiterzugeben. Folgende Dateien unterstützen das TCAP des Z-Systems:

1Deshalb können wir für diese Programme keinen extra Support anbieten.
TCSELECT.COM 
Terminal Deskriptor auswählen
Z3TCAP  .TCP
Database der Terminal-Deskriptoren

Die folgenden Dateien unterstützen Z-System-Aliase:

SALIAS  .COM 
Generiert alleinstehende Aliase
ARUNZ   .COM
Alias Befehls-Prozessor
ALIAS   .CMD
Alias Script-Datei-Beispiel für ARUNZ

Die folgende Datei wird vom FCP verwendet, um erweiterte konditionelle Prüfungen auszuführen:

IF      .COM 
Erweiterter Fluß-Bedingungsprüfer

Die folgenden Utilities definieren oder zeigen diverse Z-System Environment Variablen und System Möglichkeiten:

CPSET   .COM 
definiert und zeigt CRT/PRT Charakteristika
PATH    .COM
setzt und zeigt den Befehls-Suchpfad
(Der Name hat sich von ursprünglich SETPATH.COM geändert.)
ZSHOW   .COM
zeigt Konfigurations-Information an
(Der Name hat sich von ursprünglich SHOW.COM geändert.)
EDITNDR .COM
Editiert NDR im Speicher
(Der Name wurde von ursprünglich EDITND.COM geändert.)
SAVENDR .COM
Speichert Named Directory Register in Datei

Folgende Programme sind Utilities von allgemeinem Interesse:

FF      .COM 
File Finder
CRUNCH  .COM
Datei-Kompressor Tool
UNCRUNCH.COM
Datei-Dekompressor Tool

Folgende Programme unterstützen Library Files:

LDIR    .COM 
Library DIRectory Programm
LGET    .COM
Library Extraktor
LPUT    .COM
Library Datei-Inserter
VLU     .COM
Video-orientiertes Library Utility
LX      .COM
Library-Programm Exekutor

Die folgenden Dateien gehören zur Gruppe der Shells und Error Handler:

ZF-REV  .COM 
ZFILER Shell für Reverse-Video Terminals
ZF-DIM  .COM
ZFILER Shell für Dim-Video Terminals
ZFILER  .CMD
Macro Script File für ZFILER
LSH     .COM
Befehls-History-LOG-Shell
ZERRLSH .COM
Error Handler, der mit LSH zusammenarbeitet

Folgende Dateien unterstützen die Z-System Help-Einrichtung:

ZHELP   .COM 
Zeigt Help-Dateien menügesteuert an
(Der Name hat sich vom ursprünglichen HELP.COM geändert.)
xxx     .HLP
diverse Help-Menü-Dateien

Die folgenden Programme sind Transiente "type-4"-Programme (siehe Abschnitt 3.2.4), die am obersten Ende der verfügbaren TPA ablaufen und den unteren Teil nicht berühren. Diese sind besonders nützlich in einem "Minimum"-System, wo transiente Programme für Funktionen verwendet werden, die normalerweise durch RCP-Befehle ausgeführt werden. Zur Verwendung benennen Sie diese einfach um, indem Sie das vorangestellte TY4 weglassen.

TY4SP   .COM 
Freien Diskettenspeicher anzeigen
TY4SAVE .COM
Speicherbereich in Datei schreiben
TY4REN  .COM
Rename -- Umbenennen
TY4ERA  .COM
Erase -- Löschen

Es gibt verschiedene Wege, an die geballte Ladung der stets expandierenden Z-System User-Group Dateien zu gelangen. Die Telefonnummern der Z-Node Mailboxen sind aufgeführt in:

ZNODES  .LST

Eine Gruppe von Personen hat sich bereitgefunden, anderen bei der Installation und Anwendung von Z-Systemen zu helfen. Ihre Namen, Adressen und Telefonnummern sind in der Datei

ZHELPERS.LST

aufgeführt.

 

6.3 Z3PLUS Befehls-Zeilen

6.3.1 Help Seiten

Eine eingebaute Help-Seite für die Syntax der Z3PLUS Befehle wird angezeigt durch Eingabe von:

Z3PLUS //<cr>
Z3PLUS ?<cr>

Diese Hilfs-Seiten geben auch Auskunft über die Konfiguration der Quiet-Option und des System-Directorys (siehe unten).

6.3.2 Laden des Default-Systems

Es gibt drei Default-Systeme im Lieferumfang von Z3PLUS. Sie werden durch folgende Befehls-Zeile geladen:

Z3PLUS<cr>
Z3PLUS ON<cr>
Z3PLUS LARGE<cr>
Z3PLUS SMALL<cr>

Die ersten zwei Formen laden das "Standard" Default system. Die anderen Formen laden das LARGE- und das SMALL- Default-System.

Options-Schalter, wie "/Q" oder "/V" können ans Ende einer Befehlszeile gepackt werden, um "Quiet" oder "Verbose" Modus zu wählen. Im Verbose-Modus zeigt das Z3PLUS eine ganze Seite Information über das ladende System an. Im Quiet-Modus wird diese Ausgabe unterdrückt. Die eingebaute Hilfe-Seite von Z3PLUS.COM zeigt an, welcher dieser zwei Modi benutzt wird, wenn keine Optionin der Befehls-Zeile angegeben ist.

Die System Moduln werden aus der Library-Datei Z3PLUS.LBR geladen, die in einem speziellen Verzeichnis, dem "System Directory" stehen muß. In der Lieferversion des Z3PLUS.COM ist dies das Directory A0:. Siehe Abschnitt 6.5 wegen Information, wie man das ändern kann. Das momentan konfigurierte System Directory wird von der Z3PLUS Help-Seite angezeigt.

Das Standard Default-System braucht 6.88K Speicher und lädt die folgenden Moduln aus Z3PLUS.LBR:

DEFAULT .Z3P 
System-Deskriptor
DEFCP3  .ZRL
Kommando-Prozessor
DEFRCP  .ZRL
Residentes Befehls-Paket
DEFFCP  .ZRL
Fluß -Befehls-Paket
DEFAULT .Z3T
Terminal Deskriptor
DEFAULT .NDR
Benannte Directory Zuweisungen

Das LARGE System braucht 7.38K Speicher. Die gleichen Moduln wie beim Standard System werden geladen, außer:

LARGE   .Z3P 
statt DEFAULT.Z3P
LARGERCP.ZRL
statt DEFRCP.ZRL

Das SMALL System hat keine Puffer für RCP, FCP oder NDR und benötigt nur 4K. Das Laden der Moduln weicht auf folgende Weise vom Standard ab:

SMALL   .Z3P 
statt DEFAULT.Z3P
DEFRCP  .ZRL
DEFFCP .ZRL
DEFAULT .NDR
werden nicht geladen

6.3.3 Das Entfernen von Z3PLUS

Das Z3PLUS Betriebssystem kann aus dem System entfernt und das CP/M-Plus Betriebssystem wiederhergestellt werden durch Eingabe des Befehls:

Z3PLUS OFF<cr>

6.3.4 Das Laden spezifischer System-Moduln

Z3PLUS kann nicht nur zum Laden ganzer Betriebssysteme, sondern auch zum Laden spezifischer System-Moduln verwendet werden. Diese Modul können entweder individuelle Dateien oder Teile von Library-Dateien sein. Mehrere Moduln können gleichzeitig geladen werden. Die folgenden Befehlsformen werden verwendet:

Z3PLUS Dateiliste [/Option]<cr>
Z3PLUS Lbrfile LBR-Dateiliste [/Option]<cr>

Dabei bedeutet "Dateiliste" eine Liste mit einem oder mehreren Dateinamen, alle in der Form

[dir:]name.typ

Der Ausdruck "Lbrfile" hat die Form

[DIR:]lbrname[.LBR]

"LBR-Dateiliste" schließlich, ist die Liste einer oder mehrerer Dateien, die in der bezeichneten Library enthalten sind. Das Format für einen solchen "Member"-Dateinamen ist gleich mit den Namen in "Dateiliste", außer daß naturgemäß keine Directoryangabe dabeistehen kann.

Zwei beliebige Dateinamen können in einer Befehlszeile entweder durch Leerzeichen, Kommata oder beides getrennt werden. Die Options-Schalter /Q und /V können bei diesen Befehlen ebenfalls eingesetzt werden.

Directories können für jede einzelne Datei in der ersten Form und für die Library-Datei in der zweiten Form angegeben werden. Wann immer es keine expliziten Directory-Angaben für eine Datei gibt, wird das System Directory (siehe Abschnitt 6.3.2) verwendet. Wenn Directories angegeben sind, können diese immer die Form DU:, (also Laufwerksbuchstabe + Usernummer) haben. Ist ein Z3PLUS-System aktiv, kann auch die Form DIR: (Benanntes Directory) verwendet werden.

Der Dateityp LBR ist optional in der zweiten Form. Wenn bei der ersten Datei keinen Dateityp angegeben war, wird der Typ LBR angenommen. Für die zweite Befehlsform, müssen alle Moduln, die nach einem Library-Namen angegeben werden, in dieser Library sein. Man kann nicht zugleich individuelle Dateien und Library-Dateien in einem einzigen Befehl laden.

 

6.4 Das Programm JetLDR

Im Lieferumfang des Z3PLUS-Pakets ist ein spezielles Programm namens JetLDR enthalten. Dieses Programm ist ein extrem mächtiger Allzweck-Modul-Lader. Alle der üblichen Modul-Ladevorgänge, die für das Z3PLUS-System notwendig sind, können jedoch mit Hilfe von Z3PLUS.COM ausgeführt werden, das diese Fähigkeit durch "Ausleihen" von JetLDR-Code besitzt.

Es gibt einige wichtige Unterschiede zwischen JetLDR.COM und Z3PLUS.COM. JetLDR kann nur unter dem Z-System gestartet werden und kann nicht verwendet werden, um ein neues System aufzubauen, so wie Z3PLUS das kann. Es wird nur zum Laden von Moduln verwendet. Es können jedoch viel mehr Modul-Typen geladen werden als Z3PLUS das kann und es führt ausgefeilte Gültigkeitsprüfungen für Moduln durch und versucht sicherzustellen, daß ein Modul für den Zielpuffer geeignet ist.

Das Programm JetLDR macht ausgiebig Gebrauch von speziellen Konfigurations- oder CFG-Dateien. Diese Moduln werden von JetLDR selbst geladen und bestimmen die Art und Weise, wie andere Moduln geladen werden. Diese Einrichtung kann JetLDR die Fähigkeit verleihen, spezielle Moduln wie Resident System Extensions (RSXe), BIOSe, und DOSe zu laden.

JetLDR hat eine eingebaute Help-Seite, die mit der Standard-Syntax

JETLDR //<cr>

aufgerufen werden kann. Sie werden sehen, daß seine Befehls-Syntax nahezu identisch zu der von Z3PLUS ist.

 

6.5 Patchen von Z3PLUS.COM

Es gibt diverse Optionen in Z3PLUS.COM, die von KonfigurationsBytes in der ersten Code-Page 2 bestimmt werden. Diese Bytefolgen sind alle durch Text-Strings gekennzeichnet, so daß sie mit einem Debugger (etwa SID, der beim CP/M-Plus enthalten ist) oder einem Patching-Utility, am besten dem Z-System-Tool ZPATCH leicht zu finden sind.

2128 Bytes werden im Maschinencode als eine Code-Page bezeichnet, hier also zwischen Hex 100 und Hex 17F

Das erste Bytepaar ist durch den String "SYSUD" gekennzeichnet. Die zwei darauffolgenden Bytes definieren den Userbereich (00H bis 0FH) und Laufwerk (A=00H bis P=1FH), die als System Directory (siehe Abschnitt 6.3.2) benutzt werden sollen.

Das nächste Byte ist mit dem String "QUIET" bezeichnet. Es entscheidet, ob der /Q oder der /V Modus als Default für die Bildschirmausgabe gilt. Ist das Byte 00H, ist der Quiet-Modus ausgeschaltet (der Verbose-Modus ist selektiert). Wenn das Byte FFH ist, ist der Quiet-Modus Default.

Das Byte hinter dem String "TEST" ist für Entwicklungs- und Debug-Zwecke reserviert. Anwender müssen normalerweise an diesem Byte nichts ändern, aber natürlich können Sie gerne damit experimentieren, wenn Ihnen Ihre Neugierde keine Ruhe läßt.

 

6.6 Unterschiede zwischen Z3PLUS und CP/M-Plus

Es gibt offensichtlich viele Unterschiede zwischen Z3PLUS und CP/M-Plus. In diesem Abschnitt wollen wir einige herausstellen, die Verwirrung oder Schwierigkeiten bereiten könnten, wenn Sie nicht darauf hingewiesen würden.

6.6.1 Das GET Kommando

Unter Z3PLUS ist GET ein (eingebauter) CPR-Befehl, der eine Datei an eine bestimmte Speicheradresse lädt. Um das CP/M-Plus GET.COM Programm zu benützen, stellen Sie dem Befehl irgendwelche Laufwerksangaben voran wie in den folgenden Beispielen:

:GET ...<cr>
A:GET ...<cr>
BASE:GET ...<cr>

Alternativ dazu können Sie es umbenennen etwa GETCPM.COM.

6.6.2 IOP -- Input/Output Package

In der Z3PLUS-Version des Z-Systems gibt es keinen Support für das Input/Output Package (IOP) des ZCPR3. Statt dessen wird das schon im CP/M-Plus vorhandene benutzt. Terminal- und Druckersteuerung, sowie Umleitung aus und in eine Datei oder ein anderes Device werden unterstützt durch die Utilities GET.COM und PUT.COM, 3 als auch durch RSXe. Die Device-Auswahl wird ebenfalls durch CP/M-Plus-Utilities unterstützt. 4 Sehen Sie dazu bitte auch in Ihren CP/M-Plus-Handbüchern nach, um weitere Information zu erhalten.

3diese finden Sie auf Ihrer CP/M-Plus System Diskette, eventuell auch auf einer UTILITY Seite, wenn Sie mehrere Systemdisketten besitzen
4DEVICE.COM o. ä.

6.6.3 Public Files

CP/M-Plus unterstützt ein "Public"-Dateisystem, wobei ausführbare Dateien im User 0 mit gesetztem "System"- oder $SYS-Attribut aus allen Userbereichen dieses Laufwerks aufgerufen werden können. Dieses Feature wird von Z3PLUS nicht erkannt, da hier stattdessen der Befehls-Suchpfad verwendet wird. Im Gegensatz zu dem mit SETDEF in CP/M-Plus definierten Suchpfad, sind im Z-System-Suchpfad nicht nur die Laufwerke, sondern auch vollständige Directories angegeben, einschließlich Userbereichen.

6.6.4 Paßwörter

Das Z-System erlaubt Directory-Paßwörter und Laufwerk/User-Begrenzungen, um alle Dateien in angegeben benannten Directories und Laufwerk/User-Bereichen zu schützen. Der Z3PLUS Kommando-Prozessor verbietet nicht den Zugriff auf Dateien, die von CP/M-Plus-Datei-Paßwörtern geschützt werden. Um sensible Dateien vor der Ausführung oder dem Betrachten zu schützen, verstauen Sie sie in ein paßwortgeschütztes Directory oberhalb der von Ihnen erlaubten Laufwerks- und User-Maxima. Bücher und Druckwerke, die in der Bibliographie aufgeführt sind, bieten Information, wie man die Z-System Sicherheits-Features einsetzt.

Alle CP/M-Plus-Dateipaßwörter bleiben aktiv, wenn ein Programm versucht, die betreffende Datei zu eröffnen.

6.6.5 Der Kommando-Suchpfad

Der Z3PLUS Kommando-Prozessor sucht nach Befehlsdateien entlang des Z-System-Pfads. Er wird in der Z3P-Deskriptor-Datei initiiert und kann jederzeit mit Hilfe von PATH.COM geändert werden. Z3PLUS deaktiviert den CP/M-Plus Suchpfad.

Der letzte Eintrag in Ihrem Pfad wird als Root Directory bezeichnet; es sollte dasjenige sein, wo sich Ihr CMDRUN.COM, der Erweiterte Kommando-Prozessor befindet.

6.6.6 Mehrfach-Kommandos

Unter Z3PLUS werden Befehle innerhalb einer Zeile durch einen Semikolon (";") getrennt. Der Z3PLUS Kommando-Prozessor unterstützt keine Dateipaßwörter, so daß der Semikolon, der unter CP/M-Plus einem Paßwort vorangestellt wird, dafür nicht benötigt wird. Der CP/M-Plus Befehls-Separator, das Ausrufezeichen ("!"), hat keine besondere Bedeutung unter Z3PLUS, außer wenn Z3PLUS das erste Mal geladen wird (siehe Abschnitt 5.1.1).

6.6.7 Konditionelle Ausführung

Z3PLUS stellt sehr ausführliche Möglichkeiten zum Testen und konditionellen Ausführen eines Befehls, basierend auf Flow States und den Befehlen im Flow Command Package. Unter dem Z-System veranlaßt ein vorangestellter Doppelpunkt (":") in einer Zeile einer Submitdatei nicht, daß die Zeile übersprungen wird, wenn ein CP/M-Plus-Programm Return Code einen Fehler meldet. Statt dessen wird er interpretiert als Anweisung, das nachfolgende Wort als ausführbare Diskettendatei zu suchen. Bevor Sie daher Ihre herkömmlichen Submit-Dateien unter Z3PLUS verwenden, müssen Sie vorangestellte Doppelpunkte daraus entfernen.

 

6.7 Funktionale Theorie

Z3PLUS ist eine spezielle CP/M-Plus Resident System Extension (RSX), die sich an die höchste Speicheradresse direkt unterhalb des CP/M-Plus Common Bereichs des BDOS "einklinkt". Sie enthält diese Hauptsegmente:

Warm-Boot Umleitung
Programm- und RSX-Lader
Kommando-Prozessor
Z-System-immanente Segmente:
  Externe Environment Deskriptoren
  Terminal Capabilities Puffer
  Message Puffer
  Pfad
  Wheel Byte
  Externer File Control Block
  Mehrfach-Kommandozeile
  Shell-Stack
  Externer Kommando-Prozessor-Stack
  optionale Z-System Segment Puffer
  Benannte-Directory Register
  Resident Command Package
  Flow Command Package

Z3PLUS.COM liest Z-System-Dateien in den Arbeitsspeicher aus einer Library (z.B. Z3PLUS.LBR) oder als individelle Dateien, erstellt die angegebenen System-Adressen und Parameter und reloziert dann dieses System an die Speicher-Obergrenze. Z3PLUS schützt sich selbst durch Abfangen der normalen BIOS Warm-Boot Funktion, indem es die Kontrolle an den residenten Z3PLUS Kommando-Prozessor übergibt, um auf den nächsten Befehl zu reagieren.

Ist das Z-System schon aktiv, rettet Z3PLUS den Status des gegenwärtigen Z-System-Environments, determiniert die notwendigen Änderungen (z.B. einen Puffer mit anderer Größe), reloziert und installiert neue Pakete und restauriert die ungeänderten Komponenten des Environments (wie die Message-Puffer Werte und im Befehlszeilen-Puffer verbliebene Befehle).

Wenn das System entfernt wird, deaktiviert Z3PLUS die Warmboot-Umleitung, entfernt die Z3PLUS RSX, und veranlaßt das CP/M-Plus Host-System, seinen Standard Kommando-Prozessor nachzuladen.

Sowohl der Kommando-Prozessor, als auch der Z3PLUS Lader setzen zahlreiche Parameter im CP/M-Plus System Control Block. Darüberhinaus, mit Ausnahme des Patches für die BIOS Warmboot Sprungleiste, verändert Z3PLUS das CP/M-Plus Host-System intern nicht.

» Seitenanfang