한국   대만   중국   일본 
Color Graphics Adapter - Wikipedia, la enciclopedia libre Ir al contenido

Color Graphics Adapter

De Wikipedia, la enciclopedia libre
Modo 644×200 2 colores con su color por defecto ? Navegador web Arachne .

La Color Graphics Adapter ( Adaptador de Graficos de Color ) o CGA , comercializada en 1981, fue la primera tarjeta grafica en color de IBM (originalmente llamada Color/Graphics Adapter or IBM Color/Graphics Monitor Adapter , [ 1 ] ​), y el primer estandar grafico en color para el IBM PC .

Cuando IBM introdujo en el mercado su PC en 1981, el estandar CGA, a pesar de haber aparecido al mismo tiempo, era poco usado al principio, ya que la mayoria de los compradores adquirian un PC para uso profesional. Para juegos habia otros ordenadores mucho mas populares, y en aquella epoca no se consideraba que los graficos en color tuvieran otro uso que el puramente ludico. En consecuencia, muchos de los primeros compradores del PC optaron por la Monochrome Display Adapter (MDA), que solo permitia la visualizacion de texto.

En 1982 se comercializo la Hercules Graphics Card , que permitia mostrar graficos monocromaticos a una resolucion mucho mayor que la CGA, ademas de ser compatible con la MDA, lo que perjudico todavia mas a las ventas de la CGA. Todo cambio en 1984 cuando IBM introdujo el IBM Personal Computer/AT y la Enhanced Graphics Adapter (EGA). Con ello, el precio de la antigua tarjeta CGA bajo considerablemente y se convirtio en una interesante alternativa de bajo coste, por lo que las nuevas empresas dedicadas a la fabricacion de PC clonicos la adoptaron rapidamente. Los PC no-AT de bajo coste con tarjetas CGA se vendieron muy bien en los anos siguientes, y como consecuencia muchos juegos fueron editados para ellos a pesar de sus limitaciones. La popularidad de la CGA comenzo a desaparecer cuando en 1987 la tarjeta VGA se convirtio en la nueva solucion de alto nivel, relegando la EGA a los PC de bajo coste.

La tarjeta estandar CGA de IBM incorporaba 16 kilobytes de VRAM , y podia conectarse a un monitor de video compuesto NTSC o a una television mediante un conector RCA , o a un monitor de 4-bit "RGBI" [ 2 ] ​ como el IBM 5153 mediante un conector DE-9 . [ 3 ] ​ Permitia mostrar varios modos graficos y de texto. La resolucion maxima era 640×200, y la mayor profundidad de color soportada era de 2 bits (4 colores). El modo mas conocido, usado en la mayoria de los juegos CGA, mostraba 4 colores a una resolucion de 320×200.

Aunque los 4 colores estaban considerados generalmente como el limite para la tarjeta CGA, era posible aumentar esa cantidad mediante varios metodos (algunos oficiales, otros no).

La paleta de colores de la CGA [ editar ]

'''Paleta completa de 16 colores CGA'''
0 ? negro
#000000
8 ? gris (oscuro)
#555555
1 ? azul
#0000AA
9 ? azul intenso
#5555FF
2 ? verde
#00AA00
10 ? verde intenso
#55FF55
3 ? cian
#00AAAA
11 ? cian intenso
#55FFFF
4 ? rojo
#AA0000
12 ? rojo intenso
#FF5555
5 ? magenta
#AA00AA
13 ? magenta intenso
#FF55FF
6 ? marron
#AA5500
14 ? amarillo
#FFFF55
7 ? blanco (gris claro)
#AAAAAA
15 ? blanco intenso
#FFFFFF

La tarjeta CGA funcionaba con monitores en color CRT RGBI. Estaba basada en el controlador de video Motorola 6845 y tenia una paleta de 16 colores. El rojo, el verde y el azul correspondian a cada uno de los tres rayos catodicos y el negro significaba que todos los rayos estaban casi apagados. El cian era una mezcla de los rayos verde y azul, el magenta de azul y rojo, y el marron de verde y rojo. El blanco (o gris claro) era una mezcla de los tres rayos.

Los 8 colores restantes se conseguian mediante la activacion de un bit de intensificacion , consiguiendo una version mas brillante de cada color, aunque el gris oscuro no se podia distinguir del negro en muchos monitores. El diseno RGB + bit de intensificacion de la CGA se denominaba RGBI .

El Commodore 128 utilizaba el mismo metodo para transmitir colores por su salida RGBI, por lo que se podian conectar los mismos monitores y mostrar los mismos 16 colores.

Existe cierta confusion respecto al color #6 en los monitores RGBI: siguiendo estrictamente el modelo de color RGBI, el color #6 deberia ser amarillo oscuro (#AAAA00) (ver mas abajo). Sin embargo, IBM opto por incluir circuiteria adicional en el monitor de color 5153 para detectar el color #6 y rebajar el componente verde para convertirlo en un tono marron mas agradable (#AA5500), asi que la mayoria de monitores "compatibles con CGA" imitan este comportamiento. La teoria predominante sobre esta decision es que IBM pretendia que los colores se aproximaran a los del terminal del mainframe 3270 , concretamente el 3279 , pero esta informacion no esta comprobada.

Modos de texto estandar [ editar ]

La CGA permitia usar dos modos de texto:

  • 40×25 caracteres con 16 colores para el texto y 8 de fondo. Cada caracter esta formado por un patron de 8×8 pixels . La resolucion efectiva de este modo es de 320×200 pixeles (con una relacion de aspecto de 1:1.2), aunque no es posible acceder a los pixeles individuales. Por lo tanto, los patrones estaban limitados a uno de los 256 caracteres almacenados en un chip de ROM en la propia tarjeta, por lo que la tipografia de los modos de texto era fija y no se podia cambiar (aunque en una tarjeta IBM CGA original del IBM PC era posible seleccionar entre dos tipografias diferentes, normal o delgada, cambiando un jumper no presente en la mayoria de los clones). En este modo cada caracter podia tener un color primario y otro de fondo que podian ser escogidos libremente de la paleta CGA completa (ver tabla); por ejemplo, texto amarillo para un caracter, blanco sobre negro para el siguiente y cian sobre gris para otro. La tarjeta tenia suficiente VRAM para 8 paginas de texto diferentes en este modo.
  • 80×25 caracteres con 16 colores para el texto y 8 de fondo. Nuevamente cada caracter era un patron de puntos de 8×8 (con el mismo juego de caracteres del modo de 40×25), con una relacion de aspecto de 1:2.4. La resolucion efectiva era de 640×200 pixeles, que al igual que en el otro modo de texto no eran accesibles individualmente. Debido a que la cantidad de caracteres en pantalla de este modo era el doble, solo 4 paginas de texto podian ser almacenadas en la VRAM .

Modos graficos estandar [ editar ]

Paleta CGA fija de 4 colores #1
color por defecto 5 ? magenta
3 ? cian 7 ? blanco (gris claro)
Paleta CGA fija de 4 colores #2
color por defecto 4 ? rojo
2 ? verde 6 ? marron (naranja)

La CGA ofrecia dos modos graficos usados habitualmente:

  • 320×200 pixeles , como en el modo de texto de 40×25. Sin embargo, en el modo grafico era posible acceder a cada pixel individualmente, aunque solo 4 colores podian ser mostrados simultaneamente. Esos 4 colores no se podian elegir libremente de entre los 16 totales, ya que solo habia dos paletas oficiales para este modo:
    1. Magenta, cian, blanco y el color de fondo (negro por defecto).
    2. Rojo, verde, marron/amarillo y el color de fondo (negro por defecto).

Activando el bit de intensificacion era posible conseguir versiones mas brillantes de estos colores.

La relacion de aspecto de 1:1.2 debia ser tenida en cuenta a la hora de dibujar grandes formas geometricas en la pantalla.
  • 640×200 pixeles, como en el modo de texto de 80×25. Todos los pixeles podian ser accedidos libremente. Este modo era monocromo, permitiendo solamente los colores blanco y negro (aunque esto podia ser cambiado), con una relacion de aspecto de 1:2.4.

En el modo de texto, los mapa de bits de las tipografias provenian de la ROM de caracteres, que solo era accesible para la propia tarjeta. En los modos graficos, en cambio, la salida de texto usaba dos tablas diferentes: los primeros 128 caracteres del conjunto eran obtenidos de una tabla en la BIOS en la direccion F000:FA6E, y los 128 restantes provenian de la direccion indicada por la interrupcion 1F (0000:007C). Esta segunda mitad aparecia como espacios en blanco (o como caracteres sin sentido, depende de la implementacion) a menos que fueran definidos explicitamente, normalmente por una utilidad como GRAFTABL o por el programa ejecutado.

El modo de video compuesto [ editar ]

Aunque desconocido para muchos, existia un modo grafico adicional de video compuesto de 160×200 (con relacion de aspecto de 1.67:1), en el que se podian utilizar 16 colores diferentes. Este modo no utilizaba la tabla de colores CGA, sino que era mas parecido al modo de "alta resolucion duplicada" del Apple II , ya que ambos utilizaban una tecnica similar. El modo compuesto fue raramente utilizado; la falta de soporte en la BIOS impidio que muchos programadores lo adoptaran, y el coste de un sistema IBM era tan alto que la mayoria de sus compradores no podian permitirse adquirir el tambien el costoso monitor RGB. Solo unos pocos titulos de software (la mayoria juegos) utilizaron este modo.

Una equivocacion comun es que el modo compuesto era soportado por algunas maquinas con monitor RGB, pero esto seria una contradiccion teniendo en cuenta el funcionamiento de este modo. La explicacion mas probable es la creencia de que los modos de 160×200 del IBM PCjr / Tandy 1000 o el Amstrad CPC son lo mismo (son iguales en cuanto a resolucion, pero no en cuanto a color y organizacion de memoria). Cualquier intento de activar el modo compuesto en un monitor RGB producia un resultado identico al modo grafico de 640×200.

Otros modos graficos y trucos [ editar ]

Tercera paleta fija CGA "trucada"
color por defecto 4 - rojo
3 ? cian 7 ? blanco (gris claro)

Existia una serie de posibilidades oficiales y no oficiales que podian ser utilizadas para conseguir mejores graficos.

  • En el modo de 320×200, el color de fondo, que por defecto era el negro despues de la inicializacion, podia ser cambiado para cualquiera de los 16 colores de la paleta CGA. Esto permitia introducir cierta variedad y algunos efectos de destellos, ya que era posible cambiar el color sin tener que redibujar la pantalla.
  • En el modo de 640×200, el color principal podia ser cambiado para cualquiera de los 16 colores basicos.
  • En los modos de texto, el color del borde (mostrado fuera del area de visualizacion, y normalmente negro) podia ser cambiado a cualquiera de los 16 colores.
  • Existia una tercera paleta de 4 colores para el modo de 320×200 que podia ser utilizada activando el bit de monocromo con el modo de color activado. Esto cambiaba los colores de paleta a rojo, cian, blanco, mas el color de fondo.
  • Mediante una sincronizacion precisa, era posible cambiar de paleta mientras el contenido de la pantalla todavia se estaba dibujando, permitiendo usar cualquiera de las 3 en cada linea de escaneo. El mejor ejemplo de uso de esta tecnica es el juego California Games [ 4 ] ​ cuando se ejecuta en un 8088 a 4.77 MHz (en un ordenador mas rapido no se obtendria el efecto, ya que se perderia la sincronizacion necesaria para cambiar las paletas en el momento adecuado) Lo mismo se puede hacer con el color de fondo, para crear el rio y la carretera en Frogger . [ 5 ] ​ Otro ejemplo documentado de esta tecnica es la conversion realizada por Atarisoft de Jungle Hunt al IBM PC.
  • Se podian aproximar colores adicionales mediante tramado . Si la imagen era desplegada en un televisor convencional (que tenian en ese entonces una baja resolucion), se podian ver 16 colores solidos cuando se trabajaba con la resolucion estandar de 320×200, pero si la imagen era vista en un monitor de color (de alta resolucion) no aparecian los 16 colores sino que se notaba el tramado.

Algunas de estas tecnicas se podian combinar. Se pueden encontrar algunos ejemplos en juegos. [ 6 ] ​ La mayoria de los titulos no utilizaron estas posibilidades, pero hay algunas excepciones sorprendentes.

El modo de 160×100 con 16 colores [ editar ]

Tecnicamente este no era un modo grafico, sino un truco realizado mediante el modo de texto de 80×25. Consistia en cambiar el registro que indicaba la altura de las celdas de los caracteres para que mostrara solo 2 lineas por celda en vez de las 8 normales. Esto cuadruplicaba el numero de lineas de texto visibles, de 25 a 100. Estos caracteres "comprimidos" no se mostraban completos, sino solamente las dos lineas superiores, de 8 pixeles cada una.

      Caracter 221.  
      221 con texto azul y fondo rojo.  
      221 con texto rojo y fondo azul.  
      Caracter 222.  

El caracter 221 del juego extendido de caracteres ASCII es un rectangulo que ocupa la mitad izquierda de la celda, mientras que el caracter 222 ocupa la mitad derecha.

Cada caracter podia tener un color diferente para el texto y el fondo, por lo que podia ser coloreado, por ejemplo, azul en la izquierda (texto) y rojo en la derecha (fondo), con la posibilidad de invertirlo intercambiando los colores de texto y fondo.

Usando el caracter 221 o 222, cada mitad de cada caracter podia ser usado como un pixel individual, lo cual daba un total de 160 pixels por linea horizontal. Asi era posible mostrar 160×100 pixeles con 16 colores simultaneos y una relacion de aspecto de 1:1.2.


Un unico gran "pixel" en el modo de 160×100.
Estas son las dos filas superiores de la mitad del caracter 221.
Tengase en cuenta los 8 pixeles que lo forman y la
proporcion 1:1.2 de los pixeles.

Aunque suponia dar un rodeo considerable para conseguir el objetivo final de mostrar 16 colores simultaneos, funcionaba bastante bien [ 7 ] ​ y este modo era mencionado (aunque no explicado en detalle) en la documentacion oficial del hardware de IBM.

Usando otros caracteres para combinar el arte ASCII con esta tecnica, era posible conseguir un nivel de detalle mayor.

La misma tecnica de reduccion de las celdas de texto se podia usar con el modo de 40×25, pero solo tenia sentido combinandolo con arte ASCII, ya que de lo contrario la resolucion resultante seria de solo 80×100. [ 8 ] [ 9 ] [ 10 ]

Errores y errata [ editar ]

El error mas notable del hardware de la CGA era la "nieve" que aparecia en el modo de texto 80x25. La VRAM en la tarjeta IBM CGA original no era de doble puerto, por lo que el acceso de lectura o escritura no era posible hacerlo de manera simultanea entre el controlador de video Motorola 6845 y el CPU. Por ello se veian bloques rectangulares aleatorios que se encendian y apagaban siempre que se accedia a la memoria simultaneamente por la CPU y el controlador de video. Este error fue reparado en la mayoria de los clones, pero aun existe en algunas iteraciones (como en el AT&T PC 6300 ).

La memoria CGA en modos graficos era entrelazada, esto era una molestia para los programadores. Normalmente, la memoria de video es estrictamente lineal: la siguiente fila de datos de imagen corresponde a la siguiente fila de pixeles. Pero con CGA, la siguiente fila de datos de imagen correspondia a la fila de pixeles dos filas mas abajo. Esto continua asi hasta el final de la pantalla y solo entonces se comienzan a rellenar las filas vacantes. con lo que la primera mitad de la memoria de pantalla son las filas 0, 2, 4, etc., hasta el fin de la pantalla y la segunda mitad de la VRAM de la CGA es para las filas 1, 3, 5, etc. Esto anade pasos de calculo para muchas operaciones graficas en la CGA si el programador buscaba tener artefactos visuales' cuando actualizara la pantalla.

Amarillo Oscuro
#AAAA00

IBM diseno el monitor CGA IBM 5153 [ 11 ] ​ para intencionadamente oscurecer el color indexado #6 de amarillo oscuro a marron; sin embargo, algunos monitores clonicos no tenian ese circuito. En esos monitores y en monitores 5153 con el circuito defectuoso, el color indexado #6 permanecia amarillo oscuro (ver imagen).

La totalidad de la VRAM de una tarjeta CGA (16.384 bytes) no es utilizada por completo por todos los modos de video inicializados por la BIOS (texto en 40×25 y 80×25, graficos de 320×200 y 640×200). Solo estableciendo modos de video manualmente programando el Motorola 6845 de la CGA se pueden mostar los 16384 bytes como pixeles individuales simultaneamente.

Adaptadores rivales [ editar ]

CGA ha tenido dos principales competidores:

  • Para negocios y procesado de texto, IBM lanza su Monochrome Display Adapter (MDA) al mismo tiempo que la CGA. La MDA produce texto en 80×25, dibujando cada caracter en una caja de 9×14 pixeles, de los que 7×11 son el caracter en si, lo que nos daria una resolucion de 720 x 350 pixeles, que eran claramente superior a los 8×8 de los modos de texto de la CGA. Debido al alto precio de la CGA en su momentos, el MDA fue la eleccion preferida para los negocios.
  • En 1982 aparece la Hercules Graphics Card (HGC), que no es fabricada por IBM. Ofrece un modo de texto en alta resolucion compatible la MDA y un modo grafico monocromatico de 720×348 pixeles, mucho mejor que la maxima resolucion de la que la CGA puede ofrecer. Por ello, incluso sin ningun tipo de capacidad de color, el adaptador de Hercules ofrece unos mejores graficos monocromaticos y la posibilidad de trabajar con monitores mucho menos costosos lo convierten en la opcion preferida por muchos. Al principio de 1985, programas emuladores residentes en memoria como SIMCGA permitian mostrar modos graficos CGA en el modo grafico de la Hercules (el resultado parecia tramado , crudo. La Hercules es probablemente la tarjeta mas utilizada para conectar monitores monocromaticos en era del IBM PC.

Un competidor menos utilizado fue la Plantronics Colorplus , una tarjeta CGA compatible que dobla la VRAM a 32 KB, lo que le permite utilizar nuevos modos graficos de 16 colores a 320×200 y 4 colores a 640×200. Los modos extendidos CGA presentes en el IBM PCjr y los Tandy 1000 son similares a estos modos.

La CGA fue sustituida en el tramo de consumo por la tarjeta IBM Enhanced Graphics Adapter (EGA), que soportaba la mayoria de los modos de la CGA, y anadia una resolucion adicional de 640×350 ademas de una paleta de 16 colores de entre 64 seleccionables por software, tanto en los modos de texto como en los graficos.

Referencias [ editar ]

  1. [1] Archivado el 4 de marzo de 2016 en Wayback Machine .; cf. section 1-133, "Color/Graphics Adapter", page 143 of ibm_techref_v202_1.pdf
  2. Red, Green, Blue, Intensity
  3. Kumar, A. (2002). Anmol Publications, ed. Encyclopaedia of Management of Computer Hardware . p. 1050. ISBN   9788126110308 .  
  4. ≪mobygames.com≫ . Archivado desde el original el 25 de septiembre de 2018 . Consultado el 7 de julio de 2006 .  
  5. ≪mobygames.com≫ . Archivado desde el original el 20 de diciembre de 2016 . Consultado el 3 de marzo de 2012 .  
  6. ≪mobygames.com≫ . Archivado desde el original el 1 de octubre de 2018 . Consultado el 7 de julio de 2006 .  
  7. ≪mobygames.com≫ . Archivado desde el original el 1 de octubre de 2018 . Consultado el 7 de julio de 2006 .  
  8. oldskool.org
  9. oldskool.org
  10. oldskool.org
  11. International Business Machines Corporation (1983): IBM Personal Computer XT Technical Reference Manual, pages D-42 to D-43.

Vease tambien [ editar ]

Otras tarjetas graficas:

Enlaces externos [ editar ]