Diferencia entre revisiones de «Color Graphics Adapter»

Contenido eliminado Contenido añadido
InternetArchiveBot (discusión · contribs.)
Rescatando 1 referencia(s) y marcando 0 enlace(s) como roto(s)) #IABot (v2.0.1
Lojwe (discusión · contribs.)
m Correcciones ortográficas con Replacer (herramienta en línea de revisión de errores)
Línea 3:
La '''Color Graphics Array''' ('''Adaptador de Gráficos de Color''') o '''CGA''', comercializada en 1981, fue la primera [[tarjeta gráfica]] en color de [[IBM]] (originalmente llamada ''Color/Graphics Adapter'' or ''IBM Color/Graphics Monitor Adapter'',<ref>[http://vintageibm.net/yahoo_site_admin/assets/docs/techrefv202.zip] {{Wayback|url=http://vintageibm.net/yahoo_site_admin/assets/docs/techrefv202.zip |date=20160304171846 }}; cf. section 1-133, "Color/Graphics Adapter", page 143 of ibm_techref_v202_1.pdf</ref>), 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 [[Monochrome Display Adapter]] (MDA), que sólosolo permitía la visualización de texto.
 
En 1982 se comercializó la [[Hercules Graphics Card]], que permitía mostrar gráficos monocromáticos a una resolución mucho mayor que la CGA, además de ser 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.
Línea 53:
* '''40×25 caracteres''' con 16 colores para el texto y 8 de fondo. Cada carácter está formado por un patrón de 8×8 [[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 del IBM PC 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 [[VRAM]] para 8 páginas de texto diferentes en este modo.
 
* '''80×25 caracteres''' con 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ólosolo 4 páginas de texto podían ser almacenadas en la [[VRAM]].
 
== Modos gráficos estándar ==
Línea 78:
 
La CGA ofrecía dos modos gráficos usados habitualmente:
* '''320×200 píxeles''', como en el modo de texto de 40×25. Sin embargo, en el modo gráfico era posible acceder a cada píxel individualmente, aunque sólosolo 4 colores podían ser mostrados simultáneamente. Esos 4 colores no se podían elegir libremente de entre los 16 totales, ya que sólosolo había dos paletas oficiales para este modo:
*# Magenta, cian, blanco y el color de fondo (negro por defecto).
*# Rojo, verde, marrón/amarillo y el color de fondo (negro por defecto).
Línea 86:
* '''640×200''' píxeles, como en el modo de texto de 80×25. Todos los píxeles podían ser accedidos libremente. Este modo era monocromo, permitiendo solamente los colores blanco y negro (aunque esto podía ser cambiado), con una relación de aspecto de 1:2.4.
 
En el modo de texto, los [[mapa de bits]] de las tipografías provenían de la ROM de caracteres, que sólosolo era accesible para la propia tarjeta. En los modos gráficos, 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 dirección F000:FA6E, y los 128 restantes provenían de la dirección indicada por la interrupción 1F (0000:007C). Esta segunda mitad aparecía como espacios en blanco (o como caracteres sin sentido, depende de la implementación) a menos que fueran definidos explícitamente, normalmente por una utilidad como GRAFTABL o por el programa ejecutado.
 
== El modo de vídeo compuesto ==
Aunque desconocido para muchos, existía un modo gráfico adicional de [[video compuesto]] de '''160×200''' (con relación de aspecto de 1.67:1), en el que se podían utilizar 16 colores diferentes. Este modo no utilizaba la tabla de colores CGA, sino que era más parecido al modo de "alta resolución duplicada" del [[Apple II]], ya que ambos utilizaban una técnica similar. El modo compuesto fue raramente utilizado; la falta de soporte en la BIOS impidió que muchos programadores lo adoptaran, y el coste de un sistema IBM era tan alto que la mayoría de los compradores podían permitirse también el costoso monitor RGB. SóloSolo unos pocos títulos de software (la mayoría juegos) utilizaron este modo.
 
Una equivocación común es que el modo compuesto era soportado por algunas máquinas con monitor RGB, pero esto sería una contradicción teniendo en cuenta el funcionamiento de este modo. La explicación más 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 resolución, pero no en cuanto a color y organización de memoria). Cualquier intento de activar el modo compuesto en un monitor RGB producía un resultado idéntico al modo gráfico de 640×200.
Línea 119:
 
=== El modo de 160×100 con 16 colores ===
Técnicamente este no era un modo gráfico, sino un truco realizado mediante el modo de texto de 80×25. Consistía en cambiar el registro que indicaba la altura de las celdas de los caracteres para que mostrara sólosolo 2 líneas por celda en vez de las 8 normales. Esto cuadruplicaba el número de líneas de texto visibles, de 25 a 100. Estos caracteres "comprimidos" no se mostraban completos, sino solamente las dos líneas superiores, de 8 píxeles cada una.
 
{| border="1" style="border-style: none; float: left; clear: right; margin-right: 1em;"
Línea 151:
Usando otros caracteres para combinar el [[arte ASCII]] con esta técnica, era posible conseguir un nivel de detalle mayor.
 
La misma técnica de reducción de las celdas de texto se podía usar con el modo de 40×25, pero solo tenía sentido combinándolo con arte ASCII, ya que de lo contrario la resolución resultante sería de sólosolo 80×100.<ref>[http://www.oldskool.org/shrines/lbd/graphics/icon4.gif oldskool.org]</ref><ref>[http://www.oldskool.org/shrines/lbd/graphics/icon3.gif oldskool.org]</ref><ref>[http://www.oldskool.org/shrines/lbd/graphics/icon2.gif oldskool.org]</ref>
 
== Errores y errata ==
El error más notable del hardware de la CGA era la "nieve" que aparecía 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 simultánea entre el controlador de vídeo [[Motorola 6845]] y el CPU. Por ello se veían bloques rectangulares aleatorios que se encendían y apagaban siempre que se accedía a la memoria simultáneamente por la CPU y el controlador de video. 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 píxeles. Pero con CGA, la siguiente fila de datos de imagen correspondía a la fila de píxeles ''dos'' filas más abajo. Esto continúa así hasta el final de la pantalla y sólosolo 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 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.
 
{| cellpadding="5" align="right" border="1" style="border-style: none"
Línea 167:
IBM diseñó el monitor CGA [[IBM 5153]]<ref>International Business Machines Corporation (1983): IBM Personal Computer XT Technical Reference Manual, pages D-42 to D-43.</ref> 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 el circuito defectuoso, el color indexado #6 permanecía 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, gráficos de 320×200 y 640×200). SóloSolo estableciendo modos de video manualmente programando el [[Motorola 6845]] de la CGA se pueden mostar los 16384 bytes como píxeles individuales simultáneamente.
 
== Adaptadores rivales ==