#142 – el commodore – I – basics

Vorwort: Auweia! Auch beim heutigen Thema sind die Erzählungen mal wieder etwas ausgeufert und ich musste den Blogbeitrag in mehrere Teile splitten. Um ehrlich zu sein ist es gleich ein ganzer Marathon an Beiträgen zu dem Thema geworden! 😀

Eigentlich wundert mich das überhaupt nicht, schließlich geht es heute um ein äußerst ikonisches Stück Technik-Geschichte, zu dem es einfach massig viel zu erzählen gibt.

Ich hoffe, ihr nehmt mir das nicht übel und habt trotzdem Spaß an einem kleinen Ausflug in die 80er Jahre! 🙂

********

Entgegen dem irreführenden Titel (das hat ja mittlerweile schon fast Tradition) geht es heute nicht um einen prestigeträchtigen Militäranführer und auch nicht um den gleichnamigen Film („Der Kommodore“) aus dem Jahre 1963…

Vielmehr möchte ich euch heute auf ein Retro-Erlebnis der Extraklasse mitnehmen. Zusammen werden wir uns mit dem „Commodore 64“ (besser als „C64“ bekannt) beschäftigen! 🙂

Mal überlegen, was brauchen wir für den Ausflug? In jedem Fall eine große Schublade mit Nerd-Zeug (böse Zungen würden das wohl „Elektroschrott“ nennen)! 😛

Fun Fact: Eins kann ich euch sagen: Auf dem Bild sieht das alles schon recht „aufgeräumt“ aus, aber ich musste erst mal zahlreiche Kabel entknoten und die einzelnen Teile sortieren. Es war gar nicht so einfach herauszufinden, welches Kabel/Netzteil jetzt eigentlich zu welchem Gerät gehört. 😀

Gut, dass es noch genügend Informationen im Internet auf diversen C64-Fanseiten gibt. Neben hilfreichen Troubleshooting-Anleitungen, Downloads und technischen Spezifika zum Gerät werden z.B. auch noch regelmäßig Community-Treffen organisiert – irre! Gerade dieses Einsteiger-Tutorial habe ich als so hilfreich empfunden, dass ich mir gleich eine „Offline-Version“ ausgedruckt habe! 🙂

Ach ja, der gute alte C64. Der 8-Bit-Computer wurde 1982 von Commodore veröffentlicht und gilt bis heute als einer der meistverkauften Heimcomputer weltweit. Kein Wunder, denn der C64 bot (für die damalige Zeit) viel Technik und eine gute Erweiterbarkeit zu einem erschwinglichen Preis. Produziert wurden die Geräte in unterschiedlichen Modellvarianten von 1982 bis 1993.

Fun Fact: In deutschen Gefilden wurde (und wird) der Computer auf Grund seiner Form auch liebevoll „Brotkasten“ genannt! 😀

Mein C64 ist ein Modell „G“ von 1988. Im Vergleich zum „Ur-C64“ wurde der Computer (um attraktiver zu wirken) optisch etwas überarbeitet. So hat der C64G ein helleres Gehäuse und eine weiße Tastatur (anstatt wie üblich ein braunes Gehäuse mit schwarzer Tastatur). Technisch gesehen hat sich nicht viel geändert, allerdings wurden (um Kosten zu sparen) in dem Modell einige höher integrierte Chips als in Vorgängermodellen verbaut.

Fun Fact: Ich kann mich gar nicht mehr erinnern, wann das gute Stück zum letzten Mal im Einsatz war. Ich hoffe nur, dass das Ding noch funktioniert. Immerhin sieht es so aus als wurde der C64 noch nie geöffnet, denn das Garantiesiegel ist noch unbeschädigt vorhanden! 🙂

Schön und gut, aber wie sieht es mit den „inneren Werten“ des C64 aus? Der Computer bietet ganze 64KByte Arbeitsspeicher und einen MOS 6510 (bei späteren Modellen MOS 8500)-Prozessor mit einem MHz (ja, richtig gelesen)! 😀 Damit man auch sehen kann, was man tut, zaubert der VIC-II (Video-Interface-Chip) ganze 16 Farben bei einer Auflösung von 320×200 Pixel auf den Bildschirm – abgefahren! 😉 Und auch für die Ohren gibt’s was, denn mit Hilfe des SID-Chips (Sound-Interface-Device), welcher als bester Soundchip der 8-Bit-Ära gilt, werden die zahlreichen ikonischen C64-Musikstücke kreiert.

Fun Fact: Es war eine andere Zeit, in der Dinge wie 64KByte RAM und die Verfügbarkeit von Klein- UND Großbuchstaben noch etwas Besonderes waren! 😀

Seitlich bietet der Brotkasten (neben dem Power-Knopf und einer siebenpoligen DIN-Buchse für die Stromzufuhr) zwei neunpolige Anschlüsse (D-Sub-Stecker) für Controller. Damit lassen sich Joysticks, Paddles, Ligthpens oder sogar eine Maus an den C64 anstöpseln. Ob die jeweilige Hardware dann aber auch mit einer Anwendung funktioniert, hängt von der Programmierung der Software ab.

Um den C64 mit einem Fernseher zu verbinden, gibt es auf der Rückseite des Gehäuses einen Antennenausgang. Direkt daneben gibt es eine Aussparung, welche bei einigen Modellen einen Schalter oder Drehregler zur Einstellung der Audionorm beheimatet. In unserem Fall (neuere Revision des Mainboards) fehlt dieser Schalter, denn es ist bereits „intern“ (ab Werk) die korrekte Norm fest eingestellt. Alternativ kann man den Computer auch über den Video-Ausgang (achtpolige DIN-Buchse) an einen PC-Monitor anschließen.

Fun Fact: Aus welchen Gründen auch immer ist die Beschriftung der Antennenbuchse (RF) sowie die Aussparung für den H-L-Schalter beim C64G vertauscht. Das nenne ich mal einen Design-Fail! 😀

Ebenso finden sich auf der Rückseite des Gehäuses vier proprietäre Anschlüsse für Peripheriegeräte. Zum einen wäre da der Hauptspeichererweiterungs-Slot (für Steckmodule – ähnlich wie den ISA- oder PCI-Steckplätzen auf einem PC-Mainboard), eine serielle Schnittstelle (z.B. zum Anschluss eines Nadeldruckers), ein proprietärer Anschluss für ein Kassettenlaufwerk sowie eine Anwenderschnittstelle (genannt Userport) für diverse Zwecke.

Fun Fact: Die serielle Schnittstelle (sechspoliger DIN-Port) ist nicht in diesem, sondern im Bild zuvor abgelichtet. Qualitätsjournalismus sage ich da nur! 😛

Auch die Tastatur des C64 ist etwas Besonderes. Sie besitzt 66 Tasten und einige davon sind mit ungewöhnlichen Sonderfunktionen belegt. So gibt es z.B. eine einrastende SHIFT-Taste (SHIFT LOCK), eine RUN/STOP-Taste (zur Unterbrechung laufender Programme), oder eine RESTORE-Taste (welche in Kombination mit der RUN/STOP-Taste einen Reset des C64 auslöst). Auch können mit der Tastatur neben Ziffern und Buchstaben auch direkt grafische Zeichen (z.B. ein Herz, ein Kreis oder ein Karo) eingegeben werden – echt abgefahren! 😀

Bevor das alles schon wieder in langweilige theoretische Vorträge ausartet, sollten wir schleunigst zur Praxis zurückkehren. Neben dem Computer benötigen wir natürlich noch eine Stromzufuhr. Das Netzteil liefert 5V Gleichspannung und 9V Wechselspannung und erinnert mich irgendwie an das der Xbox 360 (wiegt auch gefühlt eine Tonne)! 😀

Die Frage ist nur – wie bringen wir das Videosignal auf einen Bildschirm? Leider habe ich keinen alten PC-Monitor mehr, der mit so einer niedrigen Auflösung (geschweige denn mit einem siebenpoligen DIN-Eingang) umgehen könnte. Kein Problem – Abhilfe schafft ein extra angefertigtes Kabel, welches das Videosignal auf einen SCART-Anschluss überträgt. So können wir den C64 ohne Probleme an einen TV anschließen! 🙂

Jetzt heißt es anschnallen und beten. Ob ein erster Start nach so langer Zeit gelingt? Power on!

Start geglückt! Na, zumindest leuchtet mal die Power-LED des Systems! 😉

Und tatsächlich bekommen wir auch ein Bildsignal auf den TV übertragen. Nanu? Ist das ein Bluescreen wie man ihn von Windows kennt? Weit gefehlt, denn tatsächlich ist das der „Startbildschirm“ des Systems! 🙂

Darf ich vorstellen? Das ist „BASIC V2“, das eingebaute Betriebssystem des C64. BASIC steht für „Beginner’s All-purpose Symbolic Instruction Code“ und ist eigentlich eine interpretierte Programmiersprache aus den 60er Jahren. Beim Commodore 64 ist der BASIC-Interpreter gleichzeitig auch die Benutzerschnittstelle, welche nach dem Start des Computers geladen wird.

Fun Fact: Das gesamte Betriebssystem (samt Kernel, Zeichensätze und BASIC V2 Interpreter) befindet sich in 20KByte ROM auf drei (bzw. später zwei) Chips verteilt.

An dieser Stelle erwartet der Computer konkrete Anweisungen (auch Befehle genannt), was man jetzt mit ihm tun möchte. Der blinkende Cursor signalisiert, dass man eine Eingabe (wie in einem Editor) vornehmen muss. Grundsätzlich unterscheidet man zwischen zwei Arten von BASIC-Befehlen. Zum einen gibt es die Kommandos wie z.B. „RUN“, „LOAD“ oder „SYS“, welche den Computer in einen bestimmten Betriebszustand versetzen. Diese können ohne weiteres direkt (ohne Zeilennummern) über die Tastatur eingegeben werden. Die Anweisung „SYS 64738“ ruft eine Systemroutine auf, welche einen Reset des C64 auslöst! 🙂

Ebenso gibt es eine ganze Reihe an Anweisungen, welche den Ablauf eines BASIC-Programms beeinflussen und so nur indirekte Auswirkung auf die Hardware haben. Populäre Beispiele sind z.B. „GOTO“, „IF/THEN“, oder „RETURN“. Diese Anweisungen akzeptiert der Editor nur in strukturierter Form unter der Angabe einer Programmzeile mit vorangestellter Zeilennummer. Um ein eingetipptes Programm anzuzeigen kann man den Befehl „LIST“ verwenden. Zum Starten des Programms gibt es das Kommando „RUN“.

Fun Fact: Die Zeilennummerierungen im Zehnerabstand sind mit Absicht so gewählt, denn so kann man später noch Zeilen einfügen. Tatsächlich ist es egal in welcher Reihenfolge man die Befehle eingibt, solange die Reihenfolge der vorangestellten Nummern stimmt.

Das Ergebnis ist – zugegeben nicht recht spektakulär- aber immerhin funktioniert es! 🙂 Letztendlich würde das Programm nun in einer Dauerschleife laufen. Um es anzuhalten, drückt man einfach die Taste „RUN/STOP“.

Eines der bekannten Beispiele für die BASIC-Programmierung ist das „zufällige Labyrinth“. Dabei werden einfach zwei grafische Zeichen (205 und 206, jeweils eine diagonale Linie) zufällig auf dem Bildschirm ausgegeben. Dieser Effekt erzeugt eine Art Labyrinth – einfach, aber echt clever! 🙂

Fun Fact: Theoretisch könnte man jetzt auf die Idee kommen mit BASIC seine eigenen Spiele zu programmieren. Auch wenn das technisch möglich ist, kann man es nur als schlechte Idee bezeichnen. Tatsächlich wurden die meisten C64-Spiele in Assembler programmiert um die Sound- und Grafikmöglichkeiten der Hardware optimal auszureizen.

Natürlich lässt sich mit BASIC noch viel mehr anstellen. So kann z.B. über die Befehle „PEEK“ und „POKE“ direkt auf die Hardware (und so auch auf Video- und Soundchip) zugegriffen werden. Mit einem einfachen Beispielprogramm können wir so z.B. die Farbe des Bildschirmrahmens ändern. Das Programm läuft dabei so schnell, dass beim Wechsel der 16 verschiedenen Farben ein Flackern entsteht. 🙂

Natürlich habe ich es mir nicht nehmen lassen ein kleines „RETROLOLO-Beispielprogramm“ aus verschiedenen Beispielen zusammen zu kopieren:

Es wird permanent die Hintergrund- und Schriftfarbe geändert – sinnlos, aber cool! 😀

Fun Fact: Wie viel Platz haben wir auf dem System eigentlich für so ein Programm? Der C64 verrät es uns bereits in der zweiten Zeile – es stehen insgesamt 38911 Bytes für ein BASIC-Programm und dessen Daten zur Verfügung. Wow, nur knapp 38KByte – nicht gerade die Welt. Heutzutage belegt selbst eine zehnsekündige Sprachnachricht schon mehr Speicher! 😀

Hm, das war ja alles schön und gut, aber wo bleibt die Action? Wo bleiben die coolen Spiele? Bisher haben wir doch nur irgendwelche Textzeilen ausgegeben. Ich befürchte an dieser Stelle muss ich euch auf das nächste Mal vertrösten… Sorry für den Cliffhanger! 😉

Bis die Tage! 🙂

Write a comment