C65, Teil 3: Innenleben

Der Commodore 65 hatte – neben der hausinternen Konkurrenz durch den Amiga – noch damit zu kämpfen, dass er in eine Welt hinein entwickelt wurde, die sich im Umbruch befand. Der PC hatte – nach wortwörtlich langsamen Anfängen als bessere Schreibmaschine und Tischrechner – richtig Fahrt aufgenommen und machte sich durch das schlimme Buzzword „Multimedia“ auch daran, den Markt der Heimrechner zu übernehmen.


Commodore 65

Umbruch in der Rechnerarchitektur
Natürlich lesen sich die Eckdaten des C65 beeindruckend und in der damaligen Zeit war der 65er in einigen Bereichen sogar aktuellen PCs überlegen. Er verfügte – ganz ähnlich wie der Amiga – über Customchips, die dem Hauptprozessor zur Seite standen. In den frühen 1990er Jahren war aber ein Computer mit einer 8-Bit CPU ein echter Anachronismus, und auch die Zeit der Komplett-Rechner, die eher schlecht erweiterbar waren, ging bereits ab Mitte der 1980er Jahre zu Ende. Erst rund 25 Jahre später kamen die Nachfolger der Homecomputer, die Einplatinencomputer (Arduino, RaspberryPI, BBC Micro:bit) auf den Markt. Was unterscheidet aber einen Homecomputer von einem PC?

Die quasi offene, erweiterbare Architektur der IBM-kompatiblen PCs war (und ist) Fluch und Segen zugleich. Auf der einen Seite war das System flexibel an die Anforderungen des Users anpassbar, auf der anderen Seite musste die Software, damals DOS und das darauf aufgestülpte Windows, mit der vielen unterschiedlichen Hardware auch klarkommen. Es wurden die auch noch heute bei fast allen Betriebssystem vorhandenen, sogenannten „Treiber“ benötigt. Eine hardwarenahe Programmierung, wie sie im Bereich der Homecomputer normal war, war damit nur sehr selten möglich.

Hauptvorteil von Homecomputern und Einplatinencomputern ist die Homogenität der Hardware. Findet ein Programmierer die immer gleiche Komponenten auf den Rechnern vor, so kann er seine Programme exakt auf diese Hardware optimieren. Er benötigt keine langsamen Treiber, die die Befehle für die vorhandene Hardware „übersetzen“. Früher konnte er sogar nicht vorgesehenen Operationen benutzten, die sogenannten „illegalen OP-Codes“. Darunter versteht man undefinierte Befehle im Prozessor oder den Customchips. Das können teils nicht fertiggestellte Befehle oder Funktionen sein, oder es der Prozessor führte durch eine Zeichenfolge etwas aus, was überhaupt nicht vorgesehen war. Hatte man Glück, so führte dies nicht zum Crash sondern erfüllte irgendeine sinnvolle Funktion.

Die CPU im C64, die MOS 6510 (ein Ableger des 6502) und der Videochip „VIC II“ hatten eine Menge dieser illegalen Opcodes, mit denen die Programmierer den C64 Dinge machen ließen, die weit über die Spezifikationen des Computern hinausgingen. Auf einem PC mit seiner unüberschaubaren Vielfalt alleine an CPUs ist so etwas nicht vorstellbar.

Man unterschied (unterscheidet) zwei Philosophien bei der Entwicklung von Microprozessoren. Auf der einen Seite CISC, was für „Complex Instruction Set Computer“ steht, und RISC, welches auf einen reduzierten Befehlssatz des Prozessors hinweist. RISC-CPUs haben einen Befehlssatz, der meist einen niedrigen zweistelligen Befehlsumsatz bedeutet – der von CISC-Prozessoren ist meist mehr als zehnmal so groß. Die Leistungsfähigkeit der CPU steht und fällt mit der Fähigkeit des Compilers (der Compiler übersetzt die Hochsprache in Maschinensprache), den Befehlssatz des Prozessors optimal ausnutzen zu können. Früher Compiler für die Intel-CPUs konnten das nicht, so dass man sehr viel mehr schiere Rechenleistung benötigte, um die eigentlich viel langsameren Heimcomputer abzuhängen.

Handicaps der Intel-8080/8086-CPUs waren zudem, dass sie keine Pipeline besaßen und durch den sehr komplexen Befehlssatz weniger Leistung pro MHz boten. Die Komplexität erhöhte die Chipfläche (Die), so dass weniger Dies auf einen Wafer (große runde Trägerplatte auf die Schaltkreise aufgebracht werden) und so die Herstellung verteuerten. CISC-Prozessoren werden immer komplexer, sofern man nicht die Abwärtskompatibilität beschneidet und bei x86 Dinge wie das A20-Gateway oder den Real-Mode über Bord wirft.

Vorteile der CISC-CPUs waren die komfortable Programmentwicklung in einer Hochsprache. Man musste sich nur selten in die Niederungen von dem maschinennahen Assembler begeben. Die Programme wurde dadurch deutlich für den User umfangreicher und leistungsfähiger, die Entwicklungskosten sanken.

Typische Vertreter der RISC-Fraktion war der 6502, auf dem auch der 4510 des Commodore 65 basiert. Typische CISC-Rechner hatten ein Herz aus einer 8080 oder Z80-CPU, deren Enkel auch noch in den meisten Rechnern mit Windows oder macOS stecken. Heute findet man RISC-CPUs von ARM so gut wie in jedem Mobiltelefon von Apple über Huawei und Samsung bis ZTE.

Eine moderne CPU ist zwar hochkomplex, gibt aber dem Programmierer keinen Zugriff auf nicht vorgesehene Befehle. Wie auch? Der Prozessor hat heute selber eine Firmware, die zwischen dem Code und dem Chip vermittelt – was zum Teil der heiligen Kuh, der Abwärtskompatibilität, geschuldet ist. Rein von der Hardware haben nämlich aktuelle CPUs nicht mehr viel mit der Urvätern gemein – trotzdem müssen sie deren Code noch ausführen können. Deswegen gibt es auch heute auch keine „echten“ RISC- oder echte CISC-Prozessoren mehr. Abwärtskompatibilität wird durch die CPU-Firmware hergestellt, die die alten Funktionen emuliert.

Wir sprechen beim Commodore 65 von einer 4510 CPU. Diese ist im Kern eine 6502 CPU – die niedrigere Zahl an der ersten Stelle der Prozessorbezeichnung weist nicht auf eine geringere Leistung hin. Die Serienfolge bei den 6502-CPUs war (sehr grob gesagt): 6xxx (PET, CBM, VC20, C64), 7xxx (264er-Serie), 8xxx (C128), (für die 264-Serie) und 4xxx (C65). Also nicht wundern, wenn die Bezeichnungen keinen Sinn ergeben, denn das tun sie wirklich nicht. 🙂 Der schnellste 6502-Ableger war die (echte) 16-Bit-CPU W65C816S (16 Bit ALU und Register, 24 Bit Adressbus und 24 MHz Taktfrequenz). Der 65C816 erschien bereits 1983! Gegen ihn wirkt die viel neuere 4510 CPU des C65 wie ein Fahrrad gegen ein Superbike.

Das sollte man alles im Hinterkopf behalten, wenn man die Möglichkeiten des C65 korrekt einschätzen will. Die meisten schauen immer nur auf die MHz-Zahlen der Rechner und ziehen dadurch falsche Schlüsse.

CPU:
Der 4510 („Victor“) ist ein aufgebrezelter 6510, wie er auch im C64 steckt. Damit konnte man die o.a. illegalen Opcodes verwenden, was der Kompatibilität sehr zu Gute kommen sollte. Vom C64 wurden zudem die beiden – nun integrierten – Ein-/Ausgabe-Baustein 6526 („CIA“) übernommen. Der eigentlich Prozessorkern mit 3,54 MHz stammt aber vom 65CE02 und brachte auch die „geheimnisvollen“ 16-Bit-Befehle des C65 mit.

Da muss man wirklich kein Bohei drum machen, denn 8-Bitter hatten schon immer 16-Bit-Funktionen, zum Beispiel für die Subtraktion und Addition – so auch 8080 und Z80. Die 16-Bit in einer 65xx CSG CPU sind also ein richtig alter Hut. Am Rande: Der 6509 hatte einen Adressbus von 20 Bit – niemand käme auf die Idee ihn deswegen eine 20-Bit-CPU zu nennen. Einen echten 16-Bitter macht eine Wortbreite von 16-Bit und auch möglichst ein mindestens 16-Bit breiter Adressbus aus. Beides Attribute die dem 4510 fehlen – und ihn damit zu einem lupenreinen 8-Bitter machen. Jedenfalls so lupenrein wie die meisten 8-Bit Prozessoren.


CPU 4510, aka „Victor“

Warum hat Commodore nicht einfach den vorhanden echten 6502-16-Bitter verwendet? Der 65C816 wurde von der Firma Western Design Center entwickelt. WDC gehörte Bill Mensch, einem ehemaligen Mitarbeiter von MOS – man hätte sich sicherlich einigen können. Dieser Prozessor hätte aber schlicht die Kompatibilität des C65 eingeschränkt – man hatte aus den Problemen mit dem C128 durchaus etwas gelernt und mit dem 4510 die alten, illegalen Opcodes des 6510-Designs um einen neuen, kostengünstigen Kern herum drapiert.

Aber genug gemeckert. Wie ich in den anderen Artikeln schrieb, sollte der C65 die immer noch vorhandene C64-Fanbasis beglücken. Er war als schnellerer und sehr viel leistungsfähigerer C64 gedacht. Auf die Verwendung als Einsteiger-Homecomputer wies schon der fehlende Ziffernblock auf der Tastatur hin. Deswegen auch die interne Bezeichnung als C64DX. Die Käufer hätten ihre gesamte Peripherie und Software behalten können. Bei einem Wechsel zum Amiga hätte man das alles verkaufen oder entsorgen müssen. Wenn man sowieso wechselt, warum dann nicht zu einem Atari ST oder einem PC-Klon? Der C65 hätte eine Kundenbindung bewirkt.

Die reine Rechenleistung des 4510-Prozessors war bereits durch die Taktfrequenz etwa 3,5 mal so hoch wie die den C64, denn die 6502-Familie skaliert recht gut. Durch seine zweistufige Pipeline hätte er auch jeden IBM 8086 (immerhin ein echter 16-Bitter) in seine Schranken verwiesen. Erst mit dem 80286 konnte Intel eine Pipelinearchitektur realisieren, die dann immerhin dreistufig war. Ja, 1992 waren bereits die 80386 marktdominierend, aber selbst für einen billigen, einfach ausgestatteten Klon waren mindestens 3.000 DM fällig. Der C65 sollte aber nur 600 Mark kosten. Wir entsinnen uns: hardwarenahe Programmierung ermöglicht sehr viel schnellere Applikationen! Ich bin mir sicher, dass der C65 bei Spielen auch mit dem schnellsten 286er oder gar 386er hätte mithalten können.Wer die damaligen DOS-Spiele kennt, weiß genau, was ich meine: vor Wolfenstein waren die nicht einen Deut besser als das, was es 10 Jahre zuvor bereits auf den Heimcomputern gegeben hatte.

Das liegt aber nicht alleine an der CPU-Leistung, sondern vor allem am Grafikchip.

Grafikchip:
CSG (Commodore Semiconductor Group, ehemals bekannt als MOS) entwicklete für den C65 einen (Zitat) „high performace, low cost“-Grafikchip, den CSG 4567 („VIC III“), der immerhin eine Auflösung von bis zu 1280×400 Punkten bei vier Farben, aus einer Palette von 4096 Farben, ermöglichte. Eine PC-Grafikkarte, die so eine Leistung bot, kostete zu dieser Zeit schon fast soviel, wie der ganze C65 (ca. 600,- DM).


Grafikchip 4567, VIC-III, aka „Bill“

Anders als im PC, war dieser Chip, auch „Bill“ genannt, unabhängig vom Hauptprozessor („Victor“) zu programmieren. Zudem konnte er ohne Unterstützung auf den Hauptspeicher zugreifen. Das Potential, welches dieser Chip – abseits der Spezifikationen auf dem Papier – bot ist schwer einzuschätzen, aber die Programmierer hätten sicher Möglichkeiten entdeckt, die die Chipentwickler nicht für möglich gehalten hätten. Das ist der Vorteil an standardisierter Hardware, die dem PC mit seiner offenen Architektur immer versagt geblieben ist.

Ausgegeben werden konnte die Grafik über den HF-Ausgang auf einem normalen Fernseher, über FBAS auf C64-kompatible Monitore und über einen analogen RGB-Ausgang auf Amiga-kompatible Bildschirme. 80 Zeichen pro Zeile waren im C65-Modus Standard und waren auch im Heimbereich wichtig für die Textverarbeitung und Tabellenkalkulation.

In Sachen Grafik stand also der C65 einem PC nicht nach.

Sound:
Da gibt es gleich links und rechts was um die Ohren – und zwar von einem (zwei!) alten Bekannten! Commodore lötete zwei SID-II (SID = Sound Interface Device) auf die 65er-Platine. Leider sind es die verschlimmbessserten Chips in der 8085er-Version (aus dem C64 C) eingebaut. Diese können Soundsamples (kurze, digitale Tonaufzeichnungen), die mithilfe eines Serienfehlers des Lautstärkeregisters im 6581 noch gut funktionierten nur sehr leise abspielen. Eigentlich war der 8085 der bessere 6581, denn auch die analogen Komponenten des 6581 wurden hier digital ausgeführt und boten damit den klareren Klang – jeder einzelne 6581 klang im analogen Bereich der Filter nämlich etwas anders als seine Geschwister. Aber wie auch bei den illegalen Opcodes, die die Leistung der CPU erweiterten, sorgten diese Designfehler im 6581 für Möglichkeiten, die nicht im Datenblatt des Herstellers zu finden waren.


Zwei Soundchips, 8085, aka „SID-II“

Trotzdem war auch der 8085 mit sechs Stimmen und Stereosound jeder erhältlichen ISA-Bus-Soundkarte für den PC weit überlegen. Der SID-Sound ist vollkommen zurecht legendär.

RAM:
Theoretisch wären durch eine RAM-Erweiterung bis zu acht Megabyte (8 MB!) Arbeitsspeicher nachrüstbar gewesen. Das war mehr als nur auf Augenhöhe mit den seinerzeit verfügbaren PCs.


Slot der RAM-Erweiterung

Custom-Chips:
Ein DMA-Controller (DMAgic, 390957) mit schnellem „Blitter“ (verschiebt RAM bitweise), der die RAM-Verwaltung der CPU abnimmt. Ein Floppy-Disk-Controller („FDC“, 4571/81) mit angeschlossenem 1565-Diskettenlauferk, welches satte 1 MB Speicherkapazität bot und zur 1581 kompatibel war.


Speichercontroller „DMAgic“


Floppydisk-Controller


Floppy-Laufwerk, intern

Software:
Das leider nie fertig gestellte BASIC des C65-Mode wäre wohl in etwa so leistungsfähig wie das des C128 geworden. In den Prototypen findet sich zudem noch ein Assembler-Monitor.
Man konnte zwischen dem C64- und den C65-Mode hin und her wechseln. Zur Kompatibilität habe ich bereits in den vorherigen Artikeln etwas gesagt.

Fazit:
Alles in allem würde ich eine Systemgesamtgeschwindigkeit erwarten, die die des C64 um etwa den Faktor sechs bis sieben (bei RAM-Operationen deutlich mehr) übersteigt. Er wäre von der Leistung keine Konkurrenz zum Amiga oder zum PC gewesen, hätte aber die Kunden der C64-Fanbasis sicherlich noch einige Jahre an die Firma Commodore binden können. Er wäre vergleichbar mit einer Aufrüstung eines heutigen PCs mit neuer CPU, Grafikkarte, mehr RAM und einer schnelleren SSD gewesen – und das zu einem wirklich günstigen Preis. Damals bedeutete der Neukauf eines Heimcomputers meist, dass man die Software und die Peripherie nicht mehr verwenden konnten. Für die Kunden wäre der C65 also eine tolle Aufrüstmöglichkeit geworden.

 

Schreibe einen Kommentar

Ich bin mit der Datenschutzerklärung und der Speicherung meiner eingegebenen Daten einverstanden.