Diferencia entre revisiones de «Color Graphics Adapter»

Contenido eliminado Contenido añadido
m No era VRAM sino RAM
mSin resumen de edición
Línea 1:
{{Redirige aquí|CGA}}
 
La '''Color Graphics Adapter''' ('''Adaptador de Gráficos ende Color''') o '''CGA''', comercializada en 1981, fue la primera tarjeta gráfica en color de [[IBM]] (originalmente llamada "'''Color/Graphics Monitor Adapter"'''), y el primer [[estándar gráfico]] en color para el [[IBM PC]].
 
Cuando IBM introdujo en el mercado su PC en 1981, el estándar CGA, a pesar de haber aparecido al mismo tiempo, era poco usado al principio, ya que la mayoría de los compradores adquirían un PC para uso profesional. Para juegos había otros ordenadores mucho más populares, y en aquella época no se consideraba que los gráficos en color tuvieran otro uso que el puramente lúdico. En consecuencia, muchos de los primeros compradores del PC optaron por la MDA ([[Monochrome Display Adapter]] (MDA), que sólo permitía la visualización de texto.
 
En 1982 se comercializó la [[Hercules Graphics Card]], que permitía mostrar gráficos en monocromomonocromáticos a una resolución mucho mayor que la CGA, además de ser más compatible con la MDA, lo que perjudicó todavía más a las ventas de la CGA. Todo cambió 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 bajó considerablemente y se convirtió en una interesante alternativa de bajo coste, por lo que las nuevas empresas dedicadas a la fabricación de PC clónicos la adoptaron rápidamente. Los PC no-AT de bajo coste con tarjetas CGA se vendieron muy bien en los años siguientes, y como consecuencia muchos juegos fueron editados para ellos a pesar de sus limitaciones. La popularidad de la CGA comenzó a desaparecer cuando en 1987 la tarjeta [[VGA]] se convirtió en la nueva solución de alto nivel, relegando la EGA a los PC de bajo coste.
 
La tarjeta estándar CGA de IBM incorporaba 16 [[kilobyte]]s de [[memoria RAM|RAM]], y permitía mostrar varios modos gráficos y [[modo de texto|de texto]]. La resolución máxima de cualquier modo era 640×200, y la mayor [[profundidad de color]] soportada era de 2 bits (4 colores). El modo más conocido, usado en la mayoría de los juegos CGA, mostraba 4 colores a una resolución de 320×200.
 
Aunque los 4 colores estaban considerados generalmente como el límite para la tarjeta CGA, era posible aumentar esa cantidad mediante varios métodos (algunos oficiales, otros no).
Línea 46:
El [[Commodore 128]] utilizaba el mismo método para transmitir colores por su salida RGBI, por lo que se podían conectar los mismos monitores y mostrar los mismos 16 colores.
 
Existe cierta confusión respecto al color #6 en los monitores RGBI: siguiendo estrictamente el modelo de color RGBI, el color #6 debería ser amarillo oscuro (#AAAA00) (ver más abajo). Sin embargo, IBM optó por incluir circuitería adicional en el monitor ende color 5153 para detectar el color #6 y rebajar el componente verde para convertirlo en un tono marrón más agradable (#AA5500), así que la mayoría de monitores "compatibles con CGA" imitan este comportamiento. La teoría predominante sobre esta decisión es que IBM pretendía que los colores se aproximaran a los del terminal del [[mainframe]] [[IBM 3270|3270]], concretamente el [[IBM 3279|3279]], pero esta información no está comprobada.
 
== Modos de texto estándar ==
La CGA permitía usar dos modos de texto:
 
* '''40×25 caracteres''' con hasta 16 colores para el texto y 8 de fondo. Cada carácter esestá formado por un patrón de 8×8 puntos[[pixel]]s. La resolución efectiva de este modo es de 320×200 [[píxel]]es (con una [[relación de aspecto]] de 1:1.2), aunque no es posible acceder a los píxeles 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 [[tipografía]] de los modos de texto era fija y no se podía cambiar (aunque en una tarjeta IBM CGA original en undel IBM PC original era posible seleccionar entre dos tipografías diferentes, normal o delgada, cambiando un [[Jumper (informática)|jumper]] no presente en la mayoría de los clones). En este modo cada carácter podía tener un color primario y otro de fondo que podían ser escogidos libremente de la paleta CGA completa (ver tabla); por ejemplo, texto amarillo para un carácter, blanco sobre negro para el siguiente y cian sobre gris para otro. La tarjeta tenía suficiente RAM de vídeo para 8 páginas de texto diferentes en este modo.
 
* '''80×25 caracteres''' con hasta 16 colores para el texto y 8 de fondo. Nuevamente cada carácter era un patrón de puntos de 8×8 (con el mismo juego de caracteres del modo de 40×25), con una relación de aspecto de 1:2.4. La resolución efectiva era de 640×200 píxeles, 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, sólo 4 páginas de texto podían ser almacenadas en la RAM de vídeo.
 
== Modos gráficos estándar ==
Línea 109:
Existía una serie de posibilidades oficiales y no oficiales que podían ser utilizadas para conseguir mejores gráficos.
 
* En el modo de 320×200, el color de fondo, que por defecto era el negro después de la inicialización, podía ser cambiado porpara cualquiera de los otros 1516 colores de la paleta CGA. Esto permitía 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 podía ser cambiado porpara cualquiercualquiera de los otros16 15colores básicos.
* En los modos de texto, el color del borde (mostrado fuera del área de visualización, y normalmente negro) podía ser cambiado pora cualquiera de los otros16 15colores.
* Existía una tercera paleta de 4 colores para el modo de 320×200 que podía ser utilizada activando el bit de monocromo con el modo de color activado. Esto cambiaba los colores de paleta a rojo, cian, blanco, ymás el color de fondo.
* Mediante una sincronización precisa, era posible cambiar de paleta mientras el contenido de la pantalla todavía se estaba dibujando, permitiendo usar cualquiera de las 3 en cada línea de escaneo. El mejor ejemplo de uso de esta técnica es el juego [[California Games]] [http://www.mobygames.com/game/shots/p,2/gameId,1823/gameShotId,7722/] cuando se ejecuta en un [[Intel 8086 y 8088|8088]] a 4.77 [[MHz]] (en un ordenador más rápido no se obtendría el efecto, ya que se perdería la sincronización necesaria para cambiar las paletas en el momento adecuado)
* Se podían aproximar colores adicionales mediante [[tramado]]. Si la imagen era desplegada en un televisor convencional (que tenían en ese entonces una baja resolución), se podían ver 16 colores sólidos cuando se trabajaba con la resolución estándar de 320×200, pero si la bajaimagen era vista en un monitor de color (de alta resolución) no aparecían los 16 colores sino que se lose hacíanotaba muyel evidentetramado.
 
Algunas de estas técnicas se podían combinar. Se pueden encontrar algunos ejemplos en juegos [http://www.mobygames.com/attribute/sheet/p,2/attributeId,5/]. La mayoría de los títulos no utilizaron estas posibilidades, pero hay algunas excepciones sorprendentes.
Línea 154:
 
== Errores y errata ==
El error más notable del hardware CGA fue la "nieve" en el modo de texto 80x25. La RAM en la tarjeta IBM CGA original no era de doble puerto, popor lo que el acceso de lectura yo escritura no era posible hacerlo de manera simultánea entre el controlador de video MC6845 y el CPU. Por ello se veían pixelsbloques rectangulares aleatorios encendidosque se encendían y apagaban siempre que se escribía enaccesaba la memoria alsimultáneamente mismopor tiempoel queCPU sey el controlador de leíavideo. Este error fue reparado en la mayoría de los clones, pero aún existe en algunas iteraciones (como en el [[AT&T PC 6300]]).
 
La memoria CGA en modos gráficos 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 pixels. Pero con CGA, la siguiente fila de datos de imagen correspondía a la fila de pixels ''dos'' filas más abajo. Esto continúa así hasta el final de la pantalla y sólo 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 RAM de la CGA es para las filas 1, 3, 5, etc. Esto añade pasos de cálculo para muchas operaciones gráficas en la CGA si el programador buscaba tener ''artefactos visuales'''cuando actualizara la pantalla.
Línea 165:
|}
 
IBM diseñó el monitor CGA 5153 para intencionadamente oscurecer el color indexado #6 de amarillo oscuro a marrón; sin embargo, algunos monitores clónicos no tenían ese circuito. En esos monitores y en monitores 5153 con leel circuito defectuoso, el color idexadoindexado #6 permanecía amarillo oscuro (ver imagen).
 
La totalidad de la RAM 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, gráficos de 320×200 y 640×200). Sólo estableciendo los modos de video manualmente usandoprogramando los puertos deel escritura6845 de la CGA se pueden mostar los 16384 bytes como pixels individules simultáneamente.
 
== Adaptadores rivales ==
CGA ha tenido dos principales competidores:
* Para negocios y procesado de texto, IBM lanza su [[Monochrome Display Adapter]] (MDA) al mismo tiemportiempo que la CGA. La MDA produce texto en 80×25, dibujando cada carácter en una caja de 9×14 pixels, de los que 7×11 son el carácter en sí, (lo que nos daría una resolución de 720 x 350). Espixels, 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 elección 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 resolución compatible la MDA y un modo gráfico monocromomonocromático de 720×348 pixels, mucho mejor que la máxima resolución de la que la CGA puede ofrecer. Por ello, incluso sin ningún tipo de capacidad de color, el adaptador de Hercules ofrece unos mejores gráficos monocromosmonocromáticos y la posibiliad de trabajar con monitores mucho menos costosos lo convierten en la opción preferida por muchos. Al principio de [[1985]], programas [[emulador]]es residentes en memoria como SIMCGA permitían mostrar modos gráficos CGA en el modo gráfico de la Hercules (el resultado parecía [[tramado]], crudo). La Hercules es probablemente la tarjeta más utilizada para conectar monitores monocromomonocromáticos en la vidaera del IBM PC.
 
Un competidor menos utilizado fue la [[Plantronics]] [[Plantronics Colorplus|Colorplus]], una tarjeta CGA compatible que dobla la RAM a 32 KB, lo que le permite utilizar nuevos modos gráficos 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 mayoría de los modos de la CGA, y añadía una resolución adicional de 640×350 además de una paleta seleccionable por software de 16 colores de entre 64 seleccionables por software, tanto en los modos de texto como en los gráficos.
 
== Referencias ==