¿Cómo se obtienen 1024 colores en CGA? ¿Y hay realmente 1024?

Lanzada en 2015, la traducción "Nuevo modo de gráficos: CGA en 1024 colores" me impresionó mucho, pero por eso todavía no entendía cómo funciona este truco, porque el artículo fue escrito por un profesional en el campo de los gráficos retro-computadora, y sugiere que el lector ya tiene algún conocimiento en esta área. Aunque mi primera computadora ( "Buscar" fue un clon soviético de IBM PC / XT) tenía CGA, no encontré monitores con una entrada compuesta, así que tuve que buscarlo en Google y descubrir cómo funcionaba el video compuesto. Para aquellos que también están interesados ​​en las tecnologías "internas" de 1981, en las que se descubrieron oportunidades inesperadas de indocumentados en 2015, reuní el material que encontré.

1. Características nativas de CGA


Para un laico, CGA generalmente se asocia con gráficos de 320x200 y una paleta de cuatro colores con colores ácidos y espeluznantes, como en los juegos de 1983 Alley Cat , J-bird , Lode Runner y Tapper :




Pero el límite de 320x200x2bpp solo se impone por la cantidad de memoria de video disponible en el adaptador (16 Kb) de hecho, es capaz de producir una imagen de 640x200x4bpp, con píxeles muy alargados verticalmente.Esto se usa, por ejemplo, en modo de texto 80x25 con caracteres de 16 colores y un fondo, y una matriz de caracteres de 8x8 píxeles. (Se puede calcular que el búfer de pantalla en este caso solo toma 80x25x2 = 4000 bytes). Pero si los gráficos se emiten en esta 640x200 de "alta resolución", entonces 16 KB de memoria de video son suficientes para una imagen en blanco y negro. Tal modo gráfico fue compatible, por ejemplo, con Windows hasta la versión 3.0 inclusive:



en la salida, el CGA produjo una señal digital para la cual se inventó especialmente la interfaz RGBI: dos líneas de sincronización señalan el comienzo del cuadro y el comienzo de la línea de exploración, y cuatro líneas de la señal de video transmiten el color de cuatro bits del píxel actual. Pero los monitores capaces de recibir una señal digital RGBI en la entrada eran raros en 1981; La propia IBM comenzó a producir tales monitores digitales solo en 1983. Para los usuarios domésticos, CGA tenía una segunda conclusión: la señal de video muy compuesta con la que los maestros de la escena de demostración evocaron. Podría conectarse mediante un modulador de RF a la entrada de antena de un televisor estadounidense convencional, además de que algunos televisores tenían una entrada compuesta especial (para conectar, por ejemplo, una videograbadora) que le permitía ingresar una señal de video sin pasar por el sintonizador y evitar una modulación / demodulación innecesaria.



La parte del fleje del adaptador de video, que forma la señal NTSC compuesta de la salida digital (este es el estándar estadounidense para la televisión en color), estaba destinada solo para la etapa de transición hasta que todos los usuarios de PC obtuvieran monitores digitales. El siguiente adaptador de video de IBM, EGA (1984), solo admitía salida digital (ya de seis bits), utilizando un par de contactos no utilizados previamente en la interfaz RGBI. Además, los modos de "alta resolución" no se recomendaban para su uso con salida de video compuesto, porque 640 píxeles en la línea de escaneo excedían las capacidades de NTSC. La siguiente sección explica por qué; y Wikipedia ilustra cómo se borró el texto en el modo CGA de 80 columnas en un monitor de entrada compuesto:




2. Funciones de TV


La televisión en blanco y negro se organizó de una manera muy directa: un haz de electrones recorre la pantalla línea por línea, y el nivel de la señal de video controla directamente la potencia del haz. Durante el retorno entre las líneas y entre cuadros, el haz se apaga y la señal de video transmite pulsos de sincronización. Como la señal es completamente analógica, su resolución horizontal no está definida: el brillo puede cambiar suavemente a lo largo de la línea. Por otro lado, la resolución vertical está establecida por la frecuencia de exploración horizontal (243 líneas para NTSC).

La ilustración, cuidadosamente dibujada en MS Paint, muestra cómo se ve la señal de video para un cuadro que consta de dos franjas verticales: ancho oscuro y estrecho brillante. En la parte superior, se muestra esquemáticamente una señal para una línea, en la parte inferior, una señal para una secuencia de líneas. Un pulso de sincronización que es "más negro que negro" se transmite antes de cada línea . Cuando se creó la televisión en color, era importante que las televisiones en blanco y negro existentes aceptaran videos en color aceptables. A los estadounidenses se les ocurrió el siguiente truco: la información de color se transmite mediante una señal armónica de subportadora



agregado a la señal de luminancia. Luego, un televisor en blanco y negro que no sabe cómo aislar y analizar el armónico de la subportadora resaltará cada píxel con un brillo correspondiente al valor medio de la señal durante el tiempo de transmisión del píxel. Si la frecuencia de la subportadora es lo suficientemente grande, entonces la señal adicional no afectará el valor promedio, es decir en el brillo mostrado. Ahora estamos de acuerdo en que el cambio de fase de la subportadora corresponde al tono del color, y su amplitud corresponde a la saturación; La división del color en brillo, matiz y saturación corresponde al modelo de color YIQ .

La segunda ilustración muestra esquemáticamente la señal de video para una línea del cuadro, que consiste en franjas verticales de colores. Se transmite una ráfaga de color adicional entre el reloj y el comienzo de la línea., que establece el receptor en la fase a partir de la cual se medirá el desplazamiento de la subportadora. Ahora las secciones planas de la señal (es decir, con amplitud cero de la subportadora) corresponderán a las barras grises (saturación cero); áreas donde la subportadora corresponde en la fase de explosión de color a bandas amarillas con dos valores de saturación diferentes dependiendo de la amplitud de la subportadora; gráfico donde la subportadora está en antifase en relación con la explosión de color: la barra azul. Como el nivel de señal promedio es el mismo en todas las áreas, un receptor de televisión en blanco y negro muestra todas las bandas con el mismo tono de gris. NTSC requiere que la señal auxiliar sea sinusoidal, pero esto no es tan importante: la onda cuadrada que se muestra en la ilustración ( meandro


) consta de armónicos con la frecuencia y fase deseadas, así como aditivos de frecuencias más altas ignorados por el receptor de televisión. La amplitud de este armónico es mayor que la amplitud del meandro en4/πveces, pero dado que el televisor usa la amplitud de la subportadora no en valor absoluto, sino en relación con la amplitud extraída de la explosión de color, la visualización del color no se ve afectada por el reemplazo de un aditivo sinusoidal por uno rectangular. CGA y otros dispositivos digitales primitivos generan exactamente ondas cuadradas.

Para simplificar la separación de la señal principal (brillo) y la adicional (color), NTSC estandarizó la frecuencia de la subportadora, 227.5 veces más alta que la frecuencia horizontal, es decir Para cada fila, junto con el espacio entre líneas, hay 227.5 períodos de subportadora. Por lo tanto, el televisor en color estadounidense tiene una cierta resolución horizontal: el brillo aún puede cambiar suavemente a lo largo de la línea, pero la frecuencia del tono del color está limitada por la frecuencia de la subportadora. Si el televisor recibe una señal de video con una resolución horizontal de 640 píxeles, aproximadamente un tercio del período de la subportadora corresponde a cada píxel, y un filtro de hardware primitivo no tiene tiempo para identificar correctamente el desplazamiento de fase y la amplitud de la subportadora de la señal para cada píxel. Esto conduce a resultados inesperados: de desenfoque,como se muestra en el ejemplo anterior, antes de crearColores de "artefactos" , inalcanzables por medio del adaptador de video. (Realmente no me gusta el nombre "colores espurios" usadoSLY_Gen la traducción de un artículo sobre 1024 colores; El significado principal de la palabra artefacto en inglés - "hecho por el hombre, creado artificialmente" - contrasta estos colores con el "natural" para CGA, y no tiene nada que ver con el parasitismo.)

Exactamente con la resolución horizontal, se conectó un error de hardware en CGA: en modos 640x200 (p. Ej. h. en texto de 80 columnas) la imagen en el monitor compuesto resultó ser en blanco y negro. La solución para este error era bien conocida: debe establecer un marco marrón alrededor de la imagen. El hecho es que el flejado que forma las señales del reloj establece su duración en ciclos de reloj del adaptador de video; en los modos 640x200, estos relojes son la mitad de largos que en los modos 320x200, por lo que el reloj entre las líneas del marco también es dos veces más corto que el NTSC requiere. Como resultado, la explosión de color simplemente no tiene tiempo para transmitirse. Pero si hay un marco marrón alrededor de la imagen (el marrón tiene un desplazamiento de fase casi nulo, el brillo bajo y la saturación corresponden a una amplitud aproximada para la explosión de color), entonces el monitor toma el lado izquierdo del marco como explosión de color, no lo dibuja en la pantalla y está configurado correctamente en fase de subportadora de color.



3. Dispositivo de señal compuesta CGA


Aunque la señal de video digital producida por CGA puede tener una resolución horizontal de hasta 640 píxeles (es decir, 640 cambios en los niveles de señales digitales en una línea), puede pensarse que una señal de video compuesta tiene una resolución de 1280 "subpíxeles", independientemente del modo de video utilizado, es decir. por cada píxel en modos de 640x200 hay dos subpíxeles, en modos de 320x200, cuatro. La fórmula calcula el nivel de señal (en voltios) emitido por el adaptador de video para el subpíxel actualU=0.41+I0.3+C0.75, donde el bit I (intensidad) se toma directamente del color del píxel actual, y el multiplexor selecciona la señal C (croma) en función de los otros tres bits del color ( R, G, B ):
RsolsiCColor
0 00 00 000000000…el negro
0 00 0100001111…azul (~ 180 °)
0 010 011100001…verde (~ 45 °)
0 01111000011…turquesa (~ 90 °)
10 00 000111100…rojo (~ 270 °)
10 0100011110…magenta (~ 225 °)
110 011110000…amarillo (~ 0 °)
11111111111…blanco
Los colores cromáticos corresponden a una señal de croma con un período de ocho subpíxeles y con un cambio de fase cercano a un múltiplo de 45 °, es decir. a un número entero de subpíxeles. Gracias a los ingeniosos esquemas de retraso en CGA, los cambios de fase de los colores son ligeramente (dentro de ± 10 °) diferentes de los múltiplos de 45 ° para estar más cerca de los colores NTSC estándar .

Por lo tanto, de 227.5 períodos de subportadora en una línea, 160 están en la imagen de salida, y el resto está en el intervalo entre líneas (reloj, explosión de color y marco alrededor de la imagen). Es importante que un número no entero de períodos de subportadora pase de la explosión de color al primer píxel de la línea: el primer píxel comienza a transmitirse a 45 °, por lo que si la línea comienza con cuatro píxeles amarillos, la señal de croma tomará valores durante la transmisión de los ocho subpíxeles correspondientes 11100001.

Brillo de píxeles (luma), es decir el valor promedio del nivel de señal para el período de la subportadora, obtengaL=0.72Cavg+0.28Idónde Cavg=RGB+RGB2: 0.5 para colores cromáticos, 0 para negro y 1 para blanco. Esto significa que en un monitor compuesto en blanco y negro, el primer modelo CGA (1981) solo podía mostrar seis tonos de gris. En modelos CGA posteriores (desde 1983), la adición no periódica a la subportadora comenzó a depender de los cuatro bits de color, de modo que el brillo correspondía a una fórmula más complejaL=0.29Cavg+0.1R+0.22G+0.07B+0.32I, lo que nos permitió mostrar nuestro propio tono de gris en un monitor en blanco y negro para cada uno de los 16 valores de color. Como resultado de este refinamiento, los colores que difieren en brillo y están más cerca de los que se muestran en el digital también comenzaron a mostrarse en el monitor compuesto de color: los errores y fallas de hardware en el arnés que forman la señal compuesta de la salida digital indican que los desarrolladores de CGA no estaban demasiado preocupados por su uso con un monitor compuesto, y aún menos preocupado por cómo se mostrarían los modos de "alta resolución" en el monitor compuesto. Sin embargo, ¡fue esta combinación no admitida la que permitió a los maestros de demoscene exprimir lo inimaginable del CGA!






4. Características inesperadas de CGA ...


4a) ... en modos gráficos


Como se explicó anteriormente, la parte de la línea, sombreada en un color, en la señal de video compuesto se convierte en un meandro con un período de ocho subpíxeles. Lo contrario también es cierto: cualquier señal compuesta que se repita con un período de ocho subpíxeles se mostrará como una parte de un solo color de la línea, porque la subportadora armónica extraída de ella tendrá un cambio de fase constante y una amplitud constante. Lo que se utilizará exactamente el cambio de fase es más difícil de predecir; El artículo sobre 1024 colores muestra el resultado sin ninguna explicación: la columna Nybble muestra una secuencia repetitiva de cuatro píxeles en modo 640x200x1bpp, es decir. de ocho subpíxeles. Dos de estas secuencias ( y



01011010) corresponden a meandros con un período de cuatro subpíxeles: no hay subportadora armónica en tal onda, por lo que el color resultante es gris. Cuatro secuencias más ( 0011, 0110, 1001, 1100) corresponden a ondas subportadoras puras, con un desplazamiento de 135 °, 225 °, 45 ° y 315 °, respectivamente. Dos de estas ondas establecen los colores púrpuras y verdes estándar, las dos restantes: azul y naranja, inalcanzables por medio de CGA. Señal de llenado al 75% (secuencia0111, 1011, 1101, 1110) corresponde a un desplazamiento de subportadora de fase de medio píxel, es decir en un subpíxel; pero el resultado no coincide exactamente con la fase de los colores estándar, debido a los esquemas de demora que "tiran" de los colores CGA estándar a los colores NTSC estándar. Por lo tanto, se obtienen tonos con un ligero cambio: azul turquesa, turquesa verdoso, marrón rojizo, rojo púrpura. Un llenado del 75% aumenta el nivel de señal promedio, es decir brillo de color; pero no afecta la saturación, porque los "bordes" más amplios del meandro son creados por armónicos de alta frecuencia ignorados por el receptor de televisión. Finalmente, una señal con un relleno del 25% corresponde a los mismos tonos que para el 75%, pero menos brillo.

Es aún más difícil predecir qué color resultará cuando la secuencia se repita no a partir de píxeles en blanco y negro, sino a partir de colores. En el modo 640x200x1bpp, el color de fondo es siempre negro, pero el segundo color se puede seleccionar de cualquiera de los 16 estándares. En el modo 320x200x2bpp, por el contrario, el color de fondo se puede seleccionar de cualquiera de los 16 estándares, y los otros tres colores están determinados por la paleta seleccionada entre cuatro opciones. El artículo sobre 1024 colores muestra dos de esas combinaciones, nuevamente sin explicación. Solicité comentarios directamente a reenigne , responsable de la parte técnica de la salida de video en 8088 MPH, así como de la implementación de la emulación CGA en DOSBox; y me aconsejó cgaart- Emulador autónomo CGA escrito por él, capaz de trabajar en modo por lotes. Al agregar un enlace simple de Python a cgaart, generé una tabla a partir de todos los posibles conjuntos de 16 colores de "colores de artefactos":

Mesa completa

El código para cada conjunto consiste en el número del modo gráfico ( 1Apara 640x200x1bpp, 0Apara 320x200x2bpp), el número de la paleta ( 0–3) y el número de color libremente seleccionable ( 0–F). Cada fila de la tabla consta de 16 cuadrados correspondientes a una secuencia repetitiva de píxeles; cada cuadrado consta de cinco bandas: salida digital, nivel de señal compuesta y salida en el monitor compuesto con el primer modelo CGA, salida en el monitor compuesto y nivel de señal compuesta con el modelo CGA corregido. El nivel de señal compuesta se muestra como el promedio de dos subpíxeles: cgaart solo lo calcula con tal precisión. Consideremos con más detalle las líneas correspondientes a los dos conjuntos que se muestran en el artículo sobre 1024 colores: estos son conjuntos 1A0Cy0A01; pero antes de eso, considere un conjunto más simple 1A04:



un conjunto 1A04- píxeles rojos sobre fondo negro - corresponde a una señal con un relleno del 50% y un desplazamiento de 270 °, modulada por una secuencia periódica de cuatro píxeles. El alto nivel de la señal cae dentro de las primeras tres secuencias de píxeles, por lo que el cuarto bit no afecta el color resultante: por ejemplo, 000xy se 001xconvierte en negro puro, y 111x- en rojo puro. Las secuencias con el primer píxel puesto a cero ( 010xy 011x) corresponden al cambio de fase en un subpíxel, es decir -45 ° a magenta; Segundo píxel reiniciable ( 100xy 101x): cambio de 45 ° a naranja.

Conjunto1A0C- píxeles rojos claros sobre un fondo negro - corresponde a la misma señal, pero con una adición no periódica, por lo que su nivel bajo ahora es más alto que el negro. Como resultado de esta secuencia 0001, 0010, 0011son convertidos en los mismos colores (verde, azul turquesa, azul y biryuzovato azul) como en el caso de los píxeles blancos, pero ahora con un brillo más bajo mucho, porque una fuente de señal de bajo nivel juega un papel de un alto nivel para el resultante. Las secuencias restantes mantienen un alto nivel de la señal original, y los tonos de color correspondientes se obtienen cerca del conjunto 1A04, aunque el brillo ahora es mayor debido a un nivel promedio más alto.

Finalmente establecer0A01- un fondo azul, una paleta verde-rojo-marrón, cuatro subpíxeles en cada píxel, dos píxeles en una secuencia repetitiva - contiene cuatro colores estándar (las secuencias 00, 11, 22, 33no causan artefactos) y sus mezclas por pares: si agrega dos meandros, entonces la subportadora armónica cambia en la señal resultante estará en el medio entre los cambios de los términos. Sin embargo, el brillo y la saturación del resultado dependen del orden de los términos: por ejemplo, el rojo tiene un alto nivel de subpíxeles 1-4, el verde tiene 6-1, de modo que la secuencia 12corta completamente el alto nivel del término rojo y medio verde ; mientras que la secuencia21retiene completamente un alto nivel del término rojo y medio verde. El tono en ambos casos se vuelve amarillo, pero para la secuencia 12- saturada y muy oscura, mientras que para 21- insaturada y muy clara.

Por lo tanto, hay 80 juegos de 16 colores disponibles simultáneamente. ¿Cuál es la resolución real? El color solo se puede cambiar entre bloques de 8 subpíxeles, es decir 160 veces por línea; pero el brillo se establece para cada píxel de forma independiente. El artículo sobre 1024 colores advierte que estos modos no pueden llamarse "160x200 de 16 colores", porque "la resolución horizontal es una pregunta abierta, depende del muestreo y el filtrado de la señal, y varía según las formas de la señal de color que utilice" ( transferirSLY_G) Sin embargo, es fácil asegurarse de que, incluso con un tono de color constante, el monitor compuesto no muestre fluctuaciones de brillo dentro de 8 bloques de subpíxeles: preste atención, por ejemplo, al conjunto 0A0Aen la tabla completa, y en él a las secuencias 01y 10los píxeles verdes a la luz fondo verde Tanto el brillo como el tono del color se analizan bloque por bloque con el monitor compuesto, por lo que en lugar de alternar píxeles verdes de dos niveles de brillo, se obtienen píxeles monótonos con un nivel de brillo promedio. Para una secuencia, el 10resultado está menos saturado que los términos, porque esta secuencia corta el nivel bajo del término verde oscuro. Por lo tanto, en mi opinión, cuando se usan colores de artefactos, hay muchas razones para considerar 160x200 como resolución real.

4a) ... en modos de texto


Como se mencionó al principio, CGA admite un modo de texto de 16 colores de 80x25 con una matriz de caracteres de 8x8 píxeles, y solo se usa una cuarta parte de la memoria de video en este modo. Los artesanos encontraron un camino indocumentadocambiar la salida a una nueva línea de texto cada dos líneas de píxeles, es decir salida de cada carácter solo las dos primeras líneas de píxeles. En el modo resultante de "medio texto" de 100 líneas, se utilizan todos los 16 KB de memoria de video y la imagen es de 16 colores con una resolución de 640x200 píxeles. Pero en comparación con los modos gráficos, en el semi-texto hay restricciones bastante estrictas: en primer lugar, en cada familiaridad de 8x2 píxeles, solo se pueden usar dos colores diferentes; en segundo lugar, la secuencia de píxeles "principal" y "de fondo" en cada familiaridad debe corresponder a las dos líneas superiores de uno de 256 caracteres, parpadeados en la ROM CGA. Incluso con estas limitaciones, combinando los inconvenientes del arte de píxeles y los pseudo gráficos de texto, los asistentes logran crear increíbles dibujos de 16 colores:



(En el artículo sobre 1024 colores, solo se muestra una cuarta parte de esta imagen, pero su versión completa se publicó por separado , directamente en forma de volcado de memoria de video).

Sin un hack de 100 líneas, es decir Si la matriz de cada carácter se representara por completo, la parte central de la imagen se vería así: a



la derecha hay una tabla de caracteres cosida en ROM, donde las dos líneas superiores de cada carácter, disponibles para su uso en modo de semitexto, se resaltan en amarillo.

Por primera vez, Macrocom decidió combinar un hack de 100 líneas y pseudo-gráficos de texto, que lanzó el juego "ICON: The Quest for the Ring" en 1984 con una resolución de 320x200x4bpp que parecía increíble para CGA. Sin embargo, incluso los protectores de pantalla estáticosMacrocom fue dibujado mucho peor que VileR; y durante el juego los gráficos se usaron aún más primitivos.




(La paradoja es que, aunque este es un modo de texto, mostrar el texto en él no es muy trivial: debe recopilar cada carácter de los "fragmentos" de firmware en la ROM).

Otra limitación importante del modo de semitexto es que la imagen en el monitor compuesto se ve borrosa en una apariencia bastante fea. . Por ejemplo, un dibujo VileR se vería así:



Pero puede beneficiarse de este desenfoque: ¡para generar una gran cantidad de colores de artefactos en modo de semi-texto! Como se explicó en la sección anterior, cualquier secuencia repetitiva de píxeles con un período de 8 subpíxeles se convierte en un color de artefacto sólido. la mitad del ancho de caracteres en el modo de 80 columnas. Esto significa que en el modo de semitexto, cuando se pueden seleccionar arbitrariamente los colores de fondo y principal para cada carácter de 16 colores estándar, para crear colores de artefactos se necesitan caracteres que tengan

  1. las dos primeras filas de píxeles son iguales;
  2. Las mitades izquierda y derecha de estas dos líneas son iguales.

CGA ROM encontró caracteres adecuados para dos secuencias periódicas, 1100y 0110. La primera secuencia le permite obtener colores de artefactos correspondientes a dos píxeles repetidos en el modo 320x200, es decir, cualquier color de las filas 0Axxen la tabla completa; el segundo son los colores de los cuadrados No. 6 y No. 9 en las líneas 1A0x, cuando la secuencia 0110se muestra con símbolos de colores sobre un fondo negro o símbolos negros sobre un fondo de colores, respectivamente. En este caso, la resolución real es 80x100: el área mínima para la que puede establecer el color corresponde a la familiaridad "recortada".

Entonces, ¿cuántos colores de artefactos se pueden mostrar en modo de semitexto al mismo tiempo? Todas las combinaciones de 16 colores primarios, 16 colores de fondo y dos caracteres coincidentes están disponibles, por lo que el autor de este truco exclama: "¡512 colores! Por supuesto, en realidad hay menos, hay duplicados y tonos muy diferentes ”. Cuando los colores principal y de fondo coinciden, es obvio que con cualquier símbolo el resultado será el mismo, por lo tanto, en la salida digital tenemos 496 secuencias periódicas diferentes de ocho píxeles. La conversión de esta salida a compuesto lleva al hecho de que algunas secuencias se convierten en la misma señal de video; por ejemplo, 0110gris sobre negro, gris sobre morado y verde claro sobre morado - se convierte en el mismo tono lila oscuro:



En comparación con la tabla completa, aquí los cuadrados se duplican para mayor claridad, lo que nos permitió firmar el valor de cada tira dentro de los cuadrados directamente en el diagrama. Se puede ver que la secuencia 0110corta completamente el alto nivel del fondo magenta, de modo que el fondo se vuelve indistinguible del negro. El color verde difiere en fase del magenta en 180 °, por lo que esta secuencia corta un alto nivel de caracteres verdes de la misma manera, y los caracteres verdes claros se vuelven indistinguibles de los grises. En la carta de coloresEn el artículo sobre 1024 colores, puede ver que las líneas No. 0 y No. 5, correspondientes al fondo negro y morado, son casi indistinguibles; Las columnas 8 y 10, correspondientes a símbolos grises y verdes claros, también son casi indistinguibles. Según los cálculos de cgaart, los tonos lilas oscuros correspondientes a las tres combinaciones de parámetros con nombre coinciden completamente; con el modelo CGA corregido, como se puede ver en la parte inferior de los cuadrados en el diagrama, estos tres tonos son diferentes.

Además de estas tres combinaciones, el primer modelo CGA muestra igualmente la secuencia en 0110negro en magenta claro y gris; el gris en magenta claro da el gris estándar, y el negro en magenta da el negro estándar. Finalmente, como se muestra en el lado derecho del diagrama, la secuencia1100gris sobre rojo claro da el mismo tono de gris, casi estándar, ya que la secuencia es 0110verde claro en púrpura claro. En total, con el primer modelo CGA, están disponibles 490 colores diferentes, pero con el corregido, todos 496.

La culminación de un artículo sobre 1024 colores es la forma inventada de reiniciar para mostrar en modo de semi-texto solo una fila superior de píxeles para cada personaje, pero repita esta línea dos veces. Es difícil llamar a un "nuevo modo gráfico", Ya que requiere un cambio constante, al comienzo de cada línea de exploración, de la configuración de CGA, que ocupa el procesador 8088 por completo, y no deja la oportunidad de hacer nada más en paralelo con mostrar una imagen de 1024 colores, por ejemplo, para preparar una animación. Pero gracias a este truco, es posible usar secuencias 0010y 0101además de las dos que se muestran arriba. Usando cuatro símbolos diferentes, es posible obtener 976 secuencias periódicas diferentes de ocho píxeles en la salida digital. ¿Y cuántos colores diferentes se obtendrán después de la conversión a una señal de video compuesto? Conté 950 con el primer CGA y 973 con uno fijo.

En conclusión, doy una tabla de todos los colores que se pueden obtener en modo de semi-texto. VileR tiene una mesa similar, pero agrupados por tipo de monitor y no por la secuencia de salida de píxeles, como la mía. Su mesa es conveniente para un artista que trabaja con un dispositivo específico; el mío es para el teórico que quiere entender cómo aparece este o aquel color en el monitor.

Mesa completa

All Articles