Come Funziona
Area Comunicaz. Bios |
||
Cursore |
Applicazioni Software |
PROGETTO n° 01 - 2/5 [18 di 42] |
|
|
||
Gestione dimensione del Cursore - Collaudo della Funzione 01H di INT 10H | ||
Analisi del Problema |
|
Il controllo della dimensione del Cursore può tornare utile, sebbene in casi molto particolari.. |
|
Il suo aspetto iniziale è prefissato dalla procedura BIOS di inizializzazione, non appena il computer viene acceso; la sua dimensione di default è, di norma, di 2 linee di scansione a partire dal basso, nello spazio riservato al carattere che sta per essere scritto (per esempio la matrice 8*16 di un carattere VGA). |
|
In talune applicazioni può essere necessario portarlo alla sua dimensione massima (16 linee di scansione) cosi da mostrare un intero carattere pieno, lampeggiante (nei Modi Testo) nella posizione di stampa corrente. | |
Nei Modi Grafici il problema non si pone, poichè il Cursore viene spento automaticamente. |
|
Tuttavia con i moderni adattatori (VGA) il controllo della dimensione del Cursore con la Funzione 01H di INT 10H, è garantito solo per cursore che, partendo da un'unica linea di pixel in basso, va gradatamente a formare un rettangolo pieno di 16 linee (cosa per altro quasi sempre sufficiente...). | |
Quando si tenta l'operazione opposta (aggiungendo linee a partire da un'unica linea di pixel in alto fino a formare un rettangolo pieno di 16 linee) la Funzione mostra i suoi limiti e non esegue correttamente il compito assegnato. |
|
La gestione completa della dimensione del Cursore è possibile, invece, chiamando prima la SottoFunzione 34H della Funzione 12H di INT 10H, con il compito di disattivare la cosiddetta emulazione CGA del Cursore, attiva per default. | |
Disabilitando l'emulazione è dunque possibile proporre un Cursore Normale. cioè autorizzare l'Hardware della scheda video a modificare (rimappare) automaticamente i valori delle linee di partenza e di arrivo del Cursore, dai valori inizio=06/fine=07 (default, tipici della matrice 8*8 CGA) ai valori inizio=13/fine=14 (tipici della matrice 8*16 della VGA). |
|
Il progetto tenta comunque di gestire tutti i 31 diversi modi possibili, imponendo in sequenza le linee di scansione necessarie:
|
|
NB: L'effetto sulla dimensione del Cursore è chiaramente visibile in run-time (cioè mentre l'eseguibile COM sta girando) ma, con i moderni Sistemi Operativi (Windows NT, Windows 2000, Windows XP) non è possibile imporre le nuove dimensioni anche al cursore mostrato, al termine del programma, al Prompt del DOS, come avveniva nelle shell DOS delle precedenti versioni, Windows 95/98/ME. |
|
In aggiunta, per apprezzare l'effetto è necessario eseguire il programma a schermo pieno (in finestra non funziona, per la solita sufficienza con cui i nuovi SysOp trattano il vecchio padre DOS...): | |
Sebbene fastidiose, le cose sono irrilevanti, perchè, mentre sono in esecuzione, i nostri applicativi continueranno comunque a garantire l'effetto. |
|
Cursore Video | PROGETTO n° 01 - 2/5 | |||||||
18 di 42 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|