Elektronische Schreibmaschine zum Terminal/Teletype umgerüstet

  • Moin,


    ich hab in der letzten Woche eine elektronische Schreibmaschine (Commodore/Samsung SQ-1000) zum Terminal/Fernschreiber umgerüstet:

    2 Mikrocontroller übernehmen jetzt jeweils die Kommunikation zum originalen Mikrocontroller (emulieren eine Tastatur) sowie zur echten Tastatur (und scannt diese).


    Ich hoffe, die Schreibmaschinensammler nehmen mir diese Aktion nicht übel, aber die Maschine ist noch völlig intakt, kann eigenständig genutzt werden und auch die zusätzlichen Platinen können einfach wieder ausgebaut werden :)



    Mit einem Linux-Rechner verbunden wird die Schreibmaschine so zum Terminal:

    https://youtu.be/425zfOyOr98


    Über ein RTTY<->RS232 Interface kann man damit dann Wetterberichte per Langwelle empfangen:

    https://youtu.be/c9slB1ufB48


    und mit einem Modem kann man sich dann direkt zu einer BBS verbinden:

    https://youtu.be/MJI6rYhkji4


    Mein schöner Akustikkoppler hat leider gerade diese Woche den Dienst quittiert und die Ursache ist bisher noch nicht zu finden gewesen. Das wäre natürlich eigentlich passender/zeitgemäßer als ein Modem :)


    Das Interfacing mit dem Matrixscanning des Original-MCUs war ein wenig nervig, weil der Controller bidirektional durch die Matrix arbeitet und ohne Tastendrücke gar nicht scannt.

    Die Matrixeingänge (!) sind leicht hochgezogen und ein Drücken einer Taste verbindet diese Spannung mit dem Matrixausgang (welcher standardmäßig selbst auch ein Eingang ist). Erst dann fängt der MCU an, zu scannen und gibt die Pulse auf der Matrix aus. Das habe ich mittels Tri-State-Pins in meinem AVR Mikrocontroller gelöst, der Code ist _wirklich_ nicht hübsch, aber es funktioniert gut :)


    Flusskontrolle ist auch so ein wunder Punkt, weil natürlich alle Aktionen unterschiedlich lange dauern und die Druckmechanik nicht mit einer konstanten Rate druckt.

    Der AVR hat einen ziemlich großen seriellen Puffer und er ist an den Piezo-GPIO des Original-MCUs angeschlossen. Über diesen Piezo beschwert sich die Schreibmaschine, falls man ihr zu schnell tippt. Der AVR achtet beim Emulieren von Tastendrücken auf dieses Signal und verzögert dann die restliche Ausgabe.


    Den Quelltext für diese Aktion habe ich auf GitHub hochgeladen, ist wirklich nicht schön und sehr hastig geschrieben, aber glaub ich relativ lesbar und funktionieren tut's gut :)

    Drucker-Interface: https://github.com/Manawyrm/sq…nal/tree/main/printer/src

    Keyboard-Interface: https://github.com/Manawyrm/sq…ain/keyboard/src/main.cpp


    Fehlt jetzt eigentlich nur noch ein Modus, um die Schreibmaschine als Drucker (z.B. per Centronics oder IEC) zu nutzen :)


    Viele Grüße
    Tobias

    Einmal editiert, zuletzt von Holger () aus folgendem Grund: „elektrische“ in „elektronische“ geändert

  • Das ist keine "Elektrische Schreibmaschine". Eine elektrische Schreibmaschine besteht aus ca. 1000-1500 mechanischen Teilen wie Hebel, Achsen, Segment, Typen oder Kugelköpf, Spiralfedern, Stahlband, Rollenkäfige, Schrauben, Sprengringen, Gummianschlägen, Gummiwalzen, Excenterscheiben, Kupplungen, Schwungrad, Zahnrädern, Zahnriemen, Führungsschienen und ganz wichtig, weil Namensgebend, einem Elektromotor, der das Ganze antreibt.


    Was du da hast, ist eine "Elektronische Schreibmaschine", genauer sogar eine "Elektronische Typenradschreibmaschine", Namensgebend ist da die integrierte Elektronik mit Microprozessor, RAM, ROM, IO-Bausteinen (also ein einfacher Computer).


    Das soll aber deine Leistung mit dem Umbau nicht schmälern.

    1ST1

  • Finde ich super !! und mein Respekt..


    ich liebe Terminals.. oder was dazu geworden ist :D :thumbup: :thumbup:

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40