Entstehung des Commodore 64: Die Geschichte der Ingenieure
Der Mut und das Design, die in den meistverkauften Computer aller Zeiten eingeflossen sind
Im Januar 1981 Eine Handvoll Halbleiteringenieure bei MOS Technology in West Chester, Pennsylvania, einer Tochtergesellschaft von Commodore International Ltd., begannen mit der Entwicklung eines Grafikchips und eines Soundchips, um sie an jeden zu verkaufen, der „das beste Videospiel der Welt“ machen wollte. Im Januar 1982 wurde auf der Winter Consumer Electronics Show in Las Vegas, Nevada, ein Heimcomputer mit diesen Chips vorgestellt. Durch den Einsatz hauseigener Anlagen zur Herstellung integrierter Schaltkreise für die Prototypenerstellung konnten die Ingenieure die Entwicklungszeit für jeden Chip verkürzen als neun Monate, und sie hatten in weniger als fünf Wochen fünf Prototyp-Computer für die Show entworfen und gebaut. Was den Rest der Heimcomputerbranche jedoch am meisten überraschte, war der Einführungspreis des Commodore 64: 595 US-Dollar für ein Gerät mit Tastatur, Zentralprozessor, Grafik- und Soundchips und 64 statt 16 Kilobyte Speicher oder 32, die damals als die Norm galten.
Als das Chip-Entwicklungsprojekt begann, entsprach der Commodore 64 überhaupt nicht den Vorstellungen der Designer. MOS Technology war ein Halbleiterunternehmen. Die LSI-Gruppe, die damals von Albert Charpentier geleitet wurde, war für einige der Chips verantwortlich, die in Commodores VIC-20-Heimcomputer eingebaut wurden, aber dieses Projekt befand sich bereits in der Produktion. „Uns fehlten die Ideen für die Chips, die der Rest der Welt von uns erwarten würde“, sagte Charpentier. „Also beschlossen wir, hochmoderne Video- und Soundchips für das nächste große Videospiel der Welt zu produzieren.“ "
Dieser Artikel wurde zuerst als „Design-Fallgeschichte: der Commodore 64“ veröffentlicht. Es erschien in der Märzausgabe 1985 von IEEE Spectrum. Eine PDF-Version ist auf IEEE Xplore verfügbar. Die Diagramme und Fotos von Chips, Platinen und Bildschirmen erschienen in der Originaldruckversion.
Charles Winterble, damals Direktor für weltweite Technik bei Commodore, gab grünes Licht für die Chip-Arbeit, und Charpentiers Gruppe arbeitete ziemlich unabhängig, bis beide Chips Mitte November 1981 fertiggestellt waren.
Bei einem Treffen mit Charpentier und Winterble Ende des Monats beschloss Jack Tramiel, der damalige Präsident von Commodore, nicht mit dem Videospiel fortzufahren. Stattdessen beschloss er, die Chips in einen 64-Kilobyte-Heimcomputer zu stecken, der in der zweiten Januarwoche 1982 auf der Consumer Electronics Show in Las Vegas vorgestellt werden sollte. Der Computer musste noch entworfen werden, aber das ließ sich leicht beheben.
Innerhalb von zwei Tagen haben die Ingenieure die grundlegende Architektur der Maschine zu Papier gebracht. Kurz vor dem neuen Jahr stellten sie fünf funktionsfähige Prototypen fertig. In der Zwischenzeit wurde genügend Betriebssystemsoftware vom VIC-20 kopiert und neu geschrieben, um passable Demonstrationen der Leistungsfähigkeit der neuen Maschine zu liefern. Nach seinem begeisterten Empfang auf der Consumer Electronics Show ging der Commodore 64 zügig in Produktion; Die Massenlieferungen begannen im August 1982 und wurden unvermindert fortgesetzt.
Trotz Beschwerden über die Qualitätskontrolle und das langsamste Festplattenlaufwerk der Branche war der Commodore 64 ein beispielloser Erfolg und verdrängte eine Reihe seiner Konkurrenten vom Markt. Ein Grund für den Erfolg ist zum Teil der Preis, der ständig sinkt – von 595 US-Dollar bei der Einführung auf derzeit 149 US-Dollar, wofür der Verbraucher Grafik und Sound erhält, die gleich oder besser sind als bei fünfmal so teuren Geräten.
In den späten 1970er Jahren war MOS Technology ein erfolgreiches Halbleiterunternehmen; Seine Ingenieure hatten den beliebten Mikroprozessor 6502 entworfen und das Unternehmen stellte mehrere andere sich gut verkaufende Produkte her. Commodore, damals ein Westküstenunternehmen, übernahm MOS im Jahr 1976 – was dazu führte, dass viele der MOS-Ingenieure kündigten, als ihre Aktien für 10 Cent pro Dollar gekauft wurden –, aber MOS durfte einigermaßen autonom operieren.
In den Jahren 1979 und 1980, erinnert sich Charpentier, entwickelte MOS Technology den Mikroprozessor 6510 – eine kleinere Überarbeitung des 6502 mit einem zusätzlichen Eingabe-Ausgabe-Anschluss, dem 6526-Peripheriecontroller, vielen Nur-Lese-Speicherchips (ROM) und einem 4-Zoll-Mikroprozessor. Kilobit-RAM-Chip (Random Access Memory). Zu dieser Zeit lieferte MOS Ausrüstung an Atari Inc., General Electric Co., Hewlett-Packard Co. und eine Reihe anderer Kunden sowie an Commodore.
Bitmap
Ein Anzeigesystem, bei dem jeder Punkt auf dem Bildschirm durch den Wert eines bestimmten Bits im Computerspeicher gesteuert wird. Mehrere Bits pro Punkt ermöglichen mehrere Farben und Schattierungen.
Zeichentabelle
Ein Anzeigesystem, bei dem eine Gruppe von Punkten auf dem Bildschirm durch ein einzelnes Wort im Computerspeicher definiert wird, das auf eine Miniatur-Bitmap verweist, die die Werte für jeden Punkt enthält. Da viele Muster auf einem typischen Bildschirm wiederverwendet werden, benötigen Zeichenkarten weniger Speicher als Bitkarten.
Farbuhr
Die Frequenz des Trägersignals, das im NTSC-Standard (National Television Systems Committee) zur Übertragung von Farbinformationen verwendet wird; 3,58 Megahertz.
DES
Festplatten-Betriebssystem; Die Reihe von Funktionen wie Öffnen, Schließen, Umbenennen und Löschen von Dateien, die ein Computer benötigt, um ein Festplattenlaufwerk effizient zu nutzen.
Feld
Beim NTSC-Standard handelt es sich um einen Satz von 262,5 Fernsehabtastzeilen, die mit einer Rate von 60 pro Sekunde übertragen werden. Zwei verschachtelte Halbbilder bilden ein Einzelbild mit 525 Zeilen.
Unterbrechen
Ein Signal, das einen Computer dazu veranlasst, alles zu stoppen, was er gerade tut, und eine spezielle Routine aufzurufen. Interrupts ermöglichen es einem Computer, Daten zu verarbeiten und gleichzeitig auf unvorhersehbare Eingaben von Peripheriegeräten zu reagieren.
Sprite
Ein bewegliches Grafikobjekt, das in Heimcomputern und Videospielautomaten zur Animation verwendet wird. Ein Sprite kann einfach durch Ändern der Register verschoben werden, die seine Position steuern, während ein im Bitmap-Speicher gezeichnetes Objekt nur durch Kopieren in einen neuen Satz von Speicherplätzen verschoben werden kann.
Als die Entscheidung getroffen wurde, die neuesten, überlegenen Grafik- und Soundchips zu entwickeln, lag der erste Schritt auf der Hand: herauszufinden, was die aktuellen, hochwertigen Chips leisten können. Bei der Zusammenstellung seines Designteams rekrutierte Charpentier Robert Yannes, einen jungen Ingenieur, der 1979 zu MOS gekommen war und den VIC-20 zu Hause aus einer Ersatzplatine für Prototypen entworfen hatte. Das Team verbrachte etwa zwei Wochen damit, branchenweit vergleichbare Chips zu recherchieren.
„Wir haben uns intensiv mit Mattel Intellivision beschäftigt“, erinnert sich Winterble. „Wir haben auch den Texas Instruments 99/4A und den Atari 800 untersucht. Wir haben versucht, ein Gefühl dafür zu bekommen, was diese Unternehmen in Zukunft tun könnten, indem wir aus ihrer aktuellen Technologie extrapoliert haben. Dadurch wurde klar, welche Grafikfähigkeiten unsere Maschine haben musste.“ Sei."
Die MOS-Designer liehen sich frei Ideen aus, die ihnen gefielen – Sprites von der TI-Maschine, Kollisionserkennungstechniken und Zeichen-Mapping-Grafiken von Intellivision und eine Bitmap von ihrem eigenen VIC-20. Anschließend packten sie so viele dieser Ideen wie möglich in einen vordefinierten Siliziumbereich.
„Al [Charpentier] wurde die Freiheit gegeben, innerhalb einer bestimmten Würfelgröße alles einzubringen, was er konnte, und dabei innerhalb der von uns geplanten Größe rückwärts zu arbeiten. Als ihm die Register ausgingen, hörte er auf“, sagte Winterble. „Wir haben im Voraus die Siliziumgröße definiert, mit der wir eine Ausbeute erzielen würden, mit der wir leben wollten. Damals lag die Chipgröße, die in der 5-Mikrometer-Technologie angemessen war, bei weniger als 200 mil. Dann haben wir die Wunschliste von dem, was unbedingt benötigt wurde, priorisiert Da drin sein sollte, was da drin sein sollte, bis hin zu dem, was wir gerne hätten, sodass die Entscheidungen, die an verschiedenen Punkten nötig waren, ziemlich automatisch abliefen.
Neun Monate lang arbeitete Charpentier mit zwei Zeichnern und einem Computer-Aided-Design-Mitarbeiter am Grafikchip, während Yannes mit zwei anderen Zeichnern und einem CAD-Mitarbeiter am Soundchip arbeitete. Ihnen fehlten völlig die hochentwickelten Design-Tools der heutigen Engineering-Workstations, aber sie verfügten über ein leicht verfügbares Design-Tool, das fast nirgendwo sonst in der Heimcomputer-Industrie zu finden war: eine Chip-Fertigungslinie auf dem Gelände. Auf diese Weise, erklärte Winterble, könne ein tief im Chip vergrabener Schaltkreis herausgehoben und als Testchip betrieben werden, was ein gründliches Debuggen ermögliche, ohne sich um andere Teile des Schaltkreises kümmern zu müssen. David A. Ziembicki, damals Produktionsingenieur bei Commodore, erinnert sich, dass die typische Fertigungszeit einige Wochen betrug und dass die firmeneigene Fertigungsanlage im Notfall die Entwürfe in nur vier Tagen umsetzen konnte.
Die Kosten für die Entwicklung des Commodore 64: Niemand weiß es.
Die Kosten für die Entwicklung des Commodore 64: Niemand weiß es. „Ich hatte keine formelle Budgetverantwortung“, sagte Winterble, „außer dass Jack [Tramiel] mich beobachtete. Jack sagte, Budgets seien eine Lizenz zum Stehlen.“ Da die Fertigungsanlage von MOS Technology nicht voll ausgelastet war, wären die für C-64-Testchips und mehrere Siliziumdurchgänge verwendeten Geräte andernfalls stillgelegt worden. „Wir haben Leute eingesetzt, die sowieso da waren“, sagte Ziembicki. „Man verschwendet ein bisschen Silizium, aber Silizium ist ziemlich billig. Es ist nur Sand.“
Obwohl kundenspezifische Chips normalerweise als teuer gelten, war dies bei den C-64-Chips nicht der Fall. Die Entwicklungskosten wurden nicht nur von den Gemeinkosten des Unternehmens übernommen, sondern es war auch kein Aufschlag zu zahlen, da dieser angefallen wäre, wenn die Chips von einem anderen Unternehmen hergestellt worden wären. Und die Erträge waren hoch, weil die Chips für einen ausgereiften Halbleiterfertigungsprozess konzipiert waren.
Der Soundchip wurde mit 7-Mikrometer-Technologie entwickelt und kann stellenweise auf 6 Mikrometer verkleinert werden. (Im Gegensatz dazu wurde der kundenspezifische Chip für Ataris Videocomputersystem, der vier Jahre zuvor hergestellt wurde, mit 6-Mikrometer-Technologie gebaut.) Der Videochip von Commodore wurde mit 5-Mikrometer-Funktionen entwickelt.
Da die Designzeit und nicht das Silizium knapp war, wurden die Chips eher einfach als kompakt angeordnet. „Wir haben es sehr modular gemacht“, sagte Yannes. Er bemerkte zum Beispiel: „Die Standardmethode zum Bau von Oszillatoren besteht darin, einen zu bauen und ihn dann zu multiplexen, bis man so viele hat, wie man braucht. Wir haben einfach ein Oszillatormodul gebaut und es wiederholt, weil das viel schneller ging, als alles auszuarbeiten.“ Timing für den Multiplexer.
(A)Speicherung von Zeichenzeigern(B)Sprite-Adresszähler(C)Zeichenadresszähler(D)Taktgenerator(E)Sprite-Vertikalkomparator(F)Vertikale Zeitsteuerung(G)Sprite-Horizontalkomparator(H)Horizontale Zeitsteuerung(ICH)Sprite- und Zeichenschieberegister(J)Encoder mit Anzeigepriorität(K)Farbregister(L)Kollisionserkennung zwischen Sprite-Zeichen(M)Videoausgänge
Der Großteil der Fläche des Commodore 64-Videochips, des VIC II, ist den acht Sprites (B, EH, L) gewidmet. Die Takterzeugungsschaltung (D) dient dem gesamten System. Der einzige Schaltkreis, der ausschließlich der Zeichenerzeugung gewidmet ist, ist das Speicherarray, das jede anzuzeigende Zeichenzeile (A) speichert, und der Adresszähler, der die entsprechenden ROM-Daten für jede Rasterzeile der Zeichenanzeige abruft. Drei Module (I,J,L) sind dafür verantwortlich, Sprite- und Charakterdaten in der richtigen Reihenfolge an den Bildschirm zu senden und etwaige Kollisionen zwischen Sprite- und Charakterdaten zu melden. Der zentrale Teil des Chips besteht aus den Schaltkreisen zur Anzeige der Sprites an ihren korrekten horizontalen und vertikalen Positionen und zum Abrufen ihrer Daten aus dem Speicher. Das Timing für die verschiedenen Chipfunktionen, wie zum Beispiel das Abrufen von Daten für die Sprites, erfolgt durch die Kombination eines Zählers und eines ROM. Der Zähler durchläuft die Adressen des ROM, und der Inhalt jeder ROM-Adresse steuert die entsprechenden Steuerleitungen. Das MOS Technology-Logo sowie die Initialen der Designer und Zeichner sind am linken Rand des Chips sichtbar.
„Was bemerkenswert war“, fügte Winterble hinzu, „war, dass es neun Monate später, als wir mit dem ersten Durchgang herauskamen, bis auf einen schlechten Sprite funktionierte.“
Im November 1981 waren die Chips fertig. Die ursprüngliche Absicht war ein Spielautomat, aber zu diesem Zeitpunkt begann der PC-Markt vielversprechend auszusehen. Bei einem Treffen von Charpentier, Winterble und Tramiel wurde die Entscheidung getroffen, sich für einen Personal Computer zu entscheiden. Die nächste Wahl, die laut Charpentier getroffen werden musste, war zwischen einer 16-Kilobyte- und einer 64-Kilobyte-Maschine, da die maßgeschneiderten Chips für beide Optionen ausgelegt waren.
„Jack [Tramiel] hat gewettet, dass 64K Rams zu dem Zeitpunkt, an dem wir bereit sind, ein Produkt zu produzieren, für uns billig genug sein würden, um sie zu verwenden“, sagte Charpentier.
Als mit der Entwicklung des Commodore 64 begonnen wurde, waren Einfachheit und niedrige Kosten die obersten Ziele. Die anfänglichen Produktionskosten des Commodore 64 lagen bei 130 US-Dollar. Es stellte sich heraus, dass es 135 $ waren. Der Computer würde das gleiche Gehäuse wie der VIC-20 und die gleich große Leiterplatte verwenden, um die Entwicklung zu beschleunigen. „Das war noch nicht einmal eine Entscheidung“, sagte Charpentier. „Es war einfach gesunder Menschenverstand. Wenn Sie ein Produkt haben, das ein Gewinner ist, warum sollten Sie es dann ändern?“ Um vom VIC-20 zum Commodore 64 zu wechseln, musste die Produktionsgruppe lediglich den Patronenschlitz verkleinern, die Farbe des Gehäuses ändern und ein neues Etikett entwerfen.
Darüber hinaus hatte das kleine Designteam bei Commodore von Anfang an die Kosten im Auge, anstatt bei der Entwicklung zuerst auf Leistung und dann auf den Preis zu achten, wie es viele Ingenieure tun. Yannes zum Beispiel hatte Sparsamkeit zu seinem Credo gemacht, als er als mittelloser Gymnasiast nach Teilen suchte, um einen Klangsynthesizer zu bauen. „Jedes Mal, wenn ich etwas entwerfe, möchte ich so wenig Komponenten wie möglich verwenden. Das ist eine persönliche Herausforderung. Wenn in einem Gatterpaket ein [Logik-]Gatter übrig ist, werde ich daran arbeiten, das gesamte Paket loszuwerden, denn in der Arbeit.“ Mit einer bestimmten Anzahl an Chips sollte ich in der Lage sein, alles zu verbrauchen, was darin steckt. Der Commodore 64 war mein Versuch, das absolut minimale System zu bauen, das aus den zusammengefügten Video- und Soundchips gebaut werden konnte.“
In der Unterhaltungselektronikbranche werden neue Produkte traditionell zweimal im Jahr Distributoren, Händlern, der Presse und der Konkurrenz vorgestellt – am ersten Wochenende im Januar und am ersten Wochenende im Juni, auf den Winter und Summer Consumer Electronics Shows (CES). ).
„Als Sie für Commodore gearbeitet haben“, sagte Yannes, „mussten Sie immer etwas für die Winter-CES haben.“ Der C-64 hatte auf der Wintermesse 1982 keine große Konkurrenz. Atari säte immer noch seinen 400/800-Computer. Mattel stellte den Aquarius-Computer vor und Spectravideo stellte seinen Computer/Spielautomaten vor, beide mit begrenztem Speicher und begrenzten Fähigkeiten.
Ziembicki erinnerte sich: „Alles, was wir an unserem Stand sahen, waren Atari-Leute, die mit offenem Mund sagten: ‚Wie kann man das für 595 Dollar machen?‘“
„Wir waren ein Hit“, fügte Winterble hinzu.
Nach der Show musste Commodore, der dafür bekannt war, manchmal Produkte zu zeigen, die nie wieder auftauchten, die 64 schnell in Produktion bringen. Es wurden nur wenige Konstruktionsänderungen vorgenommen, um die Maschine für die Produktion vorzubereiten. „Was im 64er funktionell ist, ist das, was ich wollte“, sagte Yannes. „Was im Soundchip ist, war das, was ich wollte, und was im Videochip ist, war das, was Al [Charpentier] wollte.“
Tatsächlich, sagte Ziembicki, „nachdem es endlich in Produktion ging, schauten wir zurück und fragten uns, warum wir uns nach Januar die Mühe machten, es zu ändern? Es hätte keine Einheit weniger verkauft und wir hätten eine Menge Geld bei der Entwicklung gespart.“ Kosten."
Einige der Änderungen waren ziemlich bedeutsam, aber sie haben möglicherweise ebenso viele Probleme verursacht wie gelöst. Die größte Verbesserung bestand darin, einen „Schluckauf“ im Videochip zu beheben, sagte Winterble.
Als Charpentier den Videochip zum ersten Mal entwarf, erklärte er, sei sein Ziel eine optimale Leistung sowohl in Schwarzweiß als auch in Farbe gewesen. Frühere Videochips, wie sie beispielsweise im Atari und im Apple verwendet wurden, hatten eine Schwarz-Weiß-Frequenz von 7,16 MHz – das Doppelte der Farbtaktfrequenz des Fernsehgeräts von 3,58 MHz –, aber damit konnten nicht genügend Zeichen in eine Zeile gepresst werden, und Außerdem kam es zu Übersprechen zwischen den beiden Signalen, was dazu führte, dass sich ein Objekt je nach Farbe auf dem Bildschirm leicht nach links oder rechts verschob. Nach der CES im Januar 1982, als er feststellte, dass 40 Zeichen nicht ganz auf einen Fernsehbildschirm passen würden, beschleunigte Charpentier die Schwarz-Weiß-Taktrate und machte die beiden Uhren völlig asynchron. Aber da die Farb- und Schwarz-Weiß-Informationen ständig ihre Phase relativ zueinander änderten, „waren die Farbübergänge fantastisch, aber insgesamt gab es einen Schwimmeffekt“, erinnert er sich. Die Lösung bestand darin, einen Phasenregelkreis in das System einzubauen, damit die Farb- und Schwarzweißinformationen in einem konstanten Verhältnis zueinander stehen. Charpentier räumte ein, dass dies „eine Pflasterlösung“ sei.
Und so sieht es aus, so Craig Nelson, Leiter der Produktentwicklung bei Epyx Computer Software aus Sunnyvale, Kalifornien. „Es ist eine wirklich elegante Schaltung“, sagte er, „abgesehen von der Phasenregelschleife, die einfach festsitzt.“ mittendrin." (Commodore gibt nun an, den Chip neu entwickelt zu haben, um das Problem zu beseitigen.)
Weitere Informationen zu den Freuden und Frustrationen von Softwareentwicklern, die mit dem Commodore 64 arbeiten, finden Sie unter:
Durch das „Pflaster“ verschieben sich die Farbinformationen und die Schwarzweißinformationen in aufeinanderfolgenden Videohalbbildern um 180 Grad zueinander, anstatt die Phase unvorhersehbar zu ändern. Dies entspricht eher dem Standard des National Television Systems Committee (NTSC), der verlangt, dass Schwarzweißinformationen eine Taktrate haben, die eine ungerade Harmonische der Farbtaktrate ist, sodass die beiden ihr Verhältnis automatisch gegenseitig umkehren Feld – ein Feld in Phase, das nächste Feld außer Phase. (Im NTSC-Standard werden Farben durch die Phasendifferenz zwischen dem Farbsignal und einem Farbreferenzsignal bestimmt, das am Anfang jeder Zeile übertragen wird.)
Zum Zeitpunkt der Entwicklung des Standards konnten gängige Schaltkreise die Schwarz-Weiß-Informationen nicht vollständig von der Farbe trennen: Änderungen in der Farbe führten zu Änderungen in der Helligkeit und umgekehrt. Um diese Änderungen über die Zeit zu mitteln, spezifizierte das NTSC, dass die relative Phasenumkehr der beiden Signale in aufeinanderfolgenden Halbbildern auftreten könnte. Das Ergebnis sind angenehmere Farbübergänge, aber die Phasenverschiebung lässt stationäre Figuren scheinbar zittern. Der Jitter ist besonders deutlich bei dünnen vertikalen Linien, wie sie in alphanumerischen Zeichen vorkommen. Doch als der Commodore 64 konzipiert wurde, sollte er in erster Linie ein Spielgerät und kein Computer sein.
Der Betrieb eines Chips mit 5-Mikrometer-Technologie und einer Taktrate von 8 MHz verursachte einen hohen Stromverbrauch – fast 1,5 Watt. Der Chip lief nicht nur schnell, sondern um zu verhindern, dass die Farben auswaschen, wie es beim VIC-20 der Fall war, „gingen wir auf 12 Volt um, um die Farbsignale extrem zu unterdrücken“, erinnert sich Winterble. „Wir wussten, dass wir ein Hitzeproblem haben würden.“
An diesem Punkt nahm Winterble eine weitere Designkorrektur vor – indem er eine kleine Metalllasche an die Innenseite des Deckels des Abschirmgehäuses um den Videochip schweißte. Beim Zusammenbau des Computers drückte die Lasche gegen die Oberseite des Chipgehäuses, bildete einen wärmeleitenden Pfad und verwandelte die Abschirmung in einen Kühlkörper.
Einige Änderungen, die die Maschine hätten verbessern können, wurden in der Eile zur Produktion nicht vorgenommen. Beispielsweise, so Yannes, verlaufen die Leitungen für die Tonausgabe auf der Leiterplatte parallel zu den Leitungen für das Videosignal. Infolgedessen nimmt die Tonausgabe ein störendes 15.750-Hz-Wimmern auf. Die Neuverlegung der Schaltung hätte Zeit gekostet, „und wir hatten eine funktionierende Platine“, erklärte er. „Wenn es zu diesem Zeitpunkt etwas gab, das funktionierte, änderte man es nicht.“ Eine Überarbeitung der Leiterplatte habe diese Leitungen seitdem umgeleitet, sagte Commodore.
Tatsächlich haben die Konstrukteure jedoch einige Dinge geändert, die funktionierten – darunter eine Überarbeitung, die die Leistung der Maschine beeinträchtigte.
Tatsächlich haben die Konstrukteure jedoch einige Dinge geändert, die funktionierten – darunter eine Überarbeitung, die die Leistung der Maschine beeinträchtigte. Das ursprüngliche Design sah einen hochwertigen Hochfrequenzmodulator zur Übertragung des Signals an ein Fernsehgerät vor, wurde jedoch durch einen günstigeren Modulator ersetzt. „Für ein gutes Exemplar kostete es 6,25 bis 6,50 US-Dollar, und am Ende gaben wir etwa 3 US-Dollar aus“, sagte Charpentier.
Winterble sieht den 3-Dollar-Modulator anders: „Der 50-Cent-Modulator, den wir beim VIC-20 verwendeten, war nicht gut genug“, sagte er, „also haben wir uns für einen teureren entschieden.“
Das elektronische Design war nicht der einzige schwierige Bereich, da der Commodore 64 von der Prototypenentwicklung in die Produktion überging – auch die Logistik stellte ein komplexes Problem dar. Die C-64 wurde in Norristown, Pennsylvania, bei MOS entworfen. Die VIC-20-Montagelinie, die mit der Produktion von C-64 beginnen sollte, befand sich in Santa Clara, Kalifornien. Als die C-64 in Produktion ging, eröffnete Commodore auch eine neue Montagelinie in West Chester, Pennsylvania. Es gab weitere VIC -20 Montagestätten in Japan, wo das Festplattenlaufwerk für den C-64 hergestellt werden sollte. Und die C-64-Leiterplatten wurden in Hongkong hergestellt.
„Es hat viel Spaß gemacht“, sagte Ziembicki. „Die Designleute wählten eine englische Schraube. Die Produktionsseite entschied sich für metrische Schrauben. Aber sie gingen mit dem, was sie hatten. Die Commodore-Produktion war sehr gut darin, die Dinge passend zu machen, ob sie nun beabsichtigt waren oder nicht. Ihre Charta lautete „Ship 'em“. "
„Es braucht einen sehr harten Menschen“, erklärte Charpentier, „um zu sagen: ‚Ich versendere diese nicht, weil sie nicht so gut sind, wie sie sein könnten‘ – vor allem, wenn die Leute sie unbedingt kaufen wollen.“
Der Produktionsstart des Commodore 64 im Frühjahr 1982 bedeutete kein Ende der Kontroverse. „Der Schlüssel liegt darin, seine Probleme beim Laufen lösen zu können“, sagte Ziembicki.
Eine der ersten Auseinandersetzungen, erinnert sich Charpentier, betraf die Gestaltung der Leiterplatte. Das Commodore-Montagewerk in den Vereinigten Staaten nutzte automatisierte Geräte zur Komponenteneinfügung, das japanische Werk jedoch nicht, und die beiden Montagetechniken erforderten unterschiedliche Komponentenabstände. Am Ende wurde die Platine für den C-64 für die automatische Bestückung ausgelegt und die Produktion in ein neues Werk in Hongkong verlagert, das über die automatisierten Werkzeuge verfügte.
Auch einige Komponenten – zum Beispiel Schalter – machten Probleme. „Sie wählen einen Schalter aus, der als Verbraucherschalter aufgeführt ist“, sagte Ziembicki. „Sie entwerfen es. Sie rufen den Hersteller an und erhalten einen Kostenvoranschlag, der vernünftig klingt. Dann möchte Kalifornien [die Produktionsabteilung] 50.000 pro Woche, aber der Hersteller sagt: ‚Das können wir nicht schaffen. Es ist ein Verbraucherwechsel, aber wir.‘ „sind nicht auf Verbrauchermengen ausgerichtet.“ An diesem Punkt hängt man auf.“
Da Commodore sein Ingenieurpersonal gerade von Kalifornien nach Pennsylvania verlegt hatte, sei die Kommunikation zwischen den Konstrukteuren und den Produktionsstätten nicht sehr gut gewesen, erklärte Ziembicki. „Es kam zu einem Punkt, an dem man nicht mehr aufhören konnte zu arbeiten, selbst wenn man keine Antwort bekam – man fuhr einfach mit den Komponenten fort, von denen man glaubte, dass die Produktion sie bekommen könnte.“
Und externe Lieferanten waren nicht immer zuverlässig. „Man stellte ein Netzteil zur technischen Genehmigung zur Verfügung“, erinnert sich Ziembicki. „Es wurde genehmigt, und dann änderte der Lieferant das Design und erzählte es niemandem.“
Kleine Änderungen im internen Design des Commodore 64 während der Produktion von mehr als 5 Millionen Einheiten haben die Herstellungskosten auf schätzungsweise ein Drittel der ursprünglichen 135 US-Dollar gesenkt. Erhöhtes Volumen ist eine Kosteneinsparung. (Klicken Sie auf den Pfeil, um die überarbeitete Platine anzuzeigen.)
Charpentier sagte, dass seine Beziehungen zur Produktionsgruppe recht angenehm seien. Winterbles Umgang mit ihnen war nicht annähernd so herzlich, aber er fand das akzeptabel. „Ich persönlich musste bei vielen Sachen den Heavy spielen“, sagte er. „Dann ging Al hinein und tat etwas Gutes. Diese Technik löste eine Menge Spannungen – es war eine Möglichkeit, Dinge zu erledigen.“
Das bekannteste Problem war „Funkeln“, ein Fehler, der dazu führte, dass kleine Lichtpunkte auf dem Bildschirm erschienen. Das Problem wurde gelöst, bevor Charpentier das Unternehmen im September 1982 verließ, aber die Berichte über den Defekt hielten bis weit in die Weihnachtszeit an und Presseberichte nannten ihn als Beispiel für die schlechte Qualitätskontrolle von Commodore. Schlaue Verbraucher nutzten dies als Vorwand, um einwandfreie Commodore 64 zurückzugeben, während die 90-Tage-Garantie abgelaufen war. Da der Preis der Maschine in den zwei Monaten nach ihrer Einführung um 200 US-Dollar gesunken war, ermöglichte dieser Trick den Besitzern, eine Rückerstattung des Kaufpreises zu erhalten und eine weitere C-64 zum niedrigeren Betrag zu kaufen.
Sparkle wurde weithin auf Fehler im Videochip zurückgeführt, der das Herzstück des Systems darstellte. Tatsächlich wurde es jedoch durch einen ROM-Chip verursacht, von dem 3 Millionen in anderen Systemen ohne Probleme im Einsatz waren, einschließlich des erfolgreichen Arcade-Videospiels Asteroids. Die Commodore-Ingenieure selbst suchten zunächst nach dem Problem im Videochip. Es habe drei Wochen gedauert, bis sie den ROM-Chip als Ursache des Defekts entdeckt hätten, sagte Charpentier. „Das Problem war ein zufälliges Ereignis – es passierte nicht ständig. Wir dachten, der Videochip würde aus irgendeinem Grund die falschen Daten sehen. Wir hatten nicht einmal den Verdacht, dass es am ROM liegen könnte. Schließlich haben wir den Logikanalysator eingeschaltet.“ es und hat es aufgespürt. Der ROM, den Charpentier und seine Gruppe Jahre zuvor entwickelt hatten, verfügte über eine spezielle Vorladeschaltung, um ihn schneller laufen zu lassen, aber die Schaltung machte ihn empfindlich gegenüber Störsignalen. Die Videoschaltung und der Mikroprozessor 6510 steuerten abwechselnd den Systembus, und wenn die Steuerung von einem zum anderen überging, kam es manchmal zu Spannungsspitzen.
„Es ist einfach so passiert, dass wir den genauen Zeitpunkt getroffen haben“, sagte Charpentier. „Wenn die Spitze ein paar Nanosekunden kürzer oder länger gewesen wäre, wäre das kein Problem gewesen. Die Spitze war gerade breit genug, dass das ROM sie als gültige Adresse ansah. Es würde die nächste Adressanfrage ignorieren und den Videochip weitergeben.“ falschen Daten." Da das ROM den C-64-Zeichensatz enthielt, war die Bildschirmanzeige mit zufälligen Zeichenabschnitten übersät.
Laut Nelson von Epyx „hat dieses konfetti-interferenzartige Zeug auf dem Bildschirm, das leuchtend als Sparkle bezeichnet wird, eine äußerst unschöne Eigenschaft: Es verursacht Hardware-Kollisionen – die Sprites glauben, dass es wirklich existiert.“ Da das Funkeln durch ungeeignete Daten verursacht wurde, die dem Videochip zugeführt wurden, löste es die Schaltung aus, die prüfte, ob die beweglichen Anzeigeobjekte – Sprites – Hintergrundobjekte auf dem Bildschirm überlagerten. Daher würde Software, die auf Kollisionserkennung angewiesen war, um die Bewegung von Objekten auf dem Bildschirm zu steuern, außer Kontrolle geraten, wenn sie mit Funkeln konfrontiert wurde.
Der Fehler im ROM wurde behoben, obwohl Commodore beim Hochfahren seiner neuen Produktionslinie eine Zeit lang auf externe Lieferanten angewiesen war. Nur die ersten paar hunderttausend ausgelieferten Einheiten hatten den Defekt. Aber, bemerkte Nelson: „Für Programmierer ist es egal, dass das Problem behoben wurde. Unsere Software muss auf jeder Maschine da draußen funktionieren.“ Die beste Lösung für Programmierer, erklärte er, bestehe darin, den Inhalt des ROM in den RAM zu kopieren, was zuverlässig sei. Dies verschwendet jedoch 2 Kilobyte RAM.
Zusätzlich zu den Schwierigkeiten mit dem ROM „habe ich einen logischen Fehler gemacht“, erinnert sich Charpentier. Der Fehler, der manchmal behoben wurde, nachdem Charpentier Commodore verlassen hatte, führte dazu, dass die frühen C-64 auf jeder horizontalen Videozeile die falsche Anzahl von Taktzyklen erzeugten. „Es war um eins daneben“, sagte er. „Statt 65 Taktzyklen pro Zeile hatte ich 64.“
Infolgedessen trat die 180-Grad-Phasenverschiebung zwischen Schwarzweiß- und Farbinformationen, die Farbübergangsprobleme beseitigt hätte, nicht auf. Abhängig von ihrer Farbe und der Farbe des Hintergrunds würden die Kanten einiger Objekte auf dem Bildschirm leicht verschoben erscheinen. Dies wurde etwa fünf Monate nach Beginn der Produktion korrigiert.
Aber Vorderkanten sind beim C-64 immer noch ein Problem. Die Schaltung, die an jeder Stelle des Bildschirms entweder Sprite-Informationen oder Hintergrundinformationen anzeigt, reagiert manchmal langsam und überlagert das Sprite erst dann mit den Hintergrundinformationen, wenn einige Pixel fehlen.
Die C-64-Konstrukteure waren nicht die Einzigen, die ihre Maschine überarbeiteten; Sogar einige Fließbandarbeiter wurden aktiv.
Die C-64-Konstrukteure waren nicht die Einzigen, die ihre Maschine überarbeiteten. Sogar einige Fließbandarbeiter wurden aktiv. Da es praktisch unmöglich ist, die Farbqualität automatisch zu testen, wurden die Arbeiter am Fließband angewiesen, an einem Potentiometer zu drehen, das die Farb- und Schwarzweißsignale steuert, bis sie Farbe sehen. Wie Charpentier sich erinnerte, stellten die Arbeiter bald fest, dass, wenn sie das Potentiometer so weit wie möglich drehten, dies zwar zu gesättigten Farben führte, aber auch das Schwarz-Weiß-Signal auslöschte. Mehrere tausend Computer waren verschifft worden, bevor die „Revision“ der Fließbandarbeiter auffiel; Zu diesem Zeitpunkt kritisierten einige Rezensenten den C-64 wegen seiner „grellen“ Farben.
Obwohl diese Modifikationen seit seiner Einführung am C-64 vorgenommen wurden, würden Designer, die kommerzielle Software für die Maschine schreiben, gerne noch ein paar weitere sehen. Eine solche Änderung wäre eine angemessene Qualitätskontrolle. „Sie testen nicht“, sagte Nelson von Epyx. „Ich habe brandneue Commodores geöffnet und festgestellt, dass Leiterbahnen zerschnitten sind. Offensichtlich verwenden sie zum Zusammenbau des C-64 einen Akkuschrauber, verfehlen manchmal die Schraube und schneiden die Leiterbahnen ab. Wie, fragen Sie sich vielleicht, konnte das die Endkontrolle bestehen? „Nun, diese Leiterbahnen sind mit den Laufwerksanschlüssen verbunden, die sie offensichtlich nicht testen.“
Im Nachhinein nannte Charpentier einen der Fehler von Commodore, „der Qualität nicht ein bisschen näher zu kommen“.
Entwickler von Zusatzhardware für den C-64 bemängeln, dass sein minimalistisches Design zu unerwünschten Wechselwirkungen zwischen Teilen der Hardware und Software führt. Beispielsweise werden die zur Steuerung des Joysticks und des Game-Paddle-Anschlusses verwendeten Schaltkreise alle 1/60 Sekunde ausgeliehen, um die Tastatur nach gedrückten Tasten zu scannen. Wenn die Joystick-Schalter geschlossen sind, meldet die Tastatur-Scan-Software, dass eine Taste gedrückt wurde. An die Joystick-Anschlüsse angeschlossene Geräte können unvorhersehbare Reaktionen hervorrufen – ein Problem, das nicht auftreten würde, wenn für die beiden Funktionen separate Hardware verwendet worden wäre.
Ein weiterer Fehler ist die grobe interne Software des Computers. Beim Einschalten wird das System im Basic-Modus gestartet. Dies ist ein Überbleibsel aus der Zeit des ersten Pet-Computers von Commodore, der kein Festplattenbetriebssystem hatte, da es damals noch keine Festplatten gab. „Ein anständiges Festplattenbetriebssystem wurde erst mit Pet Basic 4.0 entwickelt“, sagte Charpentier. Der C-64 verwendet diese erweiterte Version von Basic nicht, weil „sie mehr ROM benötigt hätte, als wir hineinstecken konnten“. Stattdessen verwendet die Maschine eine weitaus primitivere Version von Basic, die vom VIC-20 übernommen wurde.
„Software war nicht greifbar – man konnte sie nicht halten, fühlen oder berühren – also war es nicht wert, dafür Geld auszugeben.“
Die eklatantesten Versäumnisse im Basic des Commodore 64 sind Befehle zur Steuerung der Sound- und Grafikchips. „Es bestand nie die Absicht, dass das System über eine integrierte Software zur Steuerung der Grafik oder des Sounds verfügen würde“, sagte Yannes. „Das war ein offensichtlicher Teil der Commodore-Philosophie: Man verschwendet kein Geld für Dinge, die das Produkt teurer machen und die die Mehrheit der Käufer nicht nutzen wird.“
„Commodore hat immer Lippenbekenntnisse zur Software abgegeben“, sagte Charpentier. „Sie tun genug, um über die Runden zu kommen, und verlassen sich dann auf externe Quellen, um die Lücke zu schließen. Commodore war eine Erweiterung von Jack Tramiel, und für ihn war Software nicht greifbar – man konnte sie nicht halten, fühlen oder berühren – also.“ Es hat sich nicht gelohnt, dafür Geld auszugeben.
Die C-64-Konstrukteure hatten eigene Pläne für Änderungen, die noch nicht umgesetzt wurden. Sie nutzten das VIC-20-Gehäuse, um die Entwicklung zu verkürzen, ließen aber ein neues Gehäuse entwerfen, das sie in acht bis zehn Monaten ersetzen wollten. „Es war vorne dünner und hatte eher eine Keilform“, sagte Charpentier. „Ich fand den VIC-20-Koffer immer klobig.“ Außerdem sollte die Maschine um einige neue Funktionen erweitert werden.
Die Tatsache, dass diese Änderungen nicht vorgenommen wurden, habe den Erfolg des C-64 nicht wirklich beeinträchtigt, versicherte Brian Dougherty, Präsident von Berkeley Softworks aus Berkeley, Kalifornien. „Diese Maschine verfügt über die beste Grafikanzeigefähigkeit aller bisherigen Maschinen.“ wurde für einen Fernsehbildschirm gemacht", sagte er. „Es hat sich herausgestellt, dass es ein großartiges System ist.“
Der größte Fehler des C-64 liegt nicht in der Maschine selbst, sondern in seinem Festplattenlaufwerk. Mit einem einigermaßen schnellen Festplattenlaufwerk und einem geeigneten Festplattenbetriebssystem (DOS) könnte der C-64 auf dem Geschäftsmarkt mit Apple und vielleicht auch anderen Geschäftscomputern konkurrieren. Mit dem heutigen Diskettenlaufwerk wird es jedoch kaum sein Image als Spielzeug verlieren.
„Geschäftsorientierte Software sieht auf dem C-64 nicht so gut aus, wie sie sollte“, sagte Dougherty, „nicht weil das Basissystem nicht gut genug ist, sondern weil der Zugriff auf das Festplattenlaufwerk zu langsam ist; jede Geschäftsanwendung erfordert eine.“ viel Festplattenzugriff.“ Und da DOS so schwach ist und Funktionen wie das automatische Erstellen und Verwalten von Verzeichnissen und das Verfolgen von Dateien fehlen, „ist es viel schwieriger, Unternehmenssoftware für den C-64 zu entwickeln“, fügte er hinzu. „Jemand wie Lotus [Development Corp., Hersteller eines beliebten integrierten Business-Softwarepakets] steht vor weitaus größeren Schwierigkeiten als sie bei der Entwicklung von Software für den IBM-PC, weil der PC über eine Betriebssystemstruktur verfügt, die einfach nicht existiert.“ für dieses Produkt.
„Das grundlegende Eingabe-Ausgabe-System im ROM ist nach den Prinzipien des Betriebssystems ziemlich sauber aufgebaut. Alle Routinen, die vorhanden sein müssen, sind vorhanden, aber es sollte auch eine Möglichkeit zum automatischen Lesen der ersten Spur der Festplatte und zum Booten vorhanden sein ein ausgefeilteres Betriebssystem in den Speicher zu laden.“
Laut Nelson von Epyx verfügt das Diskettenlaufwerk tatsächlich über eine Funktion zum automatischen Lesen des ersten Titels einer Diskette, aber da diese nicht dokumentiert ist, wird sie nicht häufig verwendet.
Wie haben die Commodore-Ingenieure das Festplattenlaufwerk vermasselt?
„Das Diskettenlaufwerk? Was für eine blutige Geschichte!“
„Das Diskettenlaufwerk? Was für eine blutige Geschichte!“ sagte Charpentier. „Das hing mit dem einzigen Marketing-Input zusammen, den wir akzeptierten. Das Marketing sagte, der C-64 müsse mit dem VIC-20 kompatibel sein.“
Das Festplattenlaufwerk des VIC-20, erklärte Charpentier, sei ein direkter Nachkomme des Laufwerks des Commodore Pet-Computers. „Wir hatten einen parallelen IEEE-488-Bus für das Pet-Diskettenlaufwerk; und wir verwendeten in der Anfangszeit ein seltsames Format, um Daten zu packen: Auf den äußeren Spuren bewegt sich die Platte schneller als auf den inneren Spuren, also die Datenrate Änderungen, um mehr Daten da draußen zu packen. Es war eine nette Idee, aber sie war ungeschickt, weil man mit allen anderen nicht kompatibel ist. Das ist die Nuss, mit der alles begann.“
Das Festplattenlaufwerk VIC-20 wurde in Japan entwickelt und der Bus wurde aus Kostengründen von parallel auf seriell umgestellt. Das Laufwerk ist sehr langsam, da der serielle Schnittstellenteil des beim VIC-20 verwendeten Schnittstellencontrollers (6522) nicht funktioniert. Dadurch sendet der 6502-Prozessor ein Bit nach dem anderen unter direkter Softwaresteuerung aus, anstatt ein Byte an den Peripheriecontroller zu senden und ihn sich um Takte, Daten und Handshakes kümmern zu lassen.
„Wir haben das serielle Schieberegister für den 6526 [den Schnittstellencontroller, der beim C-64 als Ersatz für den 6522 verwendet wurde] repariert, konnten ihn aber nicht verwenden, weil das Festplattenlaufwerk kompatibel sein musste“, fuhr Charpentier fort. „Und da der Prozessor im C-64 alle 512 Mikrosekunden für 40 Mikrosekunden ausgeschaltet wird, fehlen ihm ständig die Interrupt-Signale, die die Festplattenschnittstelle steuern. Die Lösung: Das Laufwerk noch weiter verlangsamen.“
Die Geschwindigkeit war der einzige Faktor, der hätte geändert werden können, ohne dass die Kosten für radikale Änderungen am Festplattenlaufwerk anfielen. Wenn die C-64-Konstrukteure auf die VIC-20-Kompatibilität hätten verzichten können, hätten sie es viel besser machen können. Und am Ende war der C-64 natürlich sowieso nicht mit dem Diskettenlaufwerk des IC-20 kompatibel.
„Alles lag daran, dass die serielle Schnittstelle 6522 nicht funktionierte“, schlussfolgerte Charpentier.
Andere Hersteller versuchen, das Festplattenproblem des C-64 zu lösen. Einige verkaufen ihre eigenen Festplatten zur Verwendung mit dem C-64, aber es fällt ihnen schwer, in einen Markt einzudringen, der von Commodore kontrolliert wird. Andere verkaufen Programme, die in den RAM geladen werden können, um die Festplattenübertragungsraten zu beschleunigen. Diese Option gilt jedoch nur für die Verwendung des C-64 zum Programmieren in Basic; Vorinstallierte Software, die in das System geladen wird, verdrängt die Programme aus dem RAM. Epyx hat ein ROM-basiertes Programm veröffentlicht, um die Festplattenübertragung um das Fünffache zu beschleunigen. Laut Nelson funktioniert das Programm mit jeder festplattenbasierten Software. „Das ist möglich“, sagte Charpentier. „Das C-64-Festplattenlaufwerk verfügt über einen eigenen Mikroprozessor und Speicher, und Sie können ihm Informationen senden, um das Betriebssystem zu ändern und das serielle Busprotokoll zu beschleunigen.“
Die Standardsoftware für das C-64-Festplattenlaufwerk kann alle 2,5 Umdrehungen der Festplatte einen 256-Byte-Sektor lesen, also 512 Byte pro Sekunde. Programmiertricks von Epyx haben zu Übertragungsraten von bis zu 2,5 Kilobyte pro Sekunde geführt. (Unter anderen langsamen Festplattenlaufwerken überträgt das Atari 810 1000 Bytes pro Sekunde, und das Apple II-Festplattenlaufwerk läuft mit maximal 15.000 Bytes pro Sekunde.)
Das Commodore-Team hatte hart daran gearbeitet, die anfänglichen Produktionskosten für den C-64 niedrig zu halten. Die vertikale Integration trug dazu bei, die Teilekosten niedrig zu halten, und Winterble lehnte Ideen für zusätzliche Funktionen ab. Die Designer selbst glaubten an das Zählen von Pennys; Charpentier sagte, er habe viel von Jack Tramiel gelernt, der „ein großer Verfechter der Kosten“ sei. Wir haben uns über jeden Transistor geärgert.
Mit Produktionskosten von 135 US-Dollar und einem Verkaufspreis von 595 US-Dollar bei seiner Einführung hätte der Commodore 64 einen Einzelhandelsaufschlag, der deutlich über dem Branchenstandard liegt und bei eins bis drei liegt (vielleicht eins bis zwei, wenn die Stückzahlen steigen). Aber Commodore hat weiterhin Wege gefunden, sowohl den Einzelhandelspreis, der derzeit bei 149 US-Dollar liegt, als auch die Produktionskosten zu senken, die derzeit auf 35 bis 50 US-Dollar geschätzt werden.
Commodore würde diese Kostenzahl nicht bestätigen. Dougherty von Berkeley Softworks schätzte die Kosten für C-64-Teile auf der Grundlage seiner Erfahrungen bei Mattel und Imagic.
Im Rahmen weiterer Kostensenkungsmaßnahmen hat Commodore den TTL durch kostengünstigere kundenspezifische Chips ersetzt und Wege gefunden, die Ausbeute an Sound- und Grafikchips zu steigern.
Nicht alle Kostensenkungsmaßnahmen blieben ohne negative Auswirkungen auf das System. Der 6567-Videochip war ursprünglich in Keramik verpackt, obwohl Kunststoff viel billiger ist. „Wir haben alles Mögliche ausprobiert“, sagte Charpentier, „Kupfer-Blei-Rahmen, Metalleinsätze im Gehäuse und eine unglaubliche Menge anderer Dinge, um ein Kunststoffgehäuse zu bekommen, denn ein Keramikgehäuse ist sehr teuer. Aber wir konnten es nicht.“ Finden Sie ein Paket, das kühl genug läuft. Bevor ich Commodore verließ, listete ich einige Ideen auf, um die Leistung zu reduzieren, aber die Hälfte des Chips lief immer noch mit einer 8-MHz-Grenze. Ohne eine umfassende Neugestaltung könnte man die Leistung nicht herausholen.“
Das Designteam war autonom – es führte seine eigene Marktforschung durch, entwickelte seine eigenen Spezifikationen und begleitete sein Baby direkt durch die Produktion.
Der Chip ist jetzt mit Kunststoff ummantelt. Die Commodore-Ingenieure sagten, dass sie neben der Neugestaltung des Chips auch ein Kunststoffgehäuse entwickelt haben, das genauso gut Wärme ableiten kann wie Keramik.
Seit der Umstellung auf Kunststoffverpackungen wurden eine Reihe neuer Probleme mit der C-64 gemeldet – Probleme, die maschinenspezifisch oder temperaturabhängig sind. Ein Fehler, der in der gesamten Softwareindustrie weithin bekannt ist, ist die Tendenz, dass der Chip blockiert, wenn ein Programm den Grafikmodus wechselt – von der Anzeige einer Bitmap zur Anzeige von Zeichen [siehe Seitenleiste „Eine umfangreiche Sammlung von Grafikmodi“]. „Ein Spiel, das wir produzierten, begann am Fließband zu scheitern“, sagte Nelson von Epyx. „Dann haben wir [defekte Festplatten] noch einmal getestet und sie haben funktioniert. Es hing davon ab, in welche Maschine wir sie eingelegt haben und wie hoch die Temperatur war.“ Charpentier spekulierte, dass einige Stromkreisleitungen im ursprünglichen Design schwebend belassen worden seien; Schlechte Verarbeitung und hohe Betriebstemperaturen würden die Chips bis zum Versagen belasten.
Ein weiteres Problem, das bei einigen C-64 auftritt, ist das fehlerhafte horizontale Scrollen von Bitmap-Bildschirmen. In einem aktuellen Rückblick auf die Sommerspiele, ein Epyx-Sportspiel für die C-64 in San Jose, Kalifornien, kritisierte Mercury News den „Blitzlichteffekt“, der während des Schwimmwettbewerbs spürbar war. Laut Nelson handelt es sich hierbei nicht um einen „Effekt“ – der vom Rezensenten von Mercury News verwendete C-64 beherrscht das horizontale Scrollen einfach nicht richtig.
Obwohl die Maschine ihre Schwächen aufweist, glauben die Designer des Commodore 64, dass sie aufgrund der Freiheit, die sie in den frühen Phasen des Projekts genossen, viele bedeutende Fortschritte erzielt haben. Das Designteam war autonom – es führte seine eigene Marktforschung durch, entwickelte seine eigenen Spezifikationen und begleitete sein Baby direkt durch die Produktion. Aber sobald die Produktionsfehler behoben waren und Commodore wusste, dass es einen Gewinner gab, schritt die Unternehmensbürokratie ein, die sich bis dahin an der Westküste mit dem VIC-20 und dem Pet-Computer befasst hatte.
„Zu diesem Zeitpunkt kamen viele Marketinggruppen, um uns zu ‚helfen‘“, erinnert sich Winterble. „Die nächste Produktdefinition sollte von einer Gruppe erdacht werden, und eine andere Gruppe sollte dafür verantwortlich sein, die Dinge in Produktion zu bringen, und Al's Gruppe würde nur Forschung und Entwicklung im Bereich Chips betreiben.“
„Wenn man das Marketing in die Produktdefinition einbezieht, wird man es nie schnell schaffen“, sagte Yannes. „Und Sie verschenken die Fähigkeit, etwas Einzigartiges zu schaffen, weil das Marketing immer ein Produkt will, das mit etwas anderem kompatibel ist.“
Charpentier brachte ihre Frustration auf den Punkt: „Wenn man viele Leute in ein Projekt einbezieht, rechtfertigt man sich am Ende nur noch. Ich wusste, dass der Commodore 64 technisch genauso gut und so kostengünstig war wie jedes Produkt, das damals hergestellt werden konnte.“ , aber jetzt musste ich Marketingleuten zuhören, die sagten: „Es wird sich nicht verkaufen, weil es dies nicht hat und jenes nicht kann.“
„Die Freiheit, die uns das C-64-Projekt ermöglichte, wird es in diesem Umfeld wahrscheinlich nie wieder geben.“
Vom ursprünglichen Commodore 64-Designteam ist nur noch Robert Russell bei Commodore geblieben; Derzeit ist er Designmanager. Der Rest des Teams – Albert Charpentier, Robert Yannes und Charles Winterble sowie David Ziembicki und Bruce Crocket, die dabei halfen, das Projekt zu debuggen und in Produktion zu bringen – verließen Commodore im Frühjahr 1983 und gründeten die Firma Peripheral Visions. Ihr Plan war, einen weiteren Computer zu entwerfen. Um Betriebskapital zu erhalten, nahmen sie einen Auftrag von Atari an, eine Tastatur für das Video Computer System zu entwerfen, die zwar in der Vorschau gezeigt, aber dann, als der Videospielmarkt zusammenbrach, nie veröffentlicht wurde. Peripheral Visions wurde von Commodore verklagt, der behauptete, die VCS-Tastatur sei ein Projekt von Commodore. Bei Redaktionsschluss war die Klage noch nicht geklärt.
Peripheral Visions wurde in Ensoniq umbenannt und wird bald sein erstes Produkt veröffentlichen, einen Musiksynthesizer. Albert Charpentier ist derzeit Vizepräsident für Technik bei Ensoniq, Bob Yannes ist leitender Designer und David Ziembicki ist Manager für Produktionskontrolle. Charles Winterble verließ Peripheral Visions und ist jetzt Group Vice President für Elektronik bei Coleco Industries Inc. aus West Hartford, Connecticut. Und Jack Tramiel ist derzeit CEO von Atari Corp., dem Unternehmen, das Commodores Hauptkonkurrent auf dem Heimcomputermarkt war bevor er im Wettbewerb mit der C-64 fast eine Milliarde Dollar verlor.
Computerbuchhandlungen führen eine große Auswahl an Büchern zum C-64. Zu den empfohlenen Büchern zählen „What's Real Inside the Commodore 64“ von Bilton Bathurst, herausgegeben von DataCap aus Feneur, Belgien, und „The Anatomy of the 1541 Disk Drive“ von Lothar Englisch und Norbert Szczepanowski, herausgegeben von Abacus Software aus Grand Rapids, Michigan Zeitschriften wie Creative Computing und Compute! Überprüfen Sie Software und veröffentlichen Sie Programme, die auf dem C-64 laufen. Der Commodore 64 selbst ist bei den meisten großen Einzelhändlern erhältlich.
„Wir hatten nicht vor, 128 Farben zu erstellen“, betonte Albert Charpentier, der Chefdesigner des Commodore 64. „Es war einfach eine zu große Fläche auf dem Chip.“
Dennoch kann der Commodore 64 zusätzlich zu seinen vielen anderen Grafikfunktionen weit mehr als die in seiner Dokumentation aufgeführten 16 Farben darstellen. Brian Dougherty, Präsident von Berkeley Softworks aus Berkley, Kalifornien, erklärte: „Die Breite jedes Pixels beträgt fast die Hälfte des NTSC-Farbtakts. Wenn Sie also Pixel mit zwei verschiedenen Farben abwechseln, erhalten Sie nicht die beiden Farben, die Sie denken.“ Sie erhalten eine völlig neue Phaseninterpretation. [Siehe Abbildung unten.] Die neue Phaseninterpretation ergibt natürlich eine neue Farbe. Da die Pixel 7/16 der Breite eines Farbtakts haben, verschieben sich die erzeugten Farben zyklisch über den Bildschirm, was ihre Verwendung erschwert.
Bevor er den Videochip entwarf, erinnerte sich Charpentier, habe er sich einige Wochen lang die Konkurrenz angeschaut. Zusätzlich zu den Produkten von Texas Instruments, Atari und Mattel studierte er seine eigenen früheren Arbeiten. „Ich erinnere mich, dass ich ungefähr eine Woche damit verbracht habe, die Grafikmodi durchzugehen, die wir einsetzen konnten.“
Die 64-Bit-Karte des Commodore unterscheidet sich von denen der meisten Computer darin, dass sie den größten Teil ihrer Schaltkreise von denen übernimmt, die zur Anzeige von Zeichengrafiken verwendet werden. Eine Standard-Bitmap würde die oben genannten Achtpunktsegmente in aufeinanderfolgenden Speicherbytes in der Reihenfolge A,B,C,D… speichern. Der Commodore 64 speichert sie in der Reihenfolge A,E,I,M,Q,U,Y,CC,B,F…. Dies ahmt die Acht-mal-Acht-Punktmuster von Zeichen nach.
„Das war ein Beispiel für technische Eskalation“, sagte Charles Winterble, der zu der Zeit, als der Videochip entwickelt wurde, Direktor für weltweite Technik bei Commodore war. „Wir haben seltsame Farbmodi gefunden. Als Fantasie spielte Al verrückt; einige der Farbmodi erwiesen sich als zwecklos, andere erwiesen sich als sehr clever.“
Beim Commodore 64 gibt es zwei Grundmodi: Zeichen-Mapping und Bit-Mapping. Im zeichenzugeordneten Modus besteht der Bildschirm aus 1000 Zeigern, von denen jeder ein im ROM oder RAM gespeichertes Zeichen auswählt. Da jeder Zeiger 8 Bits enthält, können 256 Zeichen mit einer Größe von acht mal acht Pixeln ausgewählt werden. Im Bitmap-Modus werden 8000 Speicherplätze zur Definition des Bildschirms verwendet, wobei ein Bit einem einzelnen Pixel entspricht. Der Bitmap-Modus bietet maximale Flexibilität, verbraucht jedoch Speicher, insbesondere wenn mehr als ein Bildschirm definiert ist. Der Zeichenzuordnungsmodus ist nicht so einschränkend, wie es scheint, da die meisten Bilder aus sich wiederholenden Elementen bestehen.
Es gibt verschiedene Variationen des Zeichenzuordnungsmodus. In seiner Standardform enthält es 256 acht mal acht Pixel große Zellen mit einer Auflösung von 320 Pixeln horizontal und 20 Zeilen vertikal. Jede der 1000 Positionen auf dem Bildschirm kann eine andere Vordergrundfarbe enthalten, alle verwenden jedoch dieselbe Hintergrundfarbe. „Das ist eine Einschränkung, wenn es um das Mischen von Farben geht“, sagte Dougherty. Text wird normalerweise im standardmäßigen Zeichenzuordnungsmodus angezeigt.
Im Standard des National Television Systems Committee wird die Farbe durch die Phase des Farbträgers relativ zu einem Farbburst bestimmt, der am Anfang jeder Zeile gesendet wird. Die oben genannten Sinuswellen sind entsprechend ihrer Phase gemäß diesem Standard gefärbt. Ein Wechsel von Rot nach Orange ist relativ sauber, da zwischen den beiden Sinuswellen nur ein geringer Phasenunterschied besteht. Ein Wechsel von Rot zu Blau kann jedoch zu verschmierten Rändern auf dem Bildschirm führen, da dadurch die Phase vom Punkt, an dem die rote Sinuswelle nach oben beginnt, bis zu dem Punkt, an dem die blaue Sinuswelle den Boden erreicht, unbestimmt bleibt, eine Periode von etwa 300 Nanosekunden . Dieses Problem tritt allgemein bei Systemen auf, die dem NTSC-Standard entsprechen.
Im mehrfarbigen Zeichenmodus hat jede Zelle eine Vordergrundfarbe und drei Hintergrundfarben zur Auswahl. Für den Vordergrund stehen nur acht der 16 Farben zur Verfügung; Die Hintergrundfarben werden durch drei Register im Videochip definiert. Zwei Bits (anstelle von einem) werden verwendet, um jedes Pixel in einer Zelle zu definieren, sodass die Zellen eine Auflösung von acht Zeilen vertikal und vier Pixeln horizontal haben, statt der standardmäßigen acht mal acht. Jedes Pixel ist doppelt so breit wie normal, sodass die Anzeigeauflösung auf 160 x 200 reduziert wird.
Im erweiterten Farbmodus stehen für jede Position auf dem Bildschirm vier Hintergrundfarben sowie eine Vordergrundfarbe zur Auswahl. Es stehen alle 16 Farben zur Verfügung und der Bildschirm wird in voller Auflösung angezeigt. Die einzige Einschränkung besteht darin, dass die Anzahl der Zeichen 64 statt 256 beträgt, da zwei Bits jedes Zeichenzeigers für die Farbauswahl vorgesehen sind.
Der Bitmap-Modus ist eine Adaption des Zeichen-Mapping-Modus, was seine Verwendung weniger einfach macht, als er sein könnte. „Die meisten Raster-Scan-Algorithmen gehen davon aus, dass der Speicher linear angeordnet ist“, sagte Dougherty, „daher ist es schwierig, viel Software zu verwenden, die bereits für andere Systeme entwickelt wurde.“ Typische Bitmaps sind mit aufeinanderfolgenden Pixeln auf einer horizontalen Zeile in aufeinanderfolgenden Speicherplätzen organisiert, aber die C-64-Bitmap verwendet acht aufeinanderfolgende Speicherplätze, um jeweils acht Pixel aus acht aufeinanderfolgenden Zeilen zu speichern. Die folgenden acht Speicherorte speichern acht weitere Pixel aus denselben acht Zeilen [siehe Abbildung]. Dies ahmt die Art und Weise nach, wie Pixel für den Zeichensatz im ROM angeordnet sind, sodass für beide Modi dieselben Schaltkreise verwendet werden können.
Im standardmäßigen Bitmap-Modus wird ein „1“-Bit in der Vordergrundfarbe und ein „0“-Bit in der Hintergrundfarbe angezeigt (wobei für jede Gruppe von acht mal acht Pixeln eine andere Vordergrundfarbe verfügbar ist). Im mehrfarbigen Bitmap-Modus werden zwei Bits verwendet, um jedes Pixel zu definieren, sodass vier der 16 möglichen Farben ausgewählt werden können, obwohl die Bildschirmauflösung wieder auf 160 x 200 sinkt.
Die verschiedenen Features der Commodore 64-Hardware können einzeln oder in Kombination genutzt werden, um beeindruckende Effekte zu erzielen. In den hier gezeigten Bildschirmen wird die Raster-Interrupt-Funktion des Commodore 64 verwendet, um die Farben und die Auflösung zu ändern, die Anzahl der verfügbaren Sprites zu erhöhen und zwischen den verschiedenen Grafikmodi zu wechseln. In diesem Eröffnungsbildschirm des Summer Games-Videospiels von Epyx werden zwei Rasterunterbrechungen zwischen den Flaggenreihen verwendet, um Farbregister zu ändern und so die Anzahl der in dieser mehrfarbigen, zeichenzugeordneten Anzeige verfügbaren Farben zu erhöhen. Sprites werden auch verwendet, um Farben und komplexe Details hinzuzufügen.
Der Einbeziehung von Sprites – unabhängig beweglichen Objekten, die die Hintergrundanzeige überlagern – erregte in den frühen Tagen des Commodore 64-Projekts große Aufmerksamkeit. Tatsächlich nehmen die Schaltkreise, die zur Manipulation und Anzeige der Sprites verwendet werden, zwei Drittel des Videoanzeigechips der Maschine ein.
„Im Nachhinein wäre es besser gewesen, etwas mehr Bitmap-Fähigkeit in die Maschine zu integrieren, aber wir haben uns auf Sprites konzentriert“, sagte Albert Charpentier, der Chefdesigner des Commodore 64-Computers. „Als der Chip entwickelt wurde, war die Grundvoraussetzung ein Spielautomat.“
Und ein gutes Spiel verwendet natürlich viele unabhängig voneinander bewegte Objekte. Robert Yannes, ebenfalls Designer des C-64-Projekts, erinnert sich an das Studium der sogenannten Player-Missile-Sprites von Atari. „Sie sind schrecklich“, sagte er. „Sie haben nicht genug Farbe, sie sind nicht groß genug und sie machen nicht das, was Sie wollen.“ Die Sprites auf dem Texas Instruments 99/4A, sagte er, „waren großartig, aber sie hatten nur eine Farbe, und man musste sie gruppieren, um ein ausreichend großes Objekt zu erstellen.“
Die Gruppe entschied, dass das C-64-Sprite ein mehrfarbiges Objekt sein würde, das sich unabhängig voneinander sowohl auf der x- als auch auf der y-Achse bewegen ließe, mit minimalem Softwareaufwand.
Sprites können in vier Größen angezeigt werden: normal, vertikal erweitert, horizontal erweitert oder in beide Richtungen erweitert. Sie können auch im Mehrfarbenmodus dargestellt werden, bei dem die Auflösung gröber ist, die Proportionen jedoch erhalten bleiben.
„Wir haben viel Zeit damit verbracht, über die Sprites zu diskutieren“, sagte Charpentier, „und uns gefragt: ‚Wie groß sollten sie sein? Sollten sie in x um den Faktor 2 erweitert werden? In y? Sollten wir eine Kollisionserkennung haben?‘“
Eine Reihe mathematischer Berechnungen habe viele dieser Fragen beantwortet, erklärte er. „Wenn man sich über die Videozeile bewegt, hat man 63 Mikrosekunden zum Spielen. Ich wollte Speicher mit knapp 2 MHz verwenden, was nur 114 Speicherabrufe pro Zeile bedeutet – Punkt. Mehr nicht. Ich ging davon aus, dass der Prozessor das tun würde.“ Ich brauche mindestens 40 dieser Abrufe; 40 war eine schöne architektonische Zahl, weil es auch 40 Hintergrundinformationen gibt, sodass die Hintergrundinformationen und die Prozessor-Slices leicht verschachtelt werden könnten.
„Bei 114 minus 40 für den Prozessor und 40 für den Hintergrund hatte ich also 34 Abrufe. Ich brauchte acht Abrufe, um die Sprite-Zeiger [die anzeigen, wo die Sprite-Informationen im Speicher gespeichert sind] abzurufen. Das ließe 26 Abrufe übrig. Wenn ich acht hätte Sprites, das gab mir drei Abrufe für jedes Sprite.
Charpentier erklärte, dass keine zusätzlichen Zyklen erforderlich seien, um den dynamischen RAM während der Bildschirmanzeige zu aktualisieren, da der Videochip bereits die entsprechenden Zeilen- und Spaltenadressen durchlaufe. Nur während der Vertikalaustastperiode wird der Speicher separat aktualisiert.
„Als ich jeden dieser Zyklen nutzte, die ich in die Finger bekam, hatte ich 3 Bytes pro Sprite“, sagte er. (Eine Änderung der Taktrate erhöhte später die Anzahl der auf einer Leitung verfügbaren Zyklen auf 126, aber dann war es zu spät, die Sprite-Schaltung zu ändern.)
Die 3 Bytes pro Sprite bestimmten die horizontale Größe des Sprites – 24 Pixel. Charpentier suchte dann nach dem Vielfachen von 3 (Bytes), das einer Potenz von 2 nahekommen würde, damit die Sprites effizient gespeichert werden könnten. „Es kam vor, dass 24 mal 21 Bit 63 Byte an Informationen ergaben“, sagte er. Daher ist jedes Sprite 21 Zeilen hoch.
Die Sprites können nicht nur an einer beliebigen Stelle auf oder außerhalb des Bildschirms positioniert werden, sondern sie können auch in horizontaler oder vertikaler Richtung auf das Doppelte ihrer normalen Abmessungen gedehnt werden, wodurch ein Sprite mit einer Größe von bis zu 48 x 42 Punkten entsteht (obwohl sich die Auflösung nicht erhöht). ). [Siehe Abbildung oben.] Sprites können auch im Mehrfarbenmodus definiert werden. In diesem Fall sinkt die horizontale Auflösung auf 12 Pixel, ihre Größe ändert sich jedoch nicht.
Die Schaltkreise des Commodore 64 takten den Datenabruf an die Scanzeilen eines Röhrenfernsehers
„Ich habe mit Synthesizern gearbeitet und wollte einen Chip, der ein Musiksynthesizer ist“, sagte Robert Yannes, der Soundchip-Designer und Systemarchitekt für den Commodore 64. Er begann im Frühjahr 1981 mit der Arbeit an dem Chip und assistierte ihm von zwei Zeichnern und einem CAD-Mitarbeiter. „Niemand sonst hatte eine gute Vorstellung davon, was wir taten“, sagte er. „Abgesehen von der Grundlagenforschung, die ich seit der High School betrieben habe, dauerte der eigentliche Entwurf nur etwa vier oder fünf Monate.“
Die Hauptunterschiede zwischen seinem Chip und den typischen Videospiel-Soundchips, erklärte Yannes, seien seine präzisere Frequenzsteuerung und seine unabhängige Hüllkurve zur Gestaltung der Intensität eines Klangs. „Bei den meisten Soundeffekten in Spielen gibt es entweder die volle Lautstärke oder überhaupt keine Lautstärke. Das macht Musik wirklich unmöglich. Es gibt keine Möglichkeit, den Klang eines Instruments auch nur annähernd mit dieser Art von Hülle zu simulieren, außer vielleicht einer Orgel.“ "
Obwohl es theoretisch möglich ist, die Lautstärkeregler anderer Soundchips zu verwenden, um die Hüllkurve eines Klangs zu formen, haben sich nur wenige Programmierer jemals mit einer so komplexen Aufgabe beschäftigt. Um die Klanggestaltung zu vereinfachen, hat Yannes die Hüllkurvensteuerung in Hardware integriert: ein Register für jede Stimme, um zu bestimmen, wie schnell sich ein Klang aufbaut; zwei, um den Pegel zu bestimmen, bei dem die Note gehalten wird, und wie schnell sie diesen Pegel erreicht; und eine, um zu bestimmen, wie schnell die Note verklingt. „Es hat lange gedauert, bis die Leute das verstanden haben“, schloss er.
Yannes hat auch eine Nachschlagetabelle in die Hardware eingebaut, um Daten von Musiknoten in die entsprechenden Frequenzen umzuwandeln, aber das erforderte übermäßig viel Silizium. „Das habe ich herausgenommen“, sagte Charles Winterble, der während des C-64-Designs weltweiter technischer Direktor bei Commodore war.
Die genauen Fähigkeiten des Soundchips sind bis heute nicht klar, was größtenteils darauf zurückzuführen ist, dass bei der ersten Entwicklung des Chips falsche Spezifikationen angegeben wurden. „Das Datenblatt wurde von verschiedenen Leuten verteilt, kopiert und umgeschrieben, bis es praktisch keinen Sinn mehr ergab“, sagte Yannes. Ein Beispiel für die fehlerhafte Dokumentation ist die Behauptung, der Chip könne mehrere Wellenformen logisch UND verknüpfen. Der Chip kann entweder eine Dreieckswelle, eine Sägezahnwelle oder eine Rechteckwelle erzeugen, je nachdem, welches Bit in einem seiner Steuerregister gesetzt ist. „Es gibt keine Verriegelung, die sicherstellt, dass die anderen ausgeschaltet sind, wenn ein Bit eingeschaltet ist“, sagte Yannes. „Das hätte zu viel Silizium gekostet.“ Wenn also mehr als eine Wellenform gewählt wird, werden die internen Noten des Ausgangsmultiplexers entladen und es entsteht ein Minimum an Amplituden.
Ein weiterer Fehler im Datenblatt betrifft die On-Chip-Filter. „Der Filter war das Letzte, woran gearbeitet wurde“, gab Yannes zu. „Mir ging die Zeit davon. Die Computersimulation sagte: ‚Das wird nicht sehr gut funktionieren‘ – und das tat sie nicht.“ Der Filter mag mittelmäßig gewesen sein, aber die Gleichungen, die seine Funktionsweise beschreiben, waren einfach falsch, erinnert sich Yannes. „Sie haben nicht zusammengehalten. Niemand hat mir die Chance gegeben, sie zu korrigieren.“
Angesichts dieser falschen Gleichungen verwenden die meisten Softwareentwickler nur den Soundchip.
Einige der japanischen Programmierer, die frühe Spielesoftware für den C-64 schrieben, verfolgten einen anderen Ansatz, bemerkte Yannes: „Sie haben es gemäß der Spezifikation geschrieben. Es war ihnen egal, ob etwas funktionierte oder nicht. Als Ergebnis Programme.“ machte Soundeffekte, die man nicht hören konnte.
Im Januar 1981 wurde Bitmap Zeichentabelle Farbtakt DOS Field Interrupt Sprite (A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M)