Usuari:Mcapdevila/Mode text compatible-VGA

De la Viquipèdia, l'enciclopèdia lliure

La implementació del mode de text del monitor de l’ ordinador en un hardware compatible amb VGA és bastant complex. El seu ús en ordinadors compatibles PC es va estendre a la dècada dels vuitanta als noranta (especialment en sistemes DOS ), però actualment persisteix per a algunes aplicacions fins i tot en equips de sobretaula moderns. Les característiques principals del mode de text VGA són els caràcters de colors (16 paletes de colors programables) i el seu fons, parpellejant, diverses formes del cursor (bloc / subratllat / ocult estàtic / intermitent) i els tipus de lletra carregables (amb diferents mides de glifo). La consola de Linux tradicionalment utilitza modes de text compatibles amb hardware VGA i l’entorn de la consola Win32 té la possibilitat de canviar la pantalla al mode de text per a algunes mides de finestres de text.

 Trets distintius del text VGA com s'utilitza habitualment:   Fons gris clar (normalment no blanc) |-

Box drawing.

Various
back-/foreground
combinations.

CGA–EGA-style 16 color palette for foreground.
Blinking text.
  Cursor.
 
 
 

  .

Dibuix de caixa.

Diversos </br> fons / primer pla </br> combinacions.

CGA-estil EGA 16   paleta de colors per a primer pla.



</br> Text intermitent.
Cursor.



</br>  

Arranjament de dades[modifica]

Cada caràcter de pantalla es representa realment per dos bytes alineats com a paraula de 16 bits accessible per la CPU en una sola operació. El byte inferior o de caràcter és el punt de codi real per al joc de caràcters actual, i el valor més alt, o atribut, és un camp de bits que s’utilitza per seleccionar diversos atributs de vídeo, com ara el color, el parpelleig, el joc de caràcters, etc.[1] Aquest esquema de parells de bytes es troba entre les característiques que el VGA va heretar de l' EGA, la CGA i, finalment, de la MDA .

Atribut Caràcter
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Parpelleja[[#endnote_text_buffer_1{{{3}}}|[n 1]]] Color de fons Foreground Color[[#endnote_text_buffer_2{{{3}}}|[n. 2]]][[#endnote_text_buffer_3{{{3}}}|[n. 3]]] Punt de codi
  1. ^ Depenent de la configuració del mode, l’atribut bit 7 pot ser el bit de parpelleig o el quart bit de color de fons (que permet utilitzar els 16 colors com a colors de fons).
  2. ^ L’atribut bit 3 (intensitat de primer pla) també selecciona entre les fonts A i B (vegeu més avall ). Per tant, si aquestes fonts no són les mateixes, aquest bit és simultàniament un bit de punt de codi addicional.
  3. ^ El bit d’atribut 0 també permet subratllar, si alguns altres bits d’atribut s’estableixen a zero (vegeu més endavant ).

Els colors s'assignen de la mateixa manera que en els modes gràfics de color indexats de 4 bits (vegeu paleta de colors VGA ). Els modes VGA no necessiten atributs inversos i brillants del MDA perquè els colors de primer pla i de fons es poden establir explícitament

Subratllat[modifica]

El hardware VGA té la capacitat d’habilitar un subratllat sobre qualsevol caràcter que tingui un atribut bit bit set. No obstant això, atès que es tracta d’una funció compatible amb MDA,[2] els bits d’atribut que no s’utilitzen per la MDA han de ser establerts a zero o no es mostrarà el subratllat.[1] Això vol dir que només els bits 3 (intensitat) i 7 (parpellejar) es poden configurar simultàniament amb el bit 0 (subratllat). Amb la paleta VGA predeterminada, ajustar el bit 0 per habilitar el subratllat també canviarà el color del text a blau. Això significa que el text en només dos colors es pot subratllar (blau clar i blau fosc amb la paleta per defecte)..

Malgrat tot, el subratllat normalment no és visible en els modes de color, ja que la ubicació del subratllat per defecte és una línia d'escaneig sota el glif de caràcters, que la fa invisible.[1] Si la ubicació de subratllat està configurada en una línia d’exploració visible (ja que per defecte es canvia a un mode de text monocrom compatible amb MDA), apareixerà el subratllat..

Tipus de lletra[modifica]

VGA mostrant el joc de caràcters de la pàgina de codi 737 amb lletres gregues

Els tipus de lletra de la pantalla utilitzats en EGA i VGA són tipus de lletra ràster monoespace que contenen 256 glyphs. Tots els glifs en un tipus de lletra tenen la mateixa mida, però es pot canviar aquesta mida. Normalment, els glifos són de 8 punts d'ample i de 8 a 16 punts, tot i que l'alçada pot ser de fins a un màxim de 32. Cada fila d’un glif està codificada en un byte de 8 bits, amb bits alts a l’esquerra del glifo i bits baixos a la dreta. Juntament amb diversos tipus de lletra que depenen del hardware emmagatzemats a la ROM de l'adaptador, el mode de text ofereix 8 [1] fonts carregables. Dos indicadors de font actius (tipus de lletra)   A i font   B) seleccioneu dues de les fonts disponibles, encara que normalment assenyalen la mateixa font. Quan cadascun assenyala fonts diferents, l'atribut bit 3 (vegeu més amunt ) actua com a bit de selecció de fonts en comptes de com a bit de color de primer pla. En hardware VGA real, això sobreescriu l’ús del bit per a la selecció de color, però en molts clons i emuladors, la selecció de color continua   - el que significa que es mostra una font com a intensitat normal i l'altra amb una intensitat alta. Aquest error es pot superar canviant els registres de paleta per contenir dues còpies d'una paleta de 8 colors.

Hi ha modes amb un ample de matriu de punts dels caràcters de 9 punts (per exemple, el mode predeterminat de 80 × 25), però la 9ena columna s'utilitza per espaiar els caràcters, de manera que el contingut no es pot canviar. Sempre està en blanc i es dibuixa amb el color de fons actual.[1] Una excepció a això és en mode de gràfics de línia, que fa que els punts de codi 0x C0 a 0xDF inclosos [1] tinguin la vuitena columna repetida com a novena. Aquests punts de codi cobreixen els caràcters de dibuix de les caixes que s'han d'estendre fins al costat dret del quadre de glifs. Per aquesta raó, cal evitar col·locar caràcters de lletra en els punts de codi 0xC0–0xDF. Els caràcters de dibuix de caixa de 0xB0 a 0xBF no s’estenen, ja que no apunten cap a la dreta i, per tant, no requereixen extensió.

Cursor[modifica]

La forma del cursor està restringida a un rectangle de l’amplada total de la matriu de punts dels caràcters i s’had'omplair amb el color del primer pla del caràcter a la ubicació actual del cursor. La seva alçada i posició poden ser arbitràries dins d'una caixa de caràcters ;.[3] L’EGE i molts clons VGA van permetre un cursor de caixa dividida (apareixent com dos rectangles, un a la part superior de la caixa de caràcters i un a la part inferior), establint l’extrem del cursor abans de l’inici, però si es fa a el VGA original, el cursor està completament ocult.[3] L’estàndard VGA no proporciona una manera d’alterar la velocitat de parpelleig,[3] encara que les solucions comunes habituals inclouen ocultar el cursor i utilitzar un glif de caràcters normal per proporcionar un anomenat cursor de programari.

Un cursor del ratolí en TUI (quan s'implementa) no sol ser el mateix que un cursor de hardware, sinó un rectangle amb fons alterat o un glif especial.

Algunes interfícies basades en text, com la de Impulse Tracker, van ser encara més àmplies per proporcionar un cursor de ratolí més suau i amb més gràfica. Això es va fer mitjançant la re-generació constant de glifs de caràcters en temps real segons la posició de la pantalla del cursor i els caràcters subjacents.  

Mètodes d'accés[modifica]

Generalment hi ha dues maneres d'accedir al mode de text VGA per a una aplicació: a través de la interfície de la BIOS de vídeo o accedint directament a la RAM de vídeo i als ports d'E / S. Aquest últim mètode és considerablement més ràpid i permet una lectura ràpida del buffer de text, per la qual cosa és preferible per a programes TUI avançats.

El buffer de text VGA es troba a l'adreça de memòria física 0xB8000. Com que normalment s’utilitza en processos x86 de 16 bits que operen en mode real, és la primera meitat del segment de memòria 0xB800. Les dades del buffer de text es poden llegir i escriure i es poden aplicar operacions a bits . Una part de la memòria intermèdia de text per sobre de l’abast del mode actual és accessible, però no es mostra.

Les mateixes adreces físiques s’utilitzen en mode protegit . Les aplicacions poden tenir aquesta part de memòria assignada al seu espai d’adreça o accedir-hi a través del sistema operatiu . Quan una aplicació (en un sistema operatiu multitasca modern) no té control sobre la consola, accedeix a una part de la memòria RAM del sistema en lloc del buffer de text real.

Per als ordinadors dels anys vuitanta, la manipulació molt ràpida del buffer de text, amb el hardware que generava els píxels individuals tan ràpidament com es podia mostrar, era extremadament útil per a una interfície d'usuari ràpida. Fins i tot en un hardware relativament modern, la sobrecàrrega de l'emulació de mode de text a través de modes de hardware APA (gràfics) (en què el programa genera píxels individuals i els emmagatzema al buffer de vídeo) pot ser notable.

Modes i timings[modifica]

Senyal de vídeo[modifica]

Des del costat del monitor, no hi ha diferència en el senyal d’entrada en un mode de text i en un mode APA de la mateixa mida. Un senyal de mode de text pot tenir els mateixos horaris que els modes estàndard VESA . Els mateixos registres s’utilitzen al costat de l’adaptador per configurar aquests paràmetres en un mode de text com en els modes APA. El senyal de sortida de mode de text és essencialment el mateix que en els modes gràfics, però el seu origen és un buffer de text i un generador de caràcters, no un framebuffer com en APA.

PC modes de text genèrics[modifica]

Depenent de l'adaptador gràfic utilitzat, hi ha disponibles diverses maneres de text en equips compatibles amb l' IBM PC . Es llisten a la taula següent: [4]

Text res. Char. mida Gràfics res. Colors Adaptadors
80 × 25 9 × 14 720 × 350 Text en blanc i negre MDA, Hercules
40 × 25 8 × 8 320 × 200 16 colors CGA, EGA
80 × 25 8 × 8 640 × 200 16 colors CGA, EGA
80 × 25 8 × 14 640 × 350 16 colors EGA
80 × 43 8 × 8 640 × 350 16 colors EGA
80 × 25 9 × 16 720 × 400 16 colors VGA
80 × 50 9 × 8 720 × 400 16 colors VGA
80 × 60 16 colors Super VGA compatible amb VESA
132 × 25 16 colors Super VGA compatible amb VESA
132 × 43 16 colors Super VGA compatible amb VESA
132 × 50 16 colors Super VGA compatible amb VESA
132 × 60 16 colors Super VGA compatible amb VESA

Les targetes VGA i compatibles suporten els modes MDA, CGA i EGA. Tots els modes de color tenen el mateix disseny d’atributs de text. Els modes MDA tenen algunes característiques específiques (vegeu més amunt )   - Es pot emfasitzar un text amb atributs brillants, subratllats, invertits i intermitents.

El mode de text més comú utilitzat en entorns DOS i les consoles inicials de Windows és, de molt, el valor predeterminat de 80 columnes per 25 files o 80 × 25, amb 16 colors. Aquest mode estava disponible a pràcticament tots els ordinadors personals IBM i compatibles.

Hi ha dos altres modes de text VGA, 80 × 43 i 80 × 50, però es van utilitzar molt rarament. Les maneres de text de 40 columnes mai van ser molt populars i només es van utilitzar per a demostracions o amb hardware molt antic.

Les mides de caràcters i les resolucions gràfiques per als modes de text Super VGA compatibles amb el VESA estesos depenen del fabricant. Algunes targetes (per exemple: S3 ) suporta modes de text molt grans personalitzats, com ara 100 × 37 o fins i tot 160 × 120. Igual que en els modes gràfics, normalment els adaptadors gràfics dels anys 2000 són capaços de configurar un mode de text de mida arbitrària (en límits raonables) en lloc de triar els seus paràmetres d'alguna llista. Però el mal suport de programari detecta l’ús generalitzat d’aquests modes personalitzats.

SVGATextMode[modifica]

Damunt Linux i sistemes de DOS amb així que va anomenar targetes de SVGA, un programa va cridar SVGATextMode [5] per configurar modes de text amb millor cerca que els EGA i els VGA estàndard. Això és especialment útil per a grans (≥   Monitors de 17 "), on el mode de text normal de 80 × 25 VGA de 720 × 400 píxels de resolució és molt inferior al que seria el mode gràfic típic. SVGATextMode permet configurar el rellotge de píxels i una major freqüència de refresc, una mida de font més gran, la mida del cursor, etc., i permet un millor ús del potencial d'una targeta de vídeo i un monitor. En sistemes que no siguin de Windows, l’ús de SVGATextMode (o opcions alternatives com el framebuffer de Linux ) per obtenir un text agut és fonamental per als monitors LCD de 1280 × 1024 (o amb una resolució més alta) perquè cap dels modes de text estàndard anomenat no s’adapta a aquest mida de la matriu. SVGATextMode també permet un ajustament dels temps de senyal de vídeo.

Malgrat el nom d’aquest programa, només algunes de les seves maneres compatibles són conformes a SVGA (és a dir, Normes VESA).

Restriccions generals[modifica]

Aquests modes de text VGA tenen algunes limitacions imposades pel hardware. Com que algunes d'elles apareixen ara massa restrictives, el mode de text de hardware dels adaptadors de vídeo compatibles amb VGA només té un ús limitat.

Paràmetre VGA original Adaptadors de vídeo moderns Observacions
Cel·la de caràcters



</br> amplada (glifo)
8 o 9 punts [1] ≤   9 punts No tots els glyphs de suport de hardware són més reduïts que 8 punts;



</br>

L’ample amplari = 9 sembla lleig   en resolucions altes, especialment per a persones amb hipermetropia, i és insuficient per a les seqüències d'ordres d'Àsia Oriental. L'alçada = 32 és més que suficient.

Cel·la de caràcters



</br> alçada (glifo)
≤   32 punts
Nombre de cel·les de caràcter Almenys



</br> 4.000



</br> (arribat a 80 × 50)
≤   16.384 = 2 14



</br> (limitacions d'adreçament de memòria)
Un adaptador modern, si suporta modes no estàndard, pot produir una pantalla de text raonablement densa fins i tot en un monitor gran.
Amplada a les cel·les del caràcter



</br> ( caràcters per línia )
Almenys



</br> 80
≤ 256 (? )
Alçada en cel·les de caràcter



</br> (nombre de línies)
Almenys



</br> 50



</br> (arribat a 80 × 50)
Codi de mida de pàgina



</br> (el nombre de glifos diferents es mostra simultàniament)
≤   512   =   2 9



</br> (si és font   Una font.   B)
Fins i tot 512 és insuficient per donar suport integral a Unicode.
≤   256   =   2 8



</br> (si és font   A = font   B)
Nombre de colors primer pla: 16 *



</br>

fons: 8 o 16 **

16 de colors triats arbitràriament, no fixos.

* 8 colors poden ser utilitzats per la font   A i altres 8 colors per tipus de lletra   B; així, si és font   Una font.   B (mode 512 caràcters), llavors la paleta hauria de reduir-se a la meitat i un text pot utilitzar efectivament només 8 colors. </br> ** Normalment, els primers 8 colors de la mateixa paleta. Si el parpelleig està desactivat, tots els 16 colors estan disponibles per al fons.

Referències[modifica]

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 «VGA/SVGA Video Programming-VGA Text Mode Operation». Osdever.net. [Consulta: 7 novembre 2016].
  2. «Monochrome Display Adapter Notes». Seasip.info, 06-11-2005. [Consulta: 7 novembre 2016].
  3. 3,0 3,1 3,2 «VGA/SVGA Video Programming-Manipulating the Text-mode Cursor». Osdever.net. [Consulta: 7 novembre 2016].
  4. Roschi, Winn L. VGA Compatibles: Gaining on the New Standard. Ziff Davis, Inc., 16 febrer 1988, p. 177. 
  5. [1]

Vegeu també[modifica]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Mcapdevila/Mode text compatible-VGA