#153 – el commodore – XII – load speed

Erinnert ihr euch? Beim letzten Mal haben wir uns etwas mit dem SD2IEC beschäftigt. Insgesamt gesehen ein echt nettes Teil, welches aber durch seine langen Ladezeiten negativ aufgefallen ist. Heute möchten auch für dieses Problem eine Lösung finden! 🙂

Generell würde ich gerne das Thema „Ladezeiten“ nochmal etwas behandeln. Bisher habe ich immer etwas von „wenigen Minuten“ oder „einige Sekunden“ gesagt – nicht gerade sehr konkret, Herr retrololo! 😀

Also gut, fangen wir von vorne an. Beim letzten Mal habe ich ja als letzte Amtshandlung „Tetris“ gestartet, um eine Runde zu spielen und etwas zu entspannen. Ich denke das Programm eignet sich mit seinen 96 Blöcken (entspricht 23,7kByte) perfekt als Testobjekt! 🙂

Natürlich habe ich mit der vermeintlich langsamsten Übertragungsart (Laden via Datassette) begonnen. Mit „WAV-PRG“ habe ich die „tetris.prg“ in ein Audiosignal konvertiert. Anhand der Länge der Audiodatei sieht man, wie lange es dauern würde das Spiel über eine Datassette (oder alternativ MP32C64) auf den C64 zu laden. Im normalen „Commodore“-Kassetten-Format hat die WAV-Datei knapp 8 Minuten. Mit einem vorgeschalteten Schnelllader (im Turbo Tape 64-Format) sind es nur noch 72 Sekunden – gar nicht mal so übel! 🙂

Ok, und wie sieht es aus, wenn wir Tetris von einer Diskette laden? Um das zu testen, habe ich die „tetris.prg“ mit Hilfe des XUM1541 auf die „retrololo“-Diskette aus Artikel 147 überspielt.

Anschließend habe ich den Ladevorgang mit Hilfe des Befehls „LOAD“TETRIS“,8,1“ gestartet. Insgesamt hat es 65 Sekunden gedauert das Spiel zu laden – nicht gerade beeindruckend! 😀

Fun Fact: Technisch gesehen liegt der langsame Ladevorgang daran, dass die seriellen Originalroutinen des C64 bzw. der 1541 nicht sonderlich effizient programmiert wurden. Es gibt zahlreiche Ecken, an denen nicht optimierte Algorithmen zum Einsatz kommen, so wird u.a. die Datenflusskontrolle per Software bearbeitet (ursprünglich sollte dafür das Hardware-Shiftregister der VIA 6522 in der 1541 genommen werden, wegen eines Hardwarefehlers wurde das jedoch kurzfristig geändert) und pro Schritt nur ein Bit übertragen.

Und wie sieht es aus, wenn wir das Spiel via SD2IEC laden? Das haben wir ja bereits beim letzten Mal getestet! Der reine Ladevorgang ist in 48 Sekunden abgeschlossen, allerdings muss man bedenken, dass man ja erst den Filebrowser laden und sich anschließend durch das Menü bis hin zur tetris.prg-Datei durchhangeln muss (das kostet selbst geübten Benutzern bestimmt 15-20 Sekunden). Trotzdem ist der reine Ladevorgang auch schon etwas schneller als über eine echte Diskette – immerhin!

Doch das ist natürlich noch nicht das Ende der Fahnenstange, denn analog den TurboTape-Programmen für Kassetten gibt es auch für Disketten sog. „Schnelllader“-Programme, mit welchen sich der Ladevorgang stark beschleunigen lässt! Eines dieser Programme nennt sich „Hypra-Load“. Woher ich das weiß? Nun, ich habe den Namen auf einer der alten Disketten aus Artikel 151 gefunden! 😀

Cool, vielleicht können wir die Software sogar direkt von der alten Diskette laden? Das Tool wird wie eine normale Programmdatei mit einem LOAD-Befehl (samt anschließendem RUN) gestartet. Sobald das Programm geladen wurde, muss ein weiterer LOAD-Befehl abgesetzt werden, mit welchem wir den Schnellladevorgang von Tetris anstoßen können.

Tatsächlich ist der reine Ladevorgang für Tetris jetzt nur noch 13 Sekunden – sehr beeindruckend! Allerdings muss man die sechs Sekunden, welche für den Ladevorgang von Hypra-Load selbst drauf gehen, auch mit einrechnen. Ein weiterer Nachteil ist, dass man (ähnlich wie beim SD2IEC) letztendlich zwei Programme laden und somit mehr Befehle eintippen muss. Dabei geht die gewonnene Zeit dann fast wieder verloren! 😀

Da sich Tetris auf einer anderen Diskette befindet, musste ich zwischen den Ladevorgängen auch noch die Diskette wechseln. Um genau das in Zukunft nicht mehr tun zu müssen, habe ich mir mit einem weiteren Tool namens „Filecopy“, welches ich auf einer anderen alten Diskette gefunden habe, Hypra-Load auf die retrololo-Diskette kopiert! 🙂

Fun Fact: Bei der Gelegenheit habe ich mir auch das Filecopy-Tool selbst mit auf die retrololo-Diskette kopiert. Zugegeben, das alles hätte man über „moderne Hilfsmittel“ wie z.B. das XUM1541 wesentlich schneller und komfortabler machen können, aber ich habe mir gedacht ich probiere es mal mit alten Tools direkt auf dem C64 – wenn schon retro, dann richtig! 🙂

An sich ist die fünffache Reduzierung der Ladezeit mit Hypra-Load schon eine feine Sache, aber das Eintippen mehrerer Befehle (2x LOAD und 2x RUN) geht mir echt auf den Zeiger. Nach einer Recherche im Internet habe ich herausgefunden, dass es eine neuere Version des Tools gibt, welche genau diesem Problem entgegenwirkt!

Leider liegt der Download nur als D64-Image vor und so musste ich mir mit Hilfe einer Software namens „D64 Editor“ erst die einzelne PRG-Datei extrahieren, bevor ich sie auf eine Diskette überspielen konnte. Oh Mann, immer diese ungeplanten Arbeitsschritte! 😀

Die neue Version hat es in sich! Mit dem Befehl „LOAD“↑*TETRIS“,8,1“ wird in einem Aufwasch Hypra-Load und anschließend das nach dem „*“ angegebene Programm (in unserem Fall Tetris) geladen sowie jeweils ein RUN-Command automatisch ausgeführt. Der kombinierte Ladevorgang dauert dementsprechend auch nur 17 Sekunden. Anstatt vier Befehlen wird jetzt nur noch einer benötigt und es lädt schnell – sehr geil! 🙂

Fun Fact: Die einzige Voraussetzung damit das klappt ist, dass die PRG-Datei von Hypra-Load mit einem „↑“ beginnt.

Schon sehr praktisch das alles. Leider bringt Hypra-Load nur etwas für „echte“ Disketten, denn es ist nicht mit einem Laufwerksemulator (wie z.B. dem SD2IEC) kompatibel – schade!

Doch nicht verzagen, denn es gibt tatsächlich eine noch bessere, bzw. schnellere Möglichkeit um Tetris zu laden! Bisher haben wir uns ja nur Software-Lösungen angesehen, allerdings gibt es aber auch Hardware-Schnellader. Diese werden entweder als Steckmodul an den Expansionsport des Computers gesteckt oder sogar in Form eigener Hardware (Platinen samt ROM-Chips) in den Computer und das Diskettenlaufwerk verbaut. Bekannte Vertreter sind z.B. JiffyDOS, SpeedDOS, EXOS oder Turbo Trans. Hier im Bild sehen wir einen SpeedDOS-Umbau:

Da ich kein Fan davon bin, die originale C64-Hardware (sei es nun der Computer oder das Laufwerk) großartig zu verändern, habe ich mich für eine Steckmodul-Lösung entschieden. Ein sehr bekannter Vertreter dieser Gattung ist die „Final Cartridge“. Neben Schnellladefunktionen bietet sie zahlreiche weitere Möglichkeiten das letzte bisschen Leistung aus dem C64 heraus zu kitzeln! 🙂

Das Modul wird leider schon lange nicht mehr produziert, trotzdem findet man manchmal Angebote auf eBay. Ebenso werden auch heute noch Bausätze von enthusiastischen Fans verkauft. Völlig klar, dass ich sofort zugeschlagen habe, als ein netter Verkäufer einen vollständigen Bausatz für 20€ auf eBay angeboten hat! 😉 Mit dabei war ein Bestückungsplan sowie der Link für die Anleitung als PDF zum Download.

Was den Zusammenbau des Moduls angeht, mussten die üblichen Bauteile verlötet werden. Erst Widerstände und Dioden…

…dann ein paar Kondensatoren, Taster und Jumper…

…und abschließend die IC-Sockel. Letztendlich war die Bestückung der Sockel mit den Chips fast das schwierigste, weil einer der Chips (der EEPROM mit der eigentlichen Software darauf) zwei doch arg verbogene Pins hatte, die ich erst mit einer Zange überreden musste wieder gerade zu werden! 😉

Fertig! 🙂

Fun Fact: Tatsächlich ist die Final Cartridge offiziell lediglich in Version 3 erschienen. Die hier gezeigte Version „III+“ ist ein von Fans erstelltes Update und enthält einige zusätzliche Programme! 🙂

Und wie funktioniert das Teil? Nun, als erstes muss die Final Cartridge in den Expansionsport des C64 eingesteckt werden.

Nach dem Einschalten des Commodore erscheint nicht mehr der BASIC-Prompt, sondern stattdessen der „Desktop“, eine Art grafische Oberfläche für den C64. Es gibt sogar einen Cursor, welcher sich mit der Tastatur, oder alternativ mit dem Joystick steuern lässt.

Über den Menüpunkt „Utilities => Disk“ lässt sich ein eigenes Menü zur Verwaltung des Disketteninhalts aufrufen:

Darin können wir sämtliche Befehle, welche sonst mühsam händisch eingetippt werden müssen, einfach grafisch per „Mausklick“ auswählen.

Über die Auswahl „DIR 1“ wird z.B. das Directory der Diskette gelesen. Klappt prima! 🙂

Um jetzt Tetris zu starten, müssen lediglich der Eintrag „TETRIS“ und die Aktion „RUN“ ausgewählt und mit einem abschließenden Klick auf „DO“ gestartet werden.

WOW – insgesamt hat der eigentliche Ladevorgang nur neun Sekunden benötigt! Das funktioniert, weil die Final Cartridge einen optimierten Lesealgorithmus implementiert. Schade ist nur, dass etwas Zeit für die Menünavigation (Diskmenü öffnen, Software auswählen und starten) draufgeht.

Ok, und wie sieht es mit der Kombination Final Cartrige + SD2IEC aus?

Im Prinzip funktioniert es genauso wie mit einem echten Diskettenlaufwerk, nur dass hier als Zwischenschritt noch der Filebrowser des SD2IEC geladen werden muss.

Zugegeben, das ist etwas aufwändig, aber sobald dieser mal läuft, profitiert er von allen Vorzügen der Final-Cartridge. Da wir nicht von einer echten Diskette sondern von SD-Karte laden, ist der reine Ladevorgang in vier Sekunden beendet – Wahnsinn! 🙂

Da das jetzt alles doch sehr verwirrend war hier nochmal eine kleine Tabelle als Übersicht. Die Ladezeit netto symbolisiert den eigentlichen Ladevorgang (nur für Tetris), mit der Ladezeit brutto habe ich versucht auch die Zeit für die Aktivitäten drum herum (z.B. Menünavigation, eintippen von Befehlen, etc.) mit zu betrachten – die Werte sind allerdings nur realistisch sofern man im Eintippen der Befehle geübt ist! 😀

Fun Fact: Natürlich habe ich der Vollständigkeit halber auch noch die Ladevorgänge über Datassette und MP32C64 ausprobiert. Von der Theorie her müssten sie exakt gleich lang sein. In der Praxis war es nicht so, ich vermute, dass der Motor meiner Datassette etwas langsamer eingestellt ist und dadurch etwas Zeit verliert. 🙂

So, genügend Infos für heute. Natürlich bietet die Final Cartridge noch zahlreiche weitere Funktionen, auf welche ich beim nächsten Mal noch etwas genauer eingehen möchte! 🙂

In diesem Sinne – bis die Tage! 🙂

#152 – el commodore – XI – SD2IEC

Während wir beim letzten Mal zum Übertragen von Dateien noch den Weg über das Diskettenlaufwerk 1541 gegangen sind, möchte ich euch heute noch eine weitere, noch einfachere Möglichkeit vorstellen, wie wir Programme auf dem C64 von einer externen Quelle zum Laufen bekommen! 🙂

Dafür brauchen wir ein weiteres Stück Hardware namens „SD2IEC“. Das SD2IEC ist ein Diskettenlaufwerksemulator und ermöglicht die Verwendung von SD-Karten als Speichermedium für den C64. Analog dem XUM1541 habe ich es als Bausatz aus dem „Faszination C64“-Shop erworben.

Während das XUM1541 noch recht einfach aufgebaut war, sind es diesmal deutlich mehr Teile, die es zu verlöten gilt. Aus dem Beutel purzeln Kondensatoren, Widerstände, Sockel, LEDs, Taster und einige weitere Bauteile. Puh, das sieht nach viel Arbeit aus! 😀

Ebenso ist bei dem Kit eine 16MB-SD-Speicherkarte mit Firmware, Beispielprogrammen (Spielen) und einem vorinstallierten Dateibrowser dabei – das ist sehr cool, weil man sich normalerweise die ganzen Dateien mühsam im Netz selbst zusammensuchen muss! 🙂

Na dann, es wird Zeit für eine weitere Löt-Session! Lötkolben aufwärmen: Check. Teile sortieren und bereitlegen: Check. Bier bereitstellen: Check. Ich denke es kann losgehen! 😉

Gerade zu Beginn habe ich mich stark an die Anleitung gehalten und dementsprechend als erstes den Quarz, sowie den IC-Sockel verlötet.

Anschließend waren die Widerstandsnetzwerke an der Reihe. Es war gar nicht so einfach die Teile halbwegs gerade zu befestigen, weil sie nicht richtig auf der Platine aufliegen. So ein blödes Bauteil! 😀

Natürlich dürfen auch Kondensatoren…

…ein DIP-Schalter…

…ein paar bunte LEDs in Ampelfarben…

…sowie ein paar Taster…

…und natürlich eine serielle Buchse zum Anschluss an den C64 nicht fehlen.

Abschließend muss eigentlich nur noch ein Festspannungsregler, ein Elektrolytkondensator…

…und natürlich der Kassettenport-Stecker zur Stromversorgung verlötet werden.

Jetzt noch schnell den Atmega 1284P Mikrocontroller einsetzen und fertig ist das gute Stück! 🙂

Fun Fact: Das Einsetzen des Chips hat fast am längsten gedauert, weil ich extrem vorsichtig war keine Beinchen abzubrechen. Bloß nicht kurz vor Schluss noch Mist bauen! 😉

Das SD2IEC wird (genauso wie ein Diskettenlaufwerk auch) über ein serielles Kabel (als Datenleitung) mit dem C64 verbunden. Zusätzlich wird es in den Kassettenport des C64 gesteckt und über diesen Weg mit Spannung (5 Volt) versorgt.

Von der Handhabung her lässt sich das SD2IEC fast genauso wie ein normales Diskettenlaufwerk bedienen. So kann man sich nach dem Start des C64 mit „LOAD“$“,8“ und einem anschließenden LIST-Befehl den Inhalt der SD-Karte anzeigen lassen. Soweit die Theorie – denn leider bekomme ich einen Fehler:

Ob ich wohl etwas beim Löten verbockt habe? Natürlich war ich irritiert und habe sämtliche Lötstellen überprüft. Auch die Software (Inhalt der SD-Karte) habe ich nochmal unter die Lupe genommen, ob sich nicht doch irgendwo ein Fehler eingeschlichen hat. Tja, was soll ich sagen, die Lösung wäre viel einfacher gewesen – ich habe schlicht und einfach vergessen das Teil über den DIP-Schalter 1 einzuschalten! 😀

Oh Mann – wie peinlich! Und ich habe mich schon gewundert, wieso keine LED geleuchtet hat 😀 Kaum macht man es richtig, funktioniert es auch und wir sehen den Disketteninhalt. Mit Hilfe des Befehls „LOAD“FILEBROWSER“,8“ sowie einem anschließenden „RUN“…

…lässt sich der Dateibrowser des SD2IEC starten. Mit den Pfeiltasten und RETURN kann man nun in den Ordner GAMES springen, in welchem sich bereits einige Beispielprogramme befinden! 🙂

Fun Fact: Wer hardcore drauf ist, verwendet keinen Dateibrowser sondern tippt die Floppy-Befehle händisch ein. Nein danke! 😀

Um nun ein einfaches Programm (PRG) zu laden, muss man es lediglich auswählen und über einen Druck auf die RETURN-Taste starten. Hier spiele ich z.B. gerade „Arkanoid“, ein echter Arcade-Klassiker, der vielleicht einigen Spielehallen-Freaks auch unter dem Titel „Breakout“ bekannt ist. Ziel des Spiels ist es, mit einem nur seitlich bewegbaren Schläger einen Ball durch die Gegend springen zu lassen um Mauersteine zu zerstören. Klingt einfacher als es ist!

Fun Fact: Zwar ist das SD2IEC beim Laden eines Programms etwas schneller als ein normales 1541-Diskettenlaufwerk, aber leider auch nicht wirklich viel. Je nach Dateigröße benötigt der Ladevorgang bis zu mehreren Minuten!

Neben normalen Programmen kann das SD2IEC auch Disk-Images (D64) öffnen. Diese befinden sich im Unterverzeichnis „Disks D64“ und beinhalten selbst eigentlich auch wieder nur startbare Programme. Hier habe ich beispielsweise gerade „California Games“ geladen, eine Art Spielesammlung mit sommerlichen Sportarten wie BMX, Surfing, Skating oder Frisbee-Werfen! 😀

Fun Fact:  Dateinamen mit mehr als 11 Zeichen werden auf das 8.3-Namensformat, welches ihr vielleicht noch aus DOS-Zeiten kennt, umgebrochen! 😉

Ich habe mich an der Disziplin „Half-Pipe“ versucht und bin dabei kläglich gescheitert, bzw. permanent auf die Fresse geflogen. Erst ein paar Versuche später habe ich es tatsächlich mal geschafft einen „Trick“ (wenn es auch nur eine einfache 180 Grad-Drehung war) zu landen. Eigentlich hatte ich den Eindruck, dass ich nicht besonders gut abgeschnitten habe, aber scheinbar sind die Highscores von Haus aus so niedrig gesetzt, dass es sogar für eine neue Bestpunktzahl samt einem netten Pokal gereicht hat! xD

Soviel zu normalen PRG-Dateien und D64-Images. Leider erstrecken sich viele für den C64 entwickelten Spiele über mehrere Disketten (bzw. über Vorder- und Rückseiten von Disketten). Eines dieser Spiele ist z.B. Turrican, welches wir ja bereits in den Artikeln 150 und 151 kennengelernt haben. Auch für solche „Problemfälle“ hat das SD2IEC eine Lösung parat! Mit Hilfe der beiden Diskswaptaster lässt sich eine Art „virtueller Diskettenwechsel“ durchführen.

Damit der virtuelle Wechsel klappt, muss für jedes Spiel einmalig eine Diskswap-Datei erstellt werden. Das passiert, indem man das Spiel ganz normal lädt, bis eine „Diskette wechseln“-Meldung erscheint. Dann muss man beide Taster kurz gleichzeitig drücken um eine entsprechende Swapdatei (genannt Swaplist) zu erstellen (die rot blinkende LED bestätigt den Schreibvorgang auf Diskette).

Diese Datei befindet sich dann im Spielordner und heißt „AUTOSWAP.GEN“. Ganz wichtig: Die Datei muss in „AUTOSWAP.LST“ umbenannt werden und die Namen der D64-Images selbst dürfen nicht länger als acht Zeichen sein. Glaubt mir, ich habe viele Stunden mit Troubleshooting verschwendet, weil ich das nicht gewusst habe! 😀

Möchte man das Spiel nun erneut spielen und muss zu einem bestimmten Zeitpunkt die Diskette wechseln, so lässt sich das einfach mit Hilfe der beiden Taster erledigen (linker Taster für die vorherige Diskette, rechter Taster für die nächste Diskette) – läuft! 🙂

Fun Fact: Theoretisch kann man auch mehrere Multidisk-Spiele in ein Verzeichnis packen, allerdings dürfen in der AUTOSWAP.LST nicht mehr als 255 Einträge sein. Spätestens jetzt wird mir klar, wieso die Verzeichnisstruktur so angelegt wurde und Spiele, welche mehrere Disketten benötigen, in einem eigenen Ordner liegen.

Ich denke das reicht erst mal für heute, wird Zeit für ein kurzes Fazit. An sich ist das SD2IEC fast perfekt, allerdings nervt es etwas, dass man nach jedem Neustart des C64 wieder den „LOAD“FILEBROWSER“,8“-Befehl eintippen muss. Es gibt Ansätze, sich zumindest den RUN-Command zu sparen, aber um das Eintippen des Befehls kommt man nicht herum. Ebenso fallen mir die sehr langen Ladezeiten auf. Man hat fast das Gefühl man sitzt vor einem echten Laufwerk. Nun, das muss man dem SD2IEC lassen – in dieser Hinsicht emuliert es das 1541 perfekt! 😀

Doch genug gespottet – trotz der kleinen Problemchen ist das SD2IEC ein cooles Gerät, mit dem sich geräteunabhängig zahlreiche Software auf den C64 laden lässt! Mir wird schwindelig, wenn ich an die zahlreichen Einsatzmöglichkeiten denke. Jetzt bräuchte man nur noch mehr Zeit um das alles auszuprobieren… 🙂

Last but not least – auch diesmal hat mir Max ein Gehäuse für das Teil gedruckt – vielen lieben Dank dafür! 🙂

So, jetzt entschuldigt mich bitte, ich denke ich habe mir jetzt eine Runde Tetris zur Entspannung redlich verdient! 🙂

Bis die Tage!

#151 – el commodore – X – XUM1541

Tja – beim letzten Mal habe ich doch glatt großspurig angekündigt, dass wir heute eine Möglichkeit finden werden direkt Dateien von einem PC auf C64-Disketten zu übertragen. Aber wie soll das gehen?

Tja, genau für dieses Problem wurde das „XUM1541“ entwickelt:

Das XUM1541 ist ein Adapterkabel zum Anschluss eines C64-Diskettenlaufwerks an einen modernen PC über USB zur Übertragung von Daten auf Diskette (oder natürlich auch umgekehrt). Es kann fertig oder als Bausatz erworben werden. Selbstverständlich habe ich mich für die Bausatz-Variante entschieden – wo bleibt sonst die Herausforderung? 😀

Fun Fact: Die Idee, ein C64-Laufwerk an einen PC anzuschließen ist schon recht alt. In seiner ursprünglichen Form wurde das X1541-Kabel an den Parallelport eines PCs angeschlossen, wenn auch die Daten nur seriell übertragen werden. Ich mag zwar so alten Schrott, aber in dem Fall habe ich mich hinreißen lassen, mal die „moderne“ USB-Variante auszuprobieren! 😉

Der Bausatz kostet ca. 25€ und stammt von einem C64-Enthusiasten aus München, welcher seine Produkte auf eBay unter dem Namen „Faszination C64“ anbietet. Das Kit kommt mit einer sehr ausführlichen, bebilderten Anleitung. Darin ist nicht nur der Zusammenbau, sondern auch etwas C64-Geschichte sowie hilfreiche Tipps für den Umgang mit elektronischen Bauteilen (inklusive Hinweise zum Löten) beschrieben. Ebenso mitgeliefert wird ein Lieferprogramm, in welchem weitere Produkte fertig oder als Bausatz angepriesen werden – echt Wahnsinn was es da alles gibt…!

Fun Fact: Ernsthaft Leute – selten habe ich so eine gute und verständliche Anleitung gesehen – Lego und IKEA können einpacken! 😀

Mal sehen was in dem Kit alles drin ist… Neben der Hauptplatine finden sich ein Widerstand, ein Wannenstecker, eine Stiftleiste, ein Teensy 2.0 USB-Mikrokontroller, ein Mini-USB-Kabel, eine LED und eine serielle Buchse.

Fun Fact: Wer Zeit und Lust hat, kann das ganze natürlich auch für ein paar Euro weniger komplett auf eigene Faust bauen, aber allein auf die Einzelteilbeschaffung habe ich keinen Nerv! 😀

Na dann, frisch ans Werk! Der Anleitung zufolge habe ich zuerst den Widerstand auf die Platine und anschließend den Teensy auf die Stiftleiste verlötet. Natürlich muss man die Stiftleiste zuvor in drei passend große Teile trennen.

Als letztes müssen dann nur noch die Stiftleiste sowie die serielle Buchse auf der Unterseite der Platine verlötet werden.

Fertig ist das gute Stück! 🙂

Fun Fact: Den Wannenstecker benötigt man nur, wenn man das XUM1541 auch zusätzlich noch parallel mit einem C64-Diskettenlaufwerk verbinden möchte. Damit ließe sich die Übertragungsgeschwindigkeit deutlich steigern, doch leider muss man hierfür das Diskettenlaufwerk öffnen und modifizieren. Darauf habe ich definitiv keine Lust und darum habe ich mir gleich das Verlöten des Wannensteckers gespart! 😉

Na, das sollten wir doch gleich mal testen, ob das Ding auch wirklich funktioniert. Über die serielle Schnittstelle wird die Platine mit dem C64-Diskettenlaufwerk verbunden. Der Teensy wird über einen USB-Anschluss mit dem PC verbunden.

Fun Fact: Da das Mini-USB-Kabel recht kurz ist, habe ich die Platine mit dem „NES USB Tool“ aus Artikel 4 (ja ja, lang ist’s her) verbunden – fancy! 😀

Zumindest wird das XUM1541 schon mal im Gerätemanager erkannt, wenn auch kein passender Treiber installiert werden konnte.

Die USB-Treiber sind in einem Software-Paket namens „OpenCBM“ enthalten. An sich eine gute Sache, doch da Windows 10 leider die Installation unsignierter Treiber nicht mehr zulässt müssen wir etwas tricksen! 😉 Mit Hilfe des Tools „Zadig“ lässt sich der „libusb-win32“-Treiber installieren und mit dem offiziellen WinUSB-Treiber von Microsoft austauschen.

So sieht das schon besser aus! 🙂

Um jetzt auch wirklich Dateien auszutauschen, wird natürlich noch etwas Software benötigt. Um „OpenCBM“ zu installieren, muss einfach die „install.bat“ als Administrator ausgeführt werden:

Nach einer kurzen Installation…

… muss noch das Verzeichnis der OpenCBM-Installation dem System-Path hinzugefügt werden, um später die entsprechenden Befehle von überall verwenden zu können:

Jetzt sind wir endlich soweit das Laufwerk einzuschalten und eine Diskette einzulegen. Natürlich verwende ich die retrololo-Diskette aus Artikel 147.

Mit dem Befehl „cbmctrl detect“ lässt sich anzeigen ob, und wenn ja welche Laufwerke am PC angeschlossen sind. Mit Hilfe des Commands „cbmctrl dir 8“ lässt sich dann das Dateiverzeichnis auslesen. GEIL – es klappt tatsächlich! 🙂

Zugegeben, die Handhabung in der Kommandozeile ist nicht gerade benutzerfreundlich. Abhilfe schafft da eine grafische Oberfläche namens „CBMXfer“.

Fun Fact: Ich konnte es nicht lassen euch die Bilder der Installationsroutine zu zeigen, denn so etwas sieht man nicht alle Tage – der Dialog sieht so aus als käme er direkt aus den Neunzigern! 😀

Die Software selbst ist auch nicht gerade besser, passt aber optisch perfekt zum C64! 😀

Immerhin scheint unsere Diskette nach einem Klick auf „Directory“ einwandfrei erkannt zu werden! 🙂

Die Bedienung gestaltet sich dafür überraschend einfach. Über die grünen Pfeile können einzelne Dateien zwischen PC und Diskette übertragen werden:

Über die Funktion „View“ kann man eine PRG-Datei genauer inspizieren und sich sogar den BASIC-Code ansehen – cool! Hier im Bild sehen wir das von mir erstellte Beispielprogramm aus Artikel 142, mittlerweile schon fast ein alter Bekannter! 😉

Fun Fact: Mittlerweile gibt es sogar Webseiten, auf denen man sich den BASIC-Code von PRG-Dateien anzeigen lassen kann – irre! 😀

Ist keine Datei markiert wird beim Kopiervorgang auf den PC ein vollständiges Diskettenimage (.D64) erstellt.

So habe ich z.B. ein Image des Spiels „Maniac Mansion“ erstellt:

Fun Fact: Beim Versuch originale Spiele zu sichern, stößt man aber leider – spätestens dann, wenn ein Kopierschutz verwendet wird – an seine Grenzen. Dafür müsste man das Laufwerk modifizieren und den Parallelport auf dem XUM1541 verwenden, um mit Hilfe von Software wie z.B. „NIBTools“ die entsprechenden Routinen zu umgehen und eine Sicherung zu ermöglichen.

Die einzelnen Programme und D64-Images kann man dann auf dem PC in einem Emulator abspielen. Hier verwende ich z.B. die Software „CCS64“:

Natürlich lassen sich auch Disketten mit einzelnen Programmen oder Images beschreiben. Wer sich erinnert – beim letzten Mal habe ich noch einen recht umständlichen Weg (Stichwort Multiload) gehen müssen, um „Turrican“ (kennen wir ja bereits aus Artikel 150) zu starten. Jetzt habe ich mir das Spiel einfach mit Hilfe des XUM1541 auf eine Diskette gepackt:

So lässt sich Turrican wesentlich zuverlässiger starten, allerdings habe ich das Gefühl, dass der Ladevorgang vom Diskettenlaufwerk fast noch langsamer ist, als der via MP32C64. Aber was soll’s, die eine Minute hin oder her machen das Kraut jetzt auch nicht fett. Wenn ich ehrlich bin, bin ich begeistert, dass das überhaupt so funktioniert! 🙂

Fun Fact: Die Daten des Spiels sind auf Vorder- und Rückseite aufgeteilt. So muss man während des Ladevorgangs an einer bestimmten Stelle die Diskette aus dem Laufwerk nehmen, umdrehen, wieder rein schieben und mit der Leertaste den Ladevorgang fortsetzen! 😀

Besonders cool finde ich, dass man mit dem XUM1541 letztendlich moderne und alte Technik vereint. Und Daten auf Diskette zu speichern gefällt mir grundsätzlich gut – viel mehr „retro“ geht nicht! 🙂

Das einzige was nicht ganz so schön ist, ist die lose Platine. Alles kein Problem, denn für schlappe vier Euro (inklusive Versand) kann man zusätzlich ein kleines Plastikgehäuse für das Teil bestellen. Natürlich könnte man auch selbst ein Gehäuse mit einem 3D-Drucker drucken, aber für unter 5 Euro lohnt sich das auf keinen Fall. Damit die Platine auch in das Gehäuse passt, muss die serielle Buchse noch etwas bearbeitet werden.

Ebenso müssen zwei Löcher für das USB-Kabel und die serielle Buchse gebohrt werden. Als kleines „Schmankerl“ kann man noch eine LED verlöten und ein weiteres Loch auf der Oberseite bohren…

… um den Status (Zugriff auf das Laufwerk) von außen erkennen zu können – sehr cool! 🙂

So, bitte entschuldigt mich jetzt, ich bin dann mal weg. Ich möchte noch ein paar weitere Disketten inspizieren und deren Programme ggf. sichern. Wenn ich mir so den riesigen Stapel an Disketten ansehe gibt es noch viel zu tun… 😀

Bis die Tage! 🙂

#150 – el commodore – IX – MP32C64

Beim letzten Mal haben wir ja die Datassette so modifiziert, dass wir direkt in Audiodateien (WAV) konvertierte Programme über ein Klinkenkabel auf den C64 laden können. Hier nochmal ein Bild zur Erinnerung:

Ich habe es natürlich nicht lassen können und noch etwas weiter damit herumgespielt! 😉 Tatsächlich ist die umgebaute Datassette relativ tolerant was das Eingangssignal angeht. Damit die Dateien nicht zu groß werden, habe ich sie von WAV auf das handlicherer MP3-Format konvertiert:

So, schon viel besser! 🙂

Den C64, bzw. die modifizierte Datassette stört das nicht und die Spiele werden weiterhin ohne Probleme geladen! 🙂

Besonders cool finde ich, dass der Übertragungsvorgang im Endeffekt mit jedem beliebigen Gerät funktioniert, welches sich über ein Stereokabel an die Datassette anschließen lässt. Wie wäre es z.B. mit einem iPod shuffle? Erinnert sich noch jemand an die Teile? 😀

Fun Fact: Die einzige Voraussetzung ist, dass die Quelle ein möglichst sauberes und lautes Signal ausgibt. Ich habe es zuerst mit einem Uralt-MP3-Player ausprobiert, welcher leider die benötigte Lautstärke nicht herbekommen hat…

Während ich mir beim iPod um die Soundqualität keine Sorgen mache, besteht die Schwierigkeit eher darin überhaupt noch Musikstücke auf das Ding zu bekommen. Ein einfaches „MP3s draufkopieren“ wie bei jedem anderen Player ist nicht drin. Stattdessen müssen die einzelnen Musikstücke über „iTunes“ auf den iPod geschoben werden, damit die Titel-Datenbank auf dem iPod die Musikstücke auch erkennt – ganz großes Kino!

Fun Fact: Ernsthaft Leute – Fuck iTunes! 😀 Wer das Ding für eine gute Software hält, der sollte sofort die Finger von allen technischen Geräten in einem Radius von 5 km lassen. Ich bin kein Apple-Fan, aber die iPods sind echt solide und intuitive Geräte. Wie kann man diese Philosophie nur mit so einer grottigen Verwaltungssoftware zerstören?! Naja, zumindest scheine ich mit dieser Meinung nicht alleine zu sein… 😉

Eins ist klar – iTunes kommt mir auf keinen Fall auf den Rechner. Ich will gar nicht an die vielen Stunden Zeit denken, die ich schon mit der Software verschwendet habe, sei es nun beim iPod oder iPhone. Gut, dass ich mich noch an eine alte Software aus Jugendtagen erinnert habe. Sie ist zwar auch schon knapp zehn Jahre alt, läuft aber selbst auf neuesten Betriebssystemen ohne Probleme. Darf ich vorstellen: „Floola“! 🙂

Damit habe ich die „donkey.mp3“ ohne Probleme auf den iPod übertragen können. Kaum an die Datassette gestöpselt…

…lässt sich tatsächlich Donkey Kong laden – geil! Ist das nicht beeindruckend? Wie laden mit einem 13 Jahre alten iPod shuffle ein fast 40 Jahre altes Videospiel auf einen 33 Jahre alten Heimcomputer – viel mehr „retro“ geht nicht! 😀

Auch die moderne Welt lässt sich mit dem C64 verheiraten! So können die MP3- oder WAV-Dateien z.B. auch über ein Smartphone auf den Commodore gestreamt werden – fancy shit! 😀

Fun Fact: Es gibt für Android-Smartphones wohl sogar eine App namens „tapDancer“ mit welcher TAP, T64 und PRG-Dateien direkt als Audiosignal ausgegeben werden können. So spart man sich den Konvertierungsvorgang im Vorfeld.

Zur Abwechslung habe ich diesmal Giana Sisters ausgewählt – funktioniert auch ohne Probleme! 🙂

Schon cool das alles, aber wenn man ehrlich ist drängt sich doch eine Frage auf: Wozu benötigt man denn jetzt noch die Datassette? Diese konvertiert ja eigentlich nur noch das Audiosignal für den C64. Und irgendwie ist es auch etwas albern, wenn das Laufwerk immer „leer“ (ohne Kassette) mitläuft. Noch besser wäre es, wenn man das Signal „direkt“, also ohne die Datassette dazwischen einspielen könnte. Tatsächlich gibt es auch hierfür eine Lösung – darf ich vorstellen, das „MP32C64“:

Das MP32C64 ist ein Datasettenemulator über welchen wir letztendlich genau das gleiche wie mit unserer modifizierten Datassette durchführen können – nur eben ohne das eigentliche Gerät! 🙂 Analog der Datassette wir das MP32C64 in den Kassettenport des C64 gesteckt…

… und über ein Klinkenkabel mit einer externen Audioquelle verbunden.

Fun Fact: Mit dem Jumper auf der Oberseite lässt sich steuern, ob das Eingangssignal normal oder invertiert ausgegeben werden soll. Im Idealfall muss man hier nichts ändern, aber einige (ältere) Abspielgeräte geben wohl das Audiosignal invertiert aus.

Im Vergleich zu der getunten Datassette muss man beim MP32C64 nicht auf „Play“ drücken (gibt ja auch gar keinen Knopf). Stattdessen beginnt bei einem „LOAD“-Befehl direkt der Ladevorgang und man kann den Abspielvorgang auf der externen Audioquelle starten – praktisch! 🙂

So kann ich auch Donkey Kong über diesen Weg zum Laufen bekommen. Stellt euch vor – dieses Mal habe ich es sogar tatsächlich bis in Level 3 geschafft! 😀

Hm, merkwürdig… Die von mir erstellten MP3-Dateien werden über das MP32C64 leider nicht korrekt geladen, aber mit den original konvertierten WAV-Dateien kann das Teil ohne Probleme umgehen kann. Woran liegt’s?

Tatsächlich ist das MP32C64 – zumindest was MP3-Dateien angeht – etwas zickiger als die modifizierte Datassette – wer hätte es gedacht? 🙂

Damit es auch beim MP32C64 mit den MP3-Dateien klappt, wird eine recht hohe Qualität der Audiodatei benötigt. Im Falle von Donkey Kong habe ich es z.B. nur mit einer Bitrate von 320kBit/s und einer Ausgabefrequenz von 48000 Hz (anstatt dem Standardwert 44100 Hz) hinbekommen. Dafür musste ich zuerst die Quell-WAV-Datei aus dem TAP-Image mit einer höheren Ausgabefrequenz konvertieren…

…bevor ich sie mit dem „fre:ac“ Audio Converter im Zusammenspiel mit dem „LAME MP3 Encoder“ in eine MP3-Datei konvertieren konnte.

Hier die beiden Dateien im Vergleich:

Jetzt funktioniert auch der Ladevorgang via MP3 – sehr schön! 🙂

Cool, dass das funktioniert, aber der ganze Dateiumwandlungsprozess ist doch schon sehr aufwändig. Wenn man sich den umständlichen Konvertierungsvorgang sparen möchte, kann man auf eine große Bibliothek an bereits fertig konvertierten Spielen zurückgreifen! Natürlich habe ich es mir nicht nehmen lassen das ein oder andere Spiel aus dem Archiv zu testen. Eins ist auf den ersten Blick ersichtlich – hier hat jemand einiges an Zeit investiert. In den Metadaten der MP3-Dateien sind sogar Vorschaubilder der eigenen Spiele als Albumcover eingepflegt – sehr cool! 🙂

Fun Fact: Das „C64-MP3-Archiv“ wurde von einem Spanier entwickelt, welcher das MP32C64 fertig oder als Bausatz für ca. 20€ verkauft. Ich habe meines bereits vor einigen Jahren als Bausatz gekauft und zusammengelötet. Leider habe ich keine Bilder mehr vom Zusammenbau… 😦

Ghost ‘n Goblins kenne ich noch vom NES. Ich hatte gehofft es wäre auf dem C64 etwas leichter, aber da habe ich mich wohl geschnitten… 😀

Wer noch fauler ist, für den gibt es sogar ein Online-Archiv auf einer italienischen Seite, auf welcher direkt die MP3-Dateien diverser Spiele abgespielt und so über ein Gerät mit Internetzugang auf den Commodore übertragen werden können!

Fun Fact: Ich habe noch eine weitere Seite mit C64-Programmen zum direkten Abspielen gefunden, allerdings scheint sie nicht vollständig zu sein.

Das ist schon verrückt… Retro-Games per „MP3-Streaming“ direkt aus dem Internet übers Smartphone auf den C64 – läuft! 😀

Fun Fact: Hier spiele ich gerade „Out Run“, einen Arcade-Racer aus dem Jahre 1988. Zu Beginn des Spiels lässt sich sogar ein gewünschtes Musikstück auswählen – gefällt mir richtig gut, was der C64 SID-Soundchip mir hier auf die Ohren zaubert! 🙂

Tja, was soll ich abschließend über das MP32C64, bzw. die modifizierte Datassette noch sagen? Insgesamt betrachtet bin ich überrascht wie gut das alles funktioniert hat. Klar gibt es den ein oder anderen Stolperstein, aber alleine die Tatsache, dass wir Computerprogramme auf Kassetten oder in Form einer MP3-Datei speichern und wieder laden können lässt mich immer noch staunen! 🙂

Trotzdem gibt es aber leider auch ein paar negative Punkte. Zum einen wird man komplexere (größere) Spiele, welche exklusiv auf Diskette erschienen sind, mit dem MP32C64 nicht zum Laufen bekommen. Lediglich Spiele, welche auf Kassette erschienen sind oder nur aus einer Programmdatei bestehen, lassen sich in eine Audiodatei konvertieren. Ein weiteres großes Problem ist das Thema „Nachladen“ bei sogenannten „Multiload-Spielen“. Der Run-and-Gun-Klassiker „Turrican“ von Rainbow Arts aus dem Jahre 1990 ist da so ein Fall. Hier musste ich nach gut eineinhalb Minuten die Wiedergabe stoppen, dann mit dem Joystick eine Auswahl im Hauptmenü treffen und anschließend die Wiedergabe zum Laden des ersten Levels erneut anstoßen – nicht gerade intuitiv und sehr fehleranfällig! 🙂

Generell sind Spiele, welche in irgendeiner Art und Weise die Datassette steuern (anhalten oder nach kurzer Zeit wiederanlaufen lassen) ein Problem. In vielen Fällen (wie z.B. bei Giana Sisters) muss man dann während des Ladevorgangs die Leertaste gedrückt halten um das Intro schnell zu überspringen, sodass der Ladevorgang nicht unterbrochen wird. Das ist unschön, aber daran lässt sich nichts ändern. Die Datassette (oder eben das MP32C64) haben keine Möglichkeit, die Wiedergabequelle zu steuern.

Fun Fact: Für ungeduldige Leute ist vermutlich auch die Ladezeit ein Thema. Selbst bei C64-TAP-Images, welche einen Schnelllader im Bauch haben, muss man etwas Geduld aufbringen, bis ein Spiel geladen ist (meistens so eine bis vier Minuten). Mir persönlich macht das nichts aus, das gehört zum Retro-Erlebnis ja schon fast dazu. 😉

Trotzdem lassen sich echt viele Programme damit zum Laufen zu bekommen und die Verknüpfung von Technologien diverser Jahrzehnte begeistert mich einfach! 🙂

Mehr gibt es eigentlich nicht zu sagen… Ach doch – bevor ich es vergesse: Damit die Platine nicht so lose durch die Gegend fliegt, hat mir mein Kumpel Max ein Gehäuse mit seinem 3D-Drucker ausgedruckt – sehr stylisch! 🙂

Puh, ich denke damit sollten wir das Thema „Datassette“ erst mal ruhen lassen. Durchatmen Leute, beim nächsten Mal werden wir uns ein weiteres Stück Hardware ansehen, mit welchem man Dateien von einem PC zum C64, bzw. auf dessen Disketten übertragen kann. Diesmal sogar ganz ohne Audiokonvertierungsorgien. Wie das wohl geht? Wir werden es herausfinden, aber nicht mehr heute…

Jetzt entschuldigt mich bitte, ich habe da in „Commando“ noch eine Rechnung mit ein paar feindlichen Soldaten offen…

In diesem Sinne – bis die Tage! 😉

#149 – el commodore – VIII – WAV LOAD

Schon cool, dass das beim letzten Mal mit dem Überspielen der Kassette geklappt hat! 🙂 Aber wenn man ehrlich ist, dann ist das schon eine sehr aufwändige Lösung um Programme von einem „normalen“ PC auf den C64 zu bringen. Da muss es doch was Besseres geben! 🙂

Richtig gut wäre es, wenn man überhaupt keine Kassette benötigen würde und stattdessen die Audiodateien einfach irgendwie am C64 einspielen könnte! Eins ist klar – ich würde nie eine so steile These aufstellen, wenn es nicht wirklich eine Lösung geben würde! 😛 Tatsächlich lässt sich die Datassette relativ einfach modifizieren um direkt externe Audiosignale verarbeiten zu können. Klingt cool, doch wie geht das?

Als erstes benötigen wir mal eine Datassette, die wir „zerstören“ können. Da ich jetzt schon einige Zeit mit meiner Datassette verbracht und sie endlich halbwegs vernünftig justiert habe, möchte ich eigentlich ungern an ihr herumschrauben. Kein Problem, extra für dieses Bastelprojekt habe ich mir eine weitere auf eBay ersteigert! 😀

Zugegeben, das gute Stück hat schon ziemlich gelitten – leider nicht nur optisch, sondern auch technisch. So konnte ich bei einem Test keine einzige Kassette damit zum Laufen bekommen. Auf einen ersten Blick sieht es so aus als wäre der Antriebsriemen ausgeleiert. Ebenso scheint die Positionierung des Tonkopfes nicht ganz zu stimmen. Zumindest die Verbindung zum C64 scheint grundsätzlich zu funktionieren, denn die Datassette nimmt Befehle vom Computer einwandfrei entgegen.

Fun Fact: Dafür hat mich das Teil auch nur 2€ plus Versand gekostet! 🙂

Um ehrlich zu sein, will ich mich mit den Problemen gar nicht weiter beschäftigen, denn zum einen habe ich ja bereits eine funktionierende Datassette und andererseits benötigen wir den Kassettenmechanismus ja nach der Modifikation nicht mehr! 😉

Also – wie geht’s los? Nun, in jedem Fall müssen die vier Schrauben auf der Rückseite der Datassette gelöst werden.

Im Vergleich zum relativ großen Gehäuse wirken die Innereinen der Datassette fast spartanisch. Ich bin beeindruckt, wie klein der Laufwerksmechanismus gehalten wurde, das erinnert mich fast an einen alten Walkman! 🙂

Oh Mann – ich liebe den extrem einfachen Mechanismus des Bandzählwerks! 😀 Ernsthaft! Letztendlich wird nur die Drehung des Motors (zum Bewegen des Bands) über einen Riemen auf ein kleines Zahnrad übertragen, welches das Bandzählwerk weiterdreht. So einfach, aber so genial! 🙂

Auf der Rückseite der Datassette befindet sich der Motor sowie ein weiterer Riemen, welcher für die Übertragung der Energie auf die Spulen benötigt wird. Wie ich vermutet habe, ist dieser extrem schlaff und rutscht durch. In diesem Zustand kann der Motor das Band einer eingelegten Kassette nicht mehr weiterdrehen. Es wäre kein Hexenwerk das zu beheben, aber wie gesagt – das ist keine Baustelle für heute! 😉

Unter der Abschirmung (welche aus einer seltsamen Mischung aus Folie und Karton besteht) befindet sich die Platine. Sie wird benötigt um die vom Band gelesenen Signale über den Kassettenport des C64 an den Computer zu schicken.

Auf der Oberseite der Platine kann man die einzelnen Teile sehen: Widerstände, Kondensatoren und integrierte Schaltkreise. Mann, ist das noch einfache Technologie – eine richtig schöne, einseitig bestückte Leiterplatte. Nicht so hochkomplexes SMD-Zeug. Hier kann man auch ohne Profiwerkzeug noch was reparieren! 🙂

Bevor ich schon wieder ins Schwärmen über Retro-Technologie komme schnell zurück zum Thema – wollten wir nicht die Datassette modifizieren? 😀 Tatsächlich müssen wir hierfür nur eine 3,5mm Klinkenbuchse mit einem Kondensator an eine bestimmte Stelle auf der Platine löten. Je nach Modell der Datassette wurden unterschiedliche Platinenrevisionen verbaut. Gut, dass es im Internet noch Leute mit noch mehr Zeit gibt, welche bereits herausgefunden haben, an welchen Lötpunkten man die Komponenten anbringen muss! 🙂

Doch woher bekommt man die Teile? Nun, zwei Stück Kabel sollten noch irgendwo zu finden sein. Da ich keine Klinkenbuchse mehr hatte, habe ich einfach die Kopfhörerbuchse aus einem alten (defekten) IDE-CD-Laufwerk ausgelötet! 🙂

Da die Datassette nur mit einem Mono-Signal (linker Kanal des Stereokabels) umgehen kann, habe ich die nicht benötigten Beinchen abgetrennt und anschließend zwei Kabel an die Buchse gelötet:

Jetzt müssen wir nur noch einen Kondensator finden, diesen an eines der Kabel anlöten und abschließend die beiden Kabel an der Platine an bestimmten Punkte verlöten. Zugegeben – das Ergebnis sieht etwas improvisiert aus, aber für einen Testaufbau sollte das reichen! 🙂

Fun Fact: Den 100nF Keramikkondensator hatte ich tatsächlich noch rumliegen. Wenn ich mich recht erinnere stammt er aus einem Weihnachtsgeschenk. Mein Kumpel Max hat mir mal vor Jahren zu Weihnachten einen „Retro-Adventskalender“ geschenkt, in welchem zahlreiche kleine Bauteile zum Basteln diverser Spielprojekte drin waren. Schon witzig, dass da ein genau passender dabei war! 😀

Na, ob das wirklich funktionieren wird? Ich bin skeptisch… 😀

Zum Testen habe ich meinen Laptop über ein Stereokabel mit der Datassette verbunden. Das Laufwerk selbst ist natürlich am C64 angeschlossen.

Jetzt müssen wir am C64 eigentlich nur noch „LOAD“ eingeben, „Play“ auf der Datassette drücken und eine Datei mit einem Audioplayer unserer Wahl am PC abspielen.

Fun Fact: Zum Testen habe ich die „donkey.wav“-Datei aus Artikel 148 hergenommen, um mir keine weiteren Fehler über ggf. falsch konvertierte neue Dateien einzuhandeln! 😉

Doch was ist das? Leider wird das Programm nicht gefunden und der Bildschirm bleibt blau…

Woran liegt’s? Mann, habe ich lang nach dem Fehler gesucht! Letztendlich war ich zu naiv und habe mal wieder nicht mit den „Gemeinheiten“ der Treiberhersteller gerechnet! 😀 Naja, ok – das ist etwas übertrieben, aber tatsächlich hat mir der „Realtek HD-Audiotreiber“ auf meinem Laptop in die Suppe gespuckt! Scheinbar gibt es im „Zusätzliche Geräteeigenschaften“-Menü mittlerweile eine Dolby-Funktion, die standardmäßig eingeschaltet ist. Im Zusammenspiel mit einem 7.1-Soundsystem mag das ja (dass so richtig Kinofeeling aufkommt) ganz toll sein, aber die gute alte Datassette kann mit dem Standard nichts anfangen…

Fun Fact: Schon irgendwie ironisch, dass „Dolby“ (genaugenommen Dolby-B) in seiner Urform mal für die Rauschunterdrückung gut war und jetzt (so viele Jahre später) ist sein Urenkel (in Form von „Dolby Digital Plus“) dafür verantwortlich, dass ich meine piepsigen/kratzigen (und rauschenden?) C64-Programme nicht laden kann… 😀

Was soll’s wieder was gelernt. Mit deaktivierter Dolby-Funktion wird auch tatsächlich „Donkey Kong“ vom Laufwerk gefunden – cool! Im Vergleich zum normalen Laden über Datassette ist es dabei wichtig, dass man den „Commodore-Knopf“ gedrückt hält, sodass das gefunden Programm sofort geladen wird. Das ist eigentlich logisch, denn der C64 kann zwar die Datassette anhalten aber nicht den Audioplayer auf dem Laptop von welchem wir das Audiosignal streamen! 😉

Fun Fact: Wichtig ist auch, dass man den richtigen Lautstärkepegel findet, damit die Datassette etwas mit der Audiospur anfangen kann. In meinem Fall waren es 50%.

Und siehe da – drei Minuten später wurde das Spiel einwandfrei geladen und wir können den Klempner der Herzen durch die Levels steuern. Die gute Nachricht: Diesmal habe ich es zumindest bis in den zweiten Level geschafft und darf mich sogar in die Highscore-Liste eintragen! 🙂

Prima – nachdem das so gut geklappt hat, müssen wir eigentlich nur noch die Klinkenbuchse irgendwie nach außen legen, schließlich sollten wir die Innereien der Datassette wieder ordentlich verpacken. Ich habe lange überlegt, ob ich ein eigenes Loch in das Gehäuse bohren sollte, aber letztendlich habe ich mich dazu entschieden das Loch, welches für die LED (welche beim Speichervorgang leuchtet) benötigt wird, herzunehmen! 🙂

Dazu musste ich es nur etwas vergrößern und anschließend den Port dahinter anbringen. Gut, dass ich keine größere Buchse verlötet habe, denn diese würde vermutlich nicht durch die Halterung der LED passen. Beim Zusammenschrauben sollte man drauf achten, die Kabel sauber zu verlegen um später die Knöpfe auch noch anständig bedienen zu können – also nicht so wie ich! 😀

Man muss schon echt genau hinsehen, um die Buchse auf der Oberseite des Gehäuses zu erkennen. Genau das gefällt mir an der Lösung sehr gut, es sieht nicht so „auffällig verbastelt“ aus! 😀

Mann – das ist mal ein Bild! Ein halbwegs moderner Laptop mit einem absoluten Retro-Kult-Computer vereint – fast wie ein Familientreffen der Generationen! 🙂

Mist, eigentlich hätte ich noch zahlreiche interessante Dinge zu erzählen, aber der Blogartikel wird schon wieder gefährlich lang. Also gut, dann eben beim nächsten Mal – stay tuned! 😉

Bis die Tage!

#148 – el commodore – VII – pc transfer

Tja, wir haben Daten geladen und auf unterschiedliche Medien gespeichert. Ernsthaft – was könnte man noch über den C64 erzählen? 😉

Heute wollen wir der Kernfrage auf den Grund gehen, wie wir Spiele von einem PC auf den C64 bekommen. Bisher haben wir uns nur mit den nativen Möglichkeiten auf dem C64 beschäftigt. Damit meine ich das Eintippen von BASIC-Code oder das Laden von Datassette sowie Diskette. Die spannende Frage ist doch – wie lässt sich Software „von außen“ (also z.B. von einem Windows-PC) auf das Gerät bringen?

Puh, gute Frage. Aus dem Bauch heraus fällt mir ein recht umständlicher Weg über ein Kassettendeck als „Brücke“ ein! Hm, wie ist das gemeint?

Im Endeffekt müssten wir ja „nur“ ein C64-Programm in ein Audiosignal konvertieren und anschließend auf eine Kassette überspielen. Diese Kassette müssten wir ja dann mit Hilfe der Datassette am C64 wieder laden können – so die Theorie! 😉

Und wie läuft das in der Praxis? Tatsächlich hängt viel davon ab in welcher Form das C64-Spiel auf dem PC vorliegt. Viele Enthusiasten haben im Laufe der Jahre versucht C64-Spiele digital zu sichern und auf diversen Emulatoren verfügbar zu machen. Dadurch ist ein Wildwuchs an Dateiendungen und Formaten entstanden, das sind die populärsten:

Leider lassen sich nicht alle dieser Dateitypen in ein Audioformat konvertieren, welches wir auf eine Kassette überspielen können. Mit Hilfe der Tools „WAV-PRG“ und „Audiotap“ lassen sich aber zumindest ein paar der Images in eine Audiodatei umwandeln:

Die Frage ist nur, mit welchem Spiel wir die Konvertierung ausprobieren wollen? Wer die letzten Artikel aufmerksam gelesen hat weiß es bereits: Wir haben ja noch mit dem nicht funktionierenden „Donkey Kong“ eine Rechnung offen… 😉

Da es sich bei dem Spiel um ein Datassetten-Image (.TAP) handelt, verwende ich „Audiotap“ zum Konvertieren des Spiels in eine WAV-Datei. In dem Tool gibt es zahlreiche Einstellungen wie „output frequency“ oder „waveform“ (square, triangle, sine), aber ich hoffe, dass ich es mit den Standardeinstellungen zum Fliegen bekomme! 🙂

Wenige Sekunden später haben wir eine knapp dreieinhalb Minuten lange WAV-Datei (8,6 MB groß) erzeugt.

Fun Fact:  Hört man sich die Datei in einem Mediaplayer an könnte man meinen man hat ein Modem am Start! So viel Rauschen mit Piepstönen hab ich schon lange nicht mehr gehört… 😉

In Audacity betrachtet sieht man, dass die Datei „mono“ generiert und relativ laut ist:

Jetzt muss die Datei eigentlich nur noch auf Kassette überspielt werden. Dafür benötigen wir natürlich ein Tapedeck. Ich habe hierfür extra das Technics RS-5 aus Artikel 85 nochmal herausgeholt und an den PC gestöpselt:

Ebenso brauchen wir natürlich eine Kassette, auf die wir das Audiosignal aufspielen können. Hm, mal überlegen. Auf der C15-Kassette aus Artikel 147 belegt das „Billiard“-Programm nur knapp drei Minuten, also sollten auf der siebeneinhalbminütigen A-Seite noch genügend Platz für Donkey Kong (knapp dreieinhalb Minuten) sein. Ich habe die Kassette eingelegt und an die entsprechende Stelle (Bandzählwerk 60) gespult.

Das Recording läuft… Wichtig ist, dass man den Pegel des Eingangssignals im Auge behält. Er sollte etwas höher liegen als bei einer normalen Aufnahme von Audiodateien.

So, jetzt wird es spannend… Ob die Kassette frisst und das Programm laden kann? Probieren geht über Studieren. Nachdem die Kassette in die Datassette eingelegt und an die entsprechende Stelle gespult wurde…

…wird der Ladevorgang wieder mit einem „LOAD“ angestoßen. Jetzt hilft nur noch beten…

Doch was ist das? Selbst der Titel des Spiels wird nicht korrekt erkannt und der C64 hängt sich auf. Ok, das hätte besser laufen können. 😀

Mal nachdenken, was könnte das Problem sein? Passt die Aufnahme nicht? Oder habe ich beim Konvertieren der Datei einen Fehler gemacht? Gott sei Dank bin ich recht schnell auf den Fehler gekommen. Ich habe nochmal das Justage-Programm geladen und mir die Daten auf dem Band angesehen:

Mann, das sieht ja gar nicht gut aus. Sieht so aus als müsste der Tonkopf der Datassette des C64 erneut justiert werden. Kein Problem – ein paar Umdrehungen mit dem Kreuzschlitzschraubenzieher später:

Fun Fact: Erst im Nachhinein ist mir klargeworden, dass das eigentlich völlig logisch ist. Jedes Kassettenlaufwerk und somit auch jeder Tonkopf sind anders! Absolut kein Wunder, dass man das Laufwerk bei einem Programm, welches über ein „normales“ Kassettendeck aufgenommen wurde anders einstellen muss, als bei einem Programm, welches selbst über die Datassette aufgenommen wurde. Während des Bastelns habe ich das natürlich nicht geschnallt… 😀

Ob wir jetzt mehr Glück haben? Zumindest wird schon mal der Titel richtig erkannt:

Und einen „Ladebildschirm“ in Form von Epilepsie-Geflacker haben wir auch! 🙂

Und tatsächlich – es läuft! Ich kann euch gar nicht sagen wie glücklich ich bin, diesen Bildschirm zu sehen! xD Ich hatte echt bedenken, dass wir noch Stunden auf Fehlersuche gehen müssen. Gerade beim Konvertierungsvorgang der Audiodatei sowie beim Recording kann so viel schiefgehen (falsches Format, falscher Pegel, schlechter Tonkopf, defekte Kassette, etc.). Hätte nicht gedacht, dass wir das so schnell ohne Probleme hinbekommen! 🙂

Sehr geil – jetzt kann ich doch noch „Donkey Kong“ spielen und dabei kläglich versagen. Waren alte Spiele immer so schwer? 😀

Fun Fact: Im Nachhinein betrachtet war es vermutlich keine Idee gute Idee Donkey Kong hinter das Billard-Spiel zu packen. So muss ich jetzt jedes Mal auf der gleichen Kassette rumjustieren, wenn ich das ein oder andere Spiel zocken möchte. Oh well, lesson learned! 😉

Nachdem das jetzt besser geklappt hat als erwartet, wollte ich es noch mit einem zweiten Spiel, welches einen anderen Dateityp (PRG) besitzt, probieren. Letztendlich habe ich mich für „Galaxy“ einem C64-Port eines meiner Lieblings-Spiele aus der Spielehalle namens „Galaga“ entschieden:

Zum Konvertieren verwenden wir dieses Mal „WAV-PRG“, weil Audiotap keine PRG-Dateien unterstützt:

Schon fertig! 🙂

Mit knapp 70 Sekunden ist die WAV-Datei nicht gerade lang und sie passt noch gerade so auf die Seite A der Kassette! 🙂

Eine kurze Recordingsession sowie ein zweiminütiger Ladevorgang später kann ich tatsächlich auch Galaxy spielen. Wirklich cool! 🙂

Fun Fact: Die C64-Umsetzung ist schon ganz gut, kommt aber leider bei weitem nicht an seinen Arcade-Bruder „Galaga“ ran.

Hm, auf der Rückseite (Seite B) der Kassette wäre ja eigentlich noch Platz… 😉

Nach einigem Hin und Her habe ich mich dazu entschieden noch die beiden C64-Klassiker „The Great Giana Sisters“ und „Hard ‘n Heavy“ auf die Kassette zu überspielen. Während Giana Sisters auch im TAP-Format war und ich es so via Audiotap konvertieren konnte, musste ich für Hard ‘n Heavy WAV-PRG verwenden, da es sich diesmal um ein T64-Datei handelte.

Aber was soll ich sagen? Selbst das hat ohne Probleme funktioniert und ich konnte beide Spiele ohne Probleme laden! Es fällt auf, dass einige Hersteller (oder spätestens die Cracker, welche kopierschutzfreie Versionen der Spiele erstellt haben) selbst einen eigenen Schnelllader vor das eigentliche Spiel geschalten haben. So kann es (wie im Falle von Giana Sisters) sein, dass beim Ladevorgang nur „Lader“ oder auch mal nichts angezeigt wird, und das Spiel wird trotzdem ohne Probleme geladen! 🙂

Fun Fact: Gerade die Musik des Intros hat sich fest in meinem Hirn eingebrannt. Der C64 (bzw. der SID-Soundchip) sowie Komponist Chris Hülsbeck leisten hier fantastische Arbeit! 🙂

Bei Dateien, welche über WAV-PRG konvertiert werden, kann man sogar angeben, ob man ein Programm als Audiospur im normalen (langsamen) Commodore-Format oder in einem schnelleren (dafür deutlich fehleranfälligerem) Turbo Tape Format speichern möchte. Auch die T64-Datei konnte ohne Probleme konvertiert werden und hier spiele ich eine Runde Hard ‘n Heavy! 🙂

Abschließend habe ich noch die Kassette mit den entsprechenden Bandpositionen gekennzeichnet, sodass ich die Spiele in Zukunft auch wiederfinde! 😉

In diesem Sinne – bis zum nächsten Mal, wo wir uns noch etwas weiter mit dem C64 beschäftigen wollen. Denn ob ihr es glaubt oder nicht – mit etwas Zusatzhardware lassen sich einige coole Dinge mit der alten Mühle anstellen! 😉

Cya!

#147 – el commodore – VI – save stuff

Nachdem wir uns bisher überwiegend mit dem Ladevorgang bestehender Programme beschäftigt haben, wird es Zeit auch mal selbst ein paar Daten zu schreiben! 🙂

Mal überlegen… Was brauchen wir dafür? In jedem Fall Speicherplatz. Den bekommen wir in Form einer neuen, noch unbenutzten Diskette! 🙂

Schnell ab damit ins Laufwerk! 🙂

Doch was ist das? Beim Versuch den Inhalt der Diskette zu laden, bekommen wir einen kryptischen Fehler (?FILE NOT FOUND) angezeigt:

Tja, der Unterschied zu den bisherigen Disketten ist, dass diese noch komplett neu – und somit nicht formatiert ist! Damit unser Laufwerk etwas mit der Disk anfangen kann, muss diese erst mal „formatiert“ werden. Hm, formatieren? Was soll das bedeuten? Und überhaupt – wie werden eigentlich die Daten auf so einer Diskette gespeichert? Ich befürchte dafür muss ich kurz ausholen, aber ich verspreche mich kurz zu halten! 😉

Zur Erinnerung: Die Diskette besteht intern aus einer runden Scheibe, welche mit einer magnetisierbaren Schicht überzogen ist. Diese Schicht ist in eine Vielzahl von Spuren aufgeteilt, welche dann jeweils mehrere Sektoren fassen. Der Datenträger selbst hat also bereits eine gewisse „Struktur“.

Soweit so gut, aber wie werden jetzt Daten in diesen Sektoren gespeichert? Damit tatsächlich Daten auf die Diskette geschrieben werden können, wird ein Dateisystem benötigt. Dieses organisiert den Datenträger, bzw. die einzelnen Sektoren in noch kleinere Bereiche, in denen letztendlich die Daten in binärer Form (1 und 0) vorliegen.

Im Falle des C64 kommt das CBM-Dateisystem zum Einsatz. In jedem Sektor (jeweils 256 Bytes) wird dabei ein Block gespeichert, welcher 254 Byte an Daten enthalten kann. Jedes einzelne Byte beinhaltet wiederum acht Bit, was letztendlich gut 2000 einzelnen „0-und-1-en“ pro Block entspricht.

Fun Fact: Die ersten beiden Bytes eines Sektors werden zur Dateiverwaltung benötigt und können nicht vom Benutzer verwendet werden.

Und wie können diese Informationen geschrieben, bzw. ausgelesen werden? Der Magnetkopf (auch Schreib-Lese-Kopf genannt) des Laufwerks wird auf einen entsprechenden Sektor positioniert und schleift dann direkt auf der magnetisierbaren Oberfläche, während die Scheibe von einem Motor gedreht wird.

Beim Schreibvorgang arbeitet der Kopf als Elektromagnet und magnetisiert die entsprechenden Stellen auf der Diskette im Rhythmus der Information (1 oder 0) um digitale Daten zu repräsentieren. Beim Lesevorgang bewirkt diese Magnetisierung, dass der Schreib-Lese-Kopf (durch Induktion einer kleinen Spannung in der Spule) erkennen kann, ob es sich um eine 1 oder eine 0 handelt.

Laaaangweilig – so viel Theorie! Erzähl doch lieber mal, was wir jetzt tun müssen, um die Diskette verwenden zu können? Ist ja gut! 😉 Jetzt kommt das Formatieren ins Spiel. Beim „Formatieren“ werden die einzelnen Spuren und Sektoren identifiziert und gekennzeichnet. Zusätzlich wird der Datenträger mit dem CBM-Dateisystem bestückt. Hierfür müssen wir lediglich den etwas kryptischen Befehl „OPEN 1,8,15,“N:RETROLOLO,42“: CLOSE1“ eingeben.

Fun Fact: Die Zahl 42 ist völlig willkürlich gewählt und steht für die Disk-ID. Letztendlich muss nur eine zweistellige Zeichenkombination angegeben werden.

Ist das geschafft, können wir uns den Inhalt der Diskette (LOAD“$“,8 + LIST) anzeigen lassen. Und siehe da, unsere RETROLOLO-Diskette wird erkannt und ist bereit bespielt zu werden. Jede Diskette kann bis zu 664 Blocks an Daten aufnehmen. Das entspricht ca. 166 KByte an Speicherplatz – abgefahren! Theoretisch könnten wir sogar noch die Rückseite formatieren und verwenden (dann hätten wir weitere 166 KByte zur Verfügung), aber ich denke fürs Erste reicht mir der Speicherplatz locker aus. 😀

Fun Fact: Im Beispiel habe ich den Befehl „LIST“ durch „L“ und einen umgefallenen Viertelkreis (lässt sich durch „SHIFT“+„I“ eingeben) abgekürzt. Funktioniert genauso und sieht mega lässig aus! 😉

So leer macht die Diskette aber noch nicht viel her, es wird Zeit, dass wir endlich ein paar Daten darauf bekommen! Tja, welche Daten können wir denn eigentlich darauf speichern? Und wie geht das überhaupt?

Fangen wir einfach an… Erinnert ihr euch noch an das kleine Beispielprogramm aus Artikel 142? 😉

Dieses (von mir soeben nochmal eingetippte Programm) können wir mit einem einfachen „SAVE“RETROLOLO“,8“-Befehl auf die Diskette speichern:

Ob der Sicherungsvorgang geklappt hat? Nach einem „LOAD“$“,8 + LIST“ wissen wir mehr:

Fun Fact: Die Auflistung des Disketteninhalts, welche man durch den LIST-Befehl bekommt, nennt sich „Directory“. Jede Diskette besitzt so ein Directory. Darin werden bestimmte Metainformationen zu Dateien wie Dateiname, Dateigröße oder Dateityp gespeichert. Es dient als Übersicht und Ausgangspunkt für den Zugriff auf Dateien.

Da sich nur ein Programm auf der Diskette befindet können wir es mit einem „LOAD“*“,8,1“-Befehl laden. Damit wird das erste gefundene Programm auf der Diskette geladen! 🙂

Funktioniert immer noch ohne Probleme! 🙂

Fun Fact: Das CBM-Dateisystem kann unterschiedliche Arten von Dateien verwalten. Neben Programmdateien (PRG) für BASIC- oder Maschinensprache-Programme können auch sequentielle Dateien (SEQ), relative Dateien (REL) und User-Dateien (USR) gespeichert werden. Keine Angst – ich werde nicht auf die einzelnen Typen eingehen, genug Theorie für heute! 😉

Nachdem das so gut geklappt hat, möchte ich noch versuchen, ein Spiel von der Turbo Tape Kassette zu sichern! 🙂

Fun Fact: Tatsächlich lassen sich „normale“ Spiele von Datassette ohne weitere Software gar nicht so einfach auf eine Diskette kopieren. Das klappt nur, wenn ein Spiel nur aus einer PRG-Datei besteht und nicht automatisch startet (AUTORUN). Die meisten Spiele bestehen aus mehreren Dateien oder besitzen gar einen Kopierschutz! 😦

Ich habe lange überlegt welches Spiel ich testweise auf die Diskette kopieren könnte. Eigentlich hätte ich mich ja gerne für Donkey Kong entschieden, aber das lässt sich ja leider nicht laden. Um den Sicherungsvorgang in vertretbarer Zeit zu testen, habe ich mich letztendlich für eine simple Billiard-Simulation entschieden! 🙂

Um das Spiel auf Diskette zu kopieren müssen wir es zuerst mal via Turbo Tape suchen und laden.

Sobald das Spiel im Speicher liegt, können wir mit einem „SAVE“BILLIARD“,8“-Befehl auf die RETROLOLO-Diskette speichern:

Um zu überprüfen, ob das Spiel auch auf der Diskette liegt, muss wieder „LOAD“$“,8 + LIST“ abgesetzt werden – den Befehl kennen wir ja mittlerweile schon fast auswendig! 😉

Und siehe da – das Programm wurde ohne Probleme mit auf der Diskette gespeichert. Wow – es sind sogar noch ganze 629 Blöcke frei! Wie soll ich nur jemals diesen gigantischen Speicherplatz voll bekommen? 😀

Fun Fact: Tatsächlich besitzt eine für den C64 formatierte Diskette theoretisch 683 Blöcke. Allerdings sind nur 664 Blöcke nutzbar, denn die restlichen 19 Blöcke (Spur 18) sind fest für organisatorische Strukturen vorgesehen(wie z.B. für das Verzeichnis mit den Dateinamen sowie die BAM (Block Availability Map zur Verwaltung freier Blöcke).

Natürlich habe ich auch getestet, ob sich das Programm noch via „LOAD“BILLIARD“,8,1“ laden und anschließend „RUN“ starten lässt. Klappt! 🙂

Um der Diskette etwas mehr Glanz zu verleihen, habe ich sie mit einem Aufkleber versehen und in einen weißen Umschlag gepackt – schon viel besser! 😉

Als abschließende Challenge für heute wollen wir auch noch versuchen, das Billard-Spiel auf einer Kassette zu speichern! 🙂

Ich höre schon die Rufe: „Aber retrololo – haben wir das Spiel nicht von einer Kassette geladen?“ Das ist korrekt, allerdings war es dort im Turbo Tape Format gespeichert und kann so nicht direkt gestartet werden. Jetzt wollen wir noch versuchen es im „normalen“ Commodore-Format auf einer neuen, leeren Kassette zu speichern!

Ich habe mich dazu entschlossen es mit einer leeren C15-Kassette (Seite A und B haben jeweils 7,5 Minuten zur Verfügung) zu probieren. Commodore empfiehlt herkömmliche Ferrit-Kassetten (Eisenoxid, Typ I/IEC I) mit der Datassette zu verwenden, da der Schreibkopf des Geräts nicht auf Chromdioxid- oder gar Metall-Bänder ausgelegt ist. Man merkt sofort, dass es sich um eine „Datenkassette“ handelt, weil es kein Vorlaufband gibt und das Band sofort mit einer magnetisierbaren Eisenoxidschicht beginnt.

Fun Fact: Unabhängig davon lässt sich theoretisch  jede stinknormale Audiokassette dafür verwenden. Seht es mir nach, wenn ich nicht sämtliche Medien durchprobieren möchte – #Lebenszeit und so! 😉

Und wie speichert man jetzt etwas auf die Kassette? Zuerst muss das Spiel via Turbo Tape in den Hauptspeicher geladen werden. Anschließend kann der Speichervorgang mit einem „SAVE“BILLIARD““-Befehl angestoßen werden:

Fun Fact: Die Befehle sowie die Funktionsweise einzelner Komponenten kann man im „C64 Users Guide“ nachschlagen.

Um unser originales Tape nicht zu überschreiben, tauschen wir die Turbo Tape Kassette gegen die neue C15-Kassette aus und drücken (wie vom C64 angefordert) RECORD und PLAY gleichzeitig. Wichtig: Bandzählwerk resetten!

Jetzt heißt es abwarten, bis die Daten auf die Kassette geschrieben wurden. Als Bestätigung, dass gerade aufgezeichnet wird, leuchtet die rote LED auf der Datassette:

Nach wenigen Minuten ist der Sicherungsvorgang beendet. Das Laufwerk hört auf zu rattern und wir sehen eine Erfolgsmeldung in Form eines simplen „READY“ auf dem Bildschirm.

Es macht Sinn sich die Position auf dem Bandzählwerk zu merken und auf der Kassette (oder einem Inlay) zu vermerken. So weiß man, welche Software an welcher Stelle auf dem Band zu finden ist:

Natürlich habe ich auch getestet, ob sich das Spiel auch wieder von der Kassette laden lässt. Klappt! 🙂

Fun Fact: Rückwirkend betrachtet ist das mit dem Turbo Tape schon eine coole Sache, allerdings nervt mich etwas, dass das Format der via TT64 gespeicherten Programme dann nicht mehr nativ vom C64 (sondern nur noch mit vorgeschalteter Turbo Tape Software) gelesen werden kann. Dafür sind die Ladezeiten im Vergleich gigantisch. Selbst das kleine Billard-Spiel hat ohne Turbo Tape knapp drei Minuten gebraucht, bis es von Kassette geladen werden konnte. Mit Turbo Tape konnte die Ladezeit auf ganz entspannte 22 Sekunden runtergedrückt werden. Sehr cool!

Tja, was bleibt abschließend über die Datassette und die Diskette zu sagen? Als Medium mit „wahlfreiem Zugriff“ ist die Diskette ein wahrer Quantensprung für C64-Besitzer. Eigentlich bietet das Diskettenlaufwerk im Vergleich zur Datassette nur Vorteile, aber ein klarer Minuspunkt war der Preis. So ein 1541er-Laufwerk konnte mal schnell zehnfach so viel kosten wie eine Datassette. Ich denke das ist auch der Hauptgrund, wieso gerade in Europa (und vor allem England) die Datassette trotzdem so beliebt war. Sie war für Kunden und Softwareentwickler eine sehr günstige Möglichkeit Programme digital zu speichern und zu verbreiten.

So, bitte entschuldigt mich – ich geh jetzt erst mal ne Runde Minigolf spielen… 😉

Bis die Tage!

#146 – el commodore – V – disk

„Mensch, ist das aufwändig mit so einer Datassette zu arbeiten. Gibt es da nichts Besseres?“

Diesen Gedanken hatten vermutlich viele C64-Besitzer in den 80ern. Die langen Ladezeiten sowie der beschränkte, sequentielle Zugriff waren wohl die größten Kritikpunkte an der Datassette. Wäre es nicht toll, wenn man ein Medium mit „wahlfreiem“ Zugriff hätte? Also quasi wie bei einer Festplatte oder SSD einen Datenträger, bei dem man einfach direkt jedes Programm was man möchte beliebig starten könnte, ohne erst eine gefühlte Ewigkeit Bänder durch die Gegend zu spulen?

Festhalten Leute – Rettung naht in Form des Commodore „1541“ Diskettenlaufwerks:

Mit diesem wunderschönen Stück Hardware lassen sich 5,25“ Disketten mit dem C64 verwenden. Das Gerät besitzt einen Schreib/Lesekopf, mit dem es die Daten von Disketten lesen oder darauf schreiben kann. Es hat einen Knebelverschluss auf der Vorderseite mit welchem die Disketten im Laufwerk gehalten werden.

Mein Laufwerk ist ein Modell „1541-II“ aus dem Jahre 1988. Die Laufwerke wurden in unterschiedlichen Modellvarianten zwischen 1983 und 1993 gebaut. Bei den frühen Modellen war das Netzteil noch intern im Laufwerk verbaut, bei den späteren (wie in meinem Fall) wurde es aus thermalen Gründen (Schutz vor Überhitzung) ausgelagert.

Fun Fact: Schade ist, dass beim Modell 1541 aus Kostengründen auf gesockelte Chips verzichtet wurde, das macht eine Reparatur schwieriger. Dafür gilt das Modell im Vergleich zu seinen Vorgängern als äußerst robust. Tja, man kann eben nicht alles haben… 🙂

Apropos Netzteil. Die Stromzufuhr des Laufwerks steht der des C64 – zumindest was die Größe angeht – in keinster Weise nach. Was für ein fetter Block! 😀

Auf der Rückseite des Geräts befinden sich die Anschlüsse, über welche das Laufwerk mit Strom (POWER) versorgt, sowie mit dem C64 (SERIAL) verbunden wird. Über den zweiten seriellen Anschluss (INTERFACE) könnte man weitere Geräte (wie z.B. ein weiteres Diskettenlaufwerk) seriell anbinden.

Fun Fact: In der Einbuchtung „Device“ befinden sich DIP-Schalter, über welche eine Gerätenummer (auch Geräteadresse genannt) konfiguriert werden kann. Diese Einstellung ist nur wichtig, wenn man mehrere Laufwerke an einem Computer betreiben möchte. Bei älteren Laufwerksmodellen müssten dazu intern Lötbrücken geöffnet/geschlossen werden – verrückt! 🙂

Natürlich wird auch noch ein serielles Kabel (mit sechspoligen DIN-Steckern) benötigt, um das Laufwerk mit dem C64 zu verbinden:

So langsam brauchen wir mehr Platz… 😀

„Theorie ist, wenn man alles weiß und nichts funktioniert – Praxis ist, wenn alles funktioniert und keiner weiß, warum“. Frei nach diesem Motto wollen wir mal schauen, ob das alte Laufwerk noch seinen Dienst verrichtet. Also, fix den C64 anschalten und anschließend den Schalter auf der Rückseite des Diskettenlaufwerks umlegen. BÄM – it’s alive!

Hm, zumindest ist nichts in die Luft geflogen, aber so richtig spannend war das jetzt auch noch nicht. Was fehlt noch? Na klar – Disketten! 🙂

Wie bereits gesagt handelt es sich um 5,25“ Disketten. Sie bestehen aus einer runden, biegsamen Kunststoffschicht, welche mit einer magnetisierbaren Schicht überzogen und in zwei Plastikhüllen eingepackt ist.

Fun Fact: Aus diesem Grund nennt man die Diskette auch oft „Floppy Disk“ bzw. „Floppies“ im Plural. Der Datenträger lässt sich leicht biegen und hängt (sofern man ihn nur an einer Seite festhält) recht „schlaff“ durch die Gegend. Spätere 3,5“-Disketten haben dank ihrem starren Plastikgehäuse eigentlich keine Berechtigung mehr so zu heißen, aber der Name hat sich einfach eingebürgert… 🙂

Disketten gibt es in unterschiedlichsten Farben. Meistens waren sie schwarz, aber manche Hersteller wollten wohl etwas Farbe in ihr Sortiment bringen. Technisch gesehen hat das null Relevanz! 😀

Meist findet man sie eingesteckt in einer Papiertasche, um den Ausschnitt in der Plastikhülle für den Lesekopf vor Staub und Kratzern zu schützen.

Bei einigen Disketten ist sogar ein Inhaltsverzeichnis dabei, welches dem Nutzer einen Überblick der auf der Diskette befindlichen Programme geben soll:

Diese Zettelchen konnten mit einem entsprechenden Drucker sehr einfach direkt vom C64 ausgedruckt werden.

Bei einigen anderen Disketten gibt es keinen „Beipackzettel“, dafür wurden die aufgespielten Programme einfach auf die Papiertasche gekritzelt:

Je nach Typ der Diskette kann es sein, dass sie sich auf einer (SS/1S) oder sogar auf beiden Seiten (DS/2S) beschreiben lässt. Dazu dreht man die Floppy einfach auf die Rückseite:

Fun Fact: In diesem Fall würde sich die Rückseite noch nicht beschreiben lassen, denn auf der rechten Seite befindet sich noch keine Schreibschutzkerbe. Mit Hilfe eines Diskettenlochers (oder einem anderen Werkzeug wie z.B. einer Schere) konnte eine zweite Schreibschutzkerbe erzeugt und damit die Rückseite beschreibbar gemacht werden. Manchmal funktioniert das sogar auch bei Disketten, die als SS deklariert sind. Schon geil, oder? Einfach ein Loch reinschneiden und man hatte die doppelte Speicherkapazität. Macht das mal mit einer SD-Karte oder einem USB-Stick! 😛

Welchem Typ eine Diskette angehört, kann man meist auf einem Aufkleber (oder Druck) auf der Diskette erkennen:

Puh, über diese schwarzen Dinger gäbe es so viel zu erzählen. Ich muss mich echt bremsen nicht schon wieder in die Theorie abzudriften. 😀 Als erstes sollten wir mal eine Diskette einschieben…

…und den Knebelverschluss nach unten drehen.

Und jetzt? Bisher haben wir nur ein Stück Plastik in ein größeres Stück Plastik eingesteckt! xD Damit der C64 den Inhalt der Diskette anzeigt, muss man – analog der Datassette – einen LOAD-Befehl absetzen. Mit „LOAD“$“,8“ wird das Inhaltsverzeichnis der Diskette geladen und mit einem anschließenden „LIST“-Befehl angezeigt.

Fun Fact: Die „8“ steht hierbei für Gerätenummer 8. Die unteren Nummern (1-7) sind anderen Geräten (Tastatur=0, Datassette=1, Monitor=3, Drucker=4, etc.) vorbehalten. Ab Nr. 8 werden Geräte wie z.B. Diskettenlaufwerke und Festplatten angesteuert.

Sieht so aus als würde man das Spiel mit Hilfe des Programms „GAME“ starten können. Um das zu tun gibt es mehrere Möglichkeiten. Zum einen kann man mit einen weiteren LOAD-Befehl („LOAD“GAME“,8“) den Startvorgang einleiten:

Alternativ kann man auch einfach mit den Pfeiltasten den Cursor zur entsprechenden Stelle im Listing bewegen und die Zeile (rund um die Programmbezeichnung) mit „LOAD“ und „,8,1“ überschreiben. Die Angabe „,1“ am Ende besagt ob man das Programm „absolut“ (also an die Stelle im Speicher, die der gespeicherten Ladeadresse entspricht) laden möchte. Lässt man die Angabe weg, wird das Programm „relativ“ (an den BASIC-Anfang im RAM) geladen. Sicherheitshalber sollte man immer „,8,1“ angeben, denn für Programme, die in Maschinensprache verfasst wurden, wird das benötigt.

Fun Fact: Das erinnert mich fast etwas an den guten alten Mainframe. Dort konnte (bzw. kann) man auch immer die Menüs und Anzeigen direkt überschreiben um Funktionen auszuführen. Ach ja, schön! 🙂

Um zu spielen muss das geladene Programm nur noch mit „RUN“ ausgeführt werden. Jetzt heißt es warten. Man hört, wie das Laufwerk auf die Diskette zugreift und die grüne LED beginnt zu leuchten:

Und siehe da – ein paar wenige Sekunden später können wir tatsächlich „Cobra Force“  spielen! 🙂

Mann, stell ich mich blöd an. Aber zu meiner Verteidigung – wann habt ihr das letzte Mal mit einem Joystick ein Videospiel gespielt?! 😛

Fun Fact: Für dieses Spiel muss der Joystick wieder in Port 2 stecken – völlig logisch, oder? 😀

Selbstverständlich habe ich auch versucht weitere Disketten zu laden. Leider sieht es so aus als könnte das Laufwerk nicht mehr alle Disketten lesen, bei einigen bleibt der Ladevorgang hängen…

…und die grüne Laufwerk-LED blinkt wie verrückt:

Bei einigen anderen konnte ich zwar noch den Index lesen, aber die Daten darauf sind wohl nicht mehr vollständig, bzw. fehlerhaft. In diesem Fall schaut selbst das Inhaltsverzeichnis schon zerstört aus:

Fun Fact: Um ehrlich zu sein wundert mich das nicht – die meisten der Disketten sind weit über 30 Jahre alt. Jeder weiß doch, dass es ab dem Alter einfach bergab geht… 😛

Ebenso ist mir aufgefallen, dass die Ladezeiten trotzdem teilweise echt ganz schön reinhauen. Es ist nicht so schlimm wie bei der Datassette, aber trotzdem muss man manchmal (bei größeren Programmen) die ein oder andere Minute einplanen. Manchmal wird das komplette Programm in den Speicher geladen und manchmal muss der C64 Daten nachladen – das führt zu kleineren Wartezeiten. Aber hey, was kostet die Welt? Ich verbuche das unter „digitaler Entschleunigung“! 😛

So, Schluss für heute… Tatsächlich ist das Thema C64 aber immer noch nicht durch, denn es gibt noch einige spannende Dinge zu erzählen… 😉

Cya! 😉

#145 – el commodore – IV – troubleshooting

So – eigentlich ist doch schon alles erzählt über die Datassette. Wieso zum Geier geht es heute also nochmal um dieses blöde alte Kassettenlaufwerk? 😀

Tja, ich habe noch etwas weitere Zeit mit der Datassette verbracht und habe alle meine Kassetten mal durchgetestet. Das Ergebnis war leider nicht ganz so erfreulich wie bei den drei Tapes, die wir beim letzten Mal geladen haben. Bei den meisten flogen mir kryptische Zeichen oder Fehlermeldungen wie z.B. „?LOAD ERROR“ und „?OUT OF MEMORY ERROR“ entgegen! 😦

Bei anderen startete zwar der Ladevorgang, blieb aber dann (auch nach mehreren Minuten) auf einem blauen oder schwarzen Bildschirm hängen, ohne dass es irgendeine weitere Regung vom Kassettenlaufwerk gab:

Hier der letzte Stand meiner Tests (rechts die Kassetten die funktionieren, links der Stapel mit den defekten Tapes):

Woran liegt das? Sind die Kassetten wirklich defekt? Ich denke das kann mehrere Gründe haben. Natürlich habe ich (wie in diversen Internetforen vorgeschlagen) versucht, den Tonkopf der Datassette mit Reinigungsalkohol und einem Wattestäbchen zu bearbeiten, aber das hat leider nichts gebracht.

Ebenso kann es sein, dass das der Tonkopf der Datassette sich im Laufe der Jahre verstellt hat und neu justiert werden muss. Und wie geht das? Tatsächlich befindet sich auf der Oberseite ein Loch in der Datassette, durch welches man einen kleinen Kreuzschlitzschraubenzieher stecken und die Schraube zur Einstellung des Tonkopfs drehen kann.

Doch woher weiß man, in welche Richtung und wie weit man die Schraube drehen muss? Hierfür gibt es extra Programme (z.B. hier oder hier), die einem mit Hilfe von angezeigten Linien helfen sollen den Tonkopf zu justieren. Das hört sich ja super an! 🙂

Bleibt nur die spannende Frage, wie man so ein Programm jetzt auf den C64 bekommen soll? Und selbst wenn man so ein Stück Software schon auf einer Kassette hätte: Was bringt das einem, wenn man das Programm dann nicht laden kann, weil die Datasette komplett verstellt ist! Ein klassisches Henne-Ei-Problem 😉

Nach etwas „Retro-Recherche“ im Input 64-Magazin von Mai 1986 bin ich auf folgendes Programmlisting gestoßen. Tatsächlich ist das genau das, was wir brauchen – blöd nur, dass die Software nicht „digital“ vorliegt. Es hilft wohl nichts, da werde ich in den sauren Apfel beißen und das Programm manuell eingeben müssen…

Not so fun Fact: Eins kann ich euch sagen – das Eintippen hat keinen Spaß gemacht! 😀

Aber immerhin – nach einigen Fehlversuchen (dank krummen Fingern beim Eintippen) hatte ich das Programm tatsächlich zum Laufen bekommen:

Um mit der Bedienung warm zu werden, habe ich erst mal eine funktionierende Kassette (Asterix and the Magic Cauldron) überprüft. Im Endeffekt muss man nur darauf achten, dass die Datenspuren nicht zu sehr „flimmern“ und sich im Idealfall innerhalb der angezeigten Hilfslinien befinden. Im Falle von Asterix ist das der Fall. Das ist ein Indiz dafür, dass unser Gerät zumindest nicht völlig falsch justiert ist.

Ganz anders sieht es z.B. mit der Spielesammlung „Pub Games“ aus. Während es zu Beginn des Bands nur leichte „Verzerrungen“ gibt…

…sind ab dem Zeitpunkt wo Programmdaten abgespeichert sind, schon ein paar heftige Ausschläge sichtbar.

Jetzt kann man versuchen mit Hilfe eines kleinen Kreuzschlitzschraubendrehers den Schreib/Lesekopf etwas genauer einzustellen. Ziel ist es möglichst gerade Linien (ohne großartige Störsignale) hinzubekommen. Im Falle von „Jumpman Junior“ hat es geklappt, einige andere Kassetten konnten leider auch über diesen Weg nicht gerettet werden…

Fun Fact: Ich sag’s euch – das ist ein aufwändiges Prozedere bei dem man immer wieder von vorne beginnen muss. Leider ist jede Kassette etwas anders und so kann es sein, dass man durch das Justieren zwar ein weiteres Band zum Laufen bekommt, dafür aber dann eine bereits erfolgreich getestete Kassette nicht mehr funktioniert. Ich wiederhole mich wenn ich sage – die Leute in den 80ern hatten mehr Zeit… 😀

Bei einigen Kassetten (gerade bei den Input 64 Tapes) sind mir auch schlichtweg „physikalische“ Fehler, bzw. Defekte aufgefallen. So ist manchmal das Band zerkratzt, geknickt oder entmagnetisiert. Ist das der Fall sind die Kassetten ein Fall für die Mülltonne. Manchmal hat sich auch im Lauf der Jahre das Filzblättchen (Andruckfilz) gelöst, bzw. ist locker. So wird das Band nicht gleichmäßig an den Tonkopf gedrückt und das kann zu Problemen führen.

Fun Fact: Zumindest das Problem mit dem Andruckfilz ließe sich theoretisch recht einfach reparieren, wenn die (günstig hergestellten) Kassettengehäuse verschraubt und nicht verklebt wären. Unabhängig davon macht es bei einer Kassette, welche mal als Magazinbeilage gedacht war sowieso keinen Sinn mehr Aufwand rein zu stecken. 🙂

Bei „Amourdillo“ sieht das Fehlerbild im Datassetten-Justage-Programm richtig wild aus. Allerdings hört man hier auch ein paar quietschende Geräusche aus dem Laufwerk. Es scheint fast so als würde das Band nicht ganz rund laufen. Ist das der Fall dann kann es helfen, wenn man das Band in einem Kassettenrekorder (Tapedeck) das ein oder anderer Mal „durchspult“. Ich habe es mit dem Kassettendeck aus Artikel 85 probiert, aber leider ist auch diese Kassette scheinbar nicht mehr zu retten… 😦

Als kleines Trostpflaster: Einige der anderen Kassetten haben noch einwandfrei funktioniert. So haben z.B. die neueren „Input 64“-Tapes ein animiertes Menü:

Auch ein paar Spiele wie z.B. „Double Dragon“ und „The Last Warrior“ konnte ich ohne Probleme laden. Bei letzterem hat der Ladebildschirm sogar einen echt fetzigen Hintergrundsound – alleine das war die Mühen wert! 😀

Als letzte Challenge für heute wollen wir uns noch der selbstgemachten Kassette mit der Spielesammlung widmen.

Wie bereits in Artikel 144 richtig vermutet, handelt es sich um ein spezielles Band, auf dem mehrere Spiele mit Hilfe eines Schnellladers gespeichert werden können. Damit das klappt, muss vor dem Laden der Spiele der Schnelllader vom Band gelesen werden. Doch leider kommt beim Versuch ein Fehler:

Ich befürchte es hilft nichts, wir müssen uns nochmal mit dem Programm zur Justierung der Datassette herumschlagen…

Eine gefühlte Ewigkeit später konnte ich dann tatsächlich Turbo Tape 64 von der Kassette laden. Gleich zu Beginn wird ein Menü mit ein paar Befehlen und Tipps, wie das Tool zu verwenden ist, angezeigt.

Einen Tastendruck (auf „RETURN“) später können wir mit dem Befehl „PFEIL-LINKS“ + „L“ den Suchvorgang starten, welcher das erste über Turbo Tape gespeicherte Spiel auf der Kassette ermittelt.

Dino Eggs“ heißt der Titel, der gefunden wurde. Um das Spiel zu starten muss abschließend noch die Leertaste gedrückt werden. Dadurch wird das eigentliche Spiel vom Band gelesen und in den Hauptspeicher geschrieben.

Fun Fact: Im normalen Betrieb wird zum Starten, bzw. Laden von Software die „Commodore-Taste“ gedrückt. Warum man sich bei Turbo Tape stattdessen für die Leertaste entschieden hat ist mir nicht klar. Völlig egal, solange es funktioniert. 🙂

Mit dem Befehl „RUN“ wird das Spiel gestartet. Das Game selbst ist nichts Besonderes – Dino Eggs ist einfach nur ein kleines Jump and Run Spiel, bei dem man einen Forscher steuert, welcher Sauriereier einsammelt um sie ins 21. Jahrhundert zu bringen – super Idee! 😀

Fun Fact: Nanu? Wieso lässt sich der blöde Forscher nicht steuern? Tja, für dieses Spiel muss der Joystick in Port 1 umgesteckt werden. Ganz ehrlich – ohne Handbuch (oder verdammt viel Zeit zum Ausprobieren) ist man aufgeschmissen… 🙂

Selbstverständlich sind auf dem Band noch weitere Spiele. Leider musste ich feststellen, dass das handgeschriebene Kassetteninlay so überhaupt nicht zum Inhalt der Kassette passt. Tatsächlich waren ganz andere Spiele auf dem Band – ich vermute die Hülle wurde mal fälschlicherweise für diese Kassette verwendet. Sehr verwirrend das alles! 😀

Schade, dass es beim Laden eines der letzten Games auf dem Band („Donkey Kong“) einen Fehler gab, denn das Spiel wollte ich schon immer mal auf dem C64 spielen. Naja, man kann nicht alles haben. Wenn ich raten müsste, würde ich auf Altersschwäche bzw. Verschleißerscheinungen des Bands tippen, da ich einige andere Spiele (an anderer Stelle der Kassette) erfolgreich laden konnte…

So, ich denke damit sollten wir es mit der Datassette erst mal gut sein lassen – zumindest für heute! 😛

Aber keine Angst – das Thema C64 ist noch nicht vom Tisch! Beim nächsten Mal wollen wir noch ein weiteres, sehr populäres Speichermedium für den Commodore Computer erkunden… 😉

In diesem Sinne – bis die Tage! 🙂

#144 – el commodore – III – tape

Mann, retrololo… Was sind denn jetzt diese merkwürdigen Kassetten von denen du beim letzten Mal erzählt hast?

Ich will euch nicht zu lange auf die Folter spannen (und die meisten älteren unter euch werden das sowieso schon wissen). Diese mit Daten bestückten Audiokassetten wurden gerade in der C64-Ära gerne verwendet um Software an den Mann (also den Kunden) zu bringen! 🙂

Fun Fact: Die prinzipielle Technik, wie die digitalen Daten als Audiosignal codiert werden um auf einem Magnetband gespeichert zu werden, kennen wir ja bereits aus Artikel 121! 😉

Neben den Input 64 Kassetten habe ich noch eine ganze Latte an weiteren Tapes mit Spielen:

Die meisten meiner Kassetten stammen aus England und sind richtig professionell gefertigt.

Fun Fact: Tatsächlich ist es keine Überraschung, dass die meisten C64-Tapes aus England kommen. Auf Grund des (damals) niedrigeren Lohnniveaus und der Tatsache, dass der C64 hinter dem Marktführer Sinclair Spectrum nur die zweite Geige spielte, entschieden sich viele Softwareentwickler dazu ihre C64-Programme nur auf dem günstiger herzustellenden Medium Kassette zu veröffentlichen.

Damit meine ich, dass neben der Kassette selbst auch ein schönes Inlay mit Spielbeschreibung, Hinweisen und meist Werbung für weitere Titel des Herstellers in der Verpackung steckt. Was die Technik angeht, wurden aus Kostengründen üblicherweise eher kurze Bandtypen (C10 mit 2×5 Minuten, C15 mit 2×7,5 Minuten oder C20 mit 2×10 Minuten) verwendet. Neben der höheren Stabilität (stärkeres Trägermaterial und somit strapazierfähiger/langlebiger) ist ein weiterer Vorteil, dass sich ein C15-Band deutlich schneller durchspulen lässt, als z.B. ein C60-Band! 🙂

Auf einem Band vom Typ C15 können im Standardformat der Commodore-Rechner rund 25 KByte pro Seite gespeichert werden – nicht gerade viel! 😀

Fun Fact: Auf die unterschiedlichen Bandlängen sind wir ja bereits in Artikel 85 eingegangen! 😉

Einige der Kassetten sind etwas weniger glanzvoll mit nur einem schlichten weißen Cover ausgestattet. Zumindest sind die Kassetten selbst bedruckt oder mit einem Aufkleber gekennzeichnet! 🙂

Fun Fact: Selbst heute noch gibt es einige wenige Firmen, die sich auf die Produktion von Musikkassetten spezialisiert haben. Die für die Tape-Produktion verwendeten Maschinen stammen meist noch aus den 80ern – krass! 😀

Sollte es mich irritieren, dass irgend so ein Schlaumeier bei der Asterix-Kassette „Seite 1“ mit einem Black Sabbath-Aufkleber versehen hat? Ich hoffe nur, dass das ein Scherz ist und die Kassette wurde nicht tatsächlich überspielt! 😀

Eine der Kassetten in meiner Sammlung scheint sogar „handgemacht“ und mit einer Vielzahl von Sicherungskopien bestückt zu sein! Bei dem Tape handelt es sich um ein Modell vom Typ C60 (also mit 30 Minuten pro Seite). Nachdem was wir bereits wissen, lassen sich (ohne weitere Software) auf so einer Kassette mit dem C64 rund 100 KByte Daten pro Seite speichern.

Fun Fact: Durch Zufall gerade gesehen – selbst heutzutage könnte man (sogar beim Musikhaus Thomann) noch einige C60-Kassetten kaufen – verrückt!

Auf Grund der Vielzahl an Spielen und dem verräterischen Hinweis „Turbo Tape 64“ würde ich mal vermuten, dass hier eine Spezialsoftware („Schnelllader“ genannt) zum Einsatz kommt, welche es erlaubt, wesentlich mehr Daten auf dem Band zu speichern und diese auch in deutlich geringerer Zeit zu lesen. Im Endeffekt wird die Geschwindigkeit dabei etwa um den Faktor 10 gesteigert, allerdings auf Kosten der Datensicherheit (durch Verzicht auf Redundanz und Paritätbits).

Fun Fact: Das einzige was wir mit Sicherheit sagen können ist, dass auf Seite A „alles Spiele ohne abschießen“ drauf sind! 😀

Ok, und was macht man jetzt mit den Teilen? Um den betagten Rechner mit Kassetten zu füttern, brauchen wir ein speziell dafür entwickeltes Bandlaufwerk. Commodore taufte dieses Stück Hardware „Datassette“, ein Kofferwort aus „Data“ und „Cassette“. Glücklicherweise habe ich so eine Datassette hier:

Auf der Rückseite können wir erkennen, dass es sich um ein Modell 1530 handelt und 1990 gebaut wurde.

Als besonderes Merkmal hat das Teil ein Bandzählwerk samt Resetknopf verbaut:

Definitiv kein unwichtiges Feature, denn damit lassen sich bestimmte Positionen (und somit letztendlich bestimmte Programme und Dateien) auf einer Kassette leichter auffinden. Besonders relevant ist das bei Kassetten, welche mehrere Programme/Spiele beheimaten.

Fun Fact: So war z.B. bei dem Spiel „Pub Games“ ein Vorbesitzer so freundlich und hat auf die Innenseite des Inlays die genauen Bandpositionen der einzelnen Spiele aufgeschrieben. Mit diesen Angaben kann man (im Zusammenspiel mit dem Bandzählwerk) gleich „bequem“ an die entsprechende Stelle auf der Kassette spulen um eins der sieben Spiele zu spielen – clever!

Über einen speziellen Kassettenport wird die Datassette mit dem C64 verbunden. Während viele Schnittstellen an dem Computer auf Standards (z.B. DIN oder D-Sub) basieren, habe ich so einen Stecker, bzw. Anschluss noch nie gesehen – das ist definitiv was Proprietäres! Cool: Es wird kein eigener Stromanschluss für die Datassette benötigt!

Fun Fact: Commodore hat zwar den Begriff Datassette erfunden, aber auch andere Hersteller (wie z.B. Atari, Apple, Tandy, Sinclair, etc.) haben die Bezeichnung übernommen. Sie haben lediglich ein „s“ gestrichen und ihre Kassettenlaufwerke einfach „Datasette“ genannt.

Mann, ich liebe dieses Bild. Das sieht mal nach „richtiger IT“ aus. Keine Touchscreens, keine virtuellen Maschinen oder irgendwelche Cloud-Dienste. Einfach ein alter Computer mit Kassettenlaufwerk – geil! 😀

Das einzige was mir etwas Bauchschmerzen bereitet, ist die Tatsache, dass diese Laufwerke einige Verschleißteile (Riemen, Zahnräder, etc.) besitzen. Auch mit den Datenträgern könnte es Probleme geben, denn analog der Musikkassette können die Tapes im Lauf der Jahre ihre Magnetisierung verlieren und somit Daten verloren gehen.

Doch Schluss jetzt mit den Spekulationen. Es wird Zeit ein Band einzulegen, am C64 den Befehl „LOAD“ einzugeben und der netten Aufforderung „Press Play on Tape“ zu folgen…

Fun Fact: Anstatt „LOAD“ kann man die Tasten „SHIFT“ + „RUN/STOP“ auf der Tastatur eingeben.

Und siehe da, das Band läuft an und der Bildschirm wird komplett blau. Der Computer versucht, die Metainformationen über gespeicherte Programme am Anfang des Bandes zu erkennen. Ungefähr zehn Sekunden später hält der C64 das Band automatisch an und meldet sich mit der Lesebestätigung „3D Snooker found“ zurück – das hört sich vielversprechend an! 🙂

Um das gefundene Programm zu starten, muss die „Commodore-Taste“ (links unten auf der Tastatur) gedrückt werden. Anschließend läuft das Band weiter und es werden die eigentlichen Daten des zu ladenden Programms vom Band gelesen. Alternativ kann man auch wenige Sekunden warten und der C64 lädt automatisch das gefundene Programm.

Fun Fact: Der Automatismus funktioniert allerdings nur, weil sich kein weiteres Programm auf dem Band befindet. Wäre das der Fall, würde nach wenigen Sekunden einfach das nächste Programm, welches zum Laden zur Verfügung steht, angezeigt werden.

Nach dem Tastendruck heißt es aber erst mal warten, denn jetzt werden die Daten vom Band in den Hauptspeicher des Computers geladen. Optisch sieht es so aus als befände sich der C64 im „Disco-Modus“! 😀

Der Lesevorgang ist wirklich sehr entspannt. Ohne Zusatzsoftware liest die Datasette die Daten auf der Kassette mit einer Geschwindigkeit von ca. 60 Bytes/Sekunde. Festhalten, damit ihr nicht bei dieser bahnbrechenden Geschwindigkeit aus dem Fenster fliegt! 😀

Zumindest kommt nach gut eineinhalb Minute mal der Titelbildschirm:

Spätestens an dieser Stelle ist der richtige Zeitpunkt sich eine Hopfenkaltschale zu organisieren, denn es dauert weitere sechs Minuten (samt Epilepsie verursachendem Bildschirmgeflacker) bis der Ladevorgang beendet und man endlich im Spiel angekommen ist.

Immerhin lässt sich das Spiel erstaunlicherweise gut mit dem Joystick spielen. Um ehrlich zu sein bin ich von der Snooker-Umsetzung was Grafik, Sound und Steuerung angeht überrascht, ich hatte irgendwie „Schlimmeres“ (mehr Pixel, hakelige Steuerung, etc.) erwartet. Ein gelungenes Spiel aber trotzdem spiele ich Billard im Allgemeinen lieber im „Real Life“… 😉

Achja, noch was – ich kann euch entwarnen: Auch Asterix scheint einwandfrei zu funktionieren und wurde nicht durch das Gegröle einer britischen Heavy-Metal-Band überspielt! 😉

Fun Fact: Merkwürdigerweise hat es diesmal ca. 20 Sekunden gedauert bis das Programm gefunden wurde. Allerdings konnte „Asterix and the Magic Cauldron“ dann innerhalb von nur vier Minuten geladen werden… 😉

Auch habe ich eine der Input 64 Kassetten zum Laufen gebracht:

Sie enthält ein schönes Menü in welchem man durch die einzelnen Programme durchblättern und diese dann laden kann:

Auf der Kassette waren auch einige nützliche Tools, aber wer braucht schon sowas, wenn man stattdessen „Die versunkene Stadt“, ein Labyrinthspiel, in dem man ein kleines Tauchboot durch versunkene Höhlen steuern und Diamanten einsammeln muss, spielen kann. 🙂

Hm, eigentlich wäre das doch ein gelungener Abschluss zum Thema „Datassette“, oder? Leider nein, denn tatsächlich gibt es noch einige Erfahrungswerte und Erkenntnisse zu berichten. Leider ist dafür heute keine Zeit mehr, aber ich verspreche euch – beim nächsten Mal schließen wir das Thema „Tapes“ ab! 😉

In diesem Sinne – bis die Tage! 🙂