USB-Interface für Casio PB-100 Serie – der Prototyp

Nachdem ich nun schon mehrere Casio-Rechner der PB-100 Serie besitze, und immer mehr mit den Programmen dieser Rechner hantiere, brauchte ich eine Möglichkeit diese zu archivieren. Dazu müssen sie aber zuerst einmal vom Rechner herunter, am besten auf den PC. Also musste ein PC-Interface her…

interface-prototypNach einiger Suche bin ich unter anderem auf die CASette IO Utilities von Marcus von Cube gestoßen. Das Prinzip ist folgendes: Der Taschenrechner ist in der Lage, Programme auf Kasette abzuspeichern. Dazu wird er mit einem speziellen Kabel, welches einen Interface-Chip enthält, mit einem Kasettenrecorder verbunden, welcher die Programmdaten dann aufnimmt oder abspielt. Dieses Kabel an den PC anzuschliessen, um mittels Software diese Daten aufzunehmen ist unproblematisch – aber große Sounddateien sind auch recht unhandlich, um die Programme zu archivieren. Bearbeitungen des Quelltextes am PC sind so auch nicht möglich.

Marcus‘ Programme erlauben, die so erzeugten Tondateien in ihren Quelltext zurückzuverwandeln. So können die Quelltexte bearbeitet werden, und danach wieder in eine Tondatei zurückgewandelt werden, um diese dann wieder zum Taschenrechner zurückzuspielen. Der Taschenrechner glaubt also, er würde die Daten auf Kasette schreiben und von Kasette lesen, und die Programme können bearbeitet werden. Großartig. 🙂

Nach weiterer Recherche stieß ich außerdem auf die Website von Piotr Piatek, der das Protokoll des Kasetteninterfaces vor mehreren Jahren einmal analysiert hatte. Piotr war es damals gelungen, ein RS232-Interface zu entwickeln, welches die Daten des Taschenrechners in einem eigenen Format zum PC überträgt. Marcus‘ CASette IO Utilities unterstützen auch dieses Format, so dass damit die Übertragung zum/vom Taschenrechner noch weiter vereinfacht werden kann.  Man muss nicht mit großen Tondateien hantieren, und die konvertierung geht auch schneller.Eine tolle Verbesserung.

Abgesehen von der gewissen Komplexität dieses Interfaces war es jedoch außerdem problematisch, dass der verwendete Prozessor heute etwas schwer zu bekommen ist. Außerdem haben viele moderne PCs keine serielle Schnittstelle mehr. Was also tun?

Ich habe mich daran gesetzt, ein USB-Interface für Casio-Taschenrechner zu entwickeln. Ziele waren:

  • Das Interface soll klein und einfach sein
  • es soll günstig sein, d.h. die Bauteile sollten preiswert und leicht zu bekommen sein
  • es soll leicht zu bedienen sein
  • es soll kompatibel zu vorhandener Software (speziell Marcus‘ Programme) sein
  • Es soll keine Modifikation am Taschenrechner notwendig sein, d.h. der Taschenrechner soll mit dem Interface zusammenarbeiten wie mit einem Kasettenrecorder

Also begann ich mit einem Testaufbau mit Teilen aus der Restekiste. Mit einem Oszilloskop mit Digitalanalysator habe ich die Übertragung vollständig in ihre Einzeilteile zerlegt, und so nach und nach das Kasetten-Protokoll des Taschenrechners mit dem Mikrocontroller abgebildet.

Nach 2 Tagen konnte ich die ersten Übertragungen durchführen, und war deshalb sicher dass meine Bastelei wohl funktionieren wird. Ich habe deshalb Schaltplan und Platinendesign erstellt, um aus China professionell gefertige Leiterplatten bestellen zu können. Die Lieferzeit aus China ist relativ lang, so dass ich die Zwischenzeit nutzen konnte um weitere Tests anzustellen und die Software für den Mikrocontroller auf der Interface-Platine sowie eine zugehörige PC-Software zu entwerfen und programmieren zu können.

Das Grundziel war schnell erreicht: Mittels des Interfaces können Programme zum und vom Taschenrechner kopiert werden, und das Datenformat am PC ist zu den CASette IO Utilities voll kompatibel.

Wie das fertige Interface aussieht, und wie es funktioniert, werde ich in späteren Posts beschreiben.

4 Kommentare zu „USB-Interface für Casio PB-100 Serie – der Prototyp

  1. Hallo
    Ich habe heute ihren Beitrag mit der USB Schnittstelle gelesen und finde die Umsetzung klasse.
    Ist die Schnittstelle auch für den casio PB-700 zu verwenden?

    mfg

    R. Becker

    • Hallo Rudolf,
      Der PB-700 ist einwenig speziell – er hat einen besonders eigenwilligen Basic-Dialekt, und eine anders geformte elektrische Schnittstelle. Tatsächlich sind sich die Schnittstellen von den Signalen her recht ähnlich – aber nicht ganz gleich. Der Stecker meines Interfaces passt leider auch nicht. Ich habe vor, den PB-700 (und 770) früher oder später mal zu unterstützen, da ich auch einen besitze – aber momentan geht das leider noch nicht.
      Grüße
      Malte

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*