Was wäre das tägliche Computerleben ohne die kleinen Helfer?
Einen solchen will ich hier vorstellen: Ich habe ihn BOOT genannt, obwohl er auch für andere Aufgaben einsetzbar ist - aktuell die Version 1.4 vom 07.06.2008!
Hauptziel meines kleinen Programmes BOOT ist es, während des Bootvorganges am KC einen Eingriffspunkt zu schaffen um die Systemkonfiguration einfach und komfortabel wechseln zu können. Als Systemanforderungen benötigt BOOT.COM den KC85/4 mit ZAS ab Version 1.1 und ZSDOS.
Mittlerweile hat sich bei mir eine Standardkonfiguration durchgesetzt. Diese enthält NZCOM, RCP05 und 42 Directory-Namen. Manchmal benötige ich jedoch zusätzlich einen IOP mit 7 Records. Für andere Programme will ich auf NZCOM ganz verzichten, da der TPA einfach nicht groß genug sein kann. Oder ich will sofort zur CAOS-Betriebsart und benötige nur das Minimalsystem im D004. Nun kann man sich das Standardsystem so gestalten, daß es voll automatisch bei JUMP FC geladen wird. Für die anderen Systeme muß man dann das Z-System verlassen oder eine andere Konfiguration (z.B. als geblitzter Systemabzug) nachladen. Eine Möglichkeit wäre das Erstellen verschiedener Bootdisketten. Beim Booten von Festplatte kann man jedoch nur ein System aus der Systemspur laden.
Aus diesem Grund habe ich mir das Programm BOOT ausgedacht. Damit bietet sich jetzt die Möglichkeit, das gewünschte System bereits beim Bootvorgang auszuwählen. Es erscheint ein Menü in einem Bildschirmfenster. Mit den Cursortasten oder durch Eingabe einer Ziffer kann man das gewünschte System auswählen, Enter bestätigt die Wahl und BRK oder ESC bricht BOOT.COM ab. Ohne Tastenbetätigung startet nach einer einstellbaren Zeit automatisch das Standardsystem - genau wie man es von einem Bootmenü eben erwartet.
Wenn der bisherige Startsubmit (eingetragen mittels SYSGEN) bisher so aussah:
A0>C:;NZCOM
Schreibt man mit BOOT jetzt einfach:
A0>C:;BOOT
Auf dem Laufwerk C0: müssen sich die beiden Dateien BOOT.COM und BOOT.DAT befinden. Für den Einsatz von BOOT.COM müssen zu Beginn lediglich die entsprechenden Konfigurationen erstellt und in der Definitionsdatei BOOT.DAT eingetragen werden. BOOT.DAT ist dabei eine normale Textdatei, die mit jedem beliebigen Editor (zum Beispiel TPKC oder ZDE) bearbeitet werden kann. In dieser Datei stehen alle Informationen zu den möglichen Systemkonfigurationen sowie einige Steuerbefehle für BOOT.COM, das sind ein Timeout in Sekunden, Bildschirmfarben und Position des Fensters. Den Befehlen wird zur Unterscheidung das at-Zeichen "@" (Paragraphenzeichen im deutschen Zeichensatz) vorangestellt. Zur besseren Übersichtlichkeit können beliebig viele Leerzeilen eingefügt werden. Zeilen, die mit einem Semikolon ";" beginnen, dienen als Kommentar zur Beschreibung der Definitionen. Alle anderen Zeilen werden als Menüeinträge interpretiert. Folgende Befehle stehen zur Verfügung:
Befehl | Wirkung | Voreinstellung |
@DEFAULT nr | Nr. des Standardsystems | 1. Menüeintrag |
@TIMEOUT sek | Wartezeit | 25 Sekunden |
@MENUCOLOR ink paper | Fensterfarben | blau auf gelb |
@COLOR ink paper | Bildschirmfarben nach BOOT.COM | weiß auf blau |
@MENUPOS zeile spalte | Menüposition | Bildschirmmitte |
Befehle müssen nicht in BOOT.DAT stehen, es werden automatisch die Voreinstellungen wirksam wenn der entsprechende Befehl nicht enthalten ist. Durch die Befehle bietet sich aber die Möglichkeit dem Bildschirm eine persönliche Note zu geben. Mit dem Befehl @COLOR stellt man die Farben ein, die nach Verlassen von BOOT.COM wirksam werden. Man kann damit also gleich seine Standard-Bildschirmfarbe einstellen lassen wenn es nicht das übliche weiß/blau sein soll.
Kommen wir nun zu den eigentlichen Menüeinträgen, die ja erst die Funktion von BOOT.COM ausmachen. Die Syntax ist recht einfach:
Jede Zeile, die nicht mit dem Zeichen @ oder einem Semikolon beginnt und keine Leerzeile ist, erzeugt einen Menüeintrag. Am Zeilenanfang kommt jeweils die Systembezeichnung, hier trägt man das ein, was später im Menü auf dem Bildschirm zu lesen sein soll. Nach der Beschreibung folgt ein Semikolon, gefolgt von dem Kommando welches das entsprechende System lädt. Ein Mehrfachkommando kann leider nicht angegeben werden, für umfangreichere Aufrufe muß man zu SUBMIT.COM greifen. Hier als Beispiel meine BOOT.DAT:
; Konfigurationsdatei fuer BOOT.COM - das Bootmenue fuer den KC85
; ---------------------------------------------------------------
@TimeOut 5
@Color 7,1
@MenuColor 0,4
@Default 4
;---------------------------------------------
ML-DOS ohne Festplatte 56.00K TPA ; c1:tpa56k
ML-DOS ohne Z-System 54.00K TPA ; c:putds -d=a -s
NZCOM + 28 DIR-Namen 50.75K TPA ; c0:nz
NZCOM + 42 DIR-Namen 50.50K TPA ; c0:nz42
NZCOM & IOP-Paket 50.00K TPA ; c0:nziop
E0: DEP 3.0 -> CAOS ; e0:dep3 e0:initial.uuu
Festplatte parken ; c:hdpark
;---------------------------------------------
Für jedes System muß man sich nur die entsprechende Systemdatei erstellen. Das geht mit SYSGEN.COM wenn es sich um ein komplett anderes System handelt (z.B. ML-DOS ohne Festplatte). ML-DOS ohne Z-System läuft bereits wenn ich BOOT.COM starte, deshalb ist für den zweiten Menüpunkt eigentlich kein Kommando erforderlich. Ich nutze es aber gleich für die automatische Erzeugung der Datei !!!TIME&.DAT im RAM-Floppy mit Hilfe von PUTDS.COM.
Das Prinzip ist also der automatische Aufruf einer Auswahl von Programmen. Die Nutzung für andere Aufgaben ist also genauso denkbar - man muß nur die entsprechenden Eintragungen in BOOT.DAT vornehmen. Dazu kann man statt der Datei BOOT.DAT auch jede andere Dateibezeichnung verwenden - der Name der Steuerdatei ist dann einfach beim Aufruf von BOOT.COM als Parameter anzugeben: also z.B.:
A0>BOOT MENU.DAT
Und noch ein Hinweis: Sollte einmal die Fehlermeldung "BOOT: Kommando? ...." erscheinen, dann stimmt ein Befehl in der Datei BOOT.DAT nicht. Ebenso wenn das gewünschte Programm nicht gestartet wird.
Neu in Version 1.4 (07.06.2008)
Bei Aufruf von BOOT // erscheint wie bei den meisten Z-System-Programmen eine kurze Hilfe:
Bei bis zu 9 Menüeinträgen werden diese mit Ziffern gekennzeichnet, welche auch direkt zur Auswahl genutzt werden können. Sind mehr als 9 Einträge vorhanden, dann nimmt BOOT Buchstaben zur Kennzeichnung der Menüpunkte und zur Auswahl.
Für alle Interessierten ist im Programmpaket auch der Quelltext BOOT.C mit dabei. Er ist mit HITECH-C übersetzt worden. HITECH-C ist in der CP/M-Version 3.09 frei verfügbar und bietet meiner Meinung den besten C-Dialekt auf CP/M-Systemen und ist mit einer Zusatzbibliothek Z-System-tauglich.
HITECH-C gibt es z.B. hier zum Download: http://www.grifo.it/PUB/uk_utility.htm