La guerra silenciosa entre ANSI.SYS y el buen gusto

ANSI

Eran aquel momento en el que los usuarios de PC querían interfaces gráficas, ventanas, cuadros de diálogo y menús desplegables, pero el ordenador les respondía con un simple cursor parpadeando sobre una pantalla negra. Windows existía, sí, pero durante buena parte de los años ochenta y principios de los noventa el auténtico campo de batalla seguía siendo MS-DOS. Y fue precisamente en ese entorno hostil donde surgió una de las disciplinas más peculiares de la informática clásica: construir falsas interfaces gráficas utilizando únicamente caracteres de texto.

Para entender el fenómeno hay que recordar cómo era una sesión típica de DOS. La pantalla estaba formada por una cuadrícula de caracteres de 80 columnas por 25 filas. Cada posición almacenaba un código ASCII y unos atributos de color, y aquello, en teoría, sólo servía para mostrar texto. Sin embargo, los programadores pronto descubrieron que podían hacer bastante más con ello, porque el juego de caracteres de IBM incluía líneas horizontales, verticales, esquinas, bloques sombreados y otros símbolos semigráficos que permitían dibujar recuadros y estructuras sorprendentemente complejas.

ANSI

La llegada de ANSI.SYS elevó la situación a otro nivel. Este controlador permitía interpretar secuencias ANSI enviadas por los programas o por archivos de texto y, gracias a ellas, era posible mover el cursor a cualquier posición de la pantalla, cambiar colores, borrar zonas concretas o modificar atributos visuales sin necesidad de acceder directamente al hardware. Para un usuario actual puede parecer algo trivial, pero en aquel momento era como descubrir superpoderes.

De repente comenzaron a aparecer programas cuya pantalla principal parecía una extraña imitación de un entorno gráfico. Había barras de menús, ventanas superpuestas, cuadros de ayuda y zonas coloreadas que daban la impresión de estar ante algo mucho más avanzado que una simple consola. Todo era mentira, por supuesto, no existían ventanas reales ni botones auténticos, tan solo había caracteres colocados cuidadosamente en posiciones concretas para crear una ilusión.

ANSI

Lo fascinante es que esta técnica no se limitó a utilidades profesionales, los grupos de la escena warez y demoscene la adoptaron con entusiasmo. Muchas introducciones de cracks, por ejemplo, mostraban logotipos animados, textos desplazándose, degradados de color y marcos extremadamente elaborados. El usuario ejecutaba un programa y, antes de aparecer el juego, era recibido por una demostración técnica que parecía imposible para una simple pantalla de texto. En realidad, detrás de la magia sólo había secuencias ANSI, mucha imaginación y una paciencia infinita.

Técnicamente, ANSI.SYS era un controlador de dispositivo cargado desde al archivo de configuración CONFIG.SYS que interceptaba la salida de texto enviada a la consola de MS-DOS y analizaba las secuencias de escape ANSI que aparecían embebidas en el flujo de caracteres. Cuando un programa escribía una cadena que comenzaba por el carácter de escape ESC (ASCII 27), ANSI.SYS la interpretaba como una orden en lugar de mostrarla en pantalla. Estas órdenes permitían establecer el cursor en unas coordenadas concretas, cambiar colores de primer plano y fondo, eliminar líneas o regiones de pantalla, definir reasignaciones de teclado e incluso crear efectos de animación sin acceder directamente a la memoria de vídeo.

ANSI

Internamente actuaba como una capa de traducción entre los programas y el controlador de consola de DOS, proporcionando una funcionalidad similar a la de los terminales profesionales compatibles con ANSI, pero con una penalización de rendimiento apreciable, ya que cada carácter enviado debía ser inspeccionado e interpretado antes de llegar a la pantalla. Por este motivo muchos programas profesionales, como gestores de archivos o BBS, acabaron utilizando bibliotecas propias que escribían directamente en la memoria de vídeo de las tarjetas CGA, EGA o VGA, obteniendo una velocidad muy superior a la que podía proporcionar ANSI.SYS.

ANSI

Los más obsesivos llegaron a convertirlo en una disciplina artística, y se llegaron a diseñar auténticas ilustraciones formadas exclusivamente por caracteres ASCII y ANSI. Las sombras se construían mediante bloques semillenos, los reflejos se emulaban utilizando distintos colores de primer plano y las texturas eran combinaciones de símbolos aparentemente absurdos. Algunas composiciones ocupaban cientos de líneas y requerían terminales compatibles para renderizarse correctamente. Eran imágenes digitales, pero creadas con las mismas herramientas que se utilizaban para escribir un documento de texto.

La situación adquiría tintes casi cómicos cuando los desarrolladores intentaban competir visualmente con los primeros entornos gráficos. Aparecieron gestores de archivos, programas de comunicaciones y aplicaciones empresariales que simulaban cuadros de diálogo muy similares a los de Windows. Muchas personas pasaban horas trabajando dentro de aplicaciones DOS que, visualmente, intentaban convencerlas de que estaban utilizando una interfaz moderna, aunque por debajo siguiera existiendo exactamente la misma pantalla de texto de siempre.

ANSI

Desde el punto de vista técnico, tampoco era una tarea sencilla. Había que considerar tarjetas gráficas diferentes, terminales incompatibles y sistemas que no siempre interpretaban las secuencias ANSI de la misma forma. Un efecto visual impresionante en un PC podía mostrarse completamente roto en otro. Por eso, muchos desarrolladores acabaron incluyendo detección automática de hardware, bibliotecas propias de control de pantalla e incluso sistemas alternativos cuando ANSI.SYS no estaba cargado.

Quizá lo más sorprendente es que todo este esfuerzo nacía de una limitación. Nadie habría dedicado tantas horas a dibujar botones con caracteres si hubiera tenido acceso a herramientas gráficas modernas. Sin embargo, precisamente porque existían restricciones técnicas, los programadores encontraron formas inesperadas de superarlas y, lo que debía ser un simple terminal de texto, acabó convirtiéndose en una plataforma para la creatividad visual.

ANSI

Mirado con perspectiva, ANSI.SYS representa una de esas historias que definen perfectamente la informática clásica, donde un controlador diseñado para gestionar secuencias de terminal terminó alimentando una pequeña guerra entre la funcionalidad y el buen gusto. Algunos creaban interfaces elegantes y sorprendentemente profesionales, otros producían monstruos visuales llenos de colores fosforescentes, marcos imposibles y logotipos gigantescos que parecían diseñados después de una noche especialmente intensa de cafeína y ensamblador.

Y, siendo sinceros, ahí residía buena parte de su encanto, porque antes de los temas visuales, de las librerías gráficas y de los motores de interfaz, hubo una generación de programadores empeñada en demostrar que una pantalla de texto podía parecer cualquier cosa, incluso una interfaz gráfica. Aunque para lograrlo hubiera que declarar una guerra abierta al sentido estético.

Escribe tu comentario

V I R I I

Un thriller ciberpunk retrotecnológico de conspiraciones, resistencia digital y ciudades ahogadas en neón, humedad rancia y corrosión.

[Jonathan Préstamo Rodríguez]

COMPRAR EN AMAZON

Prontuario Anarquista de Resistencia Digital: Manifiesto de hacktivismo pasivoagresivo

Vivimos en una época donde cada clic deja rastro, cada palabra se convierte en dato y cada gesto digital puede ser observado, analizado y utilizado. En este escenario, la libertad ya no depende sólo de las leyes o de las calles, también se juega en las redes, en los servidores y dentro de los algoritmos.

[Jonathan Préstamo Rodríguez]

COMPRAR EN AMAZON