<?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=Hold-And-Modify-Modus</id>
	<title>Hold-And-Modify-Modus - 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=Hold-And-Modify-Modus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Hold-And-Modify-Modus&amp;action=history"/>
	<updated>2026-05-22T07:22:18Z</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=Hold-And-Modify-Modus&amp;diff=257201&amp;oldid=prev</id>
		<title>imported&gt;Manu.Shareghi: Bild und Bildunterschrift hinzugefügt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Hold-And-Modify-Modus&amp;diff=257201&amp;oldid=prev"/>
		<updated>2025-10-11T17:04:25Z</updated>

		<summary type="html">&lt;p&gt;Bild und Bildunterschrift hinzugefügt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Rgb_vs_Amiga_Ham.png|mini|Ausschnitt und Zoomvergleich zwischen dem Originalbild in Echtfarben (links) und der Amiga-HAM-Version (rechts)]]&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Hold-And-Modify-Modus&amp;#039;&amp;#039;&amp;#039; (HAM-Modus) ist ein Anzeigemodus der Grafik-[[Chipsatz|Chipsätze]] der [[Amiga]]-Plattform, um 12-[[Bit]]- und 18-Bit-Bilder mit nur 6 bzw. 8 Bits pro [[Pixel]] anzuzeigen. Dabei wird eine spezielle [[hardware]]implementierte [[Datenkompression]] verwendet, um Speicherbandbreite zu sparen.&lt;br /&gt;
&lt;br /&gt;
Falls in einer [[Interchange File Format|IFF]]-Bilddatei ein CAMG-[[Datenblock|Chunk]] vorhanden ist, kann dieser Modus am 11. Bit identifiziert werden.&lt;br /&gt;
&lt;br /&gt;
Beim HAM-Modus werden zwei Varianten unterschieden:&lt;br /&gt;
&lt;br /&gt;
* HAM- oder HAM6-Bilder können 4096 Farben darstellen und benutzen dafür sechs Bit pro Pixel und eine [[Indizierte Farben|Farbpalette]] von 16 Farben.&lt;br /&gt;
* Der HAM8-Modus wurde mit dem [[Amiga 4000]] und dem [[Amiga 1200]] eingeführt und bietet mit nur acht Bit pro Pixel und einer Basispalette von 64 Farben eine sehr gute, fotoähnliche Bildqualität. In diesem Modus können fast so viele Farben aus dem [[True Color|24-Bit-Spektrum]] dargestellt werden, wie in das [[Chip-RAM und Fast-RAM|Chip-RAM]] passen (abzüglich der ersten Pixelspalte) und wie die [[Bildauflösung]] ermöglicht.&lt;br /&gt;
&lt;br /&gt;
Die Farbe eines Pixels im HAM-Modus kann jede Farbe der 12-Bit-Farbpalette bei HAM6 bzw. der 24-Bit-Farbpalette bei HAM8 sein. Alternativ kann die Farbe des direkt links daneben liegenden Pixels übernommen werden, wobei eine der drei Farbkomponenten des [[RGB-Farbraum]]s (Rot, Grün, Blau) auf einen neuen Wert gesetzt wird. An der linken Bildseite wird die Randfarbe übernommen (Farbindex 0 der Farbpalette). Die Videohardware beginnt damit nicht beim ersten Pixel einer [[Bitplane]], sondern erst beim ersten sichtbaren Pixel&amp;lt;!--(Stichwort DIsplayWindowStaRT-Register $dff08e) - Auskommentiert, Grund: Klammer hat ohne Erklärung keinen Sinn, sondern verwirrt den Leser nur --&amp;gt;, was bei [[Bildlauf|Hardwarescrolling]] (virtueller bzw. übergroßer Screen) einen (unschönen) Unterschied macht.&lt;br /&gt;
&lt;br /&gt;
Dieses Verfahren harmoniert mit den Eigenschaften von [[Fernsehsignal]]en (FBAS), so dass die verlustbehaftete Datenkompression nicht zu Qualitätsminderung führt.&lt;br /&gt;
&lt;br /&gt;
In HAM-Bilddateien sind die Pixeldaten im BODY-Chunk als Code gespeichert, welcher in den Modus und die restlichen Bits aufgeteilt wird. Die [[Code|Kodierung]] der Pixel entspricht dem von der Videohardware verwendeten Format.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Modus&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| 00&lt;br /&gt;
| Index in der Farbpalette&lt;br /&gt;
|-&lt;br /&gt;
| 01&lt;br /&gt;
| Änderung der Blaukomponente&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| Änderung der Rotkomponente&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Änderung der Grünkomponente&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sofern ein Pixel nicht eine Farbe der Palette darstellt (Modus 00), kann nur der neue Wert eines der drei RGB-Werte angegeben werden. Die anderen beiden Werte sind die gleichen wie im Pixel zuvor. Wenn der Pixel der erste einer Bildzeile ist, wird der vorherige Pixel als RGB-Tripel (0,&amp;amp;nbsp;0,&amp;amp;nbsp;0) angenommen (anders als von der Videohardware, s.&amp;amp;nbsp;o.).&lt;br /&gt;
&lt;br /&gt;
Format von Modus und Datenbits eines Pixels im HAM6-Modus:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;543210&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;00&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039; – Farbindex &amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039; in eine 16 Einträge lange Basisfarbenpalette&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;01&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039; – Behalte den Farbwert des vorherigen Pixels, aber setze die (obersten) vier Bit von Blau auf &amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;10&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039; – Behalte den Farbwert des vorherigen Pixels, aber setze die (obersten) vier Bit von Rot auf &amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;11&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039; – Behalte den Farbwert des vorherigen Pixels, aber setze die (obersten) vier Bit von Grün auf &amp;#039;&amp;#039;wxyz&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ein HAM-Bild kann nicht direkt in ein Bild mit 256 oder weniger Farben dekodiert werden, ohne vorher eine Reduktion der Farben durchzuführen. Um die volle Qualität zu erhalten, benötigt man mindestens ein 12-Bit-Bild.&lt;br /&gt;
&lt;br /&gt;
Will man ein Bild, das in 256 oder mehr Farben vorliegt, in ein HAM-Bild konvertieren, sucht man zunächst die für dieses Bild optimale Basispalette, mit der schon möglichst viele Punkte des Bildes direkt oder nur mit geringen Abweichungen dargestellt werden können. Wenn die Basispalette festliegt, geht man zeilenweise durch das Bild und optimiert für jedes Pixel, ob es am besten durch eine der Basispalettenfarben dargestellt werden kann oder noch besser durch eine HAM-Modifikation des vorangehenden Pixels (eine der drei RGB-Farbkomponenten auf den gewünschten Wert setzen). Die Bewertung erfolgt dabei durch Abstandsberechnung im 3D-Farbraum zwischen dem Bild-Pixel und dem jeweiligen Basis- oder HAM-Kandidaten. Dies gilt so allgemein sowohl für HAM6 als auch für HAM8.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der Datenbits ist vier für Standard-HAM6 und sechs für HAM8. Die Anzahl der Bitplanes im BMHD-Chunk ist sechs bzw. acht. Wenn ein HAM-Bild als 24-Bit-Bild angezeigt werden soll, sollten die Datenbits (vier bzw. sechs) auf acht Bit erweitert werden. Der Maximalwert sollte, bei acht Bit pro RGB-Kanal, zu 255 umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
Format von Modus und Datenbits eines Pixels im HAM8-Modus:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;76543210&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;00&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039; – Farbindex &amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039; in eine 64 Einträge lange Basisfarbenpalette&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;01&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039; – Behalte den Farbwert des vorherigen Pixels, aber setze die obersten sechs Bit von Blau auf &amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;10&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039; – Behalte den Farbwert des vorherigen Pixels, aber setze die obersten sechs Bit von Rot auf &amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;11&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039; – Behalte den Farbwert des vorherigen Pixels, aber setze die obersten sechs Bit von Grün auf &amp;#039;&amp;#039;uvwxyz&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
HAM8-Bilder müssen in 24-Bit-Bilder umgewandelt werden, um auf Nicht-Amiga-Systemen die volle Bildqualität beizubehalten.&lt;br /&gt;
&lt;br /&gt;
Um im HAM8-Modus wirklich alle Farben der 24-Bit-Palette darstellen zu können, muss man die 64 Farben der Basispalette so vorbelegen, dass die 64 Kombinationsmöglichkeiten der untersten zwei Bit aller Farbkomponenten genau abgedeckt werden. Dann kann man mittels des HAM-Mechanismus von diesen Basisfarben aus alle Farben der 24-Bit-Palette erreichen. Begrenzt wird die gleichzeitig darstellbare Zahl von Farben nur durch die Größe des [[Chip-RAM]]s. Letztere beträgt zwei Megabyte, so dass man auf einem HAM8-Bild ca. 2 Millionen verschiedene Farben darstellen kann. (Vom Chip-RAM gehen diverse andere Beträge ab, für die [[Amiga Workbench|Workbench]] und diverse [[Datenstruktur]]en des [[Betriebssystem]]s, die im Chip-RAM stehen müssen.)&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
&lt;br /&gt;
Es war lange in der Diskussion, diesen HAM-Modus, der auf der RGB-Farbdarstellung beruht, durch einen entsprechenden Modus aufbauend auf dem [[HSV-Farbraum]] (Farbton, Sättigung, Helligkeit) zu ersetzen, wovon man sich noch höhere Kompressionsmöglichkeiten und/oder noch bessere Darstellungsqualität versprach. Der HAM-Modus ist jedoch auf aktuellen Computern aufgrund der gefallenen [[Random Access Memory|RAM]]-Preise und der schnelleren Grafik-Hardware nicht mehr notwendig, so dass diese Überlegungen bisher zu keiner praktischen [[Implementierung]] geführt haben.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Extra-Halfbright-Modus]]&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste Commodore}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Computergrafik]]&lt;br /&gt;
[[Kategorie:Amiga]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Manu.Shareghi</name></author>
	</entry>
</feed>