###   Projekte und Informationen rund um den KC85   ### 

BOOT.COM - Der Bootmanager für den KC85

von Mario Leubner

Was wäre das tägliche Computerleben ohne die kleinen Helfer? Einen solchen will ich heute vorstellen. Ich habe ihn BOOT genannt, obwohl er auch für andere Aufgaben einsetzbar ist. Hauptziel meines kleinen Programmes ist es, während des Bootvorganges einen Eingriffspunkt zu schaffen, um die Systemkonfiguration 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 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 (F8) 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. Mit BOOT.COM bietet sich jetzt die Möglichkeit, das gewünschte System bereits beim Bootvorgang auszuwählen. Dazu erscheint in einem Fenster ein Menü. Mit den Cursortasten 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.

Wenn der Startsubmit 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 eine ASCII-Datei, die mit jedem beliebigen Editor (zum Beispiel TPKC) 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 Standardsystem 1. Menü-Eintrag
@TIMEOUT sek Wartezeit 25 Sekunden
@MENUCOLOR ink paper Fensterfarben blau auf gelb
@COLOR ink paper BS-Farben weiß auf blau
@MENUPOS zeile spalte Menüposition Bildschirmmitte

 

Befehle müssen nicht in BOOT.DAT stehen, es werden automatisch die Voreinstellungen wirksam. 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 zu den eigentlichen Menüeinträgen, die ja erst die Funktion von BOOT.COM ausmachen. Die Syntax ist recht einfach: Zuerst kommt die Systembezeichnung, hier trägt man das ein, was später im Menü 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 das zweite System eigentlich kein Kommando erforderlich. Ich nutze es aber gleich für die automatische Erzeugung der Datei !!!TIME&.DAT im RAM-Floppy.

Das Prinzip ist also der automatische Aufruf einer Auswahl spezieller Programme. Die Nutzung für andere Aufgaben ist also genauso denkbar - man muß nur die entsprechenden Eintragungen in BOOT.DAT vornehmen. 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. Für alle Interessierten gebe ich auch den Quelltext BOOT.C mit dazu. Es ist mit HITECH-C übersetzt worden. HITECH-C ist ja als Public Domain verfügbar und bietet meiner Meinung den besten C-Dialekt auf CP/M-Systemen.

BOOT.COM in Aktion

BOOT.COM in Aktion