Heimcomputer

Commodore 64

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche
Der C64 im „Brotkasten“-Gehäuse
Der C64 im „Brotkasten“-Gehäuse

Der Commodore 64 (kurz: C64, umgangssprachlich auch 64er) ist ein 8-Bit-Heimcomputer mit 64 KB[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 4 KB[1] gespeichert.

Startbildschirm des C64
Startbildschirm des C64

Inhaltsverzeichnis

[Bearbeiten] Entwicklung

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 64 KB[1] RAM haben sollte. Auch wenn zu diesem Zeitpunkt 64 KB[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.

Hauptplatine eines C64 (1982)
Hauptplatine eines C64 (1982)
Hauptplatine eines C64C (1992)
Hauptplatine eines C64C (1992)

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.

[Bearbeiten] Hardware

MOS 6502-Prozessor
MOS 6502-Prozessor

[Bearbeiten] Prozessor

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.

[Bearbeiten] RAM

Speicher des C64
Speicher des C64

Der C64 verfügt über 64 KB[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 5 KB[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.

[Bearbeiten] ROM

Der C64 verfügt über 20 KB[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 4 KB[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

[Bearbeiten] Grafik

Der VIC II 8565R2 für den C64 II
Der VIC II 8565R2 für den C64 II
Geöffneter C64
Geöffneter C64

Der Grafikchip des C64 ist ein MOS 6569/8565 (PAL) bzw. MOS 6567 (NTSC). Er bietet:

16 Farben
Durch Ausnutzung einer Besonderheit des PAL-Fernsehstandards (Farbinformationen, Chroma, werden nur jede zweite Zeile aktualisiert) lassen sich durch vertikale Anordnung von verschiedenen Farben neue Farbmischungen erzeugen.
40×25-Zeichen-Textmodus (Standard)
8×8 Pixel pro Zeichen, benutzerdefinierte Zeichensätze möglich. Bildschirmweit einheitliche Hintergrundfarbe, je Zeichen wählbare Vordergrundfarbe; bis zu 256 verschiedene Zeichen können gleichzeitig verwendet werden.
40×25-Zeichen-Textmodus (Multicolor)
4×8 doppelt breite Pixel pro Zeichen, benutzerdefinierte Zeichensätze möglich. Je Zeichen bis zu vier Farben: drei bildschirmweit einheitliche, eine je Zeichen wählbar; bis zu 256 verschiedene Zeichen können gleichzeitig verwendet werden.
40×25-Zeichen-Textmodus (Erweiterte Hintergrundfarben)
Wie Standard-Textmodus, aber nur 64 verschiedene Zeichen, dafür je Zeichen eine von bis zu vier bildschirmweiten Hintergrundfarben wählbar.
160×200 doppelt breite Pixel
im niedrig auflösenden Bitmapmodus (Multicolor). Alle 16 Farben sind mit Einschränkungen verwendbar (drei individuelle Farben je 4×8-Pixel-Block plus eine bildschirmweite Farbe). [3]
320×200 Pixel
im hoch auflösenden Bitmapmodus (Hi-Res). Alle 16 Farben sind mit starken Einschränkungen verwendbar (zwei individuelle Farben je 8×8-Pixel-Block).
Hardware-Scrolling
ein Verschieben des Gesamtbilds um vertikal und/oder horizontal 0 bis 7 Pixel ermöglicht zusammen mit weiterer Verschiebung durch Software ein weiches pixelgenaues Scrolling.
Acht Sprites
mit jeweils 24×21 Pixeln Größe für einfarbige Sprites (12×21 doppelt breite Pixel für Multicolor-Sprites; beide Sprite-Typen können gleichzeitig und in allen Bildschirmmodi verwendet werden). Durch sogenanntes Sprite-Multiplexing war es möglich, die Anzahl der darstellbaren Sprites zu vervielfachen. Bei Kollision von Sprites miteinander oder mit der Hintergrundgrafik kann ein Interrupt ausgelöst werden.
Rasterzeileninterrupts
Interruptanforderung an den Hauptprozessor beim Erreichen einer zuvor durch die Software festgelegten Bildzeile.

Da der VIC nur 14 Adressleitungen besitzt, kann er nur 16 KB[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 16 KB[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.

[Bearbeiten] Ton

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.

[Bearbeiten] Schnittstellen

Schnittstellen des C64
Schnittstellen des C64

Der C64 bietet mehrere Schnittstellen und war daher auch bei Hardware-Bastlern beliebt:

Audio/Video-Ausgang (5-Pin/8-Pin-DIN-Buchse)
mit einem Composite-Video-Signal zum Anschluss eines Video-Monitors oder eines Fernsehers. Zusätzlich wird ein S-Video-Signal (Luminanz- und Chrominanz-Signale separat) bereitgestellt, das für bessere Bildqualität benutzt werden kann. Weiterhin existiert ein Audio-Eingang zwecks Filterung eines externen Audiosignals durch das SID-Filter.
Hochfrequenz (HF)-Ausgang (Cinch-Buchse, HF-Modulator)
zum Anschluss eines Fernsehers über dessen Antennenbuchse (bei damaligen Geräten oft die einzige Anschlussmöglichkeit).
Serieller Bus (CBM-Bus, 6-Pin-DIN-Buchse)
zum Beispiel für Drucker und Diskettenlaufwerke.
Anschlussmöglichkeit für eine Datasette (6 Platinenkontakte)
Expansions-Port (44-Pin-Platinenstecker)
herausgeführter Daten- und Adressbus; zum direkten Einstecken von Hardwareerweiterungen, z. B. Spielemodule, Speichererweiterungen, Beschleunigerkarten o. ä. Dieser Port entspricht den Steckplätzen eines heutigen PCs.
Userport (24 Platinenkontakte).
Hier ist einer der acht Bit breiten bidirektionalen Ports sowie eines der seriellen Schieberegister des C64 herausgeführt. Der C64 enthält keinen UART-Chip, allerdings existiert im C64-ROM eine Software-Implementierung eines RS-232-Protokolls, die mittels Bit-Banging die notwendigen Signale erzeugt. Diese ist bis 2400 Baud einsetzbar, mit reiner Basic-Ansteuerung jedoch nicht mit voller Geschwindigkeit. Für die vollständige RS-232-Schnittstelle wird auch noch ein Pegelwandler benötigt, der TTL-Pegel (0 V/+5 V) auf die RS-232-Pegel von ±12 V umsetzt. Weitere typische Anwendungen für diesen Port sind Implementierung einer Centronics-Druckerschnittstelle (Parallelport, braucht zusätzliche Treibersoftware), Parallelkabel zu einem Diskettenlaufwerk, Relaiskarten, EPROM-Brenner oder auch Modems.
Zwei Joystick-, Paddle- und Mauseingänge
(9-Pin-Sub-D-Stecker) entsprechend dem Atari-2600-de-facto-Standard, einer davon auch für Lichtgriffel nutzbar.

[Bearbeiten] Peripherie

Für den C64 wurde eine große Auswahl an Peripheriegeräten angeboten.

[Bearbeiten] Laufwerke[4]

Die Datasette
Kassettenlaufwerk 1530 (Datasette)
Dieses Laufwerk war die billigste Lösung für Datenspeicherung am C64. Es benutzt normale Compact-Kassetten. Meist war Software auf Kassetten billiger als entsprechende Diskettenversionen. Anders als in Deutschland, wo das Diskettenlaufwerk (trotz höherer Anschaffungskosten) sehr verbreitet war, war die Datasette in Großbritannien das dominierende Datengerät. Lade- und Speichervorgänge sind sehr langsam, umständlich und fehleranfällig. Schnelllader wie Turbo Tape verringern die Ladezeiten deutlich.
VC1541
VC1541
5,25-Zoll-Diskettenlaufwerk VC1541
Dieses Laufwerk war das Standardlaufwerk für den C64 und wurde vom Großteil der Benutzer verwendet. Es benutzt die damals sehr weit verbreiteten 5,25-Zoll-Disketten mit doppelter Aufzeichnungsdichte (Double Density). Das Laufwerk arbeitet einseitig und bietet etwa 170 kB Speicherkapazität pro Diskettenseite. Um die Rückseite beschreiben zu können, muss die Diskette dem Laufwerk entnommen und gewendet werden. Dafür gab es beidseitig beschreibbare Disketten mit Aussparungen für die Schreibfreigabe auf beiden Seiten. Jedoch konnte man auch die preisgünstigeren, offiziell nur einseitig beschreibbaren Disketten auf der Rückseite beschreiben. Dazu musste jedoch vorher seitlich eine zweite Kerbe mittels eines Diskettenlochers ausgestanzt werden. Die Daten werden von den Laufwerken als schreibgeschützt erkannt, wenn diese Kerbe überklebt wird. Entsprechende Aufkleber lagen den Disketten bei.
VC1541c mit Knebelverschluss
VC1541c mit Knebelverschluss
VC1541-II
VC1541-II
Ältere Versionen der VC1541 hatten keine Möglichkeit zu erkennen, wann der Schreib–/Lesekopf am unteren Ende („Spur 0“) angekommen ist, und hatten deshalb eine mechanische Sperre. Das führte zu dem bekannten mechanischen „Rattern“ des Laufwerks bei der Formatierung einer Diskette, da der Schreib-/Lesekopf so bis zu 35mal an den Anschlag fuhr – dadurch konnte er verstellt werden. Neuere Versionen hatten eine Lichtschranke, um das Problem zu lösen; da jedoch auch das ROM des Laufwerks geändert wurde, führte dies teilweise zu Inkompatibilitäten mit Schnellladeprogrammen und Kopierschutzmechanismen.
Das Laufwerk war ein eigenständiger Computer mit eigenem Prozessor und Speicher. Anders als praktisch alle anderen Firmen hatte Commodore das DOS als ROM im Laufwerk selbst realisiert, anstatt es in den Speicher des Computers zu laden. Es gab Programme, die Teile der Rechenarbeit auf das Laufwerk auslagerten und somit eine Art Parallelprogrammierung ermöglichten; wegen des kleinen Speichers des Laufwerks war das aber nur sehr eingeschränkt nützlich. Ebenfalls gab es Jux-Programme, die durch kreative Programmierung des für die Schreib-/Lesekopfbewegung zuständigen Schrittmotors sogar Musik mit dem Laufwerk erzeugten.
Von dem Laufwerk wurden drei Haupt- und viele Untervarianten hergestellt. Von Fremdherstellern wurden Klone der 1541-Laufwerke angeboten, die zwar preisgünstiger, aber wegen des aus Urheberrechtsgründen abweichenden ROMs meist nicht vollständig kompatibel waren.
Die Geschwindigkeit der Diskettenoperationen war aufgrund des geringen Speicherausbaus der Laufwerke, der seriellen Schnittstelle sowie umständlicher Programmierung der DOS-Funktionen – das 1541-DOS wurde aus dem der Doppelprozessor-Doppelfloppies CBM 8050 abgeleitet – sehr langsam, so dass viele verschiedene Turbolader als Software- oder als Hardwarebeschleuniger entwickelt wurden.
Diese Beschleuniger schrieben als erstes eigene in Assembler entwickelte Routinen in den Speicher des Laufwerks, die anschließend zusammen mit im Computer ablaufenden Routinen den Datentransfer realisierten. Mit dem 1989 im Magazin 64'er veröffentlichten Programm "Master-Copy 64" von Frank Riemenschneider gelang es ohne die Nutzung von Hardware-Erweiterungen erstmals, eine Diskette in weniger als einer Minute zu kopieren.
3,5-Zoll-Diskettenlaufwerk VC1581
Dieses Laufwerk fristete auf dem C64 trotz seines gegenüber der VC1541 erheblich gesteigerten Speichervermögens von 800 kB auf 3,5-Zoll-DD-Disketten aufgrund seiner Inkompatibilität zur VC1541 nur ein Schattendasein. Wegen Kopierschutzmaßnahmen erforderten sehr viele Programme das VC1541-Laufwerk, so dass dem Modell 1581 kein Erfolg beschert war.
Wie die VC1541 war auch dieses Laufwerk technisch gesehen ein eigenständiger Computer.

[Bearbeiten] Eingabegeräte

Joystick
Commodore Joystick
Commodore Joystick
Neben der Tastatur sind Joysticks die wichtigsten Eingabegeräte am C64, denn fast alle Spiele und auch viele Anwendungen lassen sich nur mit ihnen steuern. Beim C64 wird der damals recht verbreitete Atari-Standard für Joysticks unterstützt, so dass man die gleichen Joysticks wie an sehr vielen anderen Rechnern verwenden konnte. Zwar stellte Commodore eigene Joysticks her, beliebter und verbreiteter waren jedoch QuickShot- und QuickJoy-Joysticks sowie – aufgrund seiner Robustheit – der Competition Pro.
Commodore-Maus
Commodore-Maus
Commodore-Maus 1350/1351
Mäuse spielten als Eingabegeräte beim C64 eine eher untergeordnete Rolle, da sie sich erst Jahre nach seiner Einführung etablierten. Es gab nur wenige Programme, die sie unterstützten bzw. für Mausbenutzung (anstatt Joystick) ausgelegt waren, so z. B. das grafikorientierte Betriebssystem GEOS, Hi-Eddi und Printfox.
Paddle
Paddle
Paddle
Das sind Eingabegeräte, die vor allem in den 70er Jahren bei vielen Videospielen verbreitet waren und so auch ihren Weg zum C64 fanden. Bis auf wenige der frühen C64-Spiele und einige spätere Ausnahmen wie Arkanoid hatten Paddles aber kaum eine Bedeutung auf dem C64.
Lichtgriffel
Das sind „Stifte“, die zum Zeichnen direkt auf dem Monitor verwendet werden. Wie auch Paddles hatten sie auf dem C64 kaum eine Bedeutung.
Koalapad
Grafiktablett für den C64, das für das Grafikprogramm Koalapaint entwickelt worden war, aber auch von einigen anderen Programmen genutzt wurde.
Lightgun
Von der Funktionsweise ähnlich wie die Lichtgriffel, jedoch meist in der Form einer Pistole und für Spiele gedacht. Auch dieses Eingabegerät war beim C64 kaum von Bedeutung.
Scanner
Von der Firma Scanntronik waren ein Schwarz-Weiß-Scanner erhältlich, der auf den Druckkopf geeigneter Nadeldrucker aufgesteckt wurde und das zu scannende Bild zeilenweise abtastete, während es von der Druckerwalze transportiert wurde, sowie ein Handscanner.