2.2.2000 Neues vom LGP-30
("Nr. 4 lebt")
Der High Speed Papertape Reader (HS-PTR)
Eine genauere Analyse der Störung, die durch den Lochstreifenleser
hervorgerufen wurde, ergab folgendes:
Der einzige Befehl, der wirklich funktionierte, war der I-Befehl, also die
Eingabe vom Lochstreifenleser selbst. Alle anderen Befehle eines Programms
erschienen entweder gar nicht, oder um mehrere Dualstellen versetzt im
Befehlsregister. Daraus folgerten wir, daß es sich bei dem Fehler nicht um
falsche Datenübertragung, sondern um ein Handshakeproblem handelt, und zwar
um ein statisches, weil der Fehler auch dann auftritt, wenn der
Lochstreifenleser gar nichts zu tun hat.
Das 'Handshake' bei der Eingabe des LGP-30 ist äußerst rudimentär:
Der I-(Input)-Befehl bewirkt, daß der Rechner in eine Art Endlosschleife in
seinem Mikroprogramm gerät, wodurch er scheinbar anhält. Jedes Zeichen, das
darauf vom angeschlossenen Gerät kommt, wird mit einem eigenen Zeichentakt von
rechts her in den Akkumulator geschoben. Liest das Eingabegerät den Stopcode ',
dann wird mit einem anderen Takt die Mikroprogrammendlosschleife verlassen,
der Rechner also wieder gestartet, und die in den Akku geschobenen Zeichen
können verarbeitet werden.1
Ganz offensichtlich war nun ein Signal, welches in die Mikroprogrammschleife
des Rechners eingreift, fehlerhaft und bewirkte ein falsches Timing in der
Phase, in der der Befehl aus dem Speicher ins Befehlsregister geholt wird.
Es gibt nur einen I-Befehl im Befehlssatz des LGP-30, der sowohl für den Friden Flexowriter, als auch für den HS-PTR verwendet wird. Die Unterscheidung zwischen beiden Geräten geschieht durch einen vielpoligen mechanischen Drehschalter. Dieser Drehschalter schaltet sowohl die zweimal 6 Datenkanäle (jeweils logisch komplementär) um, als auch die drei Taktleitungen.
Durch Vergleich der Pegel an diesen Taktleitungen fanden wir eine heraus, die beim Anschalten des HS-PTR ein etwas erhöhtes Potential hatte. (+0,5V anstelle 0,1V). Versuchsweises Kurzschließen der Leitung führte dazu, daß der Rechner richtig funktioniert. Der Austausch der Klemmdiode am Ausgang des entsprechenden Treibers im Lochstreifenleser brachte den Erfolg: Der Leser funktioniert jetzt wieder.
Anmerkung für die Elektriker:
Die Röhren im LGP-30 werden bis auf eine Ausnahme mit zwei Betriebsspannungen
versorgt: +150V gegen Masse (Anodenspannung), sowie -160V gegen Masse
(Katodenspannung). Klemmdioden an den Ausgängen der Flipflops, Inverter und
Katodenfolger sorgen dafür, daß der Spannungshub zwischen ca. 0V
(Massepotential) und -20V (am Logicboard) bzw -50V begrenzt wird. Genau eine dieser
Klemmdioden hatte wohl eine etwas zu hohe Flußspannung, was zu dem oben
beschriebenen Fehler führte.
Nachträgliche Ergänzungen:
1 Der LGP-30 besitzt kein Mikroprogramm, sondern ist festverdrahtet. Bei einem
I-Befehl hält er tatsächlich an und kann nur durch Druck auf die Start-Taste
oder dem entsprechenden Start-Signal vom Lochstreifenleser gestartet werden.