# Modo texto

El modo texto es un modo de monitor de computadora en la que el contenido de la pantalla se representa internamente en términos de caracteres textuales en lugar de píxeles individuales. Típicamente, la pantalla consistirá en una rejilla uniforme de «celdas de caracteres», cada una de las cuales contendrá un carácter del juego de caracteres.
El uso del modo texto se hizo popular a principios de los años 1970, cuando los terminales de texto orientados a vídeo empezaron a reemplazar a los teletipos en el uso interactivo de las computadoras.
Las aplicaciones en modo texto se comunican con el usuario mediante líneas de comandos (CLIs) y interfaces textuales de usuario (TUIs). Muchos juegos de caracteres usados en aplicaciones en modo texto también incluyen un conjunto limitado de caracteres semi-gráficos predefinidos que pueden usarse para dibujar cajas y otros gráficos rudimentarios usados para destacar el contenido o simular widgets o controles como los presentes en las aplicaciones escritas para interfaces gráficas (GUIs).
Las ventajas de los modos de texto respecto a los gráficos incluyen el menor consumo de memoria y la más rápida manipulación de pantalla. Además, las aplicaciones en modo texto tienen unos requisitos de ancho de banda relativamente bajos en uso remoto. Una desventaja obvia del modo texto es la restricción del contenido de pantalla, que lo hace inviable para muchos tipos de aplicaciones.
Una característica importante de los programas en modo texto es que asumen un ancho constante de las fuentes, donde cada carácter tiene la misma anchura en pantalla, lo que permite mantener fácilmente la alineación vertical cuando se muestran caracteres semi-gráficos.
Según el entorno, el buffer de pantalla puede ser directamente accesible, como memoria convencional, para los programas locales. Los programas que muestran salidas en una terminal remota deben enviar secuencias de control especiales para manipular el buffer de pantalla. Los estándares más populares de dichas secuencias de control son ANSI y VT100. Los programas que acceder al buffer de pantalla mediante secuencias de control pueden perder la sincronización con la pantalla real, por lo que muchos programas en modo texto tienen un comando para «refrescar» toda la pantalla, a menudo asociado con al combinación de teclas Ctrl+L.
La distinción entre los programas en modo texto y gráfico puede a veces ser difusa, especialmente en ordenadores con tarjetas VGA, debido a que muchos programas en modo texto recientes llevaron al extremo las posibilidades de dicho hardware manipulando la controladora de vídeo. Por ejemplo, redefinían el juego de caracteres para crear caracteres semi-gráficos a medida, e incluso simulaban un cursor de ratón gráfico redefiniendo la apariencia de los caracteres sobre los que dicho cursor quedaba en cada momento. También pueden usarse estas técnicas para videojuegos 2D que necesiten aprovechar la mayor velocidad de manipulación de los modos de texto respecto a los gráficos.
Muchos programas modernos con interfaz gráfica simulan el estilo de los programas en modo texto, especialmente cuando es importante preservar la alineación vertical del texto, por ejemplo, durante la programación. Existen también componentes software que emulan modos de texto, tales como los emuladores de terminal o la consola de Windows.

## Fundamentos técnicos

Una controladora de vídeo con modo de texto suele usar dos zonas de memoria distintas: una «memoria de caracteres» conteniendo la estructura de píxeles de cada carácter de la fuentes en uso y una «matriz de pantalla» o «buffer de pantalla» conteniendo la matriz de los caracteres mostrados en la pantalla, almacenados como índices a la memoria de caracteres.
La memoria de caracteres suele residir en ROM por defecto. Sin embargo, muchos sistemas también permiten el uso de RAM para este propósito, haciendo posible redefinir el juego de caracteres para fines específicos de cada aplicación. El uso de caracteres residentes en RAM también facilitan algunas técnicas especiales, como la implementación de un buffer de vídeo para gráficos pixelados. En algunos chips gráficos históricos, incluyendo el TMS9918 y el MOS Technology VIC, esta era realmente la forma canónica de lograr gráficos pixelados.
Los modos texto a menudo asignan atributos a los caracteres mostrados. Por ejemplo, las terminales VT100 permiten que cada carácter aparezca subrayado, resaltado, parpadeando o invertido (negativo). Los dispositivos en color suelen permitir cambiar el color de cada carácter y a menudo también del fondo, a seleccionar de una paleta limitada. Estos atributos pueden coexistir con los índices de caracteres o usar otra zona de memoria diferente llamada «memoria de color» o «memoria de atributo».
Algunas implementaciones de modos texto también tienen el concepto de atributos de línea. Por ejemplo, los terminales compatibles VT100 soportan del doblado del ancho y altura de los caracteres en líneas de texto individuales.

## Modos de texto comunes en PC

Según el adaptador gráfico usado, hay disponible una variedad concreta de modos de texto en los ordenadores compatibles IBM. Se detallan a continuación:
| Res. texto | Tamaño car. | Res. gráfica | Colores | Adaptadores |
| 80×25 | 9×14 | 720×350 | Blanco y negro | MDA |
| 40×25 | 8×8 | 320×200 | 16 colores | CGA, EGA |
| 80×25 | 8×8 | 640×200 | 16 colores | CGA, EGA |
| 80×25 | 8×14 | 640×350 | 16 colores | EGA |
| 80×43 | 8×8 | 640×350 | 16 colores | EGA |
| 80×25 | 9×16 | 720×400 | 16 colores | VGA |
| 80×50 | 9×8 | 720×400 | 16 colores | VGA |
El texto MDA podía ser realzado con los atributos de brillo, subrayado, inversión y parpadeo.
Las tarjetas de vídeo suelen ser compatibles hacia atrás, es decir, EGA soporta todos los modos MDA y CGA, VGA soporta los modos MDA, CGA y EGA, etcétera.
El modo texto más usado con diferencia en entorno DOS y en las primeras consolas Windows es el de 80 columnas por 25 filas con 16 colores. Este modo estaba disponible en prácticamente todos los ordenadores personales IBM y compatibles. Todos los modos 80×25 también tenía un modo virtual 80×24, usado por algunas aplicaciones que necesitaban una barra de estado en la última fila, como los emuladores de terminal. En realidad era el mismo modo 80×25, pero restringido por software para hacer inaccesible la última file.
Existen otros dos modos texto VGA, 90×43 y 90×50, que se usan muy raras veces. Los modos de texto a 40 columnas nunca fueron muy populares, y se usaban sólo con fines demostrativos o como hardware muy antiguo que no soportaban los modos a 80 columnas.
Algunas tarjetas de vídeo (por ejemplo S3) soportaban modos de texto muy grandes, como 100×37 o incluso 160×120. En los sistemas Linux se usaba a menudo un programa llamado SVGATextMode con las tarjetas SVGA para estableces modos de texto de consola muy grandes.