Hold And Modify: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Bot: Aggiungo template {{interprogetto}} (FAQ) |
||
(26 versioni intermedie di 16 utenti non mostrate) | |||
Riga 1:
[[File:Screen color test Amiga 4096colors HAM.png|thumb|right|Esempio di immagine a 4.096 colori visualizzata su Amiga in modalità HAM]]
Con '''Hold-And-Modify''', spesso indicata con la sua sigla HAM, si intende una famiglia di modalità [[video]] di tipo grafico proprie della [[piattaforma (informatica)|piattaforma]] [[Amiga]].
La modalità HAM originaria, disponibile con i [[chipset]] [[Original Chip Set|OCS]], [[Enhanced Chip Set|ECS]] e [[Advanced Graphics Architecture|AGA]], permette di visualizzare sullo schermo tutti i 4.096 colori disponibili usando solo 6 [[bit per pixel]] invece dei 12 bit per pixel che sarebbero necessari. L'HAM funziona sulle sequenze di [[pixel]] della stessa linea: dei 6 bit a disposizione, due fungono da bit di controllo e stabiliscono il significato dei restanti quattro bit: se cioè verrà modificata una delle componenti [[RGB]] del pixel precedente, o se tutte e tre le componenti verranno prese da uno dei 16 colori di una particolare [[Tavolozza (informatica)|palette]] indicizzata.
Il modo HAM può essere visto come una tecnica di [[compressione dati lossy]], dove 12 bit di informazione di colore vengono memorizzati in 6 bit di memoria (con riduzione della qualità), e vengono decompressi via hardware in [[tempo reale]] man mano che il buffer dello schermo viene letto e visualizzato.▼
▲
▲Il modo HAM originario è supportato dall'[[Original Chip Set|OCS]], disponibile nei primi Amiga. Negli Amiga basati sul chipset [[Advanced Graphics Architecture|AGA]], è disponibile anche un nuovo modo HAM che usa 8 bitplane, grazie al quale è possibile visualizzare 262.144 colori contemporaneamente. Per distinguere i due modi, vennero chiamati "HAM6" e "HAM8".
== Funzionamento
[[File:Amiga 500-3000 HAM6.jpg|thumb|right|I colori ottenibili in modalità HAM6]]
I chipset [[Original Chip Set|OCS]] e [[Enhanced Chip Set|ECS]] supportano 16 livelli distinti per le componenti cromatiche rossa, verde e blu, per un totale di 4.096 colori possibili (16 * 16 * 16 = 4096). Ognuna delle 3 componenti richiede 4 [[bit]] di memoria (16 = 2<sup>4</sup>),
Tuttavia, i chipset OCS ed ECS supportano
{| class="wikitable"
*'''Da tavolozza''': il colore viene preso dalla tavolozza, usando come indice i 4 bit di dati.▼
! 2 bit di controllo || 4 bit di dati|| Effetto
*'''Modifica Rosso''': usa il colore del pixel precedente, modificato nella sua componente rossa.▼
|-
*'''Modifica Verde''': usa il colore del pixel precedente, modificato nella sua componente verde.▼
▲
*'''Modifica Blu''': usa il colore del pixel precedente, modificato nella sua componente blu.▼
|-
▲
|-
▲
|-
▲
|}
== Funzionamento
Con l'[[Advanced Graphics Architecture|AGA]], le capacità grafiche di Amiga vennero migliorate. Si passò da 4 ad 8 bit per componente cromatica, per un totale di 16.777.216 di colori possibili. Da 6 bit per pixel si passò inoltre a 8 bit per pixel, che consentivano di indicizzare una tavolozza estesa a 256 colori.
{| class="wikitable"
! 2 bit di controllo || 6 bit di dati|| Effetto
|-
| <code>00</code> || <code>XXXXXX</code> || da tavolozza (il colore viene preso da una tavolozza di 64 colori usando come indice i 6 bit di dati);
|-
| <code>01</code> || <code>BBBBBB</code> || modifica blu (usa il colore del pixel precedente modificato nella sua componente blu)
|-
| <code>10</code> || <code>RRRRRR</code> || modifica rosso (usa il colore del pixel precedente modificato nella sua componente rossa)
|-
| <code>11</code> || <code>GGGGGG</code> || modifica verde (usa il colore del pixel precedente modificato nella sua componente verde)
|}
== Vantaggi e svantaggi ==
Nel 1985, quando fu lanciato l'Amiga, il modo HAM costituiva un vantaggio rispetto ai sistemi concorrenti, in quanto
Il modo HAM è solo un'approssimazione del [[truecolor]]. Possono essere necessari fino a tre pixel per passare da un colore ad un altro, sicché nel visualizzare cambiamenti repentini di colore
Il modo HAM è inoltre difficile da usare nei giochi e nelle applicazioni dove il contenuto dello schermo va modificato. Se si fa scorrere lo schermo verso sinistra, fino a farne uscire un pixel "di base", i pixel successivi, da questo dipendenti, assumono colori errati. Questo effetto collaterale complica la gestione degli scorrimenti orizzontali. Una cosa analoga succede se un pixel "di base" viene inserito in una sequenza di pixel interdipendenti; per questo motivo è difficile disegnare i BOB (gli ''[[Sprite (informatica)|sprite]]'' di Amiga) con il Blitter senza rovinare l'immagine sottostante.
==
<references />
==Bibliografia==
* ''Amiga Hardware Reference Manual'', Commodore-Amiga
* ''Specification for the Advanced Amiga (AA) Chip Set'', Commodore-Amiga
== Voci correlate ==
*[[Extra Half Brite]]
== Altri progetti ==
==Collegamenti esterni==▼
{{interprogetto}}
* Demo animati del modo [http://www.randelshofer.ch/animations/anims/eric_w_schwartz/AmigaHopAnim.HAMVE.html HAM-6] e del modo [http://www.randelshofer.ch/animations/anims/eric_w_schwartz/AmigaHopAnim.HAM8VE.html HAM-8] (richiede [[Piattaforma Java|Java]]).▼
▲== Collegamenti esterni ==
▲* Demo animati del modo [http://www.randelshofer.ch/animations/anims/eric_w_schwartz/AmigaHopAnim.
{{Amiga}}
{{Portale|Informatica}}[[
|