PX-8 SD-Karte Interface

PX-8-SD-CARD-V5

02.10.2024 Nachklapper

2020 erster Test
Lichtleiter
so sieht es aus

der Prototype aus 2020 kam zurück zur Reparatur – machte kein Mux. SD-Karte neu bespielt und Programm ersetzt, alles wieder schön.

Damit die Aktivitäten nicht im Verborgenen bleiben sollte die Anzeige Laden und Transfer sichtbar sein. Leuchtdioden nach außen legen gibt einen unschönen Drahtverhau, mit etwas Plexiglas konnten die LED’s sichtbar gemacht werden.

 

Daten Empfangen

Zweites Problem, für den Gebrauch sollen Daten zwischen PX-8 und MAC ausgetauscht werden. Mit der SD-Karte auf dem Mac bedarf es ein paar Klimmzüge um sie aus dem Image zu ziehen bzw. hinein zu packen. Da ist es einfacher per DFUe und Kermit die Daten zu schieben, funktioniert bei meinen anderen CP/M Computern ja ohne Probleme. Also den USB-V24 Adapter am Mac geschraubt und einen passenden Treiber und Terminalprogramm (ZOC) geladen. Eingehende Tests mit 19,2kBit/s funktionieren einwandfrei in beiden Richtungen.

 

Noch eine Anleitung nebst Null-Modem-Kabel gestrickt und mein Bekannter ist vollends zufrieden…

 

 

 

 

 

Schrumpfkur

(August 2025)...

Das extra Gehäuse für die SD-Karte halte ich für Suboptimal, Laptop sollte ohne zusätzlichem Kabelgewirr auskommen, mein Prototype als Expansionsport ist etwas unförmig geworden…

 

 

 

 

 

Alle Module neu zusammengestellt und auf einem Träger (noch etwas zu lang) gelötet, schon etwas besser und könnte hintendran irgendwie gesteckt werden.

Den Kartenleser gegen eine kleinere Version getauscht und die Klinke (Kopfhörer) und die beiden Seriellen als mechanische Stütze genutzt. So bliebe noch Platz für einen D-Sub damit die RS232 eine ordentliche Steckverbindung bekommt. Aber es geht noch kleiner…

 

 

 

 

Neue Trägerplatte und Steckverbindung, so kann alles direkt auf dem Expansionsbus gesteckt werden. Hier holt sich das Modul nur die Stromversorgung, die Verbindung zur Seriellen erfolg durch ein kurzes Kabel. Leider ist die RS232 etwas „falsch Plaziert“ und muss umgangen werden damit die Buchse für DFUe frei bleibt.

 

 

Das kleine SD-Card Modul benötigt noch einen Pegelwandler 5V zu 3,3V, den habe ich auf der Rückseite untergebracht, die Verdrahtung erfolgt in der bewährten Häkeltechnik.

 

 

 

 

 

21.09.2025 fertig…

das Modul ist nun funktionstüchtig

Generationen 2 bis 4
von unten
auf seinen Platz
es steht nur ein wenig über
in Aktion

 

 

 

 

 

 

Schaltbild als PDF PX-8-SD-CARD-V4

KiCAD projekt (ZIP) PX-8-SD-CARD-V4

 

 

 

Nun sind die 3D-Druck Spezialisten gefrag um das Ganze hübsch zu verpacken.

Kleiner ging es wohl nur noch mit einer neuen Platine wo der Prozessor, Kartenleser und die Pegelwandler vereint würden…

 

29.10.2025

3D-Muster von Dirk Nitsche

der erste Versuch
von oben
von unten

wie man unschwer erkennen kann ist die Platine noch etwas zu breit, oder am Gehäuse fehlen rundum noch ein paar Millimeter. Zudem gibt es noch ein Problem – wie fixiere ich das Gehäuse an der Platine bzw. an der Rückseite. Die vorgesehenen „Krallen“ wie beim Original brechen leider sehr leicht ab. Hier wollte Dirk in der 2.Version ein anderes Material nutzen…

 

Um die Platine noch etwas kompakter zu bekommen habe ich eine neue Trägerplatine entworfen, hier sind die Module entfallen und die beiden Spannungswandler kommen von unten mit dem wenigen Kondensatoren und Widerständen direkt auf die Unterseite und der Micro-SD-Halter auf die Oberseite wobei die Karte nach hinten zeigt. So kann sie dann leicht ausgewechselt werden.

Hier schon mal die Vorschau:

Oberseite
Rückseite

Die Buchsenleiste muss noch gegen eine abgewinkelte getaucht und der J2 wird direkt per Kabel zur Mini-DIN geführt. Der JP1 ist als Lötjumper ausgeführt da er nur für die Programmierung geöffnet werden muss sonst arbeiten die beiden TX-Treiber vom USB-Anschluß und der Serielle gegeneinander…

 

 

 

Die vorläufigen Schaltunterlagen ! Fehler im Schaltplan am RS232-Spannungswandler !

Schaltbild und Board müssen noch gründlich überprüft werden dann kann das ganze zur Fertigung wandern.

Schaun wir mal ob diese Version genauso zuverlässig arbeitet wie die drei Vorgänger …

PS: übrigens der Autorouter in KICAD Freerouting funktioniert hier wunderbar ;-))

 

30.10.2025 Platine ist nun vinal und in Produktion – ich bin gespannt…

 

27.11.2025 

Platinen waren nach gut einer Woche angekommen, wie immer in einer schönen Qualität – funktioniert leider nicht :-[[

RS232 Patch

Fehlersuche: Schaltplan nochmals genauer angeschaut und siehe da, am RS232-Pegelwandler habe ich die Logik- und RS232-Seite vertauscht, „tausendmal“ geprüft – betriebsblind. Mit Scalpell und Fädeldraht gerichtet, hierzu die beiden freien Sender, Empfänger genutzt.

 

 

 

 

Testumgebung

Ist aber nicht der einzigste Fehler, denn die Karte wird nicht angesprochen. Für die Fehlereingrenzung eine weitere Platine mit Sockel ausgestatet, so kann ich den Arduino zwischen dem alten Aufbau, der ja einwandfrei funktioniert, tauschen um vergleichsmessungen durchzuführen.

Die Sendeanforderung vom PX-8 wird zum Arduino gesendet, hieraufhin sollte derNano das Protokoll analysieren und die Karte entsprechend ansteuern. Hierzu muss das CS-Signal auf low gehen und mit CLK, MOSI u. MISIO die Daten holen und hier scheitert der Datenaustausch, die Signale bleiben in Ruhestellung. Entweder kann er die Datenanfrage vom PX8 nicht richtig interprtieren oder die SPI Schnittstelle hat einen Fehler. Am Nano kann es nicht liegen da er in der alten Schaltung einwandfrei funktioniert. Mit dem Oszi ist das schlecht darzustellen, vieleicht bringt der Logik-Analyser bessere Erkenntnisse…

 

Berichtigter Schaltplan: Schaltplan-V41  veraltet !

 

01.12.2025 Fehleranalyse

Hier der Testaufbau um den Fehler deutlicher zu beleuchten:

PX-8 mit SD-Testboard
LogicSniffer in Aktion
Beim „Diskettenzugriff“
UART-Analyse

 

 

 

 

 

 

Das sieht nicht nur auf dem PX-8 gut aus, auch der Analyser kann da was mit anfangen. Im Kanal 1 und Zwei wird die V24 abgebildet und das SPInterface auf den Kanälen 3-6,

der Kanal 0 hat leider mal das zeitliche gesegnet und bleibt unberücksichtigt. Hier sind man schön das die Anfrage vom PX quitiert und das PSI angesprochen wird um die Daten, hier Dir d:, aus der SD-Karte abzuholen – Alles Wunderbar…

… nicht so mit meiner neuen Platine.

Hier sind die Pegel nicht in Ordnung, sehen irgendwie „verpolt“ aus obwohl im statischem Test keine Auffälligkeiten erkennbar waren. Wenn bis hierher die Daten schon verstümmelt werden kann der Arduino die Karte nicht ansprechen – es bleiben erstmal viele Fragezeichen…

 


04.12.2025 Fehler Nr. 2

V24 Patch
Fehlerfall

… ganz einfach – es fehlte nur der Masseanschlus für die RS232, hatte ich bewust so geplant denn zwei Drähte zum Anschlußstecker sind einfacher zu „verbergen“ als drei, die Masse habe ich ja am Expansionsport – so die Therorie. In jedem Fall quittiert der Nano die Anfrage mit xF9h statt mit x06h und der PX-8 gibt eine Fehlermeldung BDOS Error aus.

 

 

 

Versuchsaufbau mit SD-Karte über SPI
Erfoglreiche Datenübertragung

Die SD-Karte mit fliegender Verdrahtung ans SPInterface geklöppelt – und Funktioniert. Als Quercheck nochmals die Masse von der Seriellen abgeklemmt, dann sieht es wieder wie oben im Fehlerfall aus. Schön wenn man die Fehler nachvollziehen kann. Jetzt kann die Platine mit dem Pegelwandler und Kartenslot vervollständigt werden – schau mal was noch für Fallstricke auftauchen …

 

 

 


07.12.2025 Fehler Nr. 3

Mit dem oben gezeigtem fliegendem Aufbau des SPInterface sah das erstmal vielversprechend aus, also die Platine mit Pegelwandler, µSD-Fassung und Pullups ergänzt – funktioniert leider nicht. Schaltplan nochmals gründlich geprüft, hatte die SD-Fassung falsch kontaktiert – CS muss auf PIN2 und Mosi auf PIN 3. Mit einwenig Häkeldraht und Skallpell konte es gerichtet werden – funktioniert leider immer noch nicht – Scheibenkleister.

Neue Vergleichsmessung, Testboard 2 welches am PX einwandfrei funktioniert mit Testanschlüssen ausgestattet und mit dem Sniffer verbunden. Am Pegelwandler wird Ein- und Ausgang jeweils auf einem eigenen Kanal gelegt (ausser MOSI Card, hier gingen mir die Kanäle aus).

Trigger auf RESET (1KHz)

Zunächst den Start nach Reset beleuchtet, hier taktet der Prozessor dreimal die CLK-Leitung, etwas später wird CS auf low gelegt und wieder getaktet woraufhin die SD-Karte antwortet.

 

 

Trigger auf CS (1MHz)

 

Etwas deutlicher mit Trigger auf CS(low), es folgen einige Datenpakete, hier sieht man auch gut das die Pakete mit CS auf high unterbrochen werden. Und Ein- bzw. Ausgang vom Pegelwandler einwandfrei arbeiten – sieht man auch auf dem PX-8 mit erfolgreicher Datenübertragung.

 

 

Trigger auf RESET (1KHz)

 

Nun das Ganze mit der neuen Platine, schon im Ansatz falsch. Der Prozessor taktet die CLK-Leitung nur einmal und wenn er die CS auf low legt kommen zwar Daten aber die CS-Leitung an der Karte sind gestört.

 

 

Trigger auf CS (1MHz)

Es scheint so, das die SPI-Grundkonfiguration nicht funktioniert und die Kommunikation nicht zustande kommt „Sector Fehler“. Hatte am Pegelwandler und µSD-Fassung noch 1µF Kondensatoren gespendet, nur ein paar Spikes weniger…

 

 

 

08.12.2025 Fehler Nr. 4

Datenblatt zum TXB0104 nochmals gründlich studiert und unter Punkt 8.2.2 fündig geworden:

„External pullup or pulldown resistors are not recommended. If mandatory, it is recommended that the value must be larger than 50 kΩ.An external pulldown or pullup resistor decreases the output VOH and VOL. Use the below equations to draft estimate the VOH and VOL as a result of an external pulldown and pullup resistor.“

Also keine Pullups ! – in den üblichen veröffentlichungen wird damit nicht gegeizt, auch nicht bei meinen verwendeten Modulen – also alle entfernt, lediglich OE benötigt High sonst schalten die Treiber nicht durch – Das war die Lösung !

SD-V41 hier noch mit Stelzen…
… und die Patches

Jetzt funktioniert alles perfekt, Härtetest mit TuboPascal mit Workfile und COM-Datei auf Laufwerk F: – hierbei sieht man am Nano die TX-/RX-Leds schön takten. Wieder ein Schritt weiter, es bleibt aber noch genug zu tun. Layout berichtigen, Anschlußpunkte besser platzieren und nochmals etwas schrumpfen. Die µSD-Fassung tauschen, Reichelt hatte nur diese Molex Fassung wo auch ein Footprint in KiCad exestierte – ist schon etwas fummelig.

 

 

 

09.12.2025 Stand der Dinge

SD-Interface vier Generationen

Hier die bisherigen Generationen von einer Europakarte bis zur Mini-Version in vier Varianten.

Der Nano nimmt eigendlich viel zu viel Raum ein, zumal ich ja nur die V24, 3,3V Spannungsregler und das SPInterface benötige. Der PX-8 stellt mir die 5Volt bereits zur Verfügung und ein USB-Interface, was auch noch geschummelt ist, wird auch nicht benötigt. Das Programm kann genauso über das SPI geladen werden. Schön wäre eine Umstellung auf 3,3V, damit hätte sich der SPI-Pegelwandler, mit all seinen „Fallstricken“ erledigt und das Platinchen könnte nochmals deutlich schrumpfen. Vorraussetzung ist, das die Software auch noch mit 8Mhz funktioniert, schauen wir mal was der Urheber William R.Coke dazu sagt.

 

Schaltplan-V41 aktuelle Version


13.12.2025 die 5. Version…

mit der Überlegung alles noch etwas kleiner zu gestalten habe ich das Nano-Modul gegen ein proMini 3,3V 8Mhz getauscht. Hierdurch fällt der SPI-Pegelwandler und die USB-Schnittstelle weg, die 8Mhz sind auch kein Problem wie der Urheber mir mitteilte. Projekt neu kompiliert und mit AVR-Studio 4 per ISP ins Modul geschrieben, hier hatte die Arduinoplattform versagt, „keine Verbindung zum Promer“.

Testaufbau

Sieht etwas unaufgeräumt aus, für den RS232 Pegelwandler musste die „alte“ Platine herhalten.

 

 

 

 

 

mit PX-8 verbunden
Turbo Pascal bei der Arbeit

Als Test ein Pascalprogrämmchen als COM-Datei auf die SD-Karte kompiliert und Daten zwischen den Laufwerken kopiert – funktioniert alles einwandfrei.

Nun muss das Platine ca. 20x70mm so gestaltet werden, das es am Expansionport fast unsichtbar angedockt werden kann…

 

 

 

14.12.2025 Layout fertig

KiCad findet keine Fehler, lediglich überschneiden sich zwei Bestückungsaufdrucke – und ab nach JLCPCB…

SD-V5-Schaltplan mit Arduino ProMini

PX-8-SD-CARD-V5 Arduino Projektdatei

 


Quellen

 

Hier nochmal alle Quellen zum Projekt:

William R.Cooke
http://wrcooke.net/projects/pfbdk/pfbdk.html

F. J. Kraan
https://electrickery.nl/comp/px8/index.html

Peter Dassow
http://www.z80.eu/epsonpx8.html

Dateien: