Inhaltsverzeichnis

Copper

(ist kein eigenständiges IC, sondern ist im Agnus enthalten)

Der Copper ist einer der Koprozessoren im Chipsatz des Amiga-Computers von Commodore. Seine grundlegendste Aufgabe ist, bei Beginn eines Bildaufbaus die Videologik des Chipsatzes zu initialisieren, damit bei jedem Bildaufbau die gleichen Speicherbereiche (für ein Standbild) dargestellt werden. Der Copper ist so konstruiert, dass an bestimmten Stellen des Bildschirms dynamische Umkonfigurationen der Videologik vorgenommen werden können und so die Anzeige flexibler gestaltet werden kann.

Das Betriebssystem nutzt diese Möglichkeiten intensiv bei der Verwaltung sogenannter Screens – der Copper ermöglicht, dass verschiedene Screens der Amiga-Grafik gleichzeitig höhenversetzt dargestellt werden können. Dabei kann jeder Screen in einem völlig anderen Darstellungsmodus arbeiten. Das wird erreicht, indem in einer bestimmten Bildschirmzeile die Konfiguration der Videologik komplett geändert wird, so dass ein anderer Darstellungsmodus wirksam wird und auch die Anzeigedaten aus anderen Bereichen des Videospeichers (im Chip-RAM) geholt werden. Bei anderen Computersystemen nennt man so etwas auch Split Screen.

Weitere Effekte, die auf Umkonfigurationen der Videologik an einer bestimmten Bildschirmkoordinate zurückzuführen sind, werden in Spielprogrammen verwendet.

Funktionsweise

Der Copper arbeitet eigene Programme, die sogenannten Copperlisten, synchron zum Elektronenstrahl des angeschlossenen Monitors ab. Diese Programme sind aus nur drei verschiedenen Grundbefehlen aufgebaut:

Durch Manipulation von speziellen Adressregistern können Sprünge implementiert werden. Weiterhin kann dem Copper erlaubt werden, den Blitter zu steuern und damit mittelbar auch beliebige Adressen im Chip-RAM manipulieren. Auch ist es möglich, bildsynchrone Interruptanforderungen an die CPU abzusetzen.

Die Auflösung der horizontalen Warteposition beträgt beim Original Chip Set vier Low-Resolution- bzw. acht High-Resolution-Pixel. Wenn die Video-Elektronik im Amiga-Chipsatz die Ausgabe eines neuen Bildes links oben beginnt, wird auch die Copperliste gestartet, in der Regel mit einem Warte-Befehl. Wird die im Wartebefehl angegebene Bildschirmkoordinate erreicht, kann der folgende Befehl abgearbeitet werden, in der Regel ein Move-Befehl, mit dem eines der Konfigurationsregister geändert wird. Typischerweise wird es mit der Änderung eines einzigen Registerinhalts nicht getan sein, so dass mehrere solcher Move-Befehle ohne weitere Wartebefehle hintereinander folgen werden.

Es kann allerdings nur ein Copper-Befehl pro Pixel abgearbeitet werden, so dass sich eine Umkonfiguration über eine ganze Reihe von Pixeln hinziehen kann. Das Betriebssystem fügt daher in seine eigenen Copperlisten beim Original Chip Set zwischen zwei vertikal aufeinander folgenden Screens eine schwarze Zeile ein; beim AGA-Chipsatz müssen es sogar drei sein. Einfachere Umkonfigurierungen als Screen-Umschaltungen lassen sich natürlich auch ohne Schwarzschaltungen direkt erledigen.

Wenn mehr als zwei Screens gleichzeitig anzuzeigen sind, müssen entsprechend viele Wartebefehle mit folgenden Move-Befehlen zur Umkonfigurierung in der Copperliste angeordnet sein. Erst ganz am Schluss aller dieser Teile folgt ein Wartebefehl auf eine Position, die niemals erreicht wird. Dies ist das Programmende, wobei der Copper so lange wartet, bis durch einen neuen Bildaufbau die Copperliste neu gestartet wird.

Das Betriebssystem stellt Funktionen zur Verfügung, um Copperlisten zu mischen und aus zu den einzelnen Screens gehörenden Copperlisten eine finale Copperliste zu erzeugen, die dem Copper zum Abarbeiten übergeben wird.

Copper-Tricks

Die Programmierbarkeit durch den Copper erlaubte diverse Tricks im Display:

Besonders in der Programmierer-Demoszene wurden solche Tricks zu immer beachtlicheren Effekten gesteigert. Es gab z. B. in Frankreich eine Programmierergruppe, die sich Wild Copper nannte und deren Erzeugnisse eine gewisse Berühmtheit erlangten.

Hardware-Organisation

Der Copper ist im Agnus-Chip des Chipsatzes enthalten. Die Copperliste muss im Chip-RAM liegen, denn nur hierauf hat der Chipsatz Zugriff. Den Zugriff erledigt der Agnus-Chip mittels seiner DMA-Maschine. Die aktuelle Bildschirmposition erhält der Copper vom Denise-Chip, der die Videoausgabe steuert. Ebenfalls im Denise-Chip liegen die Videokonfigurationsregister, die üblicherweise über die Copperliste modifiziert werden.

Literatur

Commodore Business Machines, Inc.: Amiga Hardware Reference Manual. 4. Print. Addison-Wesley Publishing Company Inc., Reading MA u. a. 1987, ISBN 0-201-11077-6 (Amiga technical reference series).


www.amigawiki.de

Downloads / Links