Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Funzioni BIOS

Home » Programma il Computer » Tutorial Assembly

Tutorial Assembly - Funzioni BIOS

  Programmazione

VIDEO 24/59 [44 di 79] 

 

bullet Gestione BIOS del Video - INT 10H - Funzione 10H- SottoFunz. 13H

 

INT 10H

Funzione 10H/13H Imposta la Pagina di colore DAC attiva e/o il loro numero

 

bulletSeleziona la Pagina dei Colori da utilizzare nei Modi Video che ne ammettono l'uso, per testi o pixel.

 

bulletIn ingresso:
bullet AH è posto a 10H
bulletAL è posto a 13H e indica la SottoFunzione
bulletBL = 00H stabilisce il numero di Pagine di Colori da usare come sorgente per l'hardware di decodifica
bullet BL=00H divide i Registri DAC in  4 Pagine da 64 Registri ciascuna (00H÷3FH,40H÷7FH,80H÷BFH e C0H÷FFH)
bullet BL=01H divide i Registri DAC in  16 Pagine da 16 Registri ciascuna (Tavolozze EGA, 00H÷0FH, 10H÷1FH, .., F0H÷FFH)
bulletBL = 01H stabilisce con quale tra le possibili Pagine di Colore si desidera lavorare;
bulletBH indica il numero della Pagina selezionata, tra 00H÷03H se il Set dei Registri DAC è stato diviso in 4 Pagine da 64 Registri ciascuna
bulletBH indica il numero della Pagina selezionata, tra 00H÷0FH se il Set dei Registri DAC è stato diviso in 16 Pagine da 16 Registri ciascuna

 

bulletIn uscita lascia:
bulletnulla

 

bulletLa SottoFunzione si chiama in questo modo:

               


 


  

bulletPer quasi tutti i Modi è dunque possibile scegliere gruppi di gradazioni del Colore alternative; fa eccezione il Modo Grafico 13H (320x200, 256 colori,VGA) per il quale la Funzione non è valida.
bulletPer apprezzare la potenza di questa SottoFunzione è opportuno leggere con attenzione la premessa descritta con dettaglio in questa pagina, nella quale si spiega che:
bulletil colore dei pixel posti a video dipende dal contenuto di un gruppo di Registri DAC
bulletl'indirizzo del Registro DAC desiderato dipende dal contenuto Registri di Tavolozza, 00H÷0FH e di Selezione Colore, 14H
bulletl'organizzazione e la dimensione dei gruppi di Registri DAC dipende dal  bit7 del Registro di Controllo di Modo, 10H

 

bulletIn pratica questa SottoFunzione consente di operare a livello Bios le medesime scelte: se chiamata con BL=00H, forza il suddetto bit7 allo stesso valore del bit0 di BH, predisponendo così il modo con cui verranno usati i Registri per stabilire l'effettivo Colore utilizzato:
bulletcon BH=00H (bit7=0) il set di 256 Registri DAC viene diviso in 4 Pagine da 64 Registri ciascuna (00H÷3FH,40H÷7FH,80H÷BFH e C0H÷FFH): i 6 bit (bit5÷bit0) dei Registri di Tavolozza sono usati per localizzare i 64 colori dentro ciascun gruppo, mentre 2 bit (bit3÷bit2) del Registro di Selezione sono usati per stabilire a quale delle 4 Pagine si vuole accedere.
bulletcon BH=01H (bit7=1)  il set di 256 Registri DAC viene diviso in 16 Pagine da 16 Registri ciascuna (00H÷0FH, 10H÷1FH, .., F0H÷FFH): 4 dei 6 bit (bit3÷bit0) dei Registri di Tavolozza sono ancora usati per localizzare i 16 colori dentro ciascun gruppo, mentre 4 bit (bit3÷bit0) del Registro di Selezione stabiliscono a quale delle 16 Pagine si vuole accedere.

 

bulletIn una fase successiva questa SottoFunzione, chiamata ora con BL=01H, si stabilisce il numero (passato in BH) della Pagina di Colore con cui si desidera lavorare, tra 00H÷03H (con 4 Pagine da 64 Registri) o tra 00H÷0FH (con 16 Pagine da 16 Registri)
bulletSe necessario è resa così possibile la veloce commutazione tra una Pagina e l'altra del gruppo selezionato.

 

bulletL'eseguibile B10_1013.COM mostra l’effetto della SottoFunzione 13H della Funzione 10H dell'INT 10H.
bulletIl programma è molto prezioso: contiene una tabella di terne di codici sostanzialmente identica a quella memorizzata nei Registri DAC dal Modo Grafico 13H a 256 colori
bulletPer ragioni di opportunità è stata modificata solo la prima terna di ogni gruppo di 16, forzata a 00H, 00H, 00H:
bulleti valori originali infatti (mantenuti comunque come commento), puntati come è noto dal Registro di Tavolozza 00H (a sua volta attivato dal nibble 0000 dell'Attributo), oltre a influenzare il colore di Primo Piano serve anche per lo Sfondo dei caratteri posti a Video
bulletse la prima cosa può essere gradevole e opportuna, la seconda disturba molto l'effetto degli altri colori che, pertanto, si preferiscono presentati su Sfondo Nero.
bulletL'utilità del programma consiste nel fatto che può costituire una valida base di partenza per creare un proprio set di 16 Pagine di Colori, facilmente commutabili tra di loro; l'esperienza sottolineata poco fa insegna che, comunque, conviene rinunciare al primo Registro di Colore DAC di ogni gruppo per garantire la disponibilità dello Sfondo Nero.
bulletDopo che la scelta è stata fatta la Pagina di 16 Colori selezionata rimarrà attiva fino alla successiva eventuale modifica (anche al rientro al DOS).
bulletDa notare che la scrittura della lunga Tabella TabCol poteva essere evitata, ma è stata volutamente lasciata per dare la possibilità al lettore di intervenire sul sorgente al fine di provare le proprie scelte con una modifica diretta dei singolo valori
bulletComunque, per evitare la scrittura della Tabella si può seguire la tecnica suggerita dal programma B10g1017.COM, nel quale prima si riserva lo spazio ad essa necessario e poi la si carica con la SottoFunzione 17H, leggendo le terne direttamente da tutti i 256 Registri di Colore del DAC, subito dopo che il BIOS gli ha caricati per effetto della richiesta esplicita di lavorare in Modo Grafico 13H; lo stralcio del codice che ci interessa è il seguente:
TabCol DB 256*3 dup (00H) ;256=64*4 Terne, Componenti RVB, Rosso-Verde-Blu
bulletIl sorgente è documentato nella sezione ASM (clicca sull'iconaApplicazioni Software, nel menu a sinistra).

    

Pagina Precedente Funzioni BIOS Pagina Successiva VIDEO 24/59   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
44 di 79
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

    

Funzioni BIOS » Elenco Progressivo | Seriale | Parallela | Stampanti | Video | Cursore
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati