Raspberry Pi – Amiga Datenübertragung
Der Raspberry Pi ist nicht nur eine passable Retro Gaming Konsole, man kann ihn auch sehr gut als Schnittstelle für alte Rechner verwenden. In diesem Artikel zeige ich euch wie ich den Raspberry Pi nutze um Daten an meinen mittlerweile 30 Jahre alten Amiga 500 zu senden.
Raspberry Pi – Amiga Datenübertragung
In einem recherchieren Artikel habe ich euch ja bereits gezeigt, wie man einen alten Apple Macintosh Plus ins Internet bringt. Das selbe möchte ich auch für meinen Amiga 500. Um das zu bewerkstelligen benötige ich jede Menge Software aus dem AmiNet. Der Amiga hat weder USB noch LAN Schnittstelle, die einzigen Möglichkeiten zur Datenübertragung sind die guten alten 3,5 Zoll Disketten oder der serielle Port. Leider habe ich kein Diskettenlaufwerk, deshalb bleibt mir nur noch die Datenübertragung mit einem seriellen Null-Modem Kabel. Das kommt nun der Raspberry Pi ins Spiel.
Serielles Kabel mit dem Raspberry Pi
Heute hat kaum noch ein PC eine serielle Schnittstelle. Dieser alte Standard stirbt einen langsamen und leisen Tod. Als Alternative haben unterschiedliche Hersteller USB-Seriell Adapter oder Kabel entwickelt. Das ist zwar schön, führt aber zu einem großen Problem. Nicht jedes USB-Seriell Kabel ist kompatibel, auf den Fehler bin ich auch nach langer Suche gekommen. In einem gemeinsamen Projekt mit technology-blog.net wurde die serielle Verbingung mit dem Raspberry Pi verwirklicht.
Daten schicken
Es ist recht einfach, Daten mit dem Raspberry Pi über eine serielle Schnittstelle zu übertragen. Zuerst muss man die Parameter für die Übertragung setzen:
stty 9600 -parenb cs8 crtscts -ixon -ixoff raw iutf8 -F /dev/ttyUSB0
Mit stty stellt man Terminaleinstellungen ein. Ohne die Parameter jetzt im Detail zu besprechen nur soviel: die Baudrate von 9600 gibt an wie schnell Bits übertragen werden. Das heißt wie breit ein Bit im Oszilloskop angezeigt wird. Hat man bei Sender und Empfänger unterschiedliche Werte, dann könnte der Empfänger beispielsweise ein Bit als 2 Bits interpretieren.
Wir kopieren eine Datei über das serielle Kabel, indem wir einfach eine Datei ausgeben und die Ausgabe auf das Device weiterleiten. Das sieht wie folgt aus:
cat LhA_e138.run > /dev/ttyUSB0
Mit cat wird der Inhalt von LhA_e138.run ausgegeben. Der Output wird direkt an /dev/ttyUSB0 geschickt. Dort steckt das USB-Seriell Kabel. Am Amiga werden die Daten übernommen, sofern die selben Einstellungen getroffen wurden. Das serielle Kabel überträgt Bitweise, mit kann dabei aber jede Menge einstellen wie:
- Anzahl der Datenbits
- Prüfsummenbits
- Stopbits
- Handshake Signale
- usw.
Bei der analogen Übertragung von digitalen Signalen kann es immer wieder zu Verlusten und Lesefehlern kommen. Gibt es solche, wird die am Zielrechner angelegte Datei nicht funktionieren. Genau so wird es bei korrekter Übertragung nicht funktionieren, wenn Sender und Empfänger unterschiedliche Einstellungen haben.
Buffer
Die Übertragung auf den Amiga läuft gebuffert. Das heißt die Bits die über die Schnittstelle kommen werden in einem Zwischenspeicher aufgefangen und erst dann in die Datei geschrieben, wenn er voll ist. Je nach dem kann man diesen ganz klein (512 Bytes) oder sehr große (19600 Bytes) einstellen. In jedem Fall darf man nicht vergessen: erst wenn der Buffer voll ist wird der Inhalt in die Datei geschrieben. Übertragen wir nun einer Datei mit beispielsweise 19601 Bytes mit eingestelltem 19600 Byte großen Buffer, dann stehen nach der Übertragung nur 19600 Bytes in der Datei. Das fehlende Byte liegt im Buffer. Wir müssen folglich am Raspberry Pi die Übertragung ein zweites Mal starten. Wenn der Buffer nun ein zweites Mal voll ist wird alles bis zum Dateiende in die Datei am Amiga geschrieben.
Liest sich vermutlich recht kompliziert, das war damals so.
Probleme
Alle Probleme die ich bei dem Projekt hatte und die komplette Dokumentation bis zum Erfolg findet ihr im Amiga Datenübertragung mit seriellem Null Modem Kabel im anderen Blog.
Fazit
Es ist total faszinierend wie verwöhnt wir durch standardisierte und einfach zu nutzenden Daten-Übertragungsmöglichkeiten wie TCP oder USB verwöhnt sind. Umso spannender ist an einem fast antiken Gerät wie dem Amiga 500 von der Vergangenheit zu lernen. Bin schon auf weitere Projekte gespannt. Ziel wird es sein in der Amiga Shell auf das Linux Terminal zu kommen und hoffentlich den alten Amiga Rechner auch ins Internet zu bringen. Jetzt funktioniert wenigstens schon die Raspberry Pi – Amiga Datenübertragung.
Habt ihr auch noch alte Hardware am Dachboden? Vielleicht fallen euch auch noch spannende Projekte mit dem Raspberry Pi und alter Hardware ein.
super habe auch noch amiga 500 600 1200 einen 4000
amiga 32 bit
schön das es noch leute gibt die amiga nicht vergessen haben
danke schön
wow, sehr cool. Ich habe mir letztes Jahr gebraucht einen 500 und 1200 besorgt. Ich hatte leider nie einen, in meiner Kindheit hatte ich bei Freunden aber immer Kontakt damit. Es ist total faszinierend als IT Experte sich mit so antiquieren Systemen einzuarbeiten. Vieles wie beispielsweise die serielle Schnittstelle erscheint zuerst komplizierter als man denkt. Man kann von den alten Dingern ja so viel lernen. Einen 4000er hätte ich auch gerne…ich schaue fast täglich wie der Markt auf Plattformen wie eBay aussieht. Leider bewegt der sich aktuell zwischen 600-1000 Euro. Also pass gut drauf auf, der ist wertvoll!