Der Commodore 64 (kurz: C64, umgangssprachlich auch 64er) ist ein 8-Bit-Heimcomputer mit 64KB[1] Arbeitsspeicher.
Seit seiner Vorstellung im Januar 1982 auf der Winter Consumer Electronics Show war der von Commodore gebaute C64 Mitte bis Ende der 1980er Jahre sowohl als Spielkonsole als auch zur Softwareentwicklung äußerst populär. Er gilt mit über 30 Mio. verkauften Geräten als der meistverkaufte Heimcomputer weltweit.[2] Der C64 ermöglichte mit seiner umfangreichen Hardwareausstattung zu einem erschwinglichen Preis einer ganzen Generation von Jugendlichen in den 1980er Jahren erstmals einen Zugang zu einem für diese Zeit leistungsstarken Computer.
Im Gegensatz zu modernen PCs verfügte der C64 über keine internen Massenspeichergeräte. Alle Programme mussten von einem Steckmodul (Cartridge) oder externen Laufwerken, wie dem Kassettenlaufwerk Datasette oder dem 5¼″-Diskettenlaufwerk VC1541, geladen werden. Lediglich Grundfunktionen wie der Kernal, der BASIC-Interpreter und zwei Bildschirmzeichensätze waren in drei ROM-Chips mit Speicherkapazitäten von 8, 8 und 4KB[1] gespeichert.
Inhaltsverzeichnis |
Commodore Business Machines (CBM) hatte vor dem C64 bereits erfolgreich den Bürorechner PET 2001 und seine Nachfolger, aber auch schon den Heimcomputer VC 20 eingeführt. Firmengründer Jack Tramiel prägte die Formel „Computer for the masses, not the classes!“ (Anspielung auf die damals dominante Position des Apple II in amerikanischen Schulen und Universitäten), was ihm mit dem C64 letztlich auch gelang.
Im Januar 1981 wurde bei der Commodore-Chipfirma MOS Technology ein Projekt gestartet, um einen neuen Grafik- und Audio-Chip für eine Spielkonsole der nächsten Generation zu entwickeln. Die Arbeit an den beiden Chips VIC II (Grafik) und SID (Audio) wurden im November 1981 erfolgreich abgeschlossen.
Im Anschluss wurde auf Basis der beiden neuen Chips der Rechner Commodore Max (in Deutschland als VC 10 angekündigt) von dem japanischen Ingenieur Yashi Terakura von Commodore Japan entwickelt. Dieses Projekt wurde jedoch gestrichen, kurz nachdem die ersten Commodore MAX in Japan ausgeliefert wurden.
Mitte 1981 machten Robert Russell (System-Programmierer und Entwickler des VC 20) und Robert „Bob“ Yannes (Entwickler des SID) mit der Unterstützung von Al Charpentier (Entwickler des VIC-II) und Charles Winterble (Manager von MOS Technology) dem Commodore-CEO Jack Tramiel den Vorschlag, aus den entwickelten Chips einen wirklichen Low-Cost Rechner zu bauen, der der Nachfolger des VC 20 werden sollte. Tramiel war einverstanden und erklärte, dass der Rechner einen vergrößerten Speicher von 64KB[1] RAM haben sollte. Auch wenn zu diesem Zeitpunkt 64KB[1] RAM noch über 100 US-Dollar kosteten, nahm er an, dass die RAM-Preise bis zur vollen Markteinführung des C64 auf einen akzeptablen Preis fallen würden. Tramiel setzte gleichzeitig das Fristende für die Präsentation des Rechners auf den Beginn der Consumer Electronics Show (CES) im Januar 1982 in Las Vegas. Die Besprechung fand im November 1981 statt, so dass den Entwicklern lediglich zwei Monate blieben, um entsprechende Prototypen des Rechners zu bauen.
Das Projekt hatte zunächst den Codenamen VC-40, der in Anlehnung an das Vorgängermodell VC-20 gewählt wurde. Das Team, welches das Gerät entwickelte, bestand aus Robert Russell, Robert „Bob“ Yannes und David A. Ziembicki. Das Design des C64, Prototypen und einige Beispiel-Software wurde gerade rechtzeitig vor der CES in Las Vegas fertig, nachdem das Team die gesamte Weihnachtszeit (auch an den Wochenenden) durchgearbeitet hatte. Die 40 im Namen sollte die Textauflösung von 40 Zeichen pro Zeile kennzeichnen. Commodore legte diese Auflösung unter anderem deswegen so fest, um unter der Leistungsfähigkeit der für den professionellen Gebrauch vorgesehenen eigenen Rechner der CBM-8000-Serie zu bleiben, die zu der Zeit mit gleicher Prozessorgeschwindigkeit, kleinerer oder gleicher Speicherausstattung, nur monochromen oder deutlich eingeschränkten Farbmöglichkeiten und einem nur wenig leistungsfähigeren BASIC 4.0 angeboten wurden. Ein kennzeichnender Faktor für die professionelle Anwendbarkeit war damals die Möglichkeit, Textzeilen für die Druckausgabe in voller Breite darstellen zu können, wofür 80 Zeichen notwendig waren.
Um die Neuentwicklung in das vorhandene Produktangebot einbinden zu können, entschied sich die Marketingabteilung für den Namen „C64“, was für „Consumer“ und die Größe des verwendeten Speichers in Kilobyte stehen sollte. Für den amerikanischen Markt waren bereits nach gleichem Schema benannte Modelle, der B(usiness)256 bzw. der P(ersonal Computer)128, geplant. Letzterer gehörte allerdings in die in Europa als Commodore CBM 500 veröffentlichte Reihe und ist nicht identisch mit dem später erschienenen C 128.
Im September 1982 kam der C64 für 595 US$ auf den amerikanischen und Anfang 1983 zum Startpreis von 1495 DM auf den deutschen Markt und war in Deutschland, wie in allen wichtigen Märkten der Welt (mit Ausnahme von Japan), sehr erfolgreich.
Hauptkonkurrent war der in den USA stark vertretene Atari 800 XL. Viele Spiele wurden gleichzeitig auf einer 5,25-Zoll-Diskette für beide Systeme angeboten, wie etwa das Computer-Rollenspiel Alternate Reality (Vorderseite C64, Rückseite Atari), was als Hinweis auf die Dominanz der beiden Marken angesehen werden kann. Trotz der Konkurrenz durch Atari und vieler anderer Heimcomputer in dieser Zeit (TI-99/4A, Apple II, ZX81, ZX Spectrum, Dragon 32) beurteilten viele Konsumenten das Preis-Leistungsverhältnis des C64 zum Beginn seiner Auslieferung günstig. In Kombination mit der rasch ansteigenden Zahl an Softwaretiteln für den C64 wurde der Rechner dann zum Erfolg. Auch trug die Tatsache, dass der Computer nicht nur in Fachgeschäften, sondern auch in Kaufhausketten zum Verkauf stand, dazu bei, dass das Gerät in kurzer Zeit ein voller Erfolg wurde. Mit dem Aufstieg des C64 als Heimcomputer kam auch zugleich der endgültige Fall der bis dato am weitesten verbreiteten Konsole, dem Atari VCS 2600.
Von Commodore wurde der C64 etwa elf Jahre lang produziert; über 22 Millionen Stück wurden verkauft (andere Quellen geben 17 Millionen an). Damit ist der C64 der meistverkaufte Computer der Welt.
In der Produktionsperiode des C64 wurden immer wieder optische und technische Details geändert, um moderne Fertigungsmöglichkeiten auszunutzen und Produktionskosten zu senken. Obwohl sich das Innenleben der ersten C64 deutlich von dem der letzten Version unterscheidet, war es den Entwicklern doch gelungen, alle Versionen von Seiten der Software beinahe hundertprozentig kompatibel zueinander zu halten – was allerdings auch bedeutete, dass die Leistungsdaten des Rechners während des Produktionszyklus nicht gesteigert wurden. Beispielsweise wurde das Hauptplatinenlayout mehrfach geändert, CPU, Grafikchip, Soundchip und andere Bauteile wurden überarbeitet. Auch die zur Verschaltung innerhalb des Rechners notwendigen Logikchips wurden zusammengefasst und in einem Custom-Chip integriert. Die neuen flacheren Gehäuse und hochintegrierten Platinen waren bei Bastlern unbeliebt, da sie mit internen Erweiterungen von Fremdherstellern nicht mehr kompatibel waren. Eine über Discounter vertriebene Variante kam als Aldi-C64 in Verruf, da eine Spannung an einem Erweiterungsanschluss fehlte und so mit dieser Version einige externe Geräte nicht funktionierten.
Auf dem Gehäuse trägt der C64 die Aufschrift „Personalcomputer“. Damit kommt zum Ausdruck, dass es als Gerät für den Gebrauch im privaten Umfeld gedacht war – Jahre zuvor waren Computer große Maschinen, die in Rechenzentren untergebracht waren. Bei Commodore gab es Anfang der 1980er Jahre die Einteilung in die zwei Sparten „PC“ für Heimcomputer und „Systeme“ für Bürocomputer, bevor IBM mit seinem PC kam und mit dieser Sprachregelung kollidierte. Mit dem heutigen PC hatte der C64 kaum technische Ähnlichkeit. Von deutschen Anwendern wird der C64 auch „Brotkasten“ genannt, weil die ursprüngliche Gehäusevariante an einen solchen erinnert (siehe Bild in der Einleitung). Das Gehäuse des C64C von 1986 wird gelegentlich mit dem Spitznamen „Türkeil“ belegt. 1987 kehrte Commodore vorübergehend zur ursprünglichen Gehäuseform zurück.
Im Jahre 1986 hatte Commodore Deutschland eine Million C64-Computer verkauft und die Firma feierte das Ereignis mit der Herstellung einer Kleinserie von 200 vergoldeten C64, die an wichtige Personen innerhalb des Unternehmens vergeben wurden, die maßgeblich zum Erfolg des C64 beigetragen hatten. Die Feier fand am 5. Dezember 1986 statt.
Vom C64 gab es im Gegensatz zu anderen damaligen Heimcomputern keine Nachbauten aus Ostblock-Ländern, Lateinamerika oder Fernost. Das ist vor allem in der hochintegrierten Bauweise mit Custom-Chips und in der vertikalen Integration der Firma Commodore begründet – von der Chipfertigung über Chipdesign und Systemdesign bis zum Gehäusedesign war alles in einer Hand, wodurch diese Chips für Nachbauer nicht erhältlich waren.
Der Prozessor ist ein 6510 (8500 beim C64C/II), eine Variante des 6502 von MOS Technology. Diese Firma wurde von Commodore Mitte der 1970er Jahre aufgekauft, um eine eigene Chip-Fabrik zu haben. Der 6510 hat im Gegensatz zum 6502 einen 6 Bit breiten bidirektionalen I/O-Port, der sich über die Speicheradressen 0 und 1 ansprechen lässt und beim C64 unter anderem dazu genutzt wird, um in einzelnen Speicherbereichen zwischen RAM, ROM und dem I/O-Bereich durch Bank Switching umzuschalten.
Der Prozessor arbeitet mit einer Taktfrequenz von 0,985248 MHz in der PAL-Version und 1,022727 MHz in der NTSC-Version. Der Unterschied ergibt sich daraus, dass im C64 aus der Schwingungsfrequenz nur eines Quarz-Oszillators alle benötigten Frequenzen einfach abgeleitet werden und dass die Farbträgerfrequenzen der beiden Farbübertragungssysteme unterschiedliche Werte haben, die eingehalten werden müssen. In der NTSC-Version stehen so mehr Taktzyklen pro Rasterzeile in der Grafikausgabe zur Verfügung, und auch insgesamt ist die CPU etwas schneller. Deswegen müssen Programme, die besondere grafische Effekte beinhalten, für jede dieser beiden Versionen angepasst werden.
Der C64 verfügt über 64KB[1] RAM. Davon sind 38911 Bytes für BASIC-Programme nutzbar. Die Größe des Speichers war für die damalige Zeit üppig (der zwei Jahre ältere Vorgänger VC 20 hat nur 5KB[1] Arbeitsspeicher, wovon für die Programmiersprache BASIC lediglich 3584 Byte nutzbar sind). Zwei Bytes (0 und 1) sind nicht für das RAM nutzbar, hier befindet sich der Prozessorport des 6510.
Der C64 verfügt über 20KB[1] ROM. Etwa 9 kB davon enthalten in nahezu unveränderter Form den BASIC-V2-Interpreter des älteren Commodore VC 20 (erschienen 1980), der ursprünglich von der Firma Microsoft stammt. In weiteren knapp 7 kB ist ein Betriebssystem, der sogenannte KERNAL, untergebracht, welcher die Tastatur, den Bildschirm, die Kassettenschnittstelle, die RS-232-Schnittstelle sowie eine serielle IEC-Schnittstelle (den CBM-Bus) zur Ansteuerung von Druckern, Diskettenlaufwerken usw. verwaltet. Auch dieses stammt ursprünglich von älteren Commodore-Maschinen, wurde aber an die veränderte Hardware des C64 angepasst. Die restlichen 4KB[1] enthalten zwei Zeichensätze à 256 Zeichen in 8×8-Matrixdarstellung für den Bildschirm. Die Zeichensätze entsprechen dem Commodore-eigenen PETSCII-Standard und enthalten deshalb keine deutschen Umlaute.
Um über verschiedene Versionen hinweg auf Maschinensprachenebene kompatibel zu bleiben, war ganz am Ende des ROM-Bereichs (also kurz vor $FFFF) eine Sprungtabelle angelegt, über die man die wichtigsten Betriebssystemroutinen aufrufen konnte. Commodore hat diese Sprungtabelle vom PET 2001 bis über den C64 hinaus beibehalten. Die Kompatibilität von Anwendungssoftware hat sich allerdings dadurch nicht besonders gesteigert, weil viele Programmierer diese kompatible Methode des Aufrufs schlichtweg ignoriert haben und sie ohnehin nur für rein textbasierte Programme brauchbar war. – Beispiel: Der Aufruf JSR $FFD2
gibt auf jedem Commodore-8-Bit-Rechner den Inhalt des Akkumulators als Zeichen auf den Bildschirm aus.
Siehe auch: Bank Switching
Der Grafikchip des C64 ist ein MOS 6569/8565 (PAL) bzw. MOS 6567 (NTSC). Er bietet:
Da der VIC nur 14 Adressleitungen besitzt, kann er nur 16KB[1] des zur Verfügung stehenden Speichers auf einmal ansprechen. Die zwei fehlenden Adressbits steuert der zweite im C64 verbaute CIA6526-Chip bei. Diese vier Speicherseiten zu 16KB[1] verhalten sich nicht gleich – im Speicherbereich $1000 bis $1fff (bzw. $9000 bis $9fff) wird vom VIC stets das Zeichengenerator-ROM ausgelesen. In diesen Bereichen können daher auch kein Bildschirmspeicher (Text oder Bitmap) und keine Spritedaten abgelegt werden. Umgekehrt muss in den beiden anderen Speicherseiten im Textmodus ein Zeichengenerator im RAM abgelegt werden.
Das Farb-RAM, das aus Sicht des Hauptprozessors an den Adressen $d800 bis $dbff eingeblendet werden kann, ist aus Geschwindigkeitsgründen ein einzelner 1024x4-Bit-SRAM-Chip (µPD2114), der 4 eigene Dateneingänge in den VIC besitzt. Das Farb-RAM muss daher auch nicht in den „normalen“ VIC-Adressraum eingeblendet werden. Genaugenommen besitzt der C64 damit 66048 Byte RAM. Da die letzten 24 Adressen nicht für die Farbdarstellung gebraucht werden, kann man die dahinterliegenden Speicherzellen für Sonderzwecke nutzen.
Der VIC sorgt ebenfalls, wie damals für die Grafikhardware üblich, durch das regelmäßige Auslesen aller Speicherseiten für den nötigen Refresh der DRAM-Chips des C64.
Der C64 ist dank der Rasterzeileninterrupts und des Grafikchipdesigns recht flexibel im Bildaufbau. Viele der hardwaretechnischen Einschränkungen können durch kreative Programmierung und Ausnutzung von vom Hersteller nicht explizit implementierten Nebeneffekten umgangen werden. So lassen sich beispielsweise verschiedene Darstellungsmodi mischen (z. B. obere Bildschirmhälfte Textdarstellung mit Scrolling, untere Bildschirmhälfte Grafik) und auch die acht Sprites mehrfach in verschiedenen Bildbereichen verwenden, so dass viele Spiele weitaus mehr als acht Sprites darstellen können. Durch Ausnutzung von undokumentierten Videochip-Eigenschaften ist auch die Verwendung von zusätzlichen Videomodi möglich, die die Beschränkungen in der Farbwahl und Auflösung teilweise aufheben. Auch der Bildschirmrahmen kann mit einigen Tricks zur Darstellung von Grafik benutzt werden.
Der Basic-Interpreter stellt keine Befehle zur Programmierung der hochauflösenden Grafik bereit, so dass deren Nutzung dem normalen Anwender verschlossen bleibt. Abhilfe schaffen kommerzielle Basic-Erweiterungen wie Simons’ Basic, s. u.
Klänge werden über den dreistimmig polyphonen Soundchip MOS Technology SID 6581 (buskompatibel mit der Prozessorfamilie 65xx) erzeugt, welcher dem C64 damals revolutionäre, weit über andere Heimcomputer hinausgehende Möglichkeiten zur Klangerzeugung verlieh. Spätere C64-Varianten enthielten den 8580.
Der SID besitzt drei universell einsetzbare monophone Stimmen mit einer in 65536 Stufen einstellbaren Grundfrequenz von 0 bis 4000Hz und 48dB Aussteuerung, die jeweils gleichzeitig in subtraktiver Synthese vier Schwingungsformen (Dreieck, Sägezahn, Rechteck in 4096 Stufen einstellbarer Pulsbreite, sowie Rauschen) erzeugen können. Die Lautstärke jeder Stimme kann einzeln mittels dreier programmierbarer ADSR-Hüllkurvengeneratoren mit exponentiellen Kurvenverlauf eingestellt werden. Weiterhin ist eine Sychronisierung von zwei oder allen drei Oszillatoren möglich. Ein Ringmodulator ergibt weitere Effekte. Eine der Stimmen kann außerdem wahlweise ausschließlich zur Modulation der anderen Stimmen verwendet werden.
Weiterhin besitzt der SID ein subtraktives Multimode-Filter (Tiefpass, Hochpass, Bandpass oder Notch Filter), durch das die internen Stimmen, sowie eine über die Monitorbuchse des C64 zumischbare externe Quelle geleitet werden können.
Da die Lautstärke der Tonwiedergabe in 16 Stufen eingestellt werden konnte, benutzten schon bald einige Programme den Lautstärkesteller als D/A-Wandler, um Samples, zum Beispiel Sprache, wiederzugeben. Bekannte Beispiele dafür sind das Spiel zum Film „Ghostbusters“ und das Musikspiel „To Be on Top“; Die Tonqualität war dabei allerdings nicht besonders gut, außerdem gab es eine Inkompatibilität zwischen den ursprünglichen und den späteren C64-Versionen: Der später verbaute SID II (MOS 8580) schaltete seinen Ausgang nur durch, wenn auf mindestens einer Stimme ein Ton abgespielt wurde. Dadurch wurde zwar das Grundrauschen bei fehlender Tonwidergabe kleiner, reine Samples ohne Hintergrundmusik wurden aber nur noch sehr leise abgespielt. Spätere Programme berücksichtigten dieses Tatsache, die alte Software wurde aber natürlich nicht verändert.
Durch geschicktes Mischen unterschiedlicher Samples war auf Softwareebene außerdem die Wiedergabe mehrerer Samples möglich; dies bedingte jedoch zwangsläufig eine Einschränkung der Wiedergabegenauigkeit (resolution) bzw. der Abspielrate (sample/playback rate), das heißt, die so erzeugten Töne waren weniger gut aufgelöst und „ungenauer“.
Eine Reihe von bekannten Spielemusikprogrammierern bediente sich dieser Technik. Der „Soundmagier“ Chris Hülsbeck beispielsweise benutzte im Spiel Turrican durch trickreiche Programmierung eine fünfstimmige Soundausgabe.
Neben der Audiowiedergabe besaß der SID noch zwei Analogeingänge mit niedriger Abtastrate, die im C64 zum Anschluss von Paddles oder einer speziellen Maus mit Analogausgang genutzt wurden.
Der C64 bietet mehrere Schnittstellen und war daher auch bei Hardware-Bastlern beliebt:
Für den C64 wurde eine große Auswahl an Peripheriegeräten angeboten.