Datenaustausch mit dem Epson HX-20 unter Windows

Für den Epson HX-20 Informationen im Netz zu bekommen ist schon eine kleine Herausforderung. Vor allem wenn etwas nicht funktioniert.

Dieser Beitrag widmet sich dem Datenaustausch in erster Linie über die serielle Verbindung mit dem PC und dem Epson HX-20. Hierzu gibt es bereits einen guten Leitfaden von Homecomputerguy.

Allerdings möchte ich hier auf die Besonderheiten bei dem Datenaustausch unter Windows eingehen.

Technische Vorraussetzung

Der Epson HX-20 hat eine RS-232 Schnittstelle in Form einer 8-poligen DIN Buchse.

CC BY-SA 3.0 – Galapagos999 Wikipedia.org

Der PC hat in der Regel (auch die USB Adapter) einen Standard 9-pol RS232 Stecker.

CC BY-SA 3.0 – Wikipedia.org

Am einfachsten ist es sich ein dreipoliges Kabel anzufertigen. Es gibt dann zwar keine Datenflusskontrolle und damit nur eine sichere Verbindung mit einer Geschwindigkeit um die 300bps. Da die Programme in der Regel alle relativ klein sind, reicht es für die meisten Anwedungsfälle.

Einfach die entsprechenden Pins miteinander verbinden.

HX-20 <-> PC Serielles Kabel

Einstellungen am HX-20

Die Serielle Schnittstelle am HX-20 ist COM 0 (Null). Der Befehl, um Daten über die RS-232C Verbindung zu empfangen wird im BASIC Modus eingegeben und sieht wie folgt aus:

LOAD“COM0:(BLPSC)“

B definiert die Geschwindigkeit:
0 – 110bps
1 – 150bps
2 – 300bps
3 – 600bps
4 – 1200bps
5 – 2400bps
6 – 4800bps

Für das dreipolige Kabel ist die Einstellung 300dps ideal.

L is die Anzahl der Bigs, 7 oder 8
P bestimmt die Parität: N (keine), E (gerade) und O (ungerade)
S setzt das Stop Bit, 1 oder 2
C ist sehr technisch und hilft den Datenfluss zu steuern. Bei unserem Kabel ist der zu setzend Wert F, um die Flusskontrolle zu deaktivieren.

Die klassische und häufigste Parametrisierung des Befehls lautet dann:

LOAD“COM0:(28N1F)“

Eine Verbindung mit 300bps, 8-bits, keiner Parität, 1 Stop Bit und keiner Flusskontrolle.

Danach befindet sich der HX-20 im Empfangsmodus

HX-20 im Empfangsmodus – Serielle Verbindung

Datentransfer von einem Windows PC aus

Normalerweise habe ich Hyperterminal oder TeraTerm genutzt, um Daten mit alten Rechnern auszutauschen.

Diese Einstellungen habe ich bei TeraTerm dann eingestellt:

TeraTerm – Serielle Parameter

und das lokale Echo eingeschaltet, um zu sehen was über die Verbindung geschickt wurde.

TeraTeram – Aktiviertes lokales Echo

Da der HX-20 kein Transferprotokoll unterstützt, habe ich die Datei mit dem einfachen Filetransfer von TeraTerm verschickt.

TeraTerm – Send File

Es hat etwas gedauert bis ich diese Option gesehen habe, habe meist im Transfer Dialog gesucht. Mit Send File wird die Datei dann ohne irgendein Protokoll plain übertragen.

Datei ausgewählt und los geschickt. Die Datei war nach 3 Sekunden übertragen und wurde schön auf dem Terminal mittels local Echo ausgegeben.

Auf dem HX-20 habe ich dann die Verbindung mit Break unterbrochen und mir das Programm im Speicher angesehen.

Mmmh, nur die ersten 3-4 Zeilen des Programmes waren im Speicher.

Habe das nun einige Male wieder holt und immer mit dem gleichen Ergebnis.

Ich konnte mir das nicht erklären. Programm wurde als übertragen gemeldet, aber dennoch ist nur ein Teil des Programms auf dem HX-20 angekommen.

Danach habe ich ein anderer Terminal Programm mit dem Namen YAT speziell für Debugging und Testing auf der seriellen Schnittstelle heruntergeladen.

YAT – Terminal Session Einstellungen

Dort als Terminal Type Text aufgewählt und die übrigen Parameter dem des HX-20 angepasst.

Wichtig ist hier, dass wir nun explizit das Encoding der Textdatei angeben müssen. Es wird standardmäßig UTF-8 angenommen, meine Basicprogramm sind aber Windows-1520.

Dafür gehen wir unter Terminal -> Settings

YAT – Terminal Einstellungen

Dort den Punkt Texteinstellungen auswählen.

YAT – Terminal Text Einstellungen

Hier das Encoding der Datei auswählen. In meinem Fall Windows 1250.

YAT – Terminal Text Encoding

Danach die Datei unten im Dialog auswählen und verschicken.

YAT – Dateiauswahl

Siehe da die Zeichen tauen im Terminal von YAT sehr viel langsamer auf als bei TeraTerm. Es dauert fast 53 Sekunden bis alle 700 Zeilen des Basic Programms angezeigt wurden.

Danach habe ich am HX-20 mit BREAK den Datentransfer unterbrochen und den Speicherinhalt geprüft.

Siehe da, dass gesamte Programm ist im Speicher des HX-20 und lässt sich ausführen.

Jetzt dämmert es mir. Ich vermute, dass TeraTerm und Hyperterminal nicht wie von mir vermutet mittels Local Echo die Zeichen anzeigen die aktuell übertragen werden, sondern aufgrund der mangelnden Flusskontrolle einfach alles direkt angezeigt haben.

Anders als YAT. Hier scheint es, dass hier dargestellt wird was gerade genau über die Leitung geschickt wird.

Ein Test mit TeraTerm bestätigt dies. Ich habe erneut die Datei mit TeraTerm verschickt und jetzt gut eine Minute gewartet bis ich die Verbindung mittels BREAK am HX-20 unterbrochen habe.

Auch hier war danach das gesamte Basisprogramm im Speicher.

Nach dieser Erfahrung ist YAT zum Tool meiner Wahl geworden, wenn um den Dateitransfer über die serielle Schnittstelle geht.

2 Gedanken zu „Datenaustausch mit dem Epson HX-20 unter Windows“

  1. Noch eine Alternative zur Datenübertragung mit Terminalprogramm ist der MH-20-Display-Controller von Martin Hepperle, mit dem man leichter und stabiler Daten übertragen kann. Das Tool stellt nämlich unter anderem auch virtuelle Floppies bereit, mit der sich leicht BASIC Programme auf den HX-20 übertragen lassen. Das geht mit dem gleichen Kabel, wie oben beschrieben. Und obendrein hat man noch einen erweiterten Bildschirm, der in einem Windows Fenster läuft.
    Wurde im Forum hier beschrieben: https://forum.classic-computing.de/forum/index.php?thread/15215-epson-hx-20-display-controller-emulator/&pageNo=1

    Ich benutze jetzt immer dieses Tool, nachdem ich vorher per Terminalprogramm auch ewig herumprobiert habe.

  2. Teraterm puffert den Transfer und sendet zeichen während es schon zum Benutzer zurückkehrt. Das ist mal praktisch, mal nicht so praktisch.

    Wenn man am Ende der Datei ein Control-Z Zeichen anhängt, erkennt der HX-20 das als Dateiende, speichert die Daten aus dem seriellen Eingangspuffer ab und kehrt zum System-Prompt zurück. Dann braucht man nicht zu warten bis man hofft, dass alles gut angekommen ist.

    Das geht auch mit Teraterm (dort muss man eventuell eine Verzögerung „Transmit delay“ zwischen den Zeichen einstellen,. z.B. 10 ms, damit der HX-20 ohne Handshake alles richtig versteht, man kann dann auch höhere Baud-Raten verwenden).

Schreibe einen Kommentar

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