Semigráficas - Semigraphics

Image
Pantalla de juego de caracteres de muestra que muestra gráficos de bloques como se usa en la computadora de color TRS-80 (CoCo) y Dragon 32/64
Image
Un ejemplo de algunos caracteres semigráficos.

Los semigráficos o pseudográficos basados ​​en texto es un método primitivo utilizado en el hardware de video en modo texto temprano para emular gráficos de trama sin tener que implementar la lógica para dicho modo de visualización.

Hay dos formas diferentes de lograr la emulación de gráficos rasterizados. El primero es crear un modo direccionable de todos los puntos de baja resolución utilizando un conjunto de caracteres especiales con todas las combinaciones binarias de una determinada matriz de subdivisión del tamaño de carácter del modo texto; este método se denomina gráficos de bloques o, a veces, gráficos de mosaico .

La segunda es utilizar formas especiales en lugar de glifos (letras y figuras) que parecen dibujados en modo de gráficos rasterizados, a veces denominados semi o pseudográficos ; un ejemplo importante de esto son los personajes que dibujan cajas .

Los caracteres semigráficos (incluidos algunos elementos de bloque) todavía se incorporan al BIOS de cualquier tarjeta de video compatible con VGA , por lo que cualquier PC puede mostrar estos caracteres desde el momento en que se enciende, incluso cuando aún no se ha cargado ningún sistema operativo. Las líneas simples y dobles todavía se dibujan a menudo con este método cuando el sistema usa el modo de texto; por ejemplo, al ejecutar el programa de configuración del BIOS.

Muchas de estas ideas históricas se han adoptado en Unicode , por ejemplo, en los bloques Unicode Elementos de bloque , Dibujo de caja y Formas geométricas .

Gráficos de bloque

Por ejemplo, un carácter de 8 × 12 podría dividirse verticalmente en dos mitades y horizontalmente en tres partes, y luego asignar valores de "tinta" y "fondo" a los elementos de la matriz en un patrón binario, correspondiente a la secuencia binaria del posición en la tabla de fuentes de una matriz de mosaico de 2 × 3 de los llamados squots (puntos cuadrados) o sextantes . Las versiones menos utilizadas utilizan una "matriz" de 1 × 6, en cuyo caso estos seis "píxeles" a veces se denominan seis . Pero también era común dividir un carácter de 8 × 8 en "píxeles" de 2 × 2 llamados cuadrantes (se usaba , por ejemplo, en el Sinclair ZX81 ). A veces, los caracteres semigráficos de texto simplemente se incorporan al conjunto de fuentes del sistema, a veces se utiliza hardware de video especial para convertir directamente el patrón de bits de la memoria de video en píxeles. En raras ocasiones, una matriz de caracteres no se podía dividir verticalmente por tres, por ejemplo, en una matriz de 8 × 8, el mosaico a veces se divide de modo que utiliza un esquema de líneas de exploración de 3: 2: 3. El modo gráfico de Galaksija es un ejemplo, aunque con un esquema 4: 5: 4 el efecto de distorsión fue mínimo.

Image
Disposición de caracteres y píxeles en la pantalla TRS-80

El uso fundamental de esta tecnología fue en el TRS-80 donde la única forma de obtener píxeles discretos en la pantalla que se podían encender y apagar individualmente (todos los puntos direccionables) era mediante el uso de una matriz de bloques de 2 × 3 píxeles. gráficos. En el caso del TRS-80, estos gráficos de bloques no se incorporaron en una ROM de fuente, como luego se convirtió en la norma, sino que se generaron directamente a partir del patrón lógico de seis bits de la RAM de video utilizando un circuito dedicado hecho de puertas lógicas . Un sistema anterior que usaba la misma matriz de pseudo-gráficos de una matriz de 2 por 3 fue la Interfaz de terminal de video (VTI) del Poly-88 por sistemas polimórficos , un sistema basado en bus S-100 anterior al TRS-80.

Si el sistema también admitía el color, la resolución de color de los píxeles resultantes era normalmente igual a la resolución del texto, lo que a menudo provocaba conflictos de atributos, ya que el color de un píxel no se podía cambiar por píxel, sino solo a una "tinta". y un color de "fondo" para todos los píxeles dentro de la posición de un carácter.

A veces, la cantidad de caracteres de la fuente, dedicada a los gráficos de bloque, podría reducirse a la mitad si el sistema también admitiera un atributo "invertido", ya que la mitad de los caracteres en un conjunto de fuentes de gráficos de bloque completo son el inverso lógico de la otra mitad de la fuente. colocar. Otros trucos que se utilizaron para disminuir la cantidad de caracteres necesarios fueron utilizar un espacio para el carácter "todos los bits son cero" y utilizar el carácter 7F hexadecimal para el carácter "todos los bits están activados", como el carácter 7F hexadecimal (decimal 127) a menudo se definía como un carácter de "todos los píxeles en" (esto se debía a que al usar cinta de papel perforando los siete orificios, se creaba el "byte" hexadecimal 7F, que se consideraba el carácter "DEL" o "borrado" ) . La asignación en ASCII del carácter de borrado (hasta el punto de código 127) llevó a los diseñadores de VDU a utilizar " borrado " para un cuadrado de carácter lleno de "tinta", que a menudo se usaba para representar el cursor.

Ejemplos del uso de gráficos de bloques.

Image
conjunto de gráficos de bloques de texto de la ZX-81

Otros ejemplos de sistemas que se basaron en el uso de gráficos de bloques son:

  • Los conjuntos de caracteres ZX80 y ZX81 , donde se utilizó una matriz de 2 × 2 píxeles, con los trucos de espacio e inversión de atributos para mantener el número de caracteres en la ROM necesarios hasta solo 7 (de los 16 necesarios). El ZX Spectrum también admitía gráficos de bloques, así como gráficos "reales" de mayor resolución. Además, en el Spectrum, la fuente del sistema (almacenada en su ROM) podría cambiarse fácil e instantáneamente a una almacenada en la RAM, permitiendo a los programadores definir sus propios caracteres semigráficos para satisfacer sus necesidades.
  • Otros sistemas que utilizaron una matriz de 2 × 2 fueron el Panasonic JR-200 y el Mattel Aquarius .
  • El Commodore PET también tenía algunos caracteres para admitir semigráficos de texto 2 × 2 en su juego de caracteres PETSCII . El PET también fue uno de los primeros sistemas que se basó en gran medida en caracteres semigráficos para obtener cualquier tipo de gráficos en la pantalla.
  • El TRS-80 Color Computer y el Dragon 32/64 son buenos ejemplos de sistemas que utilizan semigráficos de color matricial 2 × 2. Pero su Motorola 6847 VDC también admitía un modo semigráfico de 6 bloques poco usado.
  • Los sistemas de videotex y teletexto utilizaban una matriz de 2 × 3 y un primer plano ("tinta") y un color de fondo, normalmente de un conjunto de ocho colores (incluido el blanco y negro). Muchos sistemas utilizan " gráficos videotex ". Uno de los ejemplos más conocidos es el modo gráfico predeterminado de Acorn BBC Micro ( modo 7 ). Otros sistemas que usaban gráficos tipo "videotex" son: el ABC 80 , el Grundy NewBrain , muchos de los sistemas Acorn Eurocard y el Philips P2000T , que en realidad usaba un chip de teletexto diseñado para sus televisores.
  • El PC-8001 logró combinar texto normal con un conjunto completo de 256 "caracteres" semigráficos de texto en una matriz de 2 × 4; No está claro cómo el sistema distingue los 8 bits utilizados para las fuentes "normales" de los 8 bits necesarios para los semigráficos del texto.
  • Uno de los últimos sistemas de video en los que los semigráficos de texto fueron una opción útil fue el Adaptador de gráficos en color (CGA). Este adaptador de gráficos para los primeros IBM-PC solo admitía cuatro colores en su modo de gráficos de alta resolución, pero en el modo de texto podía mostrar 16 colores diferentes. Aunque la fuente ROM del adaptador CGA no contenía todos los caracteres semigráficos de texto típicos, todavía era posible crear un modo semigráfico de texto CGA de 160 × 100 utilizando un truco semidocumentado.

Caracteres semigráficos

Image
El teclado del PET 2001 tiene caracteres semigráficos indicados para facilitar la entrada.

Los caracteres semigráficos también son caracteres en una fuente que están destinados a dar la impresión de que un sistema puede admitir gráficos de alta resolución, mientras que de hecho el sistema funciona en modo texto. Los caracteres como los que dibujan cajas , los círculos y puntos, los símbolos de cartas como ♠, ♣, ♥ y ♦, y las formas geométricas de "bloques de construcción gráficos" como los triángulos le daban esa apariencia a esos sistemas.

Uno de los primeros sistemas que utilizó tales caracteres, el ejemplo canónico que siguieron otros, fue el Commodore PET , que tenía muchos de ellos dentro de su conjunto de fuentes PETSCII . El PET original dependía hasta tal punto de estos caracteres que los imprimía en su teclado, como se puede ver aquí, un ejemplo que pronto copiaron otros sistemas.

Otro buen ejemplo de un sistema que se basaba en caracteres semigráficos es el venerable Sharp MZ80K , que no tenía gráficos de alta resolución ni caracteres reprogramables, sino que se basaba completamente en un conjunto de fuentes extendido con muchos caracteres pseudográficos. Con estos todavía era posible generar juegos que parecían que el sistema tenía gráficos de alta resolución.

Algunos de los sistemas que tenían un conjunto de fuentes programables, pero que no tenían un hardware de gráficos de trama de alta resolución real, venían con conjuntos de caracteres predeterminados para ser cargados en la RAM del conjunto de caracteres, y estos conjuntos a menudo incorporaban las ideas mencionadas aquí, aunque a menudo era también el caso de que los caracteres semigráficos dedicados se definieran como necesarios.

Sistemas que se basaron en caracteres semigráficos

Ejemplos de sistemas que se basaron en gran medida en caracteres semigráficos para sus gráficos son:

  • El IBM PC original con el MDA no ofrecía ninguna forma de gráficos que no fueran los caracteres de dibujo de caja de su página de códigos de hardware predeterminada 437 .
  • El Commodore PET fue uno de los primeros sistemas que se basó en gran medida en caracteres semigráficos para obtener cualquier tipo de gráficos en la pantalla.
  • El Sinclair ZX80 y ZX81 se basaron en caracteres de gráficos de bloque para gráficos de baja resolución de 64 × 48 píxeles en blanco y negro o 32 × 48 en negro, blanco y gris difuminado como se ve en el juego de caracteres ZX80 y el juego de caracteres ZX81 .
  • El Mattel Aquarius confiaba completamente en su conjunto de personajes para juegos, a pesar de que se comercializaba a través de tiendas de juguetes. Nunca se convirtió en un éxito comercial en parte debido a esta limitación, que estaba desactualizada en ese momento.
  • La Panasonic JR-200 también usó caracteres semigráficos en combinación con gráficos de bloques.
  • La serie de computadoras Sharp MZ no ofrecía alta resolución ni caracteres programables, pero tenía un conjunto muy completo de caracteres semigráficos. - por lo que todavía ofrecía muchos juegos visualmente agradables
  • El Compukit UK101 (clon del popular superboard Ohio Scientific) también fue un sistema muy temprano que se basó en su gran conjunto de caracteres.
  • Los modos de texto de las computadoras Apple II posteriores, comenzando con Apple IIc y la versión mejorada de Apple IIe , admitían el juego de caracteres MouseText , que reemplazaba los caracteres en mayúsculas parpadeantes cuando estaba habilitado. Aunque estos sistemas Apple no se basaron en estos conjuntos de caracteres, sí desempeñaron un papel en la simulación de gráficos tipo GUI de los miembros más avanzados de su familia, mientras todavía estaban en modo texto.

Ver también

Referencias