|  | 
      
    
      Come Funziona
     
    
    
      Area Comunicaz. Bios  | |
| Video | 
| Programmazione | PROCEDURE BIOS 18/59 [40 di 84] | 
| 
 | 
|  | Gestione BIOS del Video  - 
  INT 10H 
  - Funzione 10H- 
  SottoFunz.
  03H 
 
 | 
| 
 | 
|  | Controlla la possibilità di disporre di testi con sfondo lampeggiante o con sfondo ad alta intensità. | 
| 
 | 
|  | In
                ingresso: 
 | 
| 
 | 
|  | In uscita lascia: 
 | 
| 
 | 
|  | La SottoFunzione si chiama in questo modo: | 
| 
 | 
| 
 | 
|  | Nei Modi Testo ogni carattere è caratterizzato da 2 bytes, posti in sequenza nelle locazioni del Buffer del Video (RamVideo) a partire dall'indirizzo B800H; il primo (posto nelle locazioni pari) è il codice Ascii del carattere, e il secondo (posto nelle locazioni dispari) è il byte di attributo di colore. | 
|  | In condizioni normali la struttura del byte d'attributo è la seguente: | 
| 
 | 
| Attributo di Colore | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
| Flash | Sfondo | Primo Piano | |||||||
| 
 | 
|  | È bene chiarire che i 2 effetti 
  sullo sfondo sono alternativi: 
 | ||||
|  | In ogni caso appare evidente che l'uno o l'altro effetto è attivato solo se il bit7 del byte d’Attributo è posto a 1; non bisogna dimenticare per altro che i 2 effetti sono alternativi, cioè non è possibile avere contemporaneamente caratteri lampeggianti e caratteri con sfondo ad alta intensità. | 
| 
 | 
|  | Per default è garantita la possibilità di far lampeggiare lo Sfondo del Carattere, non quella di evidenziarlo con colori ad alta intensità! | 
|  | In effetti in tutti gli ambienti DOS (per esempio nella programmazione in Turbo Pascal) ponendo a 1 il bit7 del byte d’Attributo abbiamo sempre avuto la possibilità di imporre il lampeggio dei testi, proposti su uno degli 8 seguenti colori di Sfondo: | 
| 
 | 
| bit7 | bit6 | bit5 | bit4 | Colore dello SFONDO | 
| con 
              1 effetto FLASH dello sfondo dei testi | 0 | 0 | 0 | Nero | 
| 0 | 0 | 1 | Blu | |
| 0 | 1 | 0 | Verde | |
| 0 | 1 | 1 | Azzurro | |
| 1 | 0 | 0 | Rosso | |
| 1 | 0 | 1 | Magenta | |
| 1 | 1 | 0 | Marrone | |
| 1 | 1 | 1 | Bianco | 
| 
 | 
|  | Con l'avvento dei nuovi sistemi operativi (Win2000, WinXP) abbiamo notato che questa opportunità ci viene negata: sebbene si tenti di programmare il flash dei testi (ponendo a 1 il bit7 del byte d’Attributo) al posto dell'effetto desiderato ci viene propinata una ulteriore serie 8 di colori per lo sfondo: | 
| 
 | 
| bit7 | bit6 | bit5 | bit4 | Colore dello SFONDO | 
| con 
              1 effetto ALTA INTENSITA' dello sfondo dei testi | 0 | 0 | 0 | Grigio | 
| 0 | 0 | 1 | Blu elettrico | |
| 0 | 1 | 0 | Verde chiaro | |
| 0 | 1 | 1 | Celeste | |
| 1 | 0 | 0 | Rosa | |
| 1 | 0 | 1 | Magenta Chiaro | |
| 1 | 1 | 0 | Giallo | |
| 1 | 1 | 1 | Bianco Brillante | 
| 
 | 
|  | In realtà esiste la possibilità di porre rimedio a questo ulteriore sgarbo di zio Bill & Soci.... | ||||
|  | Bisogna sapere che è il valore del bit3 del
   
  Registro di controllo di Modo (Registro 
  10H del 
  
  Controller di Attributo) che controlla l'effetto 
  sullo
     Sfondo del carattere (comunque imposto ponendo a 1 
  il bit7 del byte 
  d’Attributo): 
 | 
| 
 | 
|  | La SottoFunzione che stiamo studiando controlla il bit3 di tale registro, copiandovi il valore del bit0 di BL, cosicché se BL=01H lo Sfondo sarà lampeggiante, mentre con BL=00H lo Sfondo sarà proposto con colori evidenziati, disabilitando il lampeggio. | 
| 
 | 
|  | Da notare che la variabile di sistema 0000:0465H, dedicata al Registro di Controllo di Modo CGA (ma emulato da diversi Adattatori video), associa le medesime informazioni al bit5 del suo contenuto. | 
| 
 | 
|  | Anche la Funzione 1BH di INT 10H può servire allo scopo: dopo la sua chiamata viene costruita una Tabella di 64 bytes, la cui quarantacinquesima locazione (Offset 002DH) offre questo dato, casualmente ancora attraverso il suo bit5. | 
| 
 | 
|  | 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. | 
| 
 | 
|  | L'eseguibile B10_1003.COM mostra l’effetto della SottoFunzione 03H della Funzione 10H dell'INT 10H. | 
|  | Il sorgente è documentato nella sezione ASM 
  (clicca sull'icona  , 
  nel menu a sinistra). | 
| 
 | 
|   | Video01 |   | PROCEDURE BIOS 18/59 |  |  |  | ||
| 40 di 84 | 
| 
 | 
| 
 | 
| 
 | 
| Home  | 
 | |||||||
| 
 | Motore Ricerca | 
 |