GPIB Plotter am PET (aus:Mein neuestes Etwas)

  • So, nachdem jetzt ein wenig Luft ist, lüfte ich das Geheimnis des Plotters, werte Anhänger der schnöden, vollautomatisierten Bemalung von Papier!


    Ich konnte über Zufälle einen weiteren 7475A bekommen, welcher exakt den gleichen "Defekt" zeigte: Aufhängen beim Befehl "IN", kein Zeichnen von Linien möglich, etc...

    Irgendwie erschien mir das alles äußerst suspekt und ich testete was passiert, wenn man anstelle von PRINT#5,"BEFEHL";dann nächste Zeile wieder PRINT#5,"BEFEHL"; etc... einfach eine HPGL-Datei sequenziell öffnet und mit GET#1,A$ deren Inhalt liest, um ihn UMGEHEND mit PRINT#5,A$ Richtung Plotter zu senden.

    Siehe da: Er hat einfach losgelegt, der vormals lahme Kamerad unfassbar exakter Linienführung! :)

    Und nicht nur dies- nein, auch der andere 7574A meinte, es dem Kollegen gleichtun zu müssen.


    Äußerst erquickt teilte ich meine Erkenntnisse vossi mit, welcher ja mit einem seiner Plotter auch dieses Problem hatte. Es konnte also kaum mehr ein wirklicher Defekt sein!

    In den letzten Tagen waren wir in Kontakt und er hat sich wirklich richtig viel Arbeit gemacht, um den Montagsmaler wieder instandzusetzen.

    Lange Rede, garkein Sinn: Vossi fand heraus, dass sein funktionsfähiger Plotter andere Software auf dem ROM U15 hatte, als der vermeindlich defekte!

    Nachdem sich die Fehlerbilder von nun insgesamt DREI 7475 deckten, hat er das ROM ausgelesen und in ein 27128 gebrannt, welches in den anderen 7475 wanderte. Siehe da -> FUNKTION!

    Herzlichsterweise habe ich das BIN-File bekommen und konnte somit meine beiden 7475A auf die andere, mit den CBMs funktionierende Softwareversion umstellen (ROM auslöten, Sockel rein, 27128 gebrannt und los gings).



    Was soll ich sagen? Jetzt geht ALLES! Die Programmierbeispiele aus dem Handbuch ebenso, wie das Einlesen mit GET und sofortigem Schreiben mit PRINT.


    Ich bin unfassbar erquickt und habe sofort eine Komplettzerlegung mit Intensivreinigung, sowie Instandsetzung der Mechanik vollzogen.

    Plotterstifte sind auch unterwegs.

    Jetzt brauche ich nur noch Zeit, die Software zu basteln, welche bis zur CC fertig sein soll.

    Die Auflösungen für die beiden Grafikkarten sind "etwas" geringer, als das vom Plotter erwartete HPGL-File. Wenn ich ohne Anpassung plotten lasse, ist das Ergebnis auf Papier etwas größer als mein Daumennagel. :)


    Mal kucken, ob/wie sich der Lightpen vom Zitrusgebäck noch verwursten lässt! zitruskeks , lass uns hierzu die Windungen der grauen Massen mal ein wenig zusammenspannen! Ich bau den Pen gerne erstmal auf. Nur leider gibt es für die Abfrage anscheinend keine Basic-Befehle, right?


    In diesem Sinne, holdfeingüldene Mitleser dieser herzzerreissenden Erfolgsgeschichte aktiver Altcomputernutzung:

    Geht in euere Verließe, werft den Edelschrott an! Nutzt ihn, solange die Elektronen noch gewillt sind, über die PN-Übergänge des heftig alternden Siliziumgebirges zu wandern. Wie lange dies noch der Fall sein wird, weiß niemand von uns.


    Frohes Wursteln,

    der Nulleinsbergsteiger

    2 Mal editiert, zuletzt von CBM_Ba ()

  • Oh wie erquicklich zu lesen! Klasse Arbeit ihr Freunde elektrisch gesteuerter Stiftschubsereien!

    Da ich noch keinen 8032 ohne SK hier habe schicke ich dir den Pen mal mit, wenn die 8050 Platine wieder auf Reisen in die Niederhöllen der Paketboterei wandert. Ich hab den Verdacht du bist da schneller als ich. :]

  • da hat er uns aber auch lange schmoren lassen, der wirsche Bursche!


    umso schöner zu lesen, dass der Stift nun flutscht. Noch schöner zu lesen wäre, wo die Bits auf dem Bus nun geklemmt haben und wie es nun HP gelöst hat, und vielleicht auch wie axorp es umgangen hatte :)

    Zuletzt repariert:

    10.11. defektes µT RAM im Apple //e ersetzt

    10.11. defektes µT RAM im Atari 130XE ersetzt

    12.11. VC20 mit black screen: defekter Videotransistor ersetzt

  • Ach herrje, da fällt es einem wie Schuppen - was sage ich, wie eine ganze Scheune - aus den Haaren!

    War es nicht so, daß der CBM am Zeilenende nur ein CR sendet?

    Die Datei enthält vermutlich Zeilenumbrüche mit CR/LF, und wenn man sie zeichenweise zum Plotter schiebt kommt sie natürlich auch so dort an.

    Somit wäre das ganze ein

    ? OUT OF LINEFEED ERROR :!:

    Also kein Defekt, sondern ein klassischer :rtfm: Fehler.


    Das würde mich jetzt interessieren, ob das tatsächlich so ist.

  • Hmm, gute Frage… laut Handbuch sollten einzelne PRINT-Befehle ja einwandfrei funktionieren?

    Der Plotter hängt jedoch schon beim ersten Befehl.


    Fakt ist, dass ein 1984er und 1986er Modell die gleiche (für den CBM ungünstige) Softwareversion im ROM hatte.

  • Probiers einfach aus:

    PRINT#5, "BEFEHL"+CHR$(13)+CHR$(10);

    Wenn das funktioniert, ist der Fall klar.

    Kann ich das theoretisch auch aus dem File auslesen? Zum Umbau muss man den Plotter komplett auseinandernehmen- das EPROM sitzt exakt unter einem Motor. ;)

    Öffnet man so ein HPGL am Editor unter Windows, sieht man keinerlei Zeilenumbrüche, sondern wirklich eine laaaaange Anreihung von Befehlen, Semikolons und Kommas, sowie Koordinaten.

  • Also CR vs. CRLF kann es meiner Meinung nach nicht sein, ich tippe weiterhin auf ein Timing/Handshake Issue.
    Ihr hattet doch ganz zu Beginn auch schon "Print" mit ";" am Zeilenende probiert. Dann sendet der Computer im Normalfall keinen Zeilenwechsel, d.h. aus logischer Sicht müsste das gleichwertig zu dem oben beschriebenen GET#1/PRINT#5 Ansatz sein. Oder hattet ihr das ";" nur innerhalb des HPGL Strings gesendet, nicht am Ende der "Print" Zeile?
    Zudem sehe ich genau bei dem GET#1/PRINT#5 Ansatz wieder kein ";" am Zeilenende und es funktioniert trotzdem mit dem Computer-generierten Zeilenwechsel. Das könnte natürlich auf ein etwaiges zusätzliches LF Zeichen im HPGL File zurückzuführen sein, was per Hex-Editor im File ja leicht zu sehen sein müsste.

  • Also CR vs. CRLF kann es meiner Meinung nach nicht sein, ich tippe weiterhin auf ein Timing/Handshake Issue.
    Ihr hattet doch ganz zu Beginn auch schon "Print" mit ";" am Zeilenende probiert. Dann sendet der Computer im Normalfall keinen Zeilenwechsel, d.h. aus logischer Sicht müsste das gleichwertig zu dem oben beschriebenen GET#1/PRINT#5 Ansatz sein. Oder hattet ihr das ";" nur innerhalb des HPGL Strings gesendet, nicht am Ende der "Print" Zeile?
    Zudem sehe ich genau bei dem GET#1/PRINT#5 Ansatz wieder kein ";" am Zeilenende und es funktioniert trotzdem mit dem Computer-generierten Zeilenwechsel. Das könnte natürlich auf ein etwaiges zusätzliches LF Zeichen im HPGL File zurückzuführen sein, was per Hex-Editor im File ja leicht zu sehen sein müsste.

    Japp, ich habe alle Varianten des Semikolons versucht. Innerhalb des Strings, außerhalb des Strings, etc...

    Eigentlich hätten ja die Beispiele aus dem Handbuch des Plotters funktionieren müssen- sie verweisen ja explizit auf das jeweilige CBM Modell (2001 / 8032).

    Jetzt funktionieren diese Beispiele- vorher hing der Plotter schon beim allerersten Kommando: "IN" für Initialize.

    Hat man das weggelassen und direkt mit "SP1", sowie der Positionierung mit "PAxxxx,yyyy" begonnen, so funktionierten im Anschluss daran sogar Kreise, bzw. mit "LB TEXT" genau ein Buchstabe. Mehr aber nicht, auch keine Linien. Egal, wie man das Semikolon gesetzt hatte.


    Die HPGL-Dateien sehen so aus, wie unten angehängt. Falls einer von euch werten Kollegen eine Analyse fahren mag. ;)


    Viele Grüsse,

    Matthias

  • Die Datei enthält weder CR noch LF.

    Die Befehle sind durch Semikolon getrennt.

    Interessant!

    Theoretisch muß es also so funktionieren:

    PRINT#5,"BEFEHL;BEFEHL;BEFEHL;";

    Hatte ich getestet, soweit ich mich erinnern kann. Leider ohne Erfolg. ;)

    Ich würde den Plotter ungern wieder umbauen, um dies zu testen- es bringt uns ja im Kern eh nicht weiter.


    Was ich aber sagen kann: Beim Einlesen mit GET habe ich bewusst jeden in A$ gelesenen Wert auf dem Bildschirm ausgeben lassen UUUUND eine Tastendruck-Warteschleife eingebaut. Und selbst da hat der Plotter mit der "kaputten" Software im ROM funktioniert!

    Wichtig war also nur, dass das Auslesen mit GET und das Schreiben mit PRINT erfolgt ist- selbst, wenn dazwischen quasi MINUTEN lagen, bis das nächste Zeichen an den Plotter gesendet worden ist.

    Schon suspekt, alles...

  • Kann der hochwohlgeborene Grafiker mal Kopien der beiden ROMs (good ROM, bad ROM) hier geflissentlich attachieren?

    Eine vergleichende Observation wäre womöglich von essentiellem Interesse für die Menschheit.

    Die eingezippte HPGL Datei selbst ist spezifikationsgemäß korrekt.


    Martin

    Hallo Martin,


    diese Bitte würde ich sehr gerne an vossi weitergeben wollen. Er ist quasi der "Urheber" (ok, das war HP- aber ihr wisst schon).

    Da würde mich eine Analyse von einem Spezialisten auch freuen!

  • Hier sind die beiden ROMs meiner Plotter (der Dateiname gibt das Datum des ROMs an). Sieht identisch aus und beide funktionierten NICHT am CBM (außer eben via GET / PRINT).


    Wenn vossi das OK gibt, schicke ich noch die Datei des "guten" Plotters mit. :)

  • Ich bin auch ziemlich sicher, dass die Plotter an HP Equipment einwandfrei funktioniert haben.

    Noch dazu sind die Daten der drei Plotter in ROM U15 wirklich alle gleich.


    Schon interessant!

  • Ich habe die Bytes gemäß Schaltplan mal in die "korrekte" in Adressfolge umzusortert, dann fallen die Unterschiede in zwei zusammenhängende Blöcke (wenn ich mich nicht vertan habe).

    Jetzt bräuchte man nur noch eine Disassembler für die CPU, um zu sehen, ob die Unterschiede im Code oder in den Daten liegen und was sie bedeuten.

    Das habe ich mir jetzt nicht mehr angetan.

    Es kann auch sein, dass es nur Änderungen in den Zeichensätzen sind, schließlich sind die Vektoren ja auch im ROM.


    Martin

  • Und wie bekommst du jetzt die Farbe auf die CBM Bildschirme? ;)

    Man kann wohl in Inkscape gewisse Bereiche der SVG-Datei in Ebenen verschieben, denen man dann eine Farbe zuteilt.

    Ich muss erst experimentieren. Einfacher Test mit dem Befehl "SPx" mitten in den Zahlenkolonnen der HPGL-Datei führt zwar zum Stiftwechsel, aber es geht danach nicht mehr korrekt weiter. Da mache ich sicher einen Fehler, evtl. muss erst ein weiterer Befehl folgen, damit es normal weitergehen kann.

  • Heute mal das IEEE-Modul an den VC20 geklemmt und wild drauf los geplottet! :)



    Hat wie erwartet funktioniert. Somit kann man das jetzt auch mit dem VC20 machen.

    Cool wäre eine Kombination mit dem Super Expander Modul, weil man dann auch da die Grafik auf dem Bildschirm ausgeben könnte.

    Mal sehen.

  • Verfechter exakt gezeichneter Linien hergehört!


    Heute mal ein paar Testplots rausgezwirbelt:


    Den Airbus haut es aus dem Plotter raus, dass man es kaum fassen kann? Ebenso ihn hier:



    Dieser Tektronix Wizard ist knuffig. Da muss ich mal ein Video machen.

    Der Geschwindigkeitszuwachs liegt an der Tatsache, dass hier mir INPUT anstelle von GET eingelesen werden kann, weil die Datei Zeilenumbrücje enthält.


    Und hier der vergebliche Versuch, einen Staedtler Plotterstift generalzuüberholen:


    Da ist ganz schön viel Plunder drin? Oben zur Referenz ein noch unzerlegtes Exemplar.

    Hab ihn dann mit Eddingfarbe befüllt… lief raus wie Wasser. Da muss also was dezent dickflüssiges rein… aber was?


    Frohes Zeichnen,

    euer Dalí