Titelbild Game Hero
Diese Seite verwendet eigene Cookies und Cookies von Dritten damit wir die bestmögliche Bedienbarkeit und Funktionalität bieten können. Wenn Sie auf diesen Seiten surfen, stimmen Sie der Verwendung von Cookies zu. Mehr erfahren OK

CBM Tape Pi als Datasette-Ersatz für den Commodore 64

Was wird benötigt?
  • Commodore 64
  • Raspberry Pi
  • El. Komponenten (Siehe Text)
Close
LoadingBild wird geladen...
Picture

Die Datasette war ein weit verbreitetes Laufwerk für Commodore-Rechner. Der Grund liegt wohl hauptsächlich am Preis. Das Lesen sowie Schreiben der Daten setzte viel Geduld voraus, aber da auch die Datenträger (Kassetten) relativ günstig waren, setzte sich dieses Laufwerk durch. Floppy-Laufwerke gab es natürlich auch, aber aus preislicher Sicht war dieses für Viele undenkbar. In dieser Anleitung geht es aber um eine Alternative für die Datasette. Und zwar wird hier ein Raspberry Pi verwendet der als Datasette fungiert. Die Daten werden komfortabel von der SD-Karte gelesen bzw. auf diese geschrieben. Die Datenübertragung zwischen PC und Commodore-Rechner wird hierdurch um einiges erleichtert. Dazu kommt, dass sehr wenige Komponenten sowie wenige technische Erfahrung vorausgesetzt wird.

Diese Anleitung wurde am 01.02.2021 erstellt. Die Version v1.6.1 der CBM Tape Pi Firmware wurde hierfür verwendet.
Quelle dieser Anleitung bzw. Original-Projekt: RhinoDevel/cbmtapepi von Marcel Timm (rhinodevel.com).

cbmtapepi
Klicke auf das Bild zum Vergrößern

Das cbmtapepi dient als Datasette-Ersatz für alle möglichen Commodore-Rechner. Dazu gehört der CBM / PET (getestet am 3032), VIC 20 und der C64. Andere Rechner wurden damit noch nicht getestet. In dieser Anleitung wird eine C64 sowie ein Raspberry Pi Zero verwendet.

Bevor es los geht, noch ein paar Hinweise (Wichtig!)
- Kontrolliere ob die Verdrahtung fehlerfrei ist. Eine fehlerhafte Verdrahtung kann den C64 sowie Raspberry Pi beschädigen.
- Die 6poligen Datasette-Connector können auch kopfüber eingesteckt werden. Dies würde den C64 sowie Raspberry Pi beschädigen. Beschrifte den Stecker damit immer klar ist wie rum er eingesteckt werden muss.
- Die Datasette-Schnittstelle des C64 ist standardmäßig als Eingang geschaltet. Mittels ❏ POKE-Befehle ist es möglich diese als Ausgang zu verwenden. Dies ist absolut zu vermeiden, da die Spannung des C64 (5V) die GPIO des Raspberry Pi (3,3V) beschädigen würde!
- Arbeite immer im Spannungsfreien Zustand. Stecke den Datasette-Stecker nie in die Schnittstelle wenn der Rechner oder der Raspberry Pi eingeschaltet ist.
- Vermeide statische Ladungen durch das Berühren eines geerdeten Objektes, wie beispielsweise einen Heizkörper. Oder verwende ein antistatisches Armband.
- Ich übernehme keine Verantwortung über Schäden die direkt oder indirekt durch diese Anleitung entstanden sind.

Benötigte Komponenten

Folgende Komponenten werden für dieses Projekt benötigt:

- Raspberry Pi 1, 2 (ausgeschlossen v1.2) oder Zero. Weitere Raspberry Pi Varianten wurden noch nicht getestet.
- MicroSD Karte
- Experimentier-Steckboard, min. 170 Kontakte (oder optional eine Lochrasterplatine falls das Ganze auf eine Platine gelötet werden soll).
- LED x1
- NPN transistor (PN2222A oder BC547)
- 10kΩ Widerstand x2
- 11kΩ Widerstand x1
- 16kΩ Widerstand x1
- 1kΩ Widerstand x1

Hinweis: Wer die geeigneten Widerstände nicht zur Hand hat, kann die entsprechenden Werte auch in Serie schalten. Beispiel: 10KΩ + 1KΩ = 11KΩ.

- Commodore Cassette Connector x1

Datasette Connector
Klicke auf das Bild zum Vergrößern

Alternativ kann auch das komplette Kabel samt Stecker einer ausrangierten Datasette verwendet werden.

Datasette Connector
Klicke auf das Bild zum Vergrößern

Steckbrücken (10 - 20cm) x20

Die Verdrahtung

Wie die Komponenten miteinander verdrahtet werden, kann aus dem folgenden Bild entnommen werden. (Original-Schaltung entwickelt von Marcel Timm / rhinodevel.com)

Schematics
Klicke auf das Bild zum Vergrößern

Die Schaltung kann in höherer Auflösung hier runtergeladen werden. Das sieht dann auf der Prototype-Platine wie folgt aus.

cbmtapipi on Prototype Board
Klicke auf das Bild zum Vergrößern
Die Software

Der Raspberry Pi braucht selbstverständlich eine SD-Karte von der er booten kann. Die Software die er benötigt wird in diesem Schritt eingerichtet. Dazu installieren wir Raspberry Pi OS Lite. Das Betriebssystem wird ohne Desktop ausgeliefert, welchen wir sowieso nicht benötigen. Am einfachsten wird Raspberry Pi OS Lite mit den Tool Raspberry Pi Imager auf die SD-Karte installiert.

- Installiere den Raspberry Pi Imager
- Wähle als Betriebssystem "Raspberry Pi OS (Other) -> Raspberry Pi OS Lite (32-bit)".
- Wähle die SD-Karte auf die Raspberry Pi OS installiert werden soll. Vorsicht!: Der gewählte Datenträger wird überschrieben.
- Starte den Kopiervorgang mit "Write".

Raspberry Pi Imager
Klicke auf das Bild zum Vergrößern

Ist dies erledigt, müssen wir noch einige Dateien auf die Karte kopieren. Die Dateien fixup.dat, start.elf sowie bootcode.bin, die wir auf der Github-Seite github.com/raspberrypi/ finden, kopieren wir auf die SD-Karte des Raspberry Pi und überschreiben die, die sich bereits auf der Karte befinden.

Firmware Files
Klicke auf das Bild zum Vergrößern

Im nächsten Schritt muss das Kernel-Image auf die Karte kopiert werden. Das besagte Image befindet sich im Zip-Archiv des aktuellen Releases: github.com/RhinoDevel/cbmtapepi/. Kopiere die Datei kernel.img (oder kernel7.img für den Raspberry Pi 2) auf die SD-Karte und überschreibe das vorhandene Image.

Kernel.img
Klicke auf das Bild zum Vergrößern

Anschließend löschen wir noch die Dateien config.txt und cmdline.txt von der SD-Karte.

Delete files
Klicke auf das Bild zum Vergrößern

Und zu guter Letzt brauchen wir noch einige C64-Programme im PRG-Format. Diese sind beispielsweise bei csdb.dk zu finden. Die runtergeladenen Dateien kopieren wir für unserem ersten Test in das Root-Verzeichnis der Karte.

PRG Files
Klicke auf das Bild zum Vergrößern

Falls die Dateinamen der PRG-Dateien länger als 12 Zeichen sind, benenne diese um und kürze die Namen auf maximal 12 Zeichen.

Der Funktionstest

Als erstes schalten wir den C64 und den Raspberry Pi aus und verbinden das cbmtapepi. Anschließend können C64 sowie Raspberry Pi eingeschaltet werden.

Achtung falls ein 6poligen Datasette-Connector verwendet wird! Diese können auch kopfüber eingesteckt werden. Dies würde den C64 sowie Raspberry Pi beschädigen. Beschrifte den Stecker damit immer klar ist wie rum dieser eingesteckt werden muss.

Datasette Connector
Klicke auf das Bild zum Vergrößern

In meinem Fall verwende ich ein Kabel einer Datasette. Dieses lässt sich nicht falsch rum in den Port stecken.

cbmtapepi connected
Klicke auf das Bild zum Vergrößern

Um zu überprüfen ob eine Verbindung zustande kommt, geben wir folgenden Befehle ein. Wenn alles erfolgreich verläuft, sollten wir das Inhaltsverzeichnis der SD-Karte sehen.

SAVE"$":LOAD
RUN

Load Directory
Klicke auf das Bild zum Vergrößern

Da sich sehr viele Dateien auf der SD-Karte befinden, sehen wir nur das Ende der Liste. Um den Auflist-Vorgang zu unterbrechen, genügt es die RUN/STOP Taste zu drücken. Wenn bis hierhin alles geklappt hat, dann sollte es auch kein Problem sein ein Programm zu laden. Und zwar mit den folgenden Befehlen:

SAVE"*NAME.PRG":LOAD
RUN

NAME.PRG steht für das Programm das geladen werden soll. Beachte, dass das Laden des Programmes, abhängig von der Speichergröße, viel Zeit in Anspruch nehmen kann, eben wie von einer echten Kassette.

Weitere Befehle die verwendet werden können:

SAVE"*MYCBMAPP.PRG":LOAD,1,1 - Zum Laden von Programmen ohne Start-Adresse.
SAVE"MYNEWAPP" - Speicher eine Datei unter den Namen MYNEWAPP.
SAVE"CD PETPRGS" - Wechselt in das Unterverzeichnis PETPRGS.
SAVE"CD .." - Steigt eine Ordner-Ebene nach oben.
SAVE"RM OLDFILE.PRG" - Löscht die Datei namens OLDFILE.PRG.

Die Status-LED

Die Aufgabe der LED die am cbmtapepi verbaut ist, hat die Aufgabe den Status anzuzeigen. Genau gesagt, kann diese drei Zustände anzeigen:

- LED leuchtet - cbmtapepi wartet auf Befehle
- LED aus - Daten werden übertragen
- LED blinkt - Ein Fehler ist aufgetreten, z.B. Datei nicht gefunden

Zurück
- Datenschutz Besucher total: 2218555 Heute: 86