|
 |
Programmazione |
VIDEO 26/59
[46 di 79] |
 |
Gestione BIOS del Video -
INT 10H
- Funzione 10H-
SottoFunz.
17H
|
INT
10H |
Funzione 10H/17H |
Legge un
blocco di Registri di
Colore del
DAC |
|
 |
legge
combinazioni
RGB
(Red
Green Blue) da uno o
più Registri di Colore
del Convertitore Analogico Digitale (DAC) consecutivi. |
 | In
ingresso:
 | AH è posto
a 10H |
 | AL
è posto
a 17H e indica la SottoFunzione
|
 | BX
indica il numero del primo
Registro DAC da coinvolgere in lettura. |
 | (poichè i
Registri DAC sono 256 solo
BL è significativo, e
BH =00H) |
 | CX
indica il numero di
Registri DAC da coinvolgere in lettura |
 | ES:DX
punta la Tabella
di CX*3 bytes
predisposta dal programma chiamante da riempire con le terne di valori
prelevate da ciascun registro |
|
 | In uscita lascia:
 | la Tabella riempita
con i valori letti dai registri, una terna di bytes per ciascuno di essi. |
|
 | La
SottoFunzione
si chiama in questo modo: |
 | Ciascun Registri DAC contiene 18 bit:
3 gruppi consecutivi di
6 bit, ciascuno in rappresentanza
di una delle possibili 26=64
gradazioni affidate alla corrispondente componente
fondamentale del colore, la
Rossa, la
Verde e la Blu. |
 | La miscela ottica di queste componenti da luogo
all'effettivo colore
RGB
(Red
Green Blue), uno dei
possibili 64*64=262144. |
 | La Funzione
legge in un colpo solo
CX
Registri di
Colore del DAC,
consecutivi, a partire da quello il cui
numero viene passato in
BX. |
 | Da ogni registro coinvolto viene letta la gradazione
RGB
(18 bit) lasciandola poi nei
3 bytes della Tabella
(puntata in ingresso da ES:DX)
predisposta dal programma chiamante. |
 | In particolare ai
6 bit meno significativi di ciascun
byte della terna è affidata la rappresentanza, in sequenza, del
Green,
del Blue)
e del Red. |
 | Naturalmente, se è stata abilitata la
trasformazione dei colori in Scala di
Grigi (per esempio con la
SottoFunzione 1BH
della Funzione
10H di
INT 10H),
i valori collocati in ogni terna della Tabella
saranno uguali tra loro, ciascuno
ricavato dalla somma pesata dei
3 bytes di colore
prelevati dal rispettivo Registri di
Colore del DAC
coinvolto in lettura,
automaticamente ricalcolata sulla
base della formula: |
|
gradazione grigia
= (30% di Rosso)
+ (59% di Verde) + (11%
di Blu) |
 | Per poter trarre vantaggio da questa
SottoFunzione è sempre consigliabile
attivare in precedenza la
Funzione 1AH
di
INT 10H al fine di conoscere con certezza il
tipo di adattatore e
di monitor su cui si lavora. |
 | In ogni caso esso funziona
bene sia nei Modi Testo che in quelli
Grafici. |
 | Per saperne di più sull'uso avanzato del colore
e sul Controllo dei
Registri di
Colore del DAC
clicca qui.
|
 |
L’analisi delle problematiche legate alla gestione del Colore con
i Registri DAC
è stata affrontata con cura nei programmi applicativi. |
 | L'eseguibile
B10_1017.COM mostra
l’effetto della SottoFunzione
17H della Funzione
10H dell'INT 10H
ed è una vera e propria utility; la
versione grafica,
B10g1017.COM, mostra le
differenze di contenuto dei Registri quando si passa da un
ModoTesto
ad un Modo Grafico. |
 | Il sorgente è documentato nella sezione ASM
(clicca sull'icona ,
nel menu a sinistra). |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|