www.wikidata.de-de.nina.az
Der Copper ist einer der Koprozessoren im Chipsatz des Amiga Computers von Commodore 1 Seine grundlegendste Aufgabe ist bei Beginn eines Bildaufbaus die Videologik des Chipsatzes zu initialisieren damit bei jedem Bildaufbau die gleichen Speicherbereiche fur ein Standbild dargestellt werden 2 Der Copper ist so konstruiert dass an bestimmten Stellen des Bildschirms dynamische Umkonfigurationen der Videologik vorgenommen werden konnen und so die Anzeige flexibler gestaltet werden kann Das Betriebssystem nutzt diese Moglichkeiten intensiv bei der Verwaltung sogenannter Screens der Copper ermoglicht dass verschiedene Screens der Amiga Grafik gleichzeitig hohenversetzt dargestellt werden konnen Dabei kann jeder Screen in einem vollig anderen Darstellungsmodus arbeiten Das wird erreicht indem in einer bestimmten Bildschirmzeile die Konfiguration der Videologik komplett geandert 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 zuruckzufuhren sind werden in Spielprogrammen verwendet Inhaltsverzeichnis 1 Funktionsweise 2 Copper Tricks 3 Hardware Organisation 4 Literatur 5 Weblinks 6 EinzelnachweiseFunktionsweise BearbeitenDer 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 displaystyle x nbsp und y displaystyle y nbsp warten lasst weiterhin kann auf die Fertigstellung eines Blits gewartet werden ein MOVE Befehl der ein wahlbares Register im Chipsatz auf einen neuen vorgebbaren 16 Bit Wert setzt ein SKIP Befehl der den folgenden Befehl uberspringt wenn der Elektronenstrahl bereits eine gewisse Position passiert hat Damit kann man Schleifen in Copperlisten programmieren Durch Manipulation von speziellen Adressregistern konnen Sprunge 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 moglich bildsynchrone Interruptanforderungen an die CPU abzusetzen Die Auflosung der horizontalen Warteposition betragt 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 geandert wird Typischerweise wird es mit der Anderung 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 uber eine ganze Reihe von Pixeln hinziehen kann Das Betriebssystem fugt daher in seine eigenen Copperlisten beim Original Chip Set zwischen zwei vertikal aufeinander folgenden Screens eine schwarze Zeile ein beim AGA Chipsatz mussen es sogar drei sein Einfachere Umkonfigurierungen als Screen Umschaltungen lassen sich naturlich auch ohne Schwarzschaltungen direkt erledigen Wenn mehr als zwei Screens gleichzeitig anzuzeigen sind mussen 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 Verfugung um Copperlisten zu mischen und aus zu den einzelnen Screens gehorenden Copperlisten eine finale Copperliste zu erzeugen die dem Copper zum Abarbeiten ubergeben wird Copper Tricks BearbeitenDie Programmierbarkeit durch den Copper erlaubte diverse Tricks im Display Wiederverwendung von Sprites Die Amiga Hardware bietet nur 8 Sprites aber mit Unterstutzung 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 andern 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 Auflosungen und Farbpaletten mitten im Bild andern Eine der ungewohnlichsten Eigenschaften des Amiga der Computer kann die Auflosung von einer Zeile zur nachsten wechseln also verschiedene horizontale Auflosungen auf demselben Schirm gleichzeitig anzeigen Das ahnelt von weitem der Moglichkeit von Windows mit den Tasten Alt Tab zwischen verschiedenen bildschirmfullenden 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 Auflosung zeichnen zu lassen gleichzeitig aber am oberen oder unteren Schirmrand eine hochaufgeloste detaillierte Werkzeugleiste anzuzeigen Bei Spielprogrammen hat man oft im oberen Anzeigenteil eine bewegte Szenerie in niedriger Auflosung und am unteren Rand ebenfalls eine hochaufgeloste Leiste mit Daten und Aktionsknopfen 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 Farbeinschrankungen 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 aufgelostes 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 Beruhmtheit erlangten Hardware Organisation BearbeitenDer 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 erhalt der Copper vom Denise Chip der die Videoausgabe steuert Ebenfalls im Denise Chip liegen die Videokonfigurationsregister die ublicherweise uber die Copperliste modifiziert werden Siehe auch Commodore ProduktubersichtLiteratur BearbeitenCommodore 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 Weblinks BearbeitenCopper Chunky Programmierung eines Copper Tricks Dutch Retro Guy 2021 Grade my waterbear 3 by Scoopex Tokyo Demofest 2016 Grizzlybear by Damones Simulaatio 2016 256x256 Rotozoom in 50 fps in 12 Bit Farbtiefe Coppershade Anleitungen zur Programmierung mit dem CopperEinzelnachweise Bearbeiten Der Copper im Agnus 8370 auf cbmmuseum kuto de General purpose of coprocessor Copper auf amigadev elowar com 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 ScoopexUSV DCommodore ProduktubersichtPET CBM KIM 1 PET 2001 CBM 3000 CBM 4000 CBM 8000 CBM 8032 MMF 9000 nbsp 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 1000 Sidecar 500 500 Plus 2000 CDTV 600 3000 T UX 1200 4000 CD IBM kompatibel PC 1 PC 10 bis PC 70 x86LT A1060Peripherie Laufwerke Datasette CBM Diskettenlaufwerke VC15xx VC1540 41 VC1551 VC1570 71 VC1581 SFD100x SFD1001 SFD1002 CBM 2020 bis 8250 CBM 4040 A570 A590 A3070Drucker MPS Serie MPS 801 MPS 802 MPS 803 MPS 1000 MPS 1270 MPS 1500 C MPS 1550 C VC1520 CBM 8000 Serie CBM 4022 CBM 4023Sonstige Hardware CBM Bus Zorro Bus Uhrenport WOM RAM Expansion Unit Turbokarte Mause Commodore 1350 1351 Monochrom und Farb Monitore 1701 1702 1703 1801 1802 1081 1084 1084S 1085 1901 1942 Lautsprecher A10 Mehrfachbenutzersysteme MBS Historische Hardware Schreib und Tischrechenmaschinen LED Uhren 2000K 3000H ChessmateChips MOS Technology 6502 6510 VIC VIC II TED VDC SID PIA VIA RIOT TPI CIA ACIA Agnus Blitter Copper Paula EHB Modus HAM ModusChipsatze OCS ECS AGA AAA Chip RAM und Fast RAMSoftware Commodore BASIC Commodore Basic V2 Kernal CBM ASCII PETSCII GEOS Commodore DOS AmigaOS Kickstart Workbench ARexx AmigaGuide AMIX Spielkonsole nur Prototyp Abgerufen von https de wikipedia org w index php title Copper Amiga amp oldid 217666804