Epson PX-8

 Computer – Epson PX-8 05.05.2019 …

Da hat meine Nostalgiephase voll durchgeschlagen und 3 2 1 … lag ein PX-8, In einem sehr gutem Zustand mit allen wichtigen Unterlagen auf meinem Schreibtisch. Lediglich die Akkus waren leer, bzw. nicht vorhanden, bei dem Alter völlig OK und besser kein Akku als ein Auslaufmodell. Denke da nur an den J&K Computer.

So Ende der 80er gab es diesen netten kleinen Laptop mal zum Schleuderpreis, nebst 128kbyte RAM-Disk. So diente er mir damals als Begleiter im Service zur Datenerfassung für eine dBase Datenbank und als Notizblock bei Fortbildungen, denn ein DOS-Laptop war damals preislich unerreichbar. Irgendwann im „Aufräumwahn“ habe ich ihn verscherbelt, genauso wie den PROF180x, könnte mich dafür heute noch im …

Alle Funktionen, wie CP/M, auch mit dem Kassettenlaufwerk, Wordstar und Basic usw. waren einwandfrei, so machte es Sinn den Akkusatz zu erneuern. Den Hauptakku gab es so im Netz, lediglich mit dem falschen Stecker. Beim Back-UP-Akku mußte der Lötkolben ran, kein Hexenwerk da der PX-8 wirklich gut zu zerlegen ist.

Weil Basic nicht so meine Sprache ist, wenigstens diese uralten Versionen mit GOTO, PEEK und POKE, musste ein Turbo-Pascal her. Im Netz eine angepasste Version als HEX-File gefunden und ins EPROM gebrannt. Die PROM’s sind hier auf einem Kunstoffträger geklemmt damit der Austausch so einfach wie möglich war. Den Träger vom BASIC-Prom dafür genutzt und schon ist das „CP/M-Entwicklungssystem“ fertig. Dank der 3D-Drucker, gibt es diese Träger im Netz recht günstig.

Für die Kommunikation bedarf es noch ein entsprechendes Kabel, die Belegung wird im Handbuch gut erläutert. Den Mini-DIN 8pol-Stecker gibt es heute glücklicherweise „an jeder Straßenecke“, das war in den 80er deutlich schwieriger. Damit das Ganze zum aktuellem Equipment passt, schnell noch einen Adapter auf SUB-D 9pol-Stecker als „DatenEndgerät“ gelötet. So kann der PX-8 mit Hilfe eines Null-Modem-Kabel mit dem PC bzw. Moppel verbunden werden.
So kann der PX-8 mit Hilfe eines Null-Modem-Kabel mit Moppel verbunden und die Console übernehmen, falls ich damit mal auf Reisen gehe ;-))
SD-Interface 04.2020

Um Kleinigkeiten zu Programmieren fehlt noch ein „Massenspeicher“, das Kassettenlaufwerk ist nun mal etwas langsam. Damals hatte ich eine RAM-Floppy, ist aber schwer zu bekommen oder nur zu Mondpreisen. Im Netz ein schönes Projekt von William R Cooke gefunden. Hier wird das Floppylaufwerk durch eine SD-Karte nachgebildet. Die notwendigen Teile: Arduino-Nano, Micro-SD-Kartenmodul und V24 waren schnell zusammengesucht und auf eine Lochrasterplatte gelötet. Als Stromversorgung dient ein LIPO-Akku mit Lademodul. so kann er einfach über den USB-Port geladen werden.

In dem Projekt sind vier Laufwerke definiert (D: – G:) und bereits mit vielen Utilitys bestückt – Klasse.

 

Lesen und die vorbereiteten Programme ausführen funktioniert schon mal wunderbar und mit 38800b/s deutlich schneller als das Kassettenlaufwerk, lediglich das Schreiben wird mit einem BDOS-Fehler quittiert – „Zieldatei kann nicht geschlossen werden“

Da muss ich wohl noch Hand anlegen…

Fehleranalyse …

mit dem HEX Editor mal das „Ziellaufwerk“ angesehen. Erstes Bild (LW D:) als Referenz ist alles gut, im zweiten sieht man das der Eintrag erst hinten bei 50.000h beginnt. Also werden Daten geschrieben nur an falscher Stelle. Da die Leseroutinen einwandfrei funktionieren kann es ja nur an den Schreibroutinen liegen. Quercheck durchgeführt, den Datenblock einfach mal vorn auf 8000h geschoben und schon wird mit DIR auch die Datei sichtbar.

Da das ganze bei William bereits seit 2019 funktioniert muss der Fehler irgendwo in meinem Bereich liegen. Er macht alles unter LINUX, hab zwar einen Netbook mit Linux Mint, aber die USB erkennt das NANO-Board nicht.

Nochmals die Seite von William genauer studiert und siehe da, es gibt es einen Hinweis auf seine Arduino-SDK Version 1.8.5 ich habe aber die 1.8.12 – die aktuelle !?. Also Downgrade auf 1.8.5 und alles neu kompiliert – und – es funktioniert. Der PX-8 schreibt nun auch an der richtigen Stelle und alles ist wunderbar. Hatte schon mal mit BASCOM ein ähnliches Problem mit den unterschiedlichen Versionen, damals war es die V24 wo RTS nicht richtig bedient wurde und das Problem erst nach einem Update behoben wurde.

Nun warte ich noch auf ein schickes Gehäuse und den Mini-DIN Stecker um das Projekt abzuschließen…

das schönes Heim...

ist endlich eingetroffen, in „Coronazeiten“ dauert es halt etwas länger. Die Grundplatte für die ganzen Module neu angefertigt. Hier hatte ich nun genügend Platz um das CPU- und SD-Kartenmodul steckbar auszuführen. Der TTL/V24 Wandler ist einfach an der Rückwand geschraubt, Akku wurde nur mit Teppichklebeband befestigt. Die fehlende Frontplatte muss ich nochmal neu schnitzen, hatte auf der Fräse den Nullpunkt nicht richtig gesetzt und schon war sie dahin – neuer Versuch …

Jetzt kann ich mal im Garten Testen wie lange der Akku hält, geladen wird er ja über das Lademodul per USB.

neulich im Garten …

ein paar Fingerübungen in Sache Turbo-Pascal, hierzu ein paar Beispielprogramme eingetippt, kompiliert und es klappt. Handling und Arbeitsgeschwindigkeit mit der SD-Card ist hervorragend. Quelltexte noch mals auf Tape gesichert – das dauert natürlich deutlich länger – schnarch.

Der Akku mit seinen 2Ah hält deutlich länger als im PX-8, hat ja auch wenig zu tun.

Resuemee:

Das war mal ein flottes Projekt, erstklassige Vorarbeit von William – vielen Dank dafür.
Was noch fehlt ist eine RAM-Floppy, hierzu gibt es ja auch gute Vorlagen im Netz vielleicht läuft mir da auch was fertiges übern Weg  – schauen wir mal …

Akku-Management (15.04.2023)

Kaum zwei Jahre weiter sind die Akkus wieder hin – obwohl oder weil er zu wenig genutzt wird. Da sowieso ein Projekt „Modulgehäuse“ angedacht ist, soll erstmal das Problem mit der hohen Selbstentladung der NiMh gelöst werden. Hierzu bieten sich die LIPO bzw. LiFePO gerade zu an, hohe Kapazität mit sehr geringer Selbstentladung, dies bedarf aber ein neues Management bestehend aus Akkuschutzschaltung, Spannungsregelung und einer entsprechenden Ladeschaltung.

Im ersten Step habe ich mich für die LiFePO entschieden da sie robuster als LiPOs sind, bedingt durch die geringere Systemspannung sind zwei in Reihe vorgesehen, die Schutzschaltung verhindert Unterspannung und Überschreitung der Ladeschlussspannung. Die 7,2V müssen dann per Schaltregler auf 5V begrenzt werden, für die Ladung bedarf es dann noch eine Konstantstromquelle von 1A. Soweit mein Gedankengang.

Gerade aktuell kommt Elektor mit einem „LiPO Supercharger Kit“ über den Zaun. Eine LiPO Zelle mit Schutzschaltung, Step-UP Regler und Laderegler, alles wie oben beschrieben – irgendwoher kennen die meine Wünsche ;-). Da gibt es nicht mehr viel zu überlegen, bestellt und gebaut.

Der Bausatz ist komplett mit allen Bauteilen wobei die SMD-ICs schon bestückt sind, das Hühnerfutter war gut sortiert in einzelnen Tüten verpackt, so ging der Zusammenbau recht flott. Im Akkufach passt auch noch eine 2.Zelle als 2P hinein. Das sind dann 3-4Ah statt 0,5Ah mit dem original Akku.

Sobald das USB-C Ladekabel eintrifft wird das Modul eingehend getestet…

Ein originales Modulgehäuse für die SD-Karte und einer zusätzlichen RAM-Disk ist noch nicht in Sicht, wird wohl auf eine Eigenkreation  hinauslaufen. Leider kann die Fräse kein 3D, aber ABS-Platten kann man mit Aceton recht gut zusammen kleben oder es findet sich jemand der das als 3D-Druck realisiert…
Expansionsunit (23.10.2023)

Die SD-Card Erweiterung ist eine schöne Sache, vier Laufwerke ohne Diskettenwechsel direkt im Zugriff – so macht Old-Computing richtig Spaß.

Nichts ist perfekt, das externe Gehäuse mit weiterem Akku ist etwas unpraktisch, auch der 8pol Mini-DIN Anschluss ist etwas fummelig und nicht vertrauenswürdig. Schöner wäre alles in einem Gehäuse, nur leider sind die originalen Erweiterungsgehäuse sehr selten und bis heute nicht auffindbar, wer eine hat, gibt sie verständlicherweise auch nicht her.

Also Zeichenstift gewetzt, Maß genommen und mit der Fräse ABS-Platten in Form gebracht. Erstes Muster in 3mm ist etwas zu dicke, damit konnten aber alle Maße überprüft und feingetunt werden. Mit den 2mm ABS-Platten ein weiteres Versuchsmuster angefertigt – sieht vielversprechend aus.

Nun müssen alle Module vom Steckbrett auf die Eurokarte ihren Platz finden, Für den Kartenleser ist eine „Normal-Ausführung“ vorgesehen, die mikro-SD sind mir zu fummelig und Platz ist ja genügend vorhanden. Die 8pol Mini-DIN für die RS232 wird auf eine 9pol Sub-D überführt, die Serielle mündet ins SD-Interface. leider sind die Signale nicht auf den 50pol-BUS gelegt, hiervon wird erstmal nur die Stromversorgung genutzt. Im zweiten Schritt kommt dann das neue Akku-Management zum Zuge, siehe oben.

Ob es dann noch einer RAM-Disk bedarf wird sich zeigen, Pläne sind schon mal gezeichnet aber noch nicht final.
Auf dem Steckbrett schlummert schon ein ESP8266 (RS232<–>Wifi) rechts-unten, könnte den PX-8 ins Netz bringen – schauen wir mal…

Expansionsunit, die 2. (29.10.2023)
Die einzelnen Module haben ihren Platz gefunden. Die SD-Karte zeigte sich etwas zickick, so bin ich auf ein vorhandenes Micro-SD Modul ausgewichen, der V24 Wandler ist ein fertiges SMD-Modul um nicht alles in Einzelteilen wie im Schaltbild aufzubauen. Die 5V-Stromversorgung liegt am 50pol-Stecker an, also aus dem original Akku. Schauen wir mal wie der damit klar kommt, wenns nicht reicht liegt ja das Akku-Management (siehe oben) schon bereit.
Der Anschluss der beiden RS232 erfolgt über die 8pol Mini-DIN, könnte man auch direkt an die Hauptplatine auflöten und die Abdeckung sparen aber so bleibt der PX original. Der „Rucksack“ ist noch nicht Formvollendet wird in der finalen Version bestimmt hübscher – erstmal alles testen ob das so für gut befunden wird…
Praxistest (08.11.2023)

Meine erstes SD Erweiterung hatte sich bis auf das Gefummel mit dem Kabel schon recht gut bewährt, mit dem Unterbau fällt das weg und die RS232 kann jetzt bequem mit dem Null-Modem Kabel gesteckt werden – also eine deutliche Verbesserung.

Es fehlte noch eine Standard DFUe-Software, Kermit ist auf dem Prof180 und Moppel bereits heimisch – wie bekomme ich nun eine 30kByte COM Datei zum PX-8 ?. Die „TERM“ Software kann nur Textdateien und „FILink“ maximal X-MODEM. Test mit den PC/CP/M Versionen funktionierten leider nicht.

Zweiter Ansatz über die SD-Karte – brauchte ja nur ein passendes Image.
Schön gedacht, nur das geschah auf ein LINUX-System. Hab ich nicht wirklich und würde erstmal eine ordentliche Einarbeitung bedeuten. Im Netz nach einer einfacheren Lösung gesucht und mit dem Tipp von Fritz das passende gefunden.

Peter Dassow hat auf seiner Seite http://www.z80.eu/ die passenden Kermit Teile als HEX-Dateien: [CPSKER.HEX], [CPVPX8.HEX] und fürs zusammenbauen [MLOAD.HEX]. Damit sollte es eigentlich gehen, die kleinen mit 4 und 8kByte funktionierten auch – nur 70kByte vom Kermit-Grundprogramm brachen immer irgendwann mit Übertragungsfehler ab. Schrittweise die Übertragungsrate halbiert, erst mit 300Bd war nach einer gefühlten Ewigkeit das Paket heile angekommen  – schwierige Geburt.

Der Zusammenbau war dann nur noch eine „Fingerübung“, zunächst mit LOAD das Ladeprogramm „MLOAD“ in „COM“ wandeln und damit schließlich die beiden Kermitteile [MLOAD KERMPX8=CPSKER, CPVPX8] zusammen fügen und fertig.

Mit KERMIT ist der PX-8 nun im Dunstkreis meiner CP/M Computer angekommen und mit 19200Bd recht flott unterwegs. Da ich das ganze Prozedere nicht noch einmal durchführen möchte, erstmal eine Datensicherung der SD-Karte auf dem PC hinterlegt.
Damit man sich mit dem PX-8 nach einem Supergau wieder aus dem Sumpf ziehen kann, sollte KERMIT noch in Stein (EPROM) gemeißelt werden. Epson hat dafür ein entsprechendes Tool mit dem CP/M Programme und das Inhaltsverzeichnis aufbereitet werden, liegt auch bei Peter Dassow (siehe oben).
Erster Test auf dem Prof (CP/M+) geht ebenso wenig wie auf dem Moppel. Also wie in der Beschreibung „PROMFORM“ auf den PX-8 geladen, geht ja jetzt wunderbar, und dort auf einem freien LW ausprobiert.

Kaum macht man was richtig – schon funktioniert es ;-))

PROMFORM erzeugt nach der Dateizusammenstellung eine HEX-Datei die es unvermittelt aus der RS232 spuckt, gut das da noch die Verbindung zu PC anstand. Daten aus dem Protokoll extrahiert und ins EPROM gebacken, Träger vom „unwichtigem“ Modul zweckentfremdet und es funktioniert
Mega freu ;-]]]

noch etwas aufgeräumt, sieht dann so aus:
———————————————————————
EPSON PX-8 Stand 08.11.2023für den log-Mitschnitt
Console auf RS232 umschaltenA>d:stat con:=uc1: ; PX-8 Console auf RS232EPROM Module
A>dir b:B: WS       COM : WSMSGS   OVR
A>A>dir c:C: TURBO    COM : TURBO    MSG
A>SD-KarteA>dir d:D: ASM      COM : KERMPX8  COM : M80      COM : L80      COM
D: PROMFORM COM : CONFIG   COM : CCSINIT  COM : CCSYSGEN COM
D: CPM24CCS COM : DDT      COM : TERM     COM : DISKDEF  LIB
D: DUMP     COM : GENMOD   COM : LOAD     COM : MOVCPM   COM
D: PIP      COM : RLOCBIOS COM : STAT     COM : SUBMIT   COM
D: SYSGEN   COM : XSUB     COM
A>A>dir e:E: BASCOM   COM : BRUN     COM : L80      COM : M80      COM
E: SAMPLE   COM : BASCOM2  HLP : BASCOM   HLP : BASLIB   REL
E: OBSLIB   REL : SAMPLE   REL : SAMPLE   BAS : SAMPLE   PRNLaufwerke F,G zur freien VerfügungA>d:statA: R/W, Space: 8k ; RAM-Floppy
B: R/O, Space: 32k ; Modul 1
C: R/O, Space: 32k ; Modul 2
D: R/W, Space: 120k ; CP/M Software
E: R/W, Space: 70k ; MBASIC
F: R/W, Space: 278k ; frei
G: R/W, Space: 278k ; frei

A>d:stat con:=crt: ; zurück zur PX-8 Console
———————————————————————

Quellen:
Dateien:
Nun kann ich erstmal damit arbeiten – Fortsetzung folgt…