Arduino und Python: Bastler nimmt Audiokassette als Speichermedium für Retro-PC

Die Kassette kann nicht nur Lieder speichern, sondern auch Bitmuster. Ein Bastler baut dafür eine Schnittstelle mit 1,5 KBit/s Datenrate.

Artikel veröffentlicht am ,
Kassetten speichern auch Daten, nicht nur Neunziger-Hits.
Kassetten speichern auch Daten, nicht nur Neunziger-Hits. (Bild: Pixabay.com/Montage: Golem.de)

In Zeiten, in denen Bits elektronisch auf Flash-Speichern geschrieben werden, geht der Bastler Zack Nelson in der Zeit zurück. Er baut als Hobbyprojekt (via Hackaday) einen Retro-Computer, der Daten von einer Audiokassette lesen und auf diese schreiben kann. Dazu konstruiert er ein spezielles Interface, das ein eigentlich analoges Signal kodiert und dekodiert, sodass es als digitaler Bitstream genutzt werden kann. Dabei helfen ein Arduino Nano und die Programmiersprache Python.

Stellenmarkt
  1. Test-Engineer (m/w/d) in der Medizintechnik
    Medtron AG, Saarbrücken
  2. ERP-Administrator (m/w/d)
    C.Ed. Schulte GmbH Zylinderschlossfabrik, Velbert
Detailsuche

Zunächst ist es wichtig, ein Audiosignal für die Bitspeicherung aufzubereiten. Laut Nelson kann das Magnetband einer Audiokassette im Bereich von 400 bis 4.000 Hz Signale verarbeiten. Deshalb führt das Interface die differentielle Manchester-Kodierung ein, die den Signalausgang mindestens ein mal pro Bit umkehrt. Dadurch soll gewährleistet sein, dass ein Signal von 1.000 Hz sicher und fehlerfrei auf dem Medium gespeichert werden kann.

1,5 KBit/s sind drin

Außerdem versendet das System Pakete nach dem relativ simplen 8-n-1-Muster, mit einer Null als Start-Bit, acht Datenbits und einem Stop-Bit. Für den Schreibprozess stellt Nelson ein Python-Script bereit, das auch von Interessenten auf Github eingesehen werden kann.

Das Signal wird vor der Dekodierung von etwa 1 Volt auf 5 Volt verstärkt. Anschließend definiert Nelson zwei Grenzwerte: Geht das Audiosignal über 2,6 Volt, soll das als digitale 1 gelten. Bei unter 1,5 Volt wird eine 0 dargestellt. Ändert sich der Zustand nicht, dann soll das Signal bei etwa 2,5 Volt verweilen. Die Pufferzone von 0,1 Volt nach oben und 1 Volt nach unten soll der Rauschminderung dienen und so eventuelle Bitfehler vermeiden.

Golem Akademie
  1. Advanced Python – Fortgeschrittene Programmierthemen: virtueller Zwei-Tage-Workshop
    27.–28. Januar 2022, Virtuell
  2. Jira für Systemadministratoren: virtueller Zwei-Tage-Workshop
    9.–10. Dezember 2021, virtuell
Weitere IT-Trainings

Auf dem Arduino Nano wird ein kodiertes Signal anschließend dekodiert. Ein Python-Script hört das Synchronisationssignal ab und kann so die Intervalle erkennen, in denen Bits über die serielle Schnittstelle gesendet werden. Mit dieser Methode kann das Interface immerhin eine Symbolübertragungsrate von 3.000 Baud - durch Manchester-Kodierung also etwa 1.500 Bit pro Sekunde (1,5 KBit/s) - erreichen.

Die Ressourcen, Scripts und Dokumentationen stellt der Bastler auf Github zur Verfügung, sollten sich Interessenten finden, die Daten ebenfalls auf Kassetten schreiben möchten.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Askaaron 26. Okt 2021 / Themenstart

Ein Arduino ist das genaue Gegenteil von "Retro" - die erste Version davon kam erst 2005...

Rolf Schreiter 25. Okt 2021 / Themenstart

Vielleicht ist der Redakteur eher jüngeren Jahrgangs... (sorry wenn es nicht so ist!)

x2k 25. Okt 2021 / Themenstart

Mit moderner Technik bzw einem komplett neuen laufwer könnte man ja mal drüber nachdenken...

marcelpape 25. Okt 2021 / Themenstart

Jetzt weißt du, wie Tandberg Data als Abspaltung vom ursprünglichen Tandberg...

Dakkaron 25. Okt 2021 / Themenstart

Eine Tastatur hat das Laufwerk auch nicht verbaut gehabt. Bin mir sicher, dass das dem...

Kommentieren



Aktuell auf der Startseite von Golem.de
Geforce Now (RTX 3080) im Test
1440p120 mit Raytracing aus der Cloud

Höhere Auflösung, mehr Bilder pro Sekunde, kürzere Latenzen: Geforce Now mit virtueller Geforce RTX 3080 ist Cloud-Gaming par excellence.
Ein Test von Marc Sauter

Geforce Now (RTX 3080) im Test: 1440p120 mit Raytracing aus der Cloud
Artikel
  1. Encrochat-Hack: Damit würde man keinen Geschwindigkeitsverstoß verurteilen
    Encrochat-Hack
    "Damit würde man keinen Geschwindigkeitsverstoß verurteilen"

    Der Anwalt Johannes Eisenberg hat sich die Daten aus dem Encrochat-Hack genauer angesehen und viel Merkwürdiges entdeckt.
    Ein Interview von Moritz Tremmel

  2. SpaceX: Starlink testet Satelliteninternet in Flugzeugen
    SpaceX
    Starlink testet Satelliteninternet in Flugzeugen

    Bald dürften mehrere Flugesellschaften Starlink-Service anbieten. Laut einem Manager soll es so schnell wie möglich gehen.

  3. Gigafactory Grünheide: Tesla rekrutiert hauptsächlich regionale Arbeitskräfte
    Gigafactory Grünheide
    Tesla rekrutiert hauptsächlich regionale Arbeitskräfte

    Entgegen den Befürchtungen der Gegner profitieren vor allem Berlin und Brandenburg von Teslas neuer Fabrik in Brandenburg.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Gaming-Monitore zu Bestpreisen (u. a. Samsung G9 49" 32:9 Curved QLED 240Hz 1.149€) • Spiele günstiger: PC, PS5, Xbox, Switch • Zurück in die Zukunft Trilogie 4K 31,97€ • be quiet 750W-PC-Netzteil 87,90€ • Cambridge Audio Melomonia Touch 89,95€ • Gaming-Stühle zu Bestpreisen [Werbung]
    •  /