Reparaturversuch Tektronix 4006-1

  • Seit einigen Wochen versuche ich, ein schönes, solides Stück Hardware aus dem Jahr 1975 wieder in Betrieb zu nehmen: ein Tektronix 4006-1 Grafikterminal. Nach einer gründlichen Reinigung zunächst mal ein Stand-Alone-Test: Bildschirm geht, Tastatur auch, und die eingetippten Zeichen erscheinen auf dem Schirm (der übrigens was ganz besonderes ist: einmal gesetzte Punkte bleiben gesetzt, bis der ganze Bildschirm gelöscht wird - einzelne Punkte können zwar gesetzt, nicht aber gelöscht werden). Dann Anschluss an meinen Laptop mittels USB/Seriell Wandler, erste Versuche mit Putty - geht (zumindest im Textmode). Das Teil soll aber grafikfähig sein und zwar mit einer Auflösung von 1024x1024 Punkten (Wahnsinn für 1975!), wobei ein Teil der Y-Auflösung außerhalb des Schirms liegt (aber trotzdem angesteuert werden kann). Die Ansteuerung ist alles andere als trivial. Zuerst muss der Grafikmode per ESC-Sequenz gesetzt werden, dann die X- und Y-Koordinaten mit je zwei Zeichen festgelegt werden. Gibt man dann ein zweites Koordinatenpaar ein, zeichnet das Terminal eine Linie. Ein spezielles Kommando erlaubt es auch, den Strahl neu zu positionieren ohne dass eine Linie gezeichnet wird.


    Dabei tritt nun folgender Fehler auf: bei Koordinaten über 255 springt der Punkt erstmal zurück, um beim zweiten Durchlauf von Position 255 auf 512 zu springen. Den Effekt sieht man im Video gut - die X-Koordinate wird kontinuierlich hochgezählt, also sollte der Punkt stetig von links nach rechts wandern. Zunächst habe ich den Fehler in der Software gesucht, ein Programm in SmallBasic, das die X- und Y-Koordinaten in die entsprechenden Zeichen übersetzt und per serielle Schnittstelle überträgt. Inzwischen denke ich eher an einen Hardware-Fehler. Ein oder mehrere Bits werden nicht richtig gesetzt. Der komplette Schaltplan ist in den Unterlagen enthalten, sonst wäre das ganze ein aussichtsloses Unterfangen.


    Hier mal Bilder und die Unterlagen:

  • Hallo, wow, ich bin neidisch, die Tektronix Grafikterminals sind was ganz besonderes.

    Bei der Röhre merkt man wo Tektronix herkommt: Von Oszilloskopen, die damals auch schon Wellenformen "speichern" konnten in dem man eine Speicherröhre verwendet hat.

    Du weisst dass man mit Linux und Gnuplot bzw ghostview direkt Tektronix-Terminals als Ausgabedevice angeben kann? Ich bin mir nicht sicher ob du da tatsächlich einen Hardwarefehler vorliegen hast, damit könnte man das testen.


    Viele Grüße, Robert

  • Moin,

    echt ein schoenes Stueck.


    bei Koordinaten über 255 springt der Punkt erstmal zurück, um beim zweiten Durchlauf von Position 255 auf 512

    Das gleiche tritt auch in Bereich 768 bis 1023 (wird 512 bis 767).

    Da ist ganz klar Bit 8 (gezaehlt ab 0) "defekt".


    Tritt das nur in X Richtung auf? Oder auch bei Y?

    Wenn nur in X Richtung wuerde ich im X DtoA Converter suchen (PDF Seite 70).

    Bit 8 ist da zwischen U421-5 und U615-5.

    Hier auch bitte die letzte Seite des PDF beachten. Da scheint eim Fehler im Schaltplan zu sein.


    Viel Erfolg.

    Florian

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Anwendungen schon 1976 mit sks-Rechnern IKP


    Was alles mit Unterlagen zum Gerät auftauchen - ist toll. Die Vektorprogrammierung war schon etwas komplexer, aber offenbar ist ja die Hardware (fast ) - oder doch nicht ok?
    Bei mir waren es damals meist mit Sequenz-Fehler (Vektor-Modus) im Testprogramm, dann aber ging die Brause ab.


    Den 4006 Tektronix hatte ich schon von sks in einen IKP (sowas nannte mannoch einfach "I-nteraktiver K-onstruktion A-rbeitsplatz" !) eingebunden.

    Die Konfiguration sah so aus:


    a) sks - KTC300 ( Bitslice ALUs) Microinterpreter für einen 64 kB RAM-Bereich mit 16 x 16 Bit Register!

    mit 2 x 3M-Datenkasseten 1/4 " (Programme und DATEN)

    alles in Assembler entwickelt - mal sehen ob ich davon was finde?

    b) Digtizer A2 über Parallelinterface / Option (Nadeldrucker - von sks)

    c) Tektonix 4006 über V24 (RS232C)


    Viele Grüße und viel Erfolg zur Vektoranzeige.

    Helwie44

  • Was sind das für Video-RAMs, die so eine Eigenschaft haben?

    Das Terminal hat kein Video-RAM, sondern eine Speicherröhre (der Bildschirm). Der Punkt wird mit einem starken "Schreibstrahl" gesetzt, und durch eine besondere Konstruktion der Bildröhre strömen (auch wenn gerade nichts auf den Schirm geschrieben wird) Elektronen dahin, wo schon welche sind und sorgen damit dafür, das die gesetzten Punkte nicht verblassen. Normaler Video-RAM wäre zur Bauzeit (1975) für die Auflösung unbezahlbar gewesen - obwohl das Terminal damals nicht gerade billig war.


    Tritt das nur in X Richtung auf? Oder auch bei Y?

    Wenn nur in X Richtung wuerde ich im X DtoA Converter suchen (PDF Seite 70).


    Bit 8 ist da zwischen U421-5 und U615-5.

    Der Fehler tritt auch in Y-Richtung auf. Auf der Seite 70 habe ich mal die 74177 mit dem Oszi betrachtet und gemerkt, das da gar kein Takt anliegt. Allerdings habe ich im y-Teil gemessen, der ja bei meinem Programm gleich bleibt. Ich ändere das mal dahingehend, dass x und y gleichzeitig hochgezählt werden und messe dann nochmal.


    Du weisst dass man mit Linux und Gnuplot bzw ghostview direkt Tektronix-Terminals als Ausgabedevice angeben kann? Ich bin mir nicht sicher ob du da tatsächlich einen Hardwarefehler vorliegen hast, damit könnte man das testen.

    Nein, das wusste ich noch nicht - mit Linux kenne ich mich nicht sooo gut aus. Wäre mal einen Versuch wert. Allerdings gabe ich die Werte, die mein Programm ausgibt, mit dem Handbuch verglichen und die sehen gut aus. Ich gehe eher von einem Bitfehler (oder mehreren) aus.


    Danke an alle, die mir Erfolg gewünscht haben. Ich gehe hier sehr vorsichtig ran, mir ist schon klar, dass das Teil recht selten ist und ich würde mich ärgern, wenn ich bei einem Reparaturversuch mehr kaputt mache


    Gruß, Jochen

  • Auf der Seite 70 habe ich mal die 74177 mit dem Oszi betrachtet

    Dann bist du ja auf dem "richtigen" Weg und schon weit gekommen.


    Allerdings habe ich im y-Teil gemessen, der ja bei meinem Programm gleich bleibt. Ich ändere das mal dahingehend, dass x und y gleichzeitig hochgezählt werden und messe dann nochmal.

    Auch wenn der Y-Wert gleich bleibt, wird doch jedesmal X und Y ans Terminal gesendet, also sollte auch ein Takt im Y Teil sein.

    Zum anschauen kannst du X und Y gleichsetzten. Zum messen wuerde ich das in 2 Schritten machen und jedesmal X und Y Teil messen.


    An welchen Pins hast du denn gemessen?

    CLK oder /LD ?


    Aber wenn der Fehler auf X und Y gleich ist, koennte auch der Seriell nach Parallel Wandler davor ein Problem haben (U455A) oder einfach ein 7408 oder die Verkabelung/Stecker ein Schluss haben.

    Werden alle ASCII Zeichen richtig angezeigt?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von funkenzupfer ()

  • Ist der serieller kanal richtig eingestellt ( 8bit, nicht 7bit ) ?


    Ansonsten einfach bit 8 am 74177 observieren, sowei bereits angedeutet.


    ich werde am VCF in Thun ( 17-18 Marz ) den grosse Bruder des 4006 vorstellen ( Tektronix 4014 )

    Ebenfalls dabei ist ein Tek 4052 Graphiccomputer, der basiert auf das gleiche Bildspeicher-prinzip.

    Beide naturlich fünktionsfähig.



    Jos

  • Das Terminal hat kein Video-RAM, sondern eine Speicherröhre (der Bildschirm). Der Punkt wird mit einem starken "Schreibstrahl" gesetzt, und durch eine besondere Konstruktion der Bildröhre strömen (auch wenn gerade nichts auf den Schirm geschrieben wird) Elektronen dahin, wo schon welche sind und sorgen damit dafür, das die gesetzten Punkte nicht verblassen. Normaler Video-RAM wäre zur Bauzeit (1975) für die Auflösung unbezahlbar gewesen - obwohl das Terminal damals nicht gerade billig war.

    Krasse Technik! 8|

    Habe mir mal ein Video zu dem Terminal angesehen.

    Dann verstehe ich auch die Ausgabe in dem Youtube-Video. Da sieht man, wie mit erhöhter Intensität geschrieben wird. Interpretiere ich das richtig?

    Und Scrollen gibt es nicht.

  • . Normaler Video-RAM wäre zur Bauzeit (1975) für die Auflösung unbezahlbar gewesen - obwohl das Terminal damals nicht gerade billig war.


    Von IBM gab es zu der gleichen Zeit ein Graphikdisplay das den heutigen gleicht, also mit Bildspeicher ( IBM 2250)

    Verglichen damit waren die Tektronix Displays spotbillig....

    IBM 2250 ( 280.000 USD 1970-er dollars ! ), Tektronix weniger als 10.000

    Was auch der Grund ist das diese Tek Displays ein grosser Erfolg waren.


    Jos

  • Ich hatte mal ein Tektronix 4016, das auch defekt war. Da war allerdings diese Speicherschicht defekt. Das ist wohl ähnlich wie dein Terminal, nur dass gleich ein Computer und Bandlaufwerk mit eingabaut waren. Da das meine Elektronikkenntnisse überstieg, habe ich das Gerät dem Computermuseum der Uni Stuttgart vermacht und die konnten das tatsächlich reparieren. Vielleicht können die dir weiterhelfen?

    http://computermuseum.informatik.uni-stuttgart.de/

  • Tektronix 4014 - mit Z43 - und Tischplotter - Basis Z64 (IKP)


    Zu dem Tektronix 4014 (Schirm 15") habe ich hier noch ein Beitrag ( PDF unten) aus meinen Arbeiten gefunden. Dort wurde damals an der Ruhr- Uni- Bochum unter Leitung von Prof. Dr.-Ing. Hermann Flessner diese Konzept entwickelt und mit verschiedenen realen Komponent realisiert.


    Aus einem Zentralrechner (BASIS Z43, ZUSE) - dann von Übernahme der ZUSE KG nach SIEMENS, wurde der Rechner mit 404/3 bezeichnet. Angeschlossen war ein sehr großer ( DIN A0) Digitizer (HAROPEN - von der Fa. HAGEN - Rotterdamm) und ein Flachplotter (DIN A0) als (BASIS Z64 Entwicklung) auch von der Fa. HAGEN mit diversen Geräten (Steuerung 38 - SIEMENS) konfiguriert.


    Zuerst war ein anderer Grafikbildschirm benutzt.


    Auszug : Digitizer und Darstellung auf einem TEKTRONIX 4014 hier.



    Aber erst mit der guten Auflösung eines TEKTRONIX 4014 ( 15") konnte man hervorragend im Grafikbereich wirklich arbeiten. Der Anschluß über V24 / RSC 232 wurde mit 9600 Bd. betrieben.


    Derartige Konfigurationen wurden auch an die TU Darmstadt geliefert und andere weitere Industrieunternehmen. Schöne Zeit - da ich oft dort vor Ort zum Testbetrieb / AUfbau war.

    In dem beigefügten Faltblatt (pdf) ist das IKP kompakt dargestellt und viele Bilder der benannten Geräte zu sehen.

    Aus diesen Arbeiten bei der RUB mit den Erfahrungen - entwickelte ich damals diesen kleinen Arbeitsplatz IKP (sks) wie im Beitrag #007. Mit den Kontakten zu sks - kame ich danach nach Karlsruhe zu sks.


    Helwie44

  • Ich bin einen Schritt weiter - aber eher rückwärts, denn der Fehler tritt jetzt auch im Textmode auf. Und es erscheint nicht das Zeichen, das ich tippe, sondern z.B. für "J" ein "X". Ich habe jetzt auch den U455 im Verdacht und versuche den mal zu messen - nicht so einfach wie bei Logik-Gattern. Was mich dabei irritiert: Dieser Fehler trat am Anfang nicht auf (ich habe sogar ein Foto gemacht). Da ist also was kaputt gegangen, während ich noch mit der Grafik herum probiert habe. Was ich noch nicht verstehe, ist die Logik, die die Zeichen eins weitersetzt bzw. eine Zeile tiefer geht (bei CR/LF). Denn das ist ja unabhängig vom U455, der wandelt nur den seriellen Bitstrom in parallel um (und umgekehrt für die Tastatur).


    Gruß, Jochen

  • Was ich noch nicht verstehe, ist die Logik, die die Zeichen eins weitersetzt bzw. eine Zeile tiefer geht (bei CR/LF).

    Controlzeichen 0x10 bis 0x1F werden im 74154 (U341) dekodiert. Z.B. dein TextCharacter(29) schaltet in den GraficMode (GS-O, Alpha/Graph FlipFlop U225B u. U231B).

    An U341 sind auch Ausgaenge fuer LF und CR, die landen bei DOWN-O und RIGHT-O (ganz rechts im Schaltplan). Die gelangen als Takt zu den 74177 (U435ff und U411ff) und zaehlen X bzw Y einen hoch.

    Bei Alphacharacters werden die Pixel aus dem CharacterROM (U141) genommen und ueber den Muxer U135 serialisiert. Der RowCounter (U151) und ColumnCounter (U55B) steuern dies und erzeugen ueber Widerstaende ein analoges Offset Signal, welches ueber XMAT und YMAT in den entsprechenden DAC einfliessen.

    Insgesamt eine sehr aufgeraeumte Schaltung.


    Was mir nicht klar ist: Ist die gesamte Logik auf einer Platine oder sind das mehrere?


    Viel Erfolg

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Insgesamt 2, und der (jetzt) interessante Bereich ist auf der 2. Platine, die an der linken Seite sitzt. Und wieder ist da ein 74177 verbaut, allerdings auch ein 74393 - mal sehen, ob ich den habe.

    Beide Platinen ziehen sich über die gesamte Länge (bzw. Tiefe) des Terminals und haben jede Menge Verbindungen, zum Aus- und Einbau braucht man schon etwas Zeit.


    Gruß, Jochen

  • Kleine Korrektur: Es befindet sich doch alles auf der rechten Seite, also auf einer Platine. Ich habe mal Pin 1 (Ausgang) von U605 und U715 gemessen. Wie im Schaltplan auf Seite 70 eingezeichnet liegt dort jeweils eine treppenförmige Spannung an. Bei meinem Fehlerbild hätte ich erwartet, dass eine oder zwei Treppenstufen fehlen, aber das Bild sieht gut aus: regelmäßige Treppenstufen in X- und Y-Richtung. Mache ich da einen Denkfehler oder kann ich das mit einem analogen Oszi nicht messen?

    Ebenfalls gemessen habe ich U55B und U151. Bei U151 habe ich mich schon gefreut, da Pin 5 dauerhaft auf Null liegt, aber im Schaltplan wird der Ausgang gar nicht verwendet. Der Rest sieht gut aus. Morgen mess ich mal die Logik drum rum.

    Bei Bedarf kann ich Bilder vom Oszi machen und hier posten, ist halt etwas schwierig, mit einer Hand zu messen und mit der anderen ein Foto zu machen.


    Gruß, Jochen

  • Ich glaube, ich habe was gefunden: U215A, ein 7474. An Pin 1 und 3 liegt ein Signal, 2 liegt auf GND und Pin 4 ist low (im Textmode). Dann müssten doch auf Pin 5 und Pin 6 was zu sehen sein (Pin 6 invertiert). Beide Pins (5 und 6) liegen aber auf low. Nach meinem Verständnis müssten aber die Pegel auf 5 und 6 umgekehrt zueinander sein - also sollte mindestens einer high sein. Was meint ihr?


    Gruß, Jochen

  • Die Überlegungen für Pin 5 und 6 sind grundsätzlich korrekt, sie sind in der Regel invertiert (zueinander). Ausnahme, wenn /Preset und /Clear beide Low sind - dann ist das alles ziemlich undefiniert, aber eher beide High als beide Low. Evtl. hat eine der Ausgangsleitungen in der Folge einen Kurzschluss? Was folgt denn hinter den Pins 5 und 6?


    Der Rest Deiner Messungen sieht aber auch etwas seltsam aus. Wenn Pin4 (/Preset) dauerhaft auf Low liegt, erscheint es wenig sinnvoll, dass auf Pin1 (/Clear) ein Signal liegt (ich interpretiere Dein "Signal" als Wechsel zwischen High und Low).


    Ist das Schaltbild in einem der verlinkten Dokumente, d.h. lohnt es sich, die Sachen mal runter zu laden und dort nachzuschauen?

  • Ja, in ...scv_1977.pdf sind die kompletten Schaltbilder. Der fragliche Teil ist auf Seite 69. Pin 5 ist dort nicht genutzt. Ein Signal sehe ich nur, wenn ich eine Taste drücke - sonst sind die Signale statisch. Den U221B habe ich nachgemessen, aber wenn Pin 5 des 7408 low ist, muss Pin 6 auch low sein. Leider ist es ganz schön aufwändig, irgendeinen IC auf der Platine zu ersetzen (ist ja ein Riesenteil mit vielen Verbindungen). Zum Ausprobieren könnte ich einen 7474 huckepack drauflöten, vorher natürlich Vcc und GND abknipsen.


    Gruß, Jochen

  • Wie verhaelt sich der 2. Teil des U215? Macht der auch Probleme? Hat U215 Vcc und GND? Nicht lachen, so ein Problem hatte ich letztens.


    U215A, ein 7474. An Pin 1 und 3 liegt ein Signal, 2 liegt auf GND und Pin 4 ist low (im Textmode).

    Pin 4 kommt von GRAPH-0, sollte also low im Grafikmode sein. Aber das nur zur Klarstellung.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ich glaube, ich habe was gefunden: U215A, ein 7474. An Pin 1 und 3 liegt ein Signal, 2 liegt auf GND und Pin 4 ist low (im Textmode). Dann müssten doch auf Pin 5 und Pin 6 was zu sehen sein (Pin 6 invertiert). Beide Pins (5 und 6) liegen aber auf low. Nach meinem Verständnis müssten aber die Pegel auf 5 und 6 umgekehrt zueinander sein - also sollte mindestens einer high sein. Was meint ihr?


    Gruß, Jochen

    Pin4 low müsste dafür sorgen, das Pin 5 high ist, der Pegel an Pin1 müsste in diesem Zustand dafür sorgen, das an Pin6 ein zu Pin1 invertierter Pegel erscheint - d.h. der 7474 ist defekt oder ein Defekt wirkt auf den 7474 zurück, so dass die beiden Ausgänge nicht arbeiten können (oder beides :-).

    Ich würde den 7474 komplett rausknipsen und einen Sockel drauf löten, dann wieder testen.

  • Die Überlegungen für Pin 5 und 6 sind grundsätzlich korrekt, sie sind in der Regel invertiert (zueinander). Ausnahme, wenn /Preset und /Clear beide Low sind - dann ist das alles ziemlich undefiniert, aber eher beide High als beide Low.

    Nicht ganz korrekt - die beiden sind nicht undefiniert, eher high - sie sind in diesem Fall high - es ist lediglich nicht garantiert, dass der high-Pegel den Wert V_out_high_min erreicht, wenn /Preset und /Clear einen Pegel nahe V_in_low_max annehmen.