Bernd Leitenbergers Blog

Die schlechtesten Computer – der Commodore C64

Zeit, mal meine Meinung über einige der verkorksten Computerkonzepte zu verbreiten. Mit der Nummer 1 werde ich wohl auf Widerspruch bei vielen stoßen, ist doch der C64 der Verkaufsschlager unter den Heimcomputern gewesen und hat entsprechend viele Anhänger.

Warum denke ich das? Nun, wenn man sich die reinen technischen Daten ansieht, ist der C64 sicher ein toller Computer. Aber es gibt eine Reihe von Kritikpunkten, die dazu führen, dass ich das Gegenteil denke. Es folgen da noch einige Beiträge in dieser Serie „Die schlechtesten Computer“, in allen geht es um die Rechner in der Basiskonfiguration, oder mit dem vom Hersteller angebotenen Zubehör. Ansonsten kann man natürlich selbst aus der größten Kröte mit viel Geld noch einen tollen Rechner machen.

Der Hauptkritikpunkt ist natürlich das BASIC. Damals begrüßte einen ein BASIC Interpreter beim Rechnerstart. Man entwickelte Programme in BASIC und bei vielen Heimcomputern war das auch die einzige höhere Programmiersprache, die zur Verfügung stand – weil andere Sprachen meistens mehr Speicher brauchten und der ging dann auch noch vom Arbeitsspeicher ab, während der BASIC-Interpreter im ROM steckte.

Das BASIC 2.0 ist im Prinzip ein fast unverändertes BASIC der PET Serie. Es kamen lediglich einige Befehle für die Ein-/Ausgabe auf die Diskette zu. Weshalb Commodore es nicht erweitert hat, ist ein Rätsel. Angeblich um Produktionskosten bei den ROM zu sparen. Schon beim Commodore VC20 wurde es unverändert übernommen, obwohl dort zumindest die Farbfähigkeit bei der Hardware hinzukam. Man könnte nun meinen, dass es Commodore nicht kann – das Original stammte schließlich von Microsoft, aber beim C128 kamen ja die Grafikbefehle hinzu.

Was es spart, sind einige Kilobyte ROM, obwohl das mit 20 kb auch für die Fähigkeiten so schon groß genug war. Der Sinclair Spectrum mit Grafikfähigkeiten hat nur 16 kb ROM, der Apple II 12 kb und der ORIC ebenfalls 16 kb ROM. Alle Rechner hatten Grafikbefehle. Warum bei dem BASIC, dem einzigen Stück Software das bei der Basismaschine verfügbar ist es dem Anwender schwierig machen die Hardware zu nutzen?

Nun kommen die ganz Schlauen und sagen „Dass zwang einen sich mit der Maschine auseinanderzusetzen“. Falsche Antwort: Wenn ich einen Computer mit einem BASIC Interpreter kaufe, will ich in BASIC programmieren und damit die Fähigkeiten des Computers ausnutzen. Natürlich gibt es Einschränkungen. Wie in jeder Programmiersprache kann man nicht alles ausnutzen und für tolle Tricks braucht man Maschinensprache. Aber ich kann eben bei anderen Rechnern Kreise, Linien, Polygone erstellen und Flächen füllen, ohne den Grafikprozessor mit Pokes zu programmieren. Sie haben einen Play Befehl für zumindest einfachen Sound. Das liefert auch Anfängern Erfolgserlebnisse. Sie sind vielleicht nicht so toll wie der SIC oder VDP und können weniger, aber man kann die Hardware eben einfach nutzen und darum geht es ja bei BASIC: Das ist die Abkürzung von Beginners All Symbolic Instruction Code. Men beachte, das Wort fängt mit „Beginners“ an.

Wenn ich mich mit den Details des Videoprozessors und Soundchips auseinandersetzen will, dann tue ich das bewusst und programmiere dann meist in Assembler, zumal das Zugreifen über Peek und Poke auf Adressen ja um einiges umständlicher ist als die direkte Programmierung in Assembler. Es ist unnötig. Assemblerkenntnisse sind sicher übertragbar, auch wenn jeder Prozessor einen anderen Befehlssatz hat. Die Kenntnisse der Programmierung des VIC-II oder SID (Grafik/Soundchip) sind dafür nahezu nicht übertragbar auf andere Rechner. Nebenbei hatte der Anwender wenig von dieser Programmierung, Von den 64 KByte waren njur 38.911 Bytes nutzbar. Das man nicht die vollen 64 KByte nutzen konnte ist klar, Betriebssystem und BASIC benötigen für eigene Daten auch Speicher. Aber beim C64 verdeckte das ROM 20 KByte die unter BASIC nicht nutzbar waren und auch mit Maschinensprache nur 4 KByte dazu. Andere Rechner nutzen den verdeckten Bereich wenigstens als Bildschirmspeicher, doch schaltete man den VIC in den Grafikmodus (die obigen Daten gelten für den Textmodus) so lagen im BASIC RAM nochmals 8 KByte Farbspeicher in acht Bereichen und die liegen genau im unteren Bereich des BASIC-Bereiches und verkappten diesen Bereich weiter.

Das nächste ist das Diskettenlaufwerk. Angeschlossen, an einen seriellen Bus, erwarb es sich den Ruf des langsamsten Diskettenlaufwerks, das jemals gebaut wurde. Dabei hatte es einen eigenen Prozessor, aber auch dieser war so schlecht programmiert, das er ziemlich langsam war. Es lag vor allem daran das der IEC-Bus den Commodore schon bei der CBM Serie verwendet „kastriert“ wurde. Anstatt acht Leitungen hatte er nur eine, was eine bitserielle Übertragung nötig machte. Spätere Auflagen des C64 hatten dann wieder acht Leistungen aber um softwarekompatibel zu sein liefen sie mit dem selben DOS und waren so nicht schneller. Klar. Man konnte da das Diskettenlaufwerk einen eigenen Rechner hatte auswechseln und dann war das Disklaufwerk schnell, doch eben nicht in der Fassung wie man es kaufte.

Der Druckerport gehorchte natürlich nicht dem Centronics Standard – wäre ja auch zu einfach gewesen.
Zuletzt das äußere – okay, das Gehäuse war kompakt, aber zu hoch („Brotkasten“) und unergonomisch. Aus Kostengründen wurde es fast unverändert vom VIC-20 übernommen und was die Designer geritten hat, den Einschaltbildschirm mit den Farben hellblau für Text und dunkelblau für den Hintergrund zu gestalten?

Alle Kritikpunkte wären schnell abstellbar gewesen – ein besseres BASIC hätte vielleicht einige Kb mehr erfordert oder man hätte auf einen der beiden Zeichensätze verzichtet. Eine Centronics Schnittstelle kostet auch nicht mehr als eine nach dem IEEE488 Standard – und ein normaler Diskettenkontroller ist sogar weniger aufwendig als einer mit einem eigenen Prozessor, oder man nimmt eben gleich acht Leitungen wie bei der Vorlage vom CBM-3000. Dem Konzept von Diskettenlaufwerken mit eigenem Prozessor und einem IEC-Bus blieb Kommodore treu: als der Nachfolger C128 erschien, hatten die beiden Floppys 1570 und 1571 (ein/zwei Schreibleseköpfe) auch das Bussystem. Commodore warb sogar damit das das diese nun 3000 bzw. 5200 Bytes pro Sekunde transferierten – nur woanders schaffte man das ohne DMA und ohne eigenen Rechner.

Aber so macht man noch Kasse mit weiteren Produkten wie Simons BASIC (erweitertes BASIC auf einem Steckmodul), eigenen Druckern, die an den ubiquitären Port passen und einem eigenen Diskettenlaufwerk. Ich glaube es wäre nicht teurer gewesen als in der Konfiguration, in der der Rechner ausgeliefert wurde.

Klar der C64 hat eine große Fangemeinde bis heute. Das sieht man auch den vielen Kommentaren dazu. Doch was nützt das tollste Gerät wenn man dem Käufer den Zugriff auf seine Fähigkeiten erschwert? Darum geht es. Ich denke Tramiel wollte den C64 als Spielkonsole vermarkten. Da braucht man weder schnelle Disklaufwerke, weil Spiele meist von Kassettenrekordern oder als Modul ausgeliefert werden, nur einen Druckeranschluss auch beim BASIC muss man wenig machen. Man braucht es nur um ein Spiel zu starten. Der C-64 war unter jugendlichen beliebt, aber ich kannte damals niemanden der damit programmierte und ich finde auch in den Kommentaren davon meist kein Wort. Die meisten nutzten ihn als Spielkonsole und Spiele wurden damals in Assembler programmiert für sie waren die Einschränkungen nicht existent. Und wer der Kommentierer hat selbst den C64 in der Grundkonfiguration genutzt? Also mit diesem BASIC, ohne Speed-Software für die 1540 in BASIC oder Assembler programmiert? Es ist leicht zu sagen Spiel X oder Demo Y sind toll. Dann muss man den C64 aber mit einem Videospiel wie dem VCS-2600 System oder ähnlichem vergleichen ud klar, dann ist es ein ganz toller Computer. Doch er wurde als Heimcomputer zum Programmieren (ja das galt damals und für die spätere berufliche Laufbahn als ziemlich wichtig) verkauft und nicht als Spielconsole oder zum Schreiben von Demos.

Ich denke das war auch das Konzept: Am Grundgerät verdient man wenig und die Kasse macht man bei der Peripherie. Ihr dürft gespannt sein auf den nächsten Rechner …

Die mobile Version verlassen