Håll och ändra

Håll och ändra (bokstavligen från engelska. "Hold and Change", mer känd som HAM ) är ett unikt videoläge tillgängligt på persondatorer i Amiga -familjen . Den fungerar enligt principen att komma ihåg ( hålla ) färgen på den senast visade pixeln och sedan ändra dess röda ( R ), gröna ( G ) eller blå ( B ) komponenter. Detta gör att den klassiska Amiga -kretsuppsättningen kan visa upp till 4096 färger på skärmen, med 6 fysiska bitar per punkt ( HAM6-läge ) som används för att spela in färgen (i AGA - chipset HAM8- läge).8 bitar används, vilket möjliggör samtidig visning av 262 144 färger på skärmen).

Nackdelen med videoläget är att vissa färgförändringar kräver att komponenterna i 3 pixlar som ligger bredvid den punkt vars färg ändras ändras. Därför, om paletten för skärmen valdes utan framgång, kan bildartefakter visas , ungefär liknande artefakterna som ses i en liknande JPEG- grafikinformationskomprimeringsalgoritm . En annan nackdel med detta läge är svårigheten att använda det för vektorgrafik .

Det var dock detta läge som gjorde att Amiga 1000 blev världens första multimedia -persondator , vilket gav den en överväldigande fördel gentemot konkurrerande plattformar. HAM - läget gjorde det möjligt för första gången att visa fotografier på en datorskärm, samt vissa 3D-modeller med fotorealistisk kvalitet. En tid senare dök hårdvara och mjukvara upp för bearbetning och titel av videosekvensen. Således tillät HAM också Amiga att leda området för icke-linjär videoredigering under många år (även efter Commodore Corporations kollaps 1995), samtidigt som det förblev ouppnåeligt vad gäller kostnad och hade det bästa mjukvarustödet.

Beskrivning

Klassiska Amigas baserade på OCS / ECS -chipset använder endast 6 bitar för att skriva färgen på en punkt. De flesta visningslägen fungerar med färger indexerade i paletten, och 5 bitar används för att skriva färgindex. Därför kan endast 25 (=32) färger visas på sådana skärmar samtidigt . Andra skärmlägen tillåter att den 6:e biten används för att indikera färgens ljusstyrka (pixlar med den 6:e färgbiten inställd visas med halv ljusstyrka), det vill säga att antalet färger som visas samtidigt ökas till 2×2 5 (=64).

HAM6-läget använder 6 bitar, varav två typiskt indikerar om de lagrade 4 bitarna var ett index i en 16-färgspalett, eller om det var en förändring i en av färgkomponenterna (till exempel de röda och gröna komponenterna i föregående visade pixlar lagras och ändras nu till blått). De sparade 4 bitarna används som det absoluta värdet för den modifierade RGB-komponenten.

Följande värden är möjliga:

I det här fallet måste pixelraden alltid börja med en av färgerna som är indexerade i paletten.

HAM6 tillåter samtidig visning av högst 4096 färger, eftersom algoritmen beskriver 12-bitars grafik (4 bitar för var och en av färgkomponenterna), och 2 12 = 4096.

Den klassiska Amiga baserad på AGA -kretsuppsättningen använder 8 bitar (2 8 = 256 färger) för att lagra färgen på en pixel, och HAM8- läget är också tillgängligt , som beskriver 18-bitars grafik (6 bitar per komponent). HAM8-läget tillåter maximalt 262 144 färger (218) att visas samtidigt från en palett med 16 777 216 färger (24-bitars palett).

Använda HAM

HAM -läget implementerades ursprungligen i Amiga -kretsuppsättningen som ett experimentellt. För att citera Jay Miner (känd som "fadern" till Amiga):

Hold and Modify kom till som ett resultat av en resa där jag fick se militära flygsimulatorer i aktion och få någon form av VR- upplevelse . Implementeringen av NTSC på chipet innebär att du kan behålla en färgs nyans och ändra dess ljusstyrka med bara fyra bitar. När vi flyttade till RGB sa jag att den här funktionen hade blivit värdelös och bad killen som var ansvarig för att skapa chiplayouten att ta bort den. Han kom tillbaka till mig och sa att detta skulle lämna ett stort hål i mitten av chipet och att det skulle ta honom minst tre månader att göra om topologin. Naturligtvis hade vi inte råd. Jag trodde inte att någon någonsin skulle använda det. Och här hade jag fel igen, för detta gav bara Amiga den färgpalett som resten saknade.

HAM -läge stöds inte på AmigaOS 4 och MorphOS , och den chipset-orienterade programvaran från den klassiska Amiga visade sig vara inkompatibel med dessa operativsystem .

Se även