80-Bus Journal

  

Juli/Aug. 1983 · Ausgabe 7/8

werden, andernfalls wird der Befehl ignoriert. Format:

        F     [cr]
        Y

Den F Befehl kann man durch Drücken der Stop-Taste am Recorder frühzeitig beenden (keine Interrupts). Dann dauert es max. eine Blocklänge, bis das Band rückgespult wird und die Positionswerte geschrieben werden (20 s).

Man braucht so nicht das gesamte Band zu formatieren. Nach Ende des Cassettenlaufes also bitte Geduld!

‚L‘oad File:

Das Load Kommando liest ein spezifiziertes File ein. Format:

        L <offset> <nocatalog>  [cr]
        Filename                [cr]

wobei <offset> und <nocatalog> optionale Parameter sind. Der <offset> ist dem des Nas-sys 3 Kommandos Read ‚R‘ identisch und <nocatalog> liest, falls gegeben, nicht den Katalog vom Band, sondern benutzt den bereits gespeicherten Katalog im RAM. Der Benutzer ist dann über die Richtigkeit des Kataloges selbst verantwortlich.

‚N‘assys:

Dieser Befehl dient zum Verlassen des Casmon 1.3 in das Betriebssystem Nas-sys. Format:

        N      [cr]

‚S‘ave File:

Mit Hilfe dieses Kommandos wird einem File im Speicher eine Bandposition zugeordnet und dieses File im Katalog und auf dem Band eingetragen. Das Programm ermittelt selbst die erste freie Position für das File der spezifizierten Länge. Format:

        S <start> <end> <add. space>  [cr]
        Filename                      [cr]

Alle Parameter sind optional. Wird Cas-Mon 1.3 von einem übergeordneten Programm aufgerufen, darf auf keinen Fall ein Parameter gegeben werden, da diese bereits dem Cas-mon bekannt sind und dann von denen des Benutzers überschrieben werden. Im Interaktiven Betrieb mit Cas-Mon stellt <start> die Anfangsadresse und <end> die Endadresse dar. Mit <add. space> können entsprechend viele 4 KByte Blöcke zusätzlich auf dem Band für dieses File reserviert werden, falls dieses File noch wächst. Weiterhin wird beim Schreiben geprüft, ob das File noch auf das Band paßt.

‚U‘pdate a File:

Dieser Befehl ist speziell für das Entwikkeln von Programmen gedacht, um eine rasche Aktualisierung zu ermöglichen. Format:

        U <start> <end>            [cr]
        Filename                   [cr]

Existiert das File nicht oder ist es zu groß für die vorhandene Lücke, erhält man eine Meldung. Da die Fileposition und der Filename gleich bleiben, wird der Katalog nicht neu geschrieben und auch nicht neu gelesen. Er muß also schon im RAM sein. Somit spart man Spulzeit.

‚V‘erify a File:

Identisch mit ‚L‘, aber das File wird nicht in den Speicher übernommen.

‚X‘ Kommando:

Das Kommando spult das Band an den Anfang, damit man es aus dem Recorder nehmen kann. Format:

        X    [cr]

Grundsätzliche Arbeitsweise von Cas-Mon 1.3:

Um mit Cas-Mon 1.3 arbeiten zu können, wird eine mit dem ‚F‘ Befehl formatierte Cassette benötigt. Eine solche Cassette enthält folgende Informationen:

Nach dem Vorlaufband steht eine Startposition des Kataloges und danach der Katalog, der nach dem Formatieren noch keine Filenamen enthält, Jedoch die Anzahl der 4 KByte Blöcke des Bandes sowie die absolute Position jeder Marke. Da diese Parameter von den Bandgrößen wie Bandlänge und Bandstärke abhängen, werden sie über das ‚F‘ Kommando individuell bestimmt.

Somit ist eine sehr exakte Positionierung des Bandes möglich. Im übrigen sind dann nur noch die Marken der 4 KByte Blöcke, einzeln durchnumeriert und im zeitlich exakten Abstand, auf dem Band.

Falls Cas-Mon 1.3 im Betrieb eine solche Marke findet, wird zunächst überprüft, ob diese erwartet wurde, Es erfolgt sonst die Meldung ‚Block Error‘, und dann wird im Katalog der absolute Positionswert dieser Marke gelesen und der interne Positionszähler eventuell korrigiert. Dies hat den Vorteil, daß bei langen Arbeiten mit Cas-Mon 1.3 ohne Lesen des Kataloges, also ohne das absolute Positionieren des Bandes auf den Anfang, sich keine Fehler aufsummieren können.

Die Softwareschnittstelle:

Die Schnittstelle vom Casmon zum übergeordneten Programm ist nicht einfach. Ich habe mich, da meine gesamte Systemsoftware im RAM läuft, dazu entschlossen, die Systemsoftware so zu ändern, daß die ursprünglichen Cassetten- Befehle erhalten bleiben (z.B CSAVE in Basic).

Zunächst definiere ich den SCAL „Y“ als Sprung in den Casmon, entweder durch neue SCAL Tabelle im RAM oder durch Nassys 3 Änderung. Dann kann man alle SCAL „R“,„V“ und „W“ zu SCAL „Y“ ändern. Dies genügt für NASPEN (das ich allerdings reassembliert habe, deshalb keine abs. Adresse) und Compression ASM. Im Basic muß nun noch der EinByte-Header ignoriert werden. Beim Zeap weiß man Anfang und Ende und kann dies eintippen. Für BLS-, Nascom-, Hisoft Pascal, sowie für Hull-Forth sind kleine Adaptionsprogramme erforderlich, die ich noch nachliefern werde.

Bei allen Pascal Compilern kann man sich für die Variablenspeicherung kleine Pascal

Seite 24 von 52