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 02/59 [22 di 79] 

 

bullet Gestione BIOS del Video - INT 10H - Funzione 00H

 

INT 10H

Funzione 00H Gestione del Modo Video

 

bulletCambia il Modo Video corrente in quello desiderato, scelto tra quelli supportati dalla propria scheda video.
bulletCome effetto collaterale produce l'effetto ClearScreen (lo schermo viene cancellato) e il cambiamento (nei Modi Testo) delle dimensioni del Cursore (Nei Modi Grafici il cursore non è visibile).

 

bulletIn ingresso:
bullet AH è posto a 00H
bulletAL indica il codice del Modo Video desiderato

 

bulletIn uscita lascia:
bulletnulla.

 

bulletLa Funzione si chiama in questo modo:

               

  

bulletVa sottolineato che quando si cambia il Modo Video viene riconfigurato e reinizializzato tutto l'ambiente Video; il Controller CRT dell'Adattatore Video viene riprogrammato e molte variabili di sistema (a cominciare dalla 0000:0449H che contiene proprio il Modo Video corrente) vengono caricate con i nuovi nuovi valori.

 

bulletNei Modi Testo l'effetto più concreto di questa reinizializzazione è il fatto che nella memoria del video (RamVideo) vengono collocate in sequenza sedicimila coppie di bytes 20H/07H; il primo byte rappresenta il codice ASCII dello spazio e il secondo l'attributo di colore di default, bianco su nero
bulletDunque vengono cancellate tutte le possibili Pagine Video, non solo della Pagina0; quando si lavora direttamente in RamVideo la chiamata di questa Funzione è perciò da evitare, per non perdere le informazioni predisposte nelle pagine alternative.

 

bulletNonostante questa caratteristica non è opportuno usare questa Funzione per produrre un CLS perchè impiega un po' più di tempo rispetto a quelle che si usano normalmente per questo servizio (cioè le Funzioni 06H o 07H di INT 10H).
bulletPer evitare di cancellare lo schermo nei Modi standard IBM basta porre a 1 il bit7 di AL.

 

bulletLa scelta del Modo Video desiderato viene operata a partire dalla Tabella dei Modi Standard e da quelle specifiche della scheda video, fornite dal costruttore.
bulletA questo proposito va sottolineato che anche le moderne schede Super VGA hanno cura di emulare anche i precedenti adattatori (CGA, EGA, VGA), per cui i Modi Video Standard (da 00H a 13H) saranno disponibili sui prodotti di tutti i costruttori; la Tabella seguente ne mostra i dettagli:

 

Modo Tipo Risoluzione
Testo
Risoluzione
Grafica
Colore Numero
Pagine
Indirizzo
RamVideo
Scheda
SVGA
00H Testo 40x25 8x8 320x200 16 8 B800H CGA
8x14 320x350 EGA
9x16 360x400

VGA

01H Testo 40x25 8x8 320x200 16 8 B800H CGA
8x14 320x350 EGA
9x16 360x400

VGA

02H Testo 80x25 8x8 640x200 16 4 B800H CGA
8x14 640x350 8 EGA
9x16 720x400

VGA

03H Testo 80x25 8x8 640x200 16 4 B800H CGA
8x14 640x350 8 EGA
9x14 720x350
9x16 720x400

VGA

04H Grafico 40x25 8x8 320x200 4 1 B800H CGA
05H Grafico 40x25 8x8 320x200 4 1 B800H CGA
06H Grafico 80x25 8x8 640x200 B/N 1 B800H CGA
07H Testo 80x25 9x14 720x350 mono 1 B000H MDA
08H Grafico 20x25 8x8 160x200 16 1 B000H PCjr
09H Grafico 40x25 8x8 320x200 16 1 B000H PCjr
0AH Grafico 80x25 8x8 640x200 4 1 B000H PCjr
0BH Riservato, uso interno EGA
0CH Riservato, uso interno EGA
0DH Grafico 40x25 8x8 320x200 16 8 A000H EGA
0EH Grafico 80x25 8x8 640x200 16 4 A000H EGA
0FH Grafico 80x25 8x14 640x350 mono 2 A000H EGA
10H Grafico 80x25 8x14 640x350 4 o 16 2 A000H EGA
11H Grafico 80x30 8x16 640x480 mono 1 A000H VGA
12H Grafico 80x30 8x16 640x480 16 1 A000H VGA
13H Grafico 40x25 8x8 320x200 256 1 A000H VGA

 

bulletNaturalmente ciascuna scheda grafica rende disponibili, in aggiunta a quelli Standard, una discreta quantità di Modi Estesi SVGA; ognuno di essi può essere collaudato semplicemente ponendo in AL il corrispondente numero (ammesso che sia disponibile) e chiamando questa Funzione.
bulletSebbene l'esigenza di ridurre i costi all'osso renda la cosa sempre meno frequente, quando si acquista una scheda Video è talvolta possibile disporre di un prezioso manualetto, l'User manual dell'adattatore grafico che, oltre a fornire preziose informazioni sui segreti della scheda, rende disponibile la Tabella dei Modi Estesi da essa supportati.

 

bulletSfortunatamente ogni costruttore offre modalità Estese SVGA non vincolate ad accordi di portabilità, associando cioè a ciascun Modo video i numeri più imprevedibili.
bulletPer questa ragione non è assolutamente consigliabile creare programmi che chiamino questa Funzione con Modi diversi da quelli Standard: difficilmente sarebbero in grado di funzionare su computer diversi da quello in cui si è fatto il collaudo.

 

bulletLa letteratura specifica offre talvolta Tabelle simili a quella precedente, con un tentativo di raccogliere e documentare le specifiche di ciascun nuovo Modo; scorrendole è facile constatare che, quasi sempre, a parità di numero di Modo, produttori diversi offrono servizi diversi, per risoluzione e tipologia.
bulletSembra dunque tempo perso insistere su questo argomento; a solo titolo di curiosità allego 2 tabelle, estratte dagli User manual di 2 schede video SVGA, una piuttosto anziana e l'altra genericamente SVGA compatibile:

 

Scheda  Trident  TVGA  8900
Modo Tipo Risoluzione
Testo
Risoluzione
Grafica
Colore Numero
Pagine
Indirizzo
RamVideo
50H Testo 80x30 8x16 640x480 16 8 B800H
51H Testo 80x43 8x11 640x473 16 8 B800H
52H Testo 80x60 8x8 640x480 16 8 B800H
53H Testo 132x25 9x14 1056x350 16 8 B800H
54H Testo 132x30 8x16 1056x480 16 8 B800H
55H Testo 132x43 8x11 1056x473 16 8 B800H
56H Testo 132x60 8x8 1056x480 16 8 B800H
57H Testo 132x25 9x14 1188x350 16 8 B800H
58H Testo 132x30 9x16 1188x480 16 8 B800H
59H Testo 132x43 9x11 1188x473 16 8 B800H
5AH Testo 132x60 9x8 1188x480 16 8 B800H
5BH Grafico 100x75 8x16 800x600 16 8 A000H
5CH Grafico 80x25 8x16 640x400 256 8 A000H
5DH Grafico 80x30 8x8 800x600 256 8 A000H
5EH Grafico 100x75 8x8 800x600 256 8 A000H
5FH Grafico 128x48 8x14 1024x768 16 2 A000H
60H Grafico 128x48 8x14 1024x768 4 2 A000H
61H Grafico 96x64 8x16 768x1024 16 2 A000H
62H Grafico 128x48 8x16 1024x768 256 2 A000H

 

Scheda  SVGA  compatibile
Modo Tipo Risoluzione
Testo
Risoluzione
Grafica
Colore Numero
Pagine
Indirizzo
RamVideo
4EH Testo 80x60 8x8 640x480 16   B800H
4FH Testo 132x60 8x8 1056x480 16   B800H
50H Testo 132x25 8x14 1056x350 16   B800H
51H Testo 132x43 8x8 1056x344 16   B800H
52H Grafico 100x37 8x16 800x600 16   A000H
53H Grafico 80x30 8x16 640x480 256   A000H
54H Grafico 100x37 8x16 800x600 256   A000H
55H Grafico 128x48 8x16 1024x768 4   A000H
56H Grafico 128x48 8x16 1024x768 16   A000H
57H Grafico 96x64 8x16 768x1024 16   A000H
58H Grafico 160x64 8x16 1280x1024 16   A000H
59H Grafico 128x48 8x16 1024x768 256   A000H

 

bulletOsservando e confrontando i Modi Video con il medesimo numero di Modo, le incongruenze anticipate sono piuttosto evidenti; in generale possiamo comunque sottolineare alcuni dati di fatto:
bulletla classica configurazione a 25 o 30 righe da 80 colonne (80x25 o 80x30) è spesso integrata con soluzioni a 132 colonne (132x25 o 132x30), mentre sono sempre più frequenti modi in grado di porre a video una quantità di carattere notevolmente più numerosa, a 43 (80x43 o 132x43) o 60 (80x60 o 132x60) o più righe ...
bulletla risoluzione grafica è sempre più spinta: le gloriose CGA (320x200 o 640x200) EGA (640x350) o standard VGA (640x480) sono un remoto ricordo; lo standard è oggi 800x600 o 1024x768 e, con la disponibilità di monitor più grandi sempre più economici, anche 1280x1024 o maggiori.

 

bulletL'eseguibile B10_00__.COM mostra l’effetto della Funzione 00H dell'INT 10H.
bulletIl sorgente è documentato nella sezione ASM (clicca sull'iconaApplicazioni Software, nel menu a sinistra).

 

Suggerimento La Libreria Giobe.LIB impone il Modo Testo Standard (03H) con la procedura BIOScls, assicurando in modo improprio anche il ClearScreen del Monitor.

 

bulletQuando la Funzione imposta una modalità Grafica può capitare, specialmente in fase di collaudo, di tornare al prompt del DOS con il Modo Grafico ancora attivo; in questo caso, nella peggiore delle ipotesi il Monitor potrebbe anche essere tutto nero..

  

Suggerimento NB: un buon programma di Grafica deve prevedere, al suo termine (prima di restituire il controllo al DOS), il ripristino del Modo Testo standard, 03H.

  

bulletNaturalmente non è il caso di perdersi d’animo: bisogna almeno tentare di digitare (anche al buio) il comando DOS MODE CO80: nella gran parte dei casi il problema si risolve e ci è consentito di tornare a lavorare; altrimenti non ci rimane altro che chiudere la sessione DOS e ricominciare da capo, cercando di correggere l’errore che ha prodotto il pasticcio.

    

Pagina Precedente Funzioni BIOS Pagina Successiva VIDEO 02/59   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
22 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