Funkamateur 12/86 |
Es wird ein Programm vorgestellt, mit dem auf Kassette vorliegende
"AC1"-Programme in übersichtlicher Form
aufgelistet werden können. Die Kassettenroutinen des "AC1" haben
sich in der Erprobung als zuverlässig und
dem Zweck entsprechend als ausreichend erwiesen. Jedoch fehlen in
bestimmten Anwendungsfällen die Informationen
über Programmanfang und -ende. Diese Daten werden mit Hilfe von
CLIST aus den Kassettenfiles regeneriert und
zusammen mit dem Programmnamen und der eingegebenen Startadresse als
Tabelle auf dem Monitor dargestellt.
Dabei bestand bei der Erarbeitung des Programms die Forderung, eine
eindeutige Anfangssynchronisation zu schaffen,
um Programme ohne Unterbrechung nacheinander auflisten zu können.
Eine Änderung der Monitorroutinen war dabei
aus Kompatibilitätsgründen ausgeschlossen. Auch ein
zusätzlicher Hardwareaufwand bzw. -änderung wurde nicht
in Betracht gezogen.
Das Programm CLIST belegt den Speicherbereich 1900H
bis 1ADFH. Gestartet wird mit dem Kennbuchstaben "↑" aus dem
Monitor. Sollte sich dieses ASCII-Zeichen nicht auf der vorhandenen
Tastatur befinden, so kann durch Ändern
des Bytes auf der Adresse 1906H jeder andere Kennbuchstabe, der nicht
vom Monitor belegt ist, genutzt werden.
Nach dem Start wird der Bildschirm gelöscht und in der ersten
Zeile erscheint der Tabellenkopf ( Bild
1 ).
Die Anfangserkennung wird mit Hilfe des Kenntons zu Beginn jeder
Aufnahme realisiert. Nach [1]
handelt es sich
dabei um 512 Nullbytes. Das bedeutet, daß in dieser Zeit 4096
Rechteckimpulse mit einer Periodendauer von
0,666 ms entstehen. Damit ist eine eindeutige Synchronisation auf den
Programmanfang möglich, da regelmäßige
Impulse innerhalb eines Files maximal 256 Bytes lang sein können,
die dann immer von der Checksumme und der
Blockadresse unterbrochen werden.
Zur Anfangssynchronisation werden die PIO und die CTC eingesetzt, die
mit entsprechend zeitverschobenen
Interrupts die Periodendauer der Impulse auswerten. Ein Zähler,
der zuvor geladen wurde, wird nach jedem
Impuls verringert bzw. wieder auf seinen Anfangswert gesetzt. Wurden
aufeinanderfolgend 2245 Impulse als richtig
ausgewertet, so werden PIO und CTC deaktiviert und am Zeilenanfang eine
vierstellige, mit 0001 beginnende
fortlaufende Programmnummer geschrieben. Die nachfolgenden Abläufe
entsprechen etwa denen der LOAD-Routine
des Monitors. Geladen bzw. verglichen wird jedoch nicht.
Mit Beginn der Daten wird die Information über die Anfangsadresse
zunächst in RAM-Zeilen zwischengespeichert,
da eine Ausschrift auf dem Bildschirm aus Zeitgründen nicht
möglich ist. Anstelle des im Monitor verwendeten
"*" blinkt hinter dem Namen ein "↑". Beim Zeichengenerator U 402 D wird
dieses Zeichen je nach Bitmuster durch
ein anderes ersetzt.
Sollte bei der blockweisen Checksummenüberprüfung ein Fehler
festgestellt werden, meldet sich das Programm mit
der Ausschrift "CHECKSUM/". Daraufhin wird zur Anfangssynchronisation
zurückgesprungen und auf den Beginn des
nächsten Files gewartet Diese Überprüfung erfolgt unter
den gleichen Kriterien wie im Monitor, so daß auch dort
ein Abbruch erfolgt wäre.
Die Information über die Endadresse wird einem
Adreßzähler entnommen, dessen Wert beim letzten Datenbyte
ebenfalls in RAM-Zellen übernommen wird. Als letzte zu verwertende
Information befindet sich auf dem
Magnetband die eingegebene Startadresse, die ebenfalls
zwischengespeichert wird. Danach werden nach der
laufenden Nummer und dem Programmnamen Anfangs-, End- und Startadresse
ausgegeben. Eine Zeile könnte also nach
dem Tabellenkopf so aussehen : ( Bild
1 )
Anschließend wird zur Anfangssynchronisation
zurückgesprungen und mit dem Listen der nächsten Zeile
fortgefahren.
Der Programmabbruch kann mit "CTRL-C" erfolgen, wobei nach Erscheinen
der laufenden Nummer vom Kassetteninterface
ein Flankenwechsel erzeugt werden muß.
Die gewählte Art der Anfangssynchronisation hat sich als
zuverlässig erwiesen. Es dürfen jedoch während des
Kenntons keine Bandunterbrechungen erfolgen, was aber bei einer
"sauberen" Aufnahme auch nicht der Fall sein
dürfte.
CLIST wird seit längerer Zeit von mehreren "AC1"-Nutzern mit
Erfolg eingesetzt. Ein einfaches Katalogisieren
des bereits entstandenen Kassettenberges ist mit diesem Programm
möglich geworden. Auch beim Programmaustausch
hat es schon gute Dienste geleistet. Beim Überspielen mehrerer
Programme kann im Anschluß die Überprüfung des
gesamten Paketes mit CLIST erfolgen. Sollte sich dabei ein Bandfehler
eingeschlichen haben, so erfolgt
unweigerlich die Ausschrift "CHECKSUM/". Anderenfalls kann mit der
LOAD-Routine des Monitors die Aufnahme auch
wieder gelesen werden.
[1] | Heyder, F.: Der Amateurcomputer "AC1", Teil 9, FUNKAMATEUR 33 (1984), H.10, S.508...510 |
17 KByte | 144 KByte |
Bild 1 | Listing |