- Amiga Copper
-
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.
Inhaltsverzeichnis
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:
- ein WAIT-Befehl, der den Copper passiv auf Erreichen einer bestimmten Bildschirmkoordinate (bei Vorgabe der Werte von x und y) warten lässt; weiterhin kann auf die Fertigstellung eines Blits gewartet werden;
- ein MOVE-Befehl, der ein wählbares Register im Chipsatz auf einen neuen, vorgebbaren 16-Bit-Wert setzt;
- ein SKIP-Befehl, der den folgenden Befehl überspringt, wenn der Elektronenstrahl bereits eine gewisse Position passiert hat. Damit kann man Schleifen in Copperlisten programmieren.
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:
- „Wiederverwendung“ von Sprites: Die Amiga-Hardware bietet nur 8 Sprites, aber mit Unterstützung durch den Copper kann sie den Eindruck von sehr viel mehr erwecken. Jeder Sprite wird an einer bestimmten Position dargestellt, bis der Rasterstrahl ihn passiert hat; der Copper kann dann augenblicklich dessen Position und sein Aussehen ändern, bevor der Rasterstrahl diese neue Position erreicht. Ein einzelner Hardware-Sprite kann so mehrere auf dem Schirm sichtbare Objekte abdecken. Es braucht zwar CPU-Zeit, um die Copperlisten zu aktualisieren, aber die eigentliche Versetzung der Sprites zur richtigen Zeit an die richtigen Positionen wird komplett durch den Chipsatz vorgenommen.
- Anzeige-Auflösungen und Farbpaletten mitten im Bild ändern: Eine der ungewöhnlichsten Eigenschaften des Amiga – der Computer kann die Auflösung von einer Zeile zur nächsten wechseln, also verschiedene horizontale Auflösungen auf demselben Schirm gleichzeitig anzeigen. Das ähnelt von weitem der Möglichkeit von Windows, mit den Tasten Alt-Tab zwischen verschiedenen bildschirmfüllenden Programmen umzuschalten, aber auf dem Amiga zieht der Benutzer den vordersten Schirm einfach wie ein Rollo herunter, um zu sehen, was sich dahinter verbirgt – beide sind gleichzeitig sichtbar. Malprogramme benutzen dies, um den Benutzer direkt in einen HAM-Schirm (in niedriger Auflösung) zeichnen zu lassen, gleichzeitig aber am oberen oder unteren Schirmrand eine hochaufgelöste, detaillierte Werkzeugleiste anzuzeigen. Bei Spielprogrammen hat man oft im oberen Anzeigenteil eine bewegte Szenerie in niedriger Auflösung und am unteren Rand ebenfalls eine hochaufgelöste Leiste mit Daten und Aktionsknöpfen.
- Sog. „Sliced HAM“, oder S-HAM. Dies wurde 1989 von Rhett Anderson erfunden; es besteht aus einer Copperliste, die die Farbpalette vor jeder Zeile einer HAM-Anzeige umbelegt, um so fast alle Farbeinschränkungen dieses Modus zu umgehen.
- Grafik mit 12 Bit Farbtiefe, ohne den HAM-Modus zu benutzen: der Grafikmodus wird auf 0 Bit Farbtiefe geschaltet - also nur Hintergrund - die Farbe wird aber durch den Copper so schnell variiert, dass ein niedriger aufgelöstes 'Highcolor' Bild entsteht.
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.
Siehe auch: Commodore-ProduktübersichtLiteratur
- 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).
PET/CBM: KIM-1 | PET 2001 | CBM 3000 | CBM 4000 | CBM 8000 | MMF 9000 CBM II: CBM 500∗ | CBM 600 | CBM 700 | CBM 900∗
Heimcomputer: VC 10 | VC 20 | C64 (SX, GS♦) | 264-Reihe (C16, C116, Plus/4) | C128 | C65∗
Amiga (Übersicht): 1000 | Sidecar | 500 | 2000 | CDTV♦ | 600 | 3000/T/UX | 1200 | 4000 | CD³²♦
IBM-kompatibel: PC-1 | PC-10 bis PC-60 | x86LT | A1060
Peripherie: Laufwerke: Datasette | VC15xx (VC1540/41, VC1551, VC1570/71, VC1581) | SFD100x (SFD1001, SFD1002) | CBM 2020 bis 8250 | A570 | A590 | A3070
Drucker: MPS-Serie | MPS 801 | MPS 1000 | MPS 1500C | VC1520 | CBM-8000-Serie | CBM 4022
Sonstige Hardware: Zorro-Bus | Uhrenport | WOM | RAM Expansion Unit | Commodore-Maus | Monochrom- und Farb-Monitore | Lautsprecher A10 | Mehrfachbenutzersysteme (MBS)
Historische Hardware: Schreib- und Tischrechenmaschinen | LED-Uhren | 2000K/3000H♦ | ChessmateChips: MOS Technology | VIC | VIC II | TED | VDC | SID | PIA | VIA | TPI | CIA | ACIA | Agnus (Blitter, Copper) | Paula | EHB-Modus | HAM-Modus Chipsätze: OCS | ECS | AGA
Software: Commodore BASIC | Commodore Basic V2 | Kernal | CBM-ASCII (PETSCII) | GEOS | Commodore DOS | AmigaOS | Kickstart | Workbench | ARexx | AmigaGuide | AMIX
∗: nur Prototyp ♦: Spielkonsole
Wikimedia Foundation.
Schlagen Sie auch in anderen Wörterbüchern nach:
Amiga 4000T — Amiga 4000/40 mit Monitor M1438S Amiga 4000T Der Amiga 4000, ein Desktop Computer, war eine technische Weiterentwicklung des Amiga 3000 und wurde Ende 1992 eingeführt. Es gab verschiedene Versionen des Rechne … Deutsch Wikipedia
Amiga 500 Plus — Amiga 500 mit 1084S RGB Monitor, Maus und externem A1010 Diskettenlaufwerk. Auf dem Bildschirm ist die Workbench zu sehen. Der Amiga 500 ist der meistverkaufte Amiga Computer von Commodore. Er wurde 1987 auf der CeBit zusammen mit dem Amiga 2000… … Deutsch Wikipedia
Amiga 600HD — Amiga 600. Der Amiga 600 ist ein im Jahre 1992 von Commodore eingeführter Computer. Seine Leistungsdaten entsprachen weitgehend dem des Amiga 500 Plus, er wurde wie dieser mit dem neuen Enhanced Chip Set des Amiga 3000 ausgerüstet, besaß mit… … Deutsch Wikipedia
Copper — (englisch für „Kupfer“) steht für: Amiga Copper, Koprozessor der Amiga Computer Copper River (Alaska) Copper River (Wisconsin) Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrerer mit demselb … Deutsch Wikipedia
Amiga Original chipset — The Original Chip Set (OCS) was a chipset used in the earliest Commodore Amiga computers and defined the Amiga s graphics and sound capabilities. It was succeeded by the slightly improved Enhanced Chip Set (ECS) and greatly improved Advanced… … Wikipedia
Amiga-Computer — Letztes offizielles Logo Der Commodore Amiga (spanisch amiga: Freundin) war ein von Mitte der 1980er bis Anfang/Mitte der 1990er weit verbreiteter Computer, der besonders in seinen Einsteigermodellen (A500 und A1200) als Heimcomputer beliebt war … Deutsch Wikipedia
Amiga 1500 — Zwei Amiga 2000 als Monitorstütze (im Vordergrund ein Amiga 500 Der Amiga 2000 ist ein Personal Computer aus der Amiga Reihe. Er stellt das Highend Gegenstück zum ebenfalls 1987 erschienenen Amiga 500 dar. Der Amiga 2000 war als Desktop Computer… … Deutsch Wikipedia
Amiga 2500 — Zwei Amiga 2000 als Monitorstütze (im Vordergrund ein Amiga 500 Der Amiga 2000 ist ein Personal Computer aus der Amiga Reihe. Er stellt das Highend Gegenstück zum ebenfalls 1987 erschienenen Amiga 500 dar. Der Amiga 2000 war als Desktop Computer… … Deutsch Wikipedia
Amiga OS — AmigaOS Basisdaten Entwickler Commodore International (1.0 3.1) Haage Partner (3.5 3.9) … Deutsch Wikipedia
Amiga CD32 — CD³² Hersteller Commodore Typ Stationäre Spielkonsole Generation 5. Generation Hauptprozessor 68EC020, 14 MHz Grafikprozessor … Deutsch Wikipedia