Ich bin beim Aufräumen und Ausmisten meiner „Bastelecke“ über meinen Commodore 128 D und unzähligen Disketten gestolpert. Natürlich schwelgte ich bei dessen Anblick sofort in Erinnerungen. Die ganzen Spiele, die ersten selbst geschriebenen Programme in Basic und Assembler..

Einige Male habe ich mir schon vorgenommen die ganzen Schlabberdisketten irgendwie ordentlich zu archivieren. Tja, aber wie? Von Schlabberdiskette auf Schlabberdiskette kopieren ist nicht das Gelbe vom Ei. Zum Einen sind die Dinger einfach zu empfindlich und zum Anderen gibt es auch Disketten die sich nicht so einfach kopieren lassen. Ich denke da z.B. an GEOS usw…
Also, was machen? Ein PC-Laufwerk für die Schlabberdisketten kann die Commodore beschriebenen leider nicht lesen. Das liegt jetzt nicht am genutzten Dateisystem auf den Datenträgern, sondern an der Art wie der Kontroller die Daten auf die Diskette packen lässt. Daher fällt es schon einmal flach diese einfach mit einem einfachen PC-Laufwerk kopieren bzw. archivieren zu wollen. Vielleicht kann man das Commodore Laufwerk ja einfach in den PC einbauen? Hm, so einfach geht das nicht aber man könnte über ein Kabel die komplette Floppy an seinen Computer anschließen. Zumindest hat mir google so etwas erzählt. Dann könnte ich auch Disketten 1A kopieren und öhm Images von Disketten machen und diese archivieren. Wie viele C64 Diskette (jede Seite hat ~170,8KB) bekomme ich wohl auf eine CD-ROM oder gar DVD *denk*? Diese Idee mit dem Kabel und der ganzen Floppy am PC hat mir gefallen, daher habe ich google mal nach dem Kabel gefragt.

Die Antwort war dieser Schaltplan zu einem XM1541 Kabel:

Gut, schaut ja nicht sonderlich schwer aus. Ich brauche quasi nur:

– 1 x 25 Pol. LPT Stecker
– 1 x 6 Pol. DIN Stecker
– 4 x Diode BAT85 (sind diese Schottky Dioden), die 1N5819 sollten also auch klappen.
– 1 x 5 Pol. geschirmte Leitung (ungeschirmt geht sicher auch. Nur halt nicht bei Leuten mit Hirn)

Hier habe ich mir mal mit Eagle eine Platine dafür zusammengeklickt

Nach 20 Minuten Lötkolbengefummel schaut des ganze nun so aus:

Jetzt kann ich auch schon meine 1541 Floppy an meinen Laptop anstöpseln:

Ja, so gefällt mir das schon. Schaut doch ganz nett aus, oder?

Den Hardwareteil hätten wir damit. Jetzt müssen wir es nur noch schaffen, der Hardware zu sagen was sie machen soll. Also mal wieder google nach Hilfe gefragt. Cbm4linux soll da wohl die Lösung meiner Probleme sein. Auf der Homepage zu cbm4linux schaut alles auch noch recht einfach aus! Herunterladen, entpacken, kompilieren, installieren, fertig.

Also habe ich mir die Version 0.3.2 herunter geladen. Leider hat sich das Kernelmodul nicht kompilieren lassen. Auf der Seite sprang mir gleich ein Patch für den 2.6er Kernel ins Auge. Leider brachte dieser aber auch keine Abhilfe. Das Kernelmodul wollte sich einfach nicht kompilieren lassen.

Also wieder google… Google hat mir nach und nach 5 – 6 weitere Patche an die Hand gegeben und hier und da noch Tipps für Codeänderungen von Hand. Nach einem Tag herumfummeln klappte das komplette kompilieren dann auch mit meinem 2.6.12er Kernel auf meinem Gentoo Notebook. Ach ja, hier bekommt ihr mein komplett gepatchtes und umgefummeltes Quellcodepaket vom cbm4linux, genau so wie es sich bei mir ohne Probleme kompilieren lassen hat.

cbm4linux-0.3.2-kernel-2.6.tar.gz

Und so klappt es dann:
Als User:

tar xzf cbm4linux-0.3.2-kernel-2.6.tar.gz
cd cbm4linux-0.3.2-kernel-2.6.tar.gz
make
Als Root:
make dev
make install

 (nur wenn /usr/local/lib nicht schon in der /etc/ld.so.conf steht)

echo "/usr/local/lib" >> /etc/ld.so.conf 
ldconfig

 Schon kann man probieren das Kernelmodul zu laden:

modprobe cbm

 Kommt eine Fehlermeldung sollte man das Modul lp entladen

rmmod lp

 Und es jetzt noch einmal mit dem laden von cbm probieren. Modul ohne mucken geladen? Wunderbar weiter geht es!

Jetzt kann man so ziemlich alles machen, was man so machen möchte ;-P
Klickt einfach mal die einzelnen Bilder unten durch! Wer mehr Infos zu den einzelnen Befehlen will, sollte vielleicht mal google oder man dazu befragen.

Richtig geil wird es aber erste wenn man einen C64 / C128 oder ähnlich Emulator benutzt. Ich nutze hier VICE. 1A Teil. Dieser unterstützt nämlich die Anbindung von einer echten Commodore Floppy an einen PC. Weil der PC „etwas“ schneller ist als der Commodore 64 mit seiner 1MHz CPU rennt alles (je nach Einstellung) natürlich auch wie Sau. Schaut selbst: