En general, se considera que el ZX Spectrum tiene capacidades gráficas limitadas en comparación con otras computadoras domésticas de la misma época, como el Commodore 64 , en gran parte debido a la falta de un chip gráfico dedicado. Sin embargo, a lo largo de su vida comercial y posterior actividad en la demostración , se han desarrollado varias técnicas para proporcionar (o emular) mejoras a la salida gráfica del Spectrum.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/0/02/Zx-colors.png)
Paleta de colores
Las computadoras ZX Spectrum (y compatibles) utilizan una variación de la filosofía de paleta RGBI de 4 bits. Esto da como resultado que cada uno de los colores de la paleta de 3 bits tenga una variante básica y brillante , con la excepción del negro. La mitad brillante de la paleta se genera utilizando los niveles de voltaje máximo de la pantalla de video para cada uno de los tres componentes de color R / G / B que usa un color. La mitad básica de la paleta se muestra simplemente reduciendo estos voltajes.
En la codificación ZX Spectrum, los componentes de color están en orden GRB (del bit más significativo al menos significativo) en lugar del orden RGB más común. El orden GRB tiene la ventaja de que los números de color se ordenan aumentando la luminancia , por lo que si se visualiza en una pantalla en blanco y negro, la secuencia ordenada de 0 a 7 formaría un degradado de negro a blanco. Específicamente, el azul tiene un peso binario de 1, el rojo tiene un peso de 2 y el verde tiene un peso de 4. Al igual que con cualquier número binario, estos pesos se suman para producir un único número decimal que coincide con el color mostrado, el efecto de que se puede ver en la tabla siguiente (preste especial atención a la columna "valor binario").
Para cualquier valor de n de 0 a 7, se pueden usar los siguientes comandos para establecer o alterar los colores de la pantalla:
- BORDER n , el color del área circundante fuera del mapa de bits principal.
- PAPEL n , el color de fondo (valor de bit de píxel de 0) para la celda de color que se va a modificar.
- INK n , el color de primer plano (valor de bit de píxel de 1) de la celda de color que se va a modificar.
Además, el comando BRIGHT se puede utilizar para cambiar la configuración de la bandera "brillante" de los comandos PAPER y INK (la I en RGB I ), dándoles acceso a toda la paleta de 15 colores. Los ajustes de "0" y "1" activan y desactivan el modo brillante (respectivamente). Dado que solo se usa un bit dentro de un byte de atributo de color para seleccionar el brillo para los colores de primer plano y de fondo en una celda de color, no es posible seleccionar los modos de color básico y brillante en la misma celda de color. El comando BORDER no usa una bandera brillante, por lo que solo se admiten los ocho colores básicos .
Contando del bit menos significativo al más significativo, un byte de atributo dedica tres bits para el color de primer plano, tres bits para el color de fondo, un bit para la bandera brillante y un bit para el efecto de parpadeo (que hace que la pantalla de video alterne el primer plano y el colores de fondo periódicamente).
![ZX Spectrum standard palette with 8x8 ordered dithering.](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/d/d8/ZX_Spectrum_standard_palette_with_8x8_dithering.png/220px-ZX_Spectrum_standard_palette_with_8x8_dithering.png)
número de color Valor binario BRILLO 0 (RGB) BRILLO 1 (RGB) nombre del color EGA / VGA 16col. BRILLO equivalente 0 EGA / VGA 16col. equivalente BRIGHT 1 0 000 # 000000 # 000000 negro 0 0 1 001 # 0000D7 # 0000FF azul 4 12 2 010 # D70000 # FF0000 rojo 1 9 3 011 # D700D7 # FF00FF magenta 5 13 4 100 # 00D700 # 00FF00 verde 2 10 5 101 # 00D7D7 # 00FFFF cian 6 14 6 110 # D7D700 # FFFF00 amarillo 3 11 7 111 # D7D7D7 #FFFFFF blanco 8 15
El color NEGRO BRILLANTE no estaba en todos los modelos de emuladores ZX Spectrum y ZX Spectrum (pero es posible regular la paleta en varios emuladores (por ejemplo, EmuZWin, ZX Spin), incluido el negro brillante).
- los colores simulados como RGB asumen que no brillan como 85% de voltaje (0.55 V) y brillantes como 100% (0.65 V). [1] La visualización en una pantalla PAL estaría sujeta a gamma y, como tal, los valores no brillantes aparecerían más claros. Cada modelo de ZX Spectrum utilizó diferentes voltajes para los colores, por lo que los valores aquí son solo indicativos.
0,00,00 | 0,00,01 | 0,00,02 | 0,00,03 | 0,00,04 | 0,00,05 | 0,00,06 | 0,00,07 |
0,01,00 | 0,01,01 | 0,01,02 | 0,01,03 | 0,01,04 | 0,01,05 | 0,01,06 | 0,01,07 |
0,02,00 | 0,02,01 | 0,02,02 | 0,02,03 | 0,02,04 | 0,02,05 | 0,02,06 | 0,02,07 |
0,03,00 | 0,03,01 | 0,03,02 | 0,03,03 | 0,03,04 | 0,03,05 | 0,03,06 | 0,03,07 |
0,04,00 | 0,04,01 | 0,04,02 | 0,04,03 | 0,04,04 | 0,04,05 | 0,04,06 | 0,04,07 |
0,05,00 | 0,05,01 | 0,05,02 | 0,05,03 | 0,05,04 | 0,05,05 | 0,05,06 | 0,05,07 |
0,06,00 | 0,06,01 | 0,06,02 | 0,06,03 | 0,06,04 | 0,06,05 | 0,06,06 | 0,06,07 |
0,07,00 | 0,07,01 | 0,07,02 | 0,07,03 | 0,07,04 | 0,07,05 | 0,07,06 | 0,07,07 |
1,00,00 | 1,00,01 | 1,00,02 | 1,00,03 | 1,00,04 | 1,00,05 | 1,00,06 | 1,00,07 |
1,01,00 | 1,01,01 | 1,01,02 | 1,01,03 | 1,01,04 | 1,01,05 | 1,01,06 | 1,01,07 |
1,02,00 | 1,02,01 | 1,02,02 | 1,02,03 | 1,02,04 | 1,02,05 | 1,02,06 | 1,02,07 |
1,03,00 | 1,03,01 | 1,03,02 | 1,03,03 | 1,03,04 | 1,03,05 | 1,03,06 | 1,03,07 |
1,04,00 | 1,04,01 | 1,04,02 | 1,04,03 | 1,04,04 | 1,04,05 | 1,04,06 | 1,04,07 |
1,05,00 | 1,05,01 | 1,05,02 | 1,05,03 | 1,05,04 | 1,05,05 | 1,05,06 | 1,05,07 |
1,06,00 | 1,06,01 | 1,06,02 | 1,06,03 | 1,06,04 | 1,06,05 | 1,06,06 | 1,06,07 |
1,07,00 | 1,07,01 | 1,07,02 | 1,07,03 | 1,07,04 | 1,07,05 | 1,07,06 | 1,07,07 |
Dithering
Esta paleta de colores bastante corta ha instado a los artistas gráficos (por ejemplo, en ZX-Art ) a recurrir a varias técnicas de difuminado; el más simple de los cuales emplea patrones ordenados , como se muestra exhaustivamente en el gráfico opuesto. El difuminado también funciona muy bien con la conexión de vídeo compuesto original a un televisor PAL analógico , lo que genera una mezcla de colores a lo largo de las líneas horizontales de píxeles.
Modo estandar
Implementación de hardware
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/a/a8/Parrot_standard.png)
El ZX Spectrum original tiene una resolución de pantalla de 256 × 192 píxeles. La información de color se superpone sobre esto como una cuadrícula de regiones de 8 × 8 píxeles conocidas como bloques de atributos ; dentro de cada bloque de atributos, solo se pueden usar dos colores de una paleta de 8 (negro, azul, rojo, magenta, verde, cian, amarillo y blanco). Además, todo el bloque de atributos puede designarse como "brillante", lo que da como resultado un total de 15 colores posibles (porque tanto el negro brillante como el oscuro son del mismo color # 000000). En muchos programas, esta limitación fue evidente como un choque de atributos .
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 24
- colores: 15
Resolución real sobre conexiones de video compuesto
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/8/8c/Parrot_tv.png)
Debido a las limitaciones de la conexión de video compuesto original a un televisor PAL analógico, los píxeles adyacentes estaban borrosos horizontalmente . La resolución resultante dependía de la calidad del televisor y de las combinaciones de colores utilizadas por cada imagen en particular, pero en la mayoría de los casos era similar a ~ 128x192.
Este efecto fue utilizado para aumentar el número de colores mostrados en la pantalla por casi todos los diseñadores gráficos, utilizando técnicas de difuminado. De esta manera se hacen posibles cerca de un total de 64 colores. Algunos emuladores proporcionan algún tipo de procesamiento de imágenes "borrosas" para intentar simular este efecto.
- Detalles:
- Píxeles: ~ 128 × 192
- Atributos: 32 × 24
- colores: ~ 128 (considerando variaciones de color difuminado y brillante / no brillante)
Monitores y televisores monocromáticos
Al utilizar un monitor monocromático o un televisor en blanco y negro (o reducir la configuración de color de un televisor en color), es posible aprovechar las diferencias de intensidad en la gama de colores del Spectrum para generar una imagen en escala de grises de 15 tonos a 256 × 192. resolución.
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 24
- colores: 15 escala de grises
Color (atributos 8x1)
Implementación de hardware
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/3/3d/Parrot_mlt.png)
Varios clones de Spectrum de terceros, incluidas las máquinas Timex Sinclair , el Pentágono , el eLeMeNt ZX y la interfaz MB03 + Ultimate admiten un modo de pantalla en el que los bloques de atributos tienen un tamaño de 8 × 1 píxeles en lugar del habitual 8 × 8. Una pantalla en este modo ocupa 12 KB de RAM. En el caso del Timex, este modo se activa mediante el comando OUT 255,2. Además, este modo de pantalla se puede generar mediante el uso del hardware DMA del sistema de disco MB-02 (donde la técnica se conoce como Multitech ), y también está disponible como Modo 2 (con un orden de bytes lineal) en el SAM Coupé .
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 192
- colores: 15
Implementación de software
Atributos "8x1"
En otros modelos de Spectrum, este efecto se puede replicar aprovechando el hecho de que el ULA vuelve a leer la información de atributos en cada fila de píxeles al generar la salida de video; es posible escribir un nuevo valor en la ubicación de memoria relevante entre líneas sucesivas y, por lo tanto, hacer que se muestre un par de colores diferente. Sin embargo, el procesador de Spectrum no es lo suficientemente rápido para escribir en una fila completa de bytes de atributos en una línea de exploración, por lo que los atributos de 8 × 1 solo se pueden lograr en 20 columnas. [2] Esta técnica se conoce como modo Hicolour , Multicolour , FLI o Rainbow Processor . [3]
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 192 (limitado a un área de 18x192)
- colores: 15
Atributos "8x2"
Una variación de este método es cambiar la fila completa de atributos en el transcurso de dos líneas de exploración, lo que da como resultado bloques de atributos de 8 × 2 píxeles en todo el ancho de la pantalla. [4]
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 96
- colores: 15
Atributos "4x1"
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/3/3a/Parrot_low.png)
Un caso especial implica alternar entre los dos colores disponibles por celda de atributo para 4 píxeles cada uno, lo que permite que cada región de 4 × 1 se trate como un 'píxel' coloreable de forma independiente (aunque la limitación de un nivel de brillo por celda de 8 × 1 todavía está vigente efecto).
- Detalles:
- Píxeles: 64 × 192
- Atributos: 64 × 192
- colores: 15
ULAplus
ULAplus es compatible con la pantalla estándar ZX Spectrum, si se usa solo para modificar los 16 colores básicos. Sin embargo, cualquier software que utilice los 64 colores completos activará los atributos "flash" del Spectrum original.
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 24
- colores: 64 (de 256)
- Máquina: ZX Spectrum SE, ZX-Uno , Chloe 280SE, Chloe 140SE, eLeMeNt ZX , zx128u +
- Interfaz: MB03 + Ultimate
Modos entrelazados / conmutados
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/3/36/Parot_interlaced.png)
Al alternar entre dos pantallas en cada interrupción de cuadro (50 Hz), teóricamente es posible simular una duplicación de la resolución de visualización vertical de 192 a 384 líneas.
Los clones de Timex y ZX Spectrum 128K implementan un área de pantalla de 'sombra' que se puede cambiar a su lugar mediante el uso de un solo comando OUT, y esto a menudo se utiliza para cambiar rápidamente entre dos imágenes para este propósito (aunque esto también se puede lograr con una copia de bloque estándar, aunque no en toda la pantalla).
Cuando se ve en una pantalla de televisión CRT (el estándar en ese momento), el parpadeo es menos perceptible que en un monitor moderno. La imagen está vinculada aquí ( advertencia : la imagen vinculada parpadea muy rápidamente, lo que podría causar convulsiones en personas con epilepsia fotosensible ).
De hecho, la técnica no logra una verdadera pantalla entrelazada, ya que el Spectrum carece de la capacidad de sincronizarse con el hardware de la pantalla a un nivel tan bajo. Más bien, el efecto es más parecido al suavizado , con ciertos píxeles que aparecen a la mitad de la intensidad. [3]
- Detalles:
- Píxeles: 256 × 384
- Atributos: 32 × 24
- colores: 15
GigaScreen
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/4/45/Parrot_giga.png)
Los atributos (colores) de una imagen se alternan a 50 Hz en la pantalla, aprovechando la codificación del sistema de color PAL para la mezcla. De esta forma, la paleta se incrementa a aproximadamente 36 colores. [5]
Para las máquinas del Pentágono, está disponible una modificación de hardware que combina directamente las dos áreas de pantalla alternativas en la señal de video, eliminando así el parpadeo asociado con este método. La interfaz MB03 + Ultimate y la computadora eLeMeNt ZX pueden mostrar tres modos de hardware de GigaScreen sin parpadeo (RAM de video mixto, fotogramas de video mixtos y modo de autodetección).
Además, las técnicas de gigascreen e hicolour pueden emplearse juntas para producir imágenes de colores aún más ricos; este formato se ha denominado DithVIDE y BZither , ambos nombres se refieren a los métodos de difuminado empleados al convertir imágenes de color verdadero al formato.
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 24
- colores: 36
KeyLayer
La interfaz MB03 + Ultimate y la computadora eLeMeNt ZX proporcionan este modo gráfico que permite mostrar datos de imagen de la segunda RAM de video en el lugar de un color seleccionado en la RAM de video n ° 1. Esto agrega un tercer color a un atributo.
3 colores / Multicromo / RGB-3 / Intercromo
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/0/00/Parrot_zxrgb3.png)
Tres imágenes separadas, que comprenden una capa roja, verde y azul, se muestran en la pantalla rápidamente, una tras otra, confiando en la persistencia de los efectos de visión para fusionar las tres capas en una imagen de un solo color. El resultado es una imagen de 8 colores en la que cada píxel se puede colorear de forma independiente. [6]
Este efecto se simula en otra imagen vinculada aquí ( advertencia : la imagen vinculada parpadea los colores muy rápidamente, lo que podría causar convulsiones en personas con epilepsia fotosensible ); el destello es menos perceptible cuando se ve en una pantalla de televisión.
- Detalles:
- Píxeles: 256 × 192
- Atributos: 256 × 192
- colores: 8
Máquinas e interfaces compatibles
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/3/3e/Parrot_timex_2.png/256px-Parrot_timex_2.png)
Las máquinas posteriores compatibles con ZX Spectrum ofrecieron modos de video adicionales. Estos se basan en el modo estándar de 256x192, pero son incompatibles con el Spectrum original. [3] También las interfaces, la interfaz Spectra y la interfaz MB03 + Ultimate amplían la pantalla del Spectrum para admitir más colores o modos de video adicionales.
Capa 2 (256 × 192x256)
- Detalles:
- Píxeles: 256 × 192
- Atributos: 256 × 192
- colores: 256
- Máquina: ZX Spectrum Next
256 × 192x16
- Detalles:
- Píxeles: 256 × 192
- Atributos: 256 × 192
- colores: 16 (de 128) por línea
- Máquina: Sam Coupé
384x304x16
- Detalles:
- Píxeles: 384x304
- Atributos: 48 × 38
- colores: 16
- Máquina: Pentágono
16c
HAM256
- Detalles:
- Píxeles: 256 × 192
- Atributos: 32 × 192
- colores: 32 por línea (de 256)
- Máquina: ZX Spectrum SE, ZX-Uno
Radastan
Este modo muestra 128x96 píxeles de tamaño doble. Cada píxel contiene uno de los dieciséis colores. Los píxeles se almacenan en un búfer lineal como nibbles de 4 bits (es decir, 2 píxeles por byte). El búfer tiene una longitud de 6144 bytes y ocupa la misma memoria que la memoria RAM de 256x192 píxeles.
- Detalles:
- Píxeles: 128x96
- Atributos: cada píxel tiene un color diferente
- colores: 16 (de 256)
- Máquina: ZX-Uno
Espectros (+128)
El Spectra tiene 31 formatos de visualización. Estos permiten mostrar hasta 64 colores únicos simultáneamente y en una variedad de resoluciones de color, con alturas de atributo de 1, 2, 4 y 8 píxeles, y anchos de 4 y 8 píxeles. [7]
Modos de alta resolución
512 × 192 monocromo
Este modo se usó principalmente para mostrar la pantalla de texto de 64 × 24 o 85 × 24 columnas y solo las computadoras Timex Sinclair y algunos clones rusos pueden mostrarlo. Hay dos editores de gráficos para este modo y es compatible con BASIC 64 y algunas implementaciones de CP / M. También necesita 12 KB (12 KiB ) de RAM.
- Detalles:
- Píxeles: 512 × 192
- Atributos: ninguno
- colores: 2 (cuatro paletas: blanco y negro, azul y amarillo, rojo y cian, magenta y verde)
- Máquina: Timex Sinclair , ZX-Uno , MB03 + Ultimate , eLeMeNt ZX
512 × 192x4
- Detalles:
- Píxeles: 512 × 192
- Atributos: 512 × 192
- colores: 4 (de 128) por línea
- Máquina: Sam Coupé
512 x 384 x 2
- Detalles:
- Píxeles: 512 × 384
- colores: monocromo
- Máquina: Pentágono , Timex Sinclair 2128
Color de alta resolución
Los píxeles se almacenan en un orden lineal. Los atributos se duplican en la dirección vertical, la composición del atributo es idéntica a la del modo ZX Spectrum original. HiRes indeXedColour puede elegir 64 colores de 16777216 colores. Se pueden mezclar dos RAM de video en los modos Color e indeXedColour a través del Keylayer.
- Detalles:
- Píxeles: 512 * 192
- Atributos: 64 * 48
- colores: 64 (o 64 indexados)
- Máquina: MB03 + Ultimate , eLeMeNt ZX
Emulado
256 × 192, 256 colores, "modo de 256 colores", sin atributos
Los SPEC256, EmuZWin y Es.pectrum emuladores tienen un modo de pantalla de 256 x 192 píxeles, donde cada píxel puede estar en uno de 256 colores. Esto se logra ampliando el tamaño de palabra del Z80 emulado de 8 bits a 64, haciendo que ocho bits de datos estén disponibles para cada píxel; por tanto, la pantalla ocupa 48 KB de memoria. Este modo solo existe en el emulador y los gráficos del software deben modificarse para usarlo.
- Detalles:
- Píxeles: 256 × 192
- Atributos: 256 × 192
- colores: 256
ULAX
El emulador ZX ULAX proporciona colores altos de 15 bits. [8]
Gráficos HGFX
El emulador LnxSpectrum tiene 256 colores indexados (24 bits) a una resolución de 256 * 192 [9] ampliable a 320 * 240 o 640 * 240 en HiRes. [10]
Referencias
- ^ http://www.zxdesign.info/ddrivedesign.shtml
- ^ https://spectrumcomputing.co.uk/index.php?cat=96&id=30003
- ^ a b c http://8bit.yarek.pl/tool/zx.extra/index.html
- ^ https://spectrumcomputing.co.uk/index.php?cat=96&id=30002
- ^ http://gfxzone.planet-d.net/articles/zx_spectrum_graphics-article_01.html
- ^ http://zxprism.blogspot.pt/2014/07/16-colour-colour-clash-free-planar-mode.html
- ^ http://www.fruitcake.plus.com/Sinclair/Spectrum/Spectra/Files/Documents/SPECTRA_DisplayModes.pdf
- ^ https://spectrumcomputing.co.uk/forums/viewtopic.php?f=23&t=2098
- ^ https://vimeo.com/447589977
- ^ https://wiki.ilnx.cz/doku.php/lnxspectrum:hgfx
enlaces externos
- Modos gráficos ZX-Spectrum
- Modos gráficos adicionales ZX-Spectrum
- Image to ZX Spec: una utilidad de código abierto para la conversión de imágenes de PC a ZX Spectrum (incluidos 14 modos de difuminado)
- Retro-X: una utilidad para la conversión de imágenes de PC a máquinas antiguas (incluye modos ZX Spectrum no estándar)
- ZX GIMP plug-in Un GIMP plug-in para hacer cualquier imagen RGB se vea como una pantalla de ZX Spectrum.
- Motor BIFROST * 2 (atributos multicolores "8x1" 20 columnas)
- NIRVANA + Engine (atributos de "8x2" multicolor de ancho de pantalla completo)
- Modos de vídeo siguiente de ZX-Spectrum
- Colección de arte gráfico ZX-Spectrum