|  | 
      
    
      Come Funziona
     
    
    
      Area Comunicaz. Bios  | |
| Video | 
| Programmazione | PROCEDURE BIOS 2/59 [24 di 84] | 
| 
 | 
|  | Gestione BIOS del Video  - 
  INT 10H 
  - Funzione 00H 
 
 | 
| 
 | 
|  | Cambia il Modo Video corrente in quello desiderato, scelto tra quelli supportati dalla propria scheda video. | 
|  | Come 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). | 
| 
 | 
|  | In
                ingresso: 
 | 
| 
 | 
|  | In uscita lascia: 
 | 
| 
 | 
|  | La Funzione si chiama in questo modo: | 
| 
 | 
| 
 | 
|  | Va 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. | 
| 
 | 
|  | Nei 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. | 
|  | Dunque 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. | 
| 
 | 
|  | Nonostante 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). | 
|  | Per evitare di cancellare lo schermo nei Modi standard IBM basta porre a 1 il bit7 di AL. | 
| 
 | 
|  | La scelta del Modo Video desiderato viene operata a partire dalla Tabella dei Modi Standard e da quelle specifiche della scheda video, fornite dal costruttore. | 
|  | A 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 | 
| 
 | 
|  | Naturalmente 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. | 
|  | Sebbene 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. | 
| 
 | 
|  | Sfortunatamente ogni costruttore offre modalità Estese SVGA non vincolate ad accordi di portabilità, associando cioè a ciascun Modo video i numeri più imprevedibili. | 
|  | Per 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. | 
| 
 | 
|  | La 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. | 
|  | Sembra 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 | |
| 
 | 
|  | Osservando 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: 
 | 
| 
 | 
|  | L'eseguibile B10_00__.COM mostra l’effetto della Funzione 00H dell'INT 10H. | 
|  | Il sorgente è documentato nella sezione ASM 
  (clicca sull'icona  , 
  nel menu a sinistra). | 
| 
 | 
|  | La Libreria Giobe.LIB impone il Modo Testo Standard (03H) con la procedura BIOScls, assicurando in modo improprio anche il ClearScreen del Monitor. | 
| 
 | 
|  | Quando 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.. | 
| 
 | 
|  | 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. | 
| 
 | 
|  | Naturalmente 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. | 
| 
 | 
|   | Video01 |   | PROCEDURE BIOS 2/59 |  |  |  | ||
| 24 di 84 | 
| 
 | 
| 
 | 
| 
 | 
| Home  | 
 | |||||||
| 
 | Motore Ricerca | 
 |