<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Copper_%28Amiga%29</id>
	<title>Copper (Amiga) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Copper_%28Amiga%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Copper_(Amiga)&amp;action=history"/>
	<updated>2026-06-21T07:30:10Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Copper_(Amiga)&amp;diff=652812&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Copper_(Amiga)&amp;diff=652812&amp;oldid=prev"/>
		<updated>2026-01-31T08:18:49Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Copper&amp;#039;&amp;#039;&amp;#039; ist einer der [[Koprozessor]]en im [[Original Chip Set|Chipsatz]] des [[Amiga]]-Computers von [[Commodore International|Commodore]].&amp;lt;ref&amp;gt;[https://cbmmuseum.kuto.de/zusatz_8370_agnus.html &amp;#039;&amp;#039;Der Copper&amp;#039;&amp;#039; im Agnus 8370] auf cbmmuseum.kuto.de&amp;lt;/ref&amp;gt; Seine grundlegendste Aufgabe ist, bei Beginn eines [[Bildaufbau]]s die [[Videologik]] des Chipsatzes zu initialisieren, damit bei jedem Bildaufbau die gleichen Speicherbereiche (für ein Standbild) dargestellt werden.&amp;lt;ref&amp;gt;[http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0048.html General purpose of coprocessor Copper] auf amigadev.elowar.com&amp;lt;/ref&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Das Betriebssystem nutzt diese Möglichkeiten intensiv bei der Verwaltung sogenannter &amp;#039;&amp;#039;Screens&amp;#039;&amp;#039;&amp;amp;nbsp;– der Copper ermöglicht, dass verschiedene &amp;#039;&amp;#039;Screens&amp;#039;&amp;#039; der Amiga-Grafik gleichzeitig höhenversetzt dargestellt werden können. Dabei kann jeder &amp;#039;&amp;#039;Screen&amp;#039;&amp;#039; 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]].&lt;br /&gt;
&lt;br /&gt;
Weitere Effekte, die auf Umkonfigurationen der Videologik an einer bestimmten Bildschirmkoordinate zurückzuführen sind, werden in Spielprogrammen verwendet.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Der Copper arbeitet eigene Programme, die sogenannten &amp;#039;&amp;#039;Copperlisten,&amp;#039;&amp;#039; synchron zum Elektronenstrahl des angeschlossenen Monitors ab. Diese Programme sind aus nur drei verschiedenen Grundbefehlen aufgebaut:&lt;br /&gt;
* ein WAIT-Befehl, der den Copper passiv auf Erreichen einer bestimmten Bildschirmkoordinate (bei Vorgabe der Werte von &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;) warten lässt; weiterhin kann auf die Fertigstellung eines [[Bit blit|Blit]]s gewartet werden;&lt;br /&gt;
* ein MOVE-Befehl, der ein wählbares [[Register (Computer)|Register]] im [[Chipsatz]] auf einen neuen, vorgebbaren 16-Bit-Wert setzt;&lt;br /&gt;
* ein SKIP-Befehl, der den folgenden Befehl überspringt, wenn der Elektronenstrahl bereits eine gewisse Position passiert hat. Damit kann man Schleifen in Copperlisten programmieren.&lt;br /&gt;
&lt;br /&gt;
Durch Manipulation von speziellen Adressregistern können Sprünge implementiert werden.&lt;br /&gt;
Weiterhin kann dem Copper erlaubt werden, den [[Amiga Blitter|Blitter]] zu steuern und damit mittelbar auch beliebige Adressen im [[Chip-RAM]] manipulieren. Auch ist es möglich, bildsynchrone Interruptanforderungen an die [[Hauptprozessor|CPU]] abzusetzen.&lt;br /&gt;
&lt;br /&gt;
Die Auflösung der horizontalen Warteposition beträgt beim [[Original Chip Set]] vier Low-Resolution- bzw. acht High-Resolution-[[Pixel]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 [[Advanced Amiga Architecture|AGA-Chipsatz]] müssen es sogar drei sein. Einfachere Umkonfigurierungen als Screen-Umschaltungen lassen sich natürlich auch ohne Schwarzschaltungen direkt erledigen.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Das Betriebssystem stellt Funktionen zur Verfügung, um Copperlisten zu mischen und aus zu den einzelnen &amp;#039;&amp;#039;Screens&amp;#039;&amp;#039; gehörenden Copperlisten eine finale Copperliste zu erzeugen, die dem Copper zum Abarbeiten übergeben wird.&lt;br /&gt;
&lt;br /&gt;
== Copper-Tricks ==&lt;br /&gt;
Die Programmierbarkeit durch den Copper erlaubte diverse Tricks im Display:&lt;br /&gt;
* „Wiederverwendung“ von [[Sprite (Computergrafik)|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.&lt;br /&gt;
* Anzeige-[[Bildauflösung|Auflösungen]] und [[Indizierte Farben|Farbpaletten]] mitten im Bild ändern: Eine der ungewöhnlichsten Eigenschaften des Amiga&amp;amp;nbsp;– 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&amp;amp;nbsp;– beide sind gleichzeitig sichtbar. Malprogramme benutzen dies, um den Benutzer direkt in einen [[Hold-And-Modify-Modus|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.&lt;br /&gt;
* Sogenanntes „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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Besonders in der Programmierer-[[Demoszene]] wurden solche Tricks zu immer beachtlicheren Effekten gesteigert. Es gab z.&amp;amp;nbsp;B. in Frankreich eine Programmierergruppe, die sich &amp;#039;&amp;#039;Wild Copper&amp;#039;&amp;#039; nannte und deren Erzeugnisse eine gewisse Berühmtheit erlangten.&lt;br /&gt;
&lt;br /&gt;
== Hardware-Organisation ==&lt;br /&gt;
Der Copper ist im [[Agnus (Amiga)|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 [[Direct Memory Access|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.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Siehe auch:&amp;#039;&amp;#039;&amp;#039; [[Commodore-Produktübersicht]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Commodore Business Machines, Inc.: &amp;#039;&amp;#039;Amiga Hardware Reference Manual&amp;#039;&amp;#039;. 4. Print. Addison-Wesley Publishing Company Inc., Reading MA u. a. 1987, ISBN 0-201-11077-6 (&amp;#039;&amp;#039;Amiga technical reference series&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://powerprograms.nl/amiga/copper-chunky.html Copper Chunky] Programmierung eines Copper-Tricks, Dutch Retro Guy 2021&lt;br /&gt;
* [https://www.pouet.net/prod.php?which=66955 Grade my waterbear]&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;To establish a generally usable Copperchunky mode on A500 presents a substantially trickier challenge, with the first limit to overcome is a width of 31 x 4 = 124px (with 31 colors stealing 25% of the CPU time). The trick is to change 50 colors per line without completely choking the CPU into uselessness for anything, let alone a zoomrot.&amp;#039;&amp;#039; [https://www.youtube.com/watch?v=mUFgKuojb00 ScoopexUS]&amp;lt;/ref&amp;gt; by Scoopex, Tokyo Demofest 2016&lt;br /&gt;
* [https://www.pouet.net/prod.php?which=67475 Grizzlybear] by Damones, Simulaatio 2016. 256x256 Rotozoom in 50 fps in 12 Bit Farbtiefe&lt;br /&gt;
* [http://coppershade.org/ Coppershade] Anleitungen zur Programmierung mit dem Copper&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste Commodore}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Amiga]]&lt;br /&gt;
[[Kategorie:Commodore-Chip]]&lt;br /&gt;
&lt;br /&gt;
[[en:Original Chip Set#Copper]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>