Schlagwort: 6502

  • ANTIC, GTIA und POKEY: die Custom-Chips der Atari-8-Bit-Computer

    Als Atari 1979 die Heimcomputer 400 und 800 vorstellte, steckte darin eine Architektur, die dem Wettbewerb technisch mehrere Jahre voraus war. Während andere Rechner der Zeit die Bildausgabe vollständig vom Hauptprozessor erledigen ließen, hatte Atari die Arbeit auf spezialisierte Chips verteilt. Genau dieses Prinzip wurde später zum Standard – erst bei den 16-Bit-Rechnern, dann bei jeder modernen Grafikkarte.

    Drei Chips, die sich die Arbeit teilen

    Im Zentrum stand ein 6502-Prozessor – derselbe Baustein, der auch im Apple II und später im C64 arbeitete. Der Unterschied lag in seiner Entlastung. Drei Spezialchips nahmen ihm jeweils einen Aufgabenbereich vollständig ab:

    • ANTIC – zuständig für den Bildaufbau. Technisch gesehen ein eigener kleiner Prozessor mit eigenem Befehlssatz.
    • CTIA, in späteren Modellen GTIA – übersetzt ANTICs Ausgabe in konkrete Farben und Bildsignale und übernimmt die Kollisionserkennung.
    • POKEY – Tonerzeugung, Tastaturabfrage, serielle Schnittstelle und Zufallszahlen.

    Diese Aufteilung ist der eigentliche Kern des Systems. Der 6502 musste sich nicht um jede Bildzeile kümmern und konnte seine Rechenzeit für die eigentliche Programmlogik verwenden.

    Display Lists: das Bild als Programm

    Der interessanteste Baustein ist ANTIC. Bei den meisten Rechnern jener Zeit war der Bildschirmmodus eine globale Einstellung: entweder Text oder Grafik, in einer festen Auflösung, für das gesamte Bild.

    ANTIC arbeitet stattdessen eine Display List ab – eine im Speicher abgelegte Folge von Anweisungen, die zeilenweise beschreibt, wie das Bild aufgebaut werden soll. Der Programmierer legt damit fest: Die obersten Zeilen sind Text, darunter folgt ein hochauflösender Grafikbereich, unten kommt wieder Text.

    Für Spiele war das ausgesprochen praktisch. Ein Statusbereich mit Punktzahl und Leben ließ sich als Textzeile realisieren, während das Spielfeld darunter in einem völlig anderen Grafikmodus lief – ohne dass der Hauptprozessor während der Bildausgabe eingreifen musste.

    Dazu kamen Display List Interrupts: Die Display List kann an definierten Stellen das Programm unterbrechen. Damit ließen sich etwa Farbregister mitten im Bild umschreiben – und auf einmal zeigte die Maschine deutlich mehr Farben gleichzeitig an, als die Spezifikation nahelegte.

    Player/Missile Graphics: Sprites in Hardware

    Bewegte Objekte sind das Kernproblem jedes Spiels. Ohne Hardwareunterstützung muss die Software für jedes Bild den Hintergrund hinter dem Objekt sichern, das Objekt zeichnen, es im nächsten Bild wieder entfernen und den Hintergrund restaurieren – teuer und fehleranfällig.

    Die Atari-8-Bit-Reihe bot dafür Player/Missile Graphics: unabhängig positionierbare Objekte, die der Chip beim Bildaufbau über den Hintergrund legt. Das Programm schreibt die horizontale Position in ein Register – die Hardware erledigt den Rest. Der Hintergrund bleibt unberührt, weil das Objekt nie wirklich hineingezeichnet wird.

    Zusätzlich meldete GTIA Überschneidungen zwischen Objekten und Hintergrund selbstständig zurück. Kollisionsabfrage kostete damit kaum Rechenzeit – ein spürbarer Vorteil bei actionlastigen Spielen.

    POKEY: mehr als nur Ton

    POKEY erzeugt Klang über vier unabhängige Kanäle mit einstellbarer Tonhöhe, Lautstärke und Klangfarbe. Neben klaren Tönen beherrscht der Chip verschiedene Rauschmuster – die Grundlage für Explosionen, Motoren und Schrittgeräusche.

    Bemerkenswert ist der Umfang seiner Nebenaufgaben. POKEY liest die Tastatur ein, steuert die serielle Schnittstelle, mit der Diskettenlaufwerke und Drucker angebunden waren, und liefert Zufallszahlen. Ein einzelner Chip deckte damit Bereiche ab, für die andere Systeme mehrere Bausteine benötigten – gute Ingenieursarbeit unter Kostendruck.

    Warum sich die Maschine trotzdem nicht durchsetzte

    Technische Überlegenheit entscheidet selten allein. Die 400 und 800 waren aufwendig gebaut und entsprechend teuer. Als Commodore ab 1982 den C64 zu deutlich niedrigeren Preisen in den Markt drückte und diesen Vorsprung durch die eigene Chipfertigung immer weiter ausbaute, geriet Atari unter Druck.

    Hinzu kam die Modellpolitik. Der 400 war mit einer folienartigen Flachtastatur ausgestattet, die für längeres Schreiben ungeeignet war und den Ruf der Serie beschädigte. Und mit dem Crash von 1983 geriet Ataris Kerngeschäft ins Wanken, was Investitionen in die Computerlinie zusätzlich erschwerte.

    Das Erbe der Architektur

    Wer heute die Grundidee der Atari-8-Bit-Familie beschreibt – spezialisierte Coprozessoren, die den Hauptprozessor von der Bildausgabe befreien, gesteuert über im Speicher abgelegte Befehlslisten – beschreibt zugleich das Funktionsprinzip jeder modernen Grafikkarte.

    Für Interessierte ist die Plattform ein außergewöhnlich gutes Lernobjekt: klein genug, um sie vollständig zu durchschauen, aber konzeptionell modern genug, dass sich das Gelernte auf heutige Systeme übertragen lässt. Emulatoren machen den Einstieg möglich, ohne dass man zuerst Hardware auftreiben muss.

    Der SIO-Bus: ein früher Vorgriff auf USB

    Peripheriegeräte wurden bei den Atari-Heimcomputern nicht über verschiedene Spezialanschlüsse angebunden, sondern über einen einzigen seriellen Bus: SIO. Diskettenlaufwerk, Drucker und Kassettenrekorder hingen an derselben Leitung und wurden hintereinandergeschaltet.

    Bemerkenswert ist die Aufgabenteilung. Die Geräte waren nicht „dumm“, sondern besaßen jeweils eigene Steuerelektronik und meldeten sich mit einer Kennung am Bus. Der Rechner musste die Interna eines Laufwerks nicht kennen – er sprach ein einheitliches Protokoll, und das Gerät kümmerte sich um den Rest.

    Das ist im Kern die Idee, die später USB groß gemacht hat: ein Anschlusstyp für viele Geräteklassen, mit Adressierung und einem gemeinsamen Protokoll statt eines Steckers pro Zweck. Dass einer der an SIO beteiligten Ingenieure, Joe Decuir, Jahre später auch an der Entwicklung von USB mitwirkte, ist ein hübsches Detail dieser Linie.

    Von 400 und 800 zu XL und XE

    Die Ursprungsmodelle bekamen mehrere Nachfolgegenerationen, die die Architektur beibehielten und vor allem an Preis und Gehäuse arbeiteten.

    • 400 und 800 (1979) – sehr solide gebaut und aufwendig gegen Funkstörungen abgeschirmt, entsprechend teuer. Der 400 litt unter seiner Flachtastatur.
    • Die XL-Reihe (ab 1983) – flacher, günstiger, mit ordentlicher Tastatur. Der 800XL wurde das meistverbreitete Modell der Familie und ist bis heute am leichtesten zu finden.
    • Die XE-Reihe – optisch an den Atari ST angeglichen; einzelne Modelle boten mehr Speicher, der über Bankumschaltung nutzbar war.

    Für Einsteiger ist der 800XL in der Regel die vernünftigste Wahl: gute Verfügbarkeit, brauchbare Tastatur, breite Softwarekompatibilität.

    Die Plattform heute ausprobieren

    Man braucht keine Originalhardware, um die Architektur kennenzulernen. Ausgereifte Emulatoren bilden ANTIC, GTIA und POKEY sehr genau nach und bringen Werkzeuge mit, die auf echter Hardware nie zur Verfügung standen – etwa eine Anzeige, die die aktive Display List sichtbar macht. Wer verstehen will, wie das Bild zustande kommt, lernt daran oft mehr als am Gerät selbst.

    Wer echte Hardware betreibt, ersetzt das Diskettenlaufwerk heute meist durch einen SIO-Adapter, der Speicherkarten einbindet. Das umgeht das größte Alltagsproblem: Originaldisketten sind nach Jahrzehnten häufig nicht mehr zuverlässig lesbar.

    Häufige Fragen

    Wie unterscheidet sich der Atari 800 vom C64?

    Beide nutzen einen 6502-Kern. Der Unterschied liegt in der Peripherie: Der C64 setzt auf den VIC-II und den SID, der für seinen Klang berühmt wurde. Atari verteilt die Arbeit auf ANTIC und GTIA und ist beim Bildaufbau flexibler – die Display List erlaubt es, mehrere Grafikmodi innerhalb eines Bildes zu mischen.

    Was ist der praktische Nutzen einer Display List?

    Sie trennt das „Was steht wo im Bild“ von der laufenden Programmlogik. Der Prozessor legt die Liste einmal an; danach baut ANTIC das Bild selbstständig auf. Das spart Rechenzeit und ist der Grund, warum viele Atari-Spiele Statusanzeigen und Spielfeld in unterschiedlichen Modi darstellen können.

    Laufen alle Programme auf allen Modellen?

    Meistens, aber nicht immer. Software, die direkt auf interne Adressen des Betriebssystems zugreift, kann auf späteren Modellen Probleme machen, weil dort Teile davon verschoben wurden. Betroffen sind vor allem einige sehr frühe Titel.