stringtranslate.com

Modos gráficos del ZX Spectrum

Simulación de la salida de gráficos del ZX Spectrum en un televisor PAL

El ordenador ZX Spectrum original produce una salida de vídeo con gráficos en color de un bit por píxel y en formato de mapa de bits . Se genera una señal de vídeo compuesta a través de un modulador de RF y fue diseñado para su uso con los televisores contemporáneos de los años 80.

El tamaño de la imagen del framebuffer es de 256 × 192 píxeles , con una paleta de 15 colores no modificables, donde toda la paleta de colores está extremadamente saturada . La resolución de la salida de color es 64 veces menor que la resolución del mapa de bits de píxeles. [1] [2] La resolución de color extremadamente baja se utilizó para conservar la memoria, totalizando solo 768 bytes para los atributos de color. El color se almacena separado del mapa de bits de píxeles , como una cuadrícula de 32 × 24 celdas, utilizando un byte por cada una de las celdas de caracteres . Una celda de carácter se compone de 8 × 8 píxeles. En la práctica, esto significa que cualquier celda de carácter solo puede usar dos colores seleccionados para colorear los 64 píxeles contenidos. [3]

Dado que la máquina fue diseñada para su uso con un televisor estándar, el área de 256 × 192 píxeles está rodeada por un borde ancho que llena el espacio restante del área visible de la pantalla de TV PAL de baja resolución estándar de 384 × 288. Por lo general, el área del borde asume un solo color, pero utilizando trucos de software, es posible mostrar algunos gráficos de baja resolución allí. [4]

El ZX Spectrum carecía de hardware dedicado para el desplazamiento y los sprites , o de un blitter de hardware dedicado . Para facilitar la visualización de gráficos en color, el ZX Spectrum original emplea 16 KiB de RAM gráfica discreta . La latencia de la RAM gráfica es de 150 ns; el ancho de banda máximo es de 2,1875 MB/s (calculado como 224 × 5/8 bytes por 64 μs). [5]

Velocidad de cuadros y tiempos

El ZX Spectrum original no se ajusta estrictamente a la frecuencia de cuadro estándar PAL de 50 Hz. El ZX Spectrum genera una línea de video en exactamente 224 ciclos de reloj de CPU , donde la frecuencia de reloj de la CPU es igual a 3,5 MHz. Esto coincide exactamente con el tiempo de línea estándar PAL de 64 μs. Sin embargo, el ZX Spectrum produce solo 312 líneas para formar un cuadro de visualización , mientras que el estándar PAL recomienda 312,5 líneas. Como consecuencia, la frecuencia de cuadro del ZX Spectrum es de aproximadamente 50,08 cuadros por segundo. [6]

Esta discrepancia no era conocida por muchos programadores, que asumían una velocidad de cuadros de 50 cuadros por segundo. [ cita requerida ] Como resultado, algunos programas, incluido el intérprete BASIC incorporado , tenían el tiempo corriendo ligeramente demasiado rápido. Los modelos ZX Spectrum posteriores tienen una velocidad de cuadros ligeramente diferente y la velocidad de reloj de la CPU, lo que hace que algunos programas más antiguos se ejecuten ligeramente demasiado lentos si utilizan sincronización vertical, o demasiado rápidos si dependen de la velocidad de reloj de la CPU. [6]

Al comienzo de cada cuadro de visualización, la señal de interrupción enmascarable se envía a la CPU Z80 del ZX Spectrum , lo que permite a los programas detectar y medir fácilmente el paso del tiempo. También permite que los programas sincronicen perfectamente la salida de gráficos con la visualización de cuadros de video. Es exactamente el mismo mecanismo que la sincronización vertical de una computadora moderna, que se puede emplear para evitar el tearing de la pantalla .

Estructura de la memoria gráfica y coordenadas de píxeles

La memoria RAM de gráficos discretos de 16 KiB es directamente accesible para la CPU en las direcciones 16384 a 32767. El mapa de bits de píxeles principal se almacena al principio de la RAM de gráficos, mientras que la matriz de atributos sigue inmediatamente detrás. [10]

El circuito controlador de video está integrado en el circuito integrado ULA de Ferranti, que es un dispositivo semipersonalizado y consta de aproximadamente 480 celdas configurables (según el modelo). Las celdas del ULA se configuraron de fábrica de diversas maneras para producir el ULA para ZX Spectrum, donde una celda tiene la funcionalidad de aproximadamente dos puertas NAND. [11]

El acceso de la CPU a la RAM de gráficos se denomina acceso contencioso, porque el controlador de video tiene una prioridad más alta que la CPU. En un acceso a la RAM de gráficos, la CPU suele sufrir una pequeña demora mientras espera que el controlador de video complete la lectura de datos. [12]

Las direcciones en la memoria DRAM de video están intercaladas, lo que produce un sistema de coordenadas inusual para el mapa de bits de píxeles. Si las coordenadas de un píxel son (x, y), y los bits del eje de coordenadas x están etiquetados como x7, x6, x5, x4, x3, x2, x1, x0, y los bits del eje de coordenadas y están etiquetados como y7, y6, y5, y4, y3, y2, y1, y0, entonces el píxel se almacena en un byte con el patrón de bits de dirección 0, 1, 0, y7, y6, y2, y1, y0, y5, y4, y3, x7, x6, x5, x4, x3. [13]

El patrón de bits de dirección contiene dos transposiciones de patrón de bits más de las necesarias. El patrón de bits más rápido y más simple habría sido 0, 1, 0, x7, x6, x5, x4, x3, y7, y6, y5, y4, y3, y2, y1, y0, lo que hace que las direcciones de píxeles aumenten en la columna primero. Desafortunadamente, los diseñadores del ZX Spectrum estaban trabajando bajo una presión de tiempo extrema y no se dieron cuenta de esta simple mejora. [11]

Mientras que el modelo ZX Spectrum 48K original tiene 32 KiB de RAM principal, el modelo 16K tiene solo 16 KiB de RAM gráfica. Esta es la razón por la que la matriz de atributos de color se diseñó para que cupiera en solo 768 bytes. Los atributos de color podrían haber tenido fácilmente una resolución doble o cuádruple en el eje vertical, pero eso habría reducido el espacio de memoria libre restante para programas en uno o dos kilobytes más, especialmente en el modelo de 16 KiB.

Para facilitar la visualización de gráficos en color, el ZX Spectrum original emplea 16 KiB de RAM de gráficos discretos , a diferencia de las arquitecturas de RAM de gráficos compartidas de la mayoría de las otras microcomputadoras, incluida la Commodore 64. [ cita requerida ] La resolución del mapa de bits de píxeles es similar a la de otras microcomputadoras contemporáneas, donde la popular Commodore 64 usa comúnmente la resolución de 160 × 200 a dos bits por píxel. [ 14 ]

El sistema de celdas de color, llamado "los atributos", generó muchas críticas porque complicaba significativamente la programación de aplicaciones de color. [ cita requerida ] Aún así, el sistema de atributos de color tenía capacidades suficientes para soportar las aplicaciones y juegos comunes de la época, e incluso las capacidades de color muy limitadas fueron bien recibidas por los usuarios. [ cita requerida ]

Paleta de colores

Pantalla del ZX Spectrum que muestra los colores disponibles

Las computadoras ZX Spectrum (y compatibles) utilizan una variación de la filosofía de paleta RGBI de 4 bits (también utilizada en CGA , Thomson MO5 , Sharp MZ-800 , Mattel Aquarius , etc.), lo que da como resultado 8 colores básicos con variaciones de brillo. [15] En los modelos 128, +2 y +3, el ULA emite señales de nivel TTL rojo, verde, azul y sincronismo que son utilizadas por el codificador de video TEA2000 para la generación de señales de video compuesto . [16] [17] [18] [19]

Cada uno de los colores de la paleta de 3 bits tiene una variante básica y una variante brillante . [15] La mitad brillante de la paleta se genera utilizando el nivel de voltaje máximo de la pantalla de video para la señal de luminancia. La mitad básica de la paleta se genera simplemente reduciendo el voltaje de la señal de luminancia. [20]

Ambos colores de una celda de carácter deben compartir su propiedad de brillo, ya que solo hay un único bit de brillo para toda la celda. Además de esa limitación, se puede seleccionar libremente cualquier combinación de colores de la paleta como los dos colores de una celda de carácter. En la siguiente tabla, todos los colores "brillantes" se muestran en la columna de la derecha.

En la codificación ZX Spectrum, los componentes de color están en orden GRB (verde, rojo, azul), en lugar del orden RGB más común. El orden GRB tiene la ventaja de que los números de color se ordenan según la luminancia creciente , por lo que si se visualiza en una pantalla en blanco y negro, la secuencia ordenada forma un gradiente de negro a blanco.

Todas las propiedades de color de una celda se almacenan en la memoria como un byte llamado atributo . Contando desde el bit menos significativo al más significativo, un byte de atributo dedica tres bits para el color de los píxeles con valor 1, tres bits para el color de los píxeles con valor 0, un bit para el indicador de brillo y un bit para el efecto de parpadeo. El efecto de parpadeo hace que los colores de primer plano y de fondo que se muestran se alternen cada 0,64 segundos. [21]

La mayoría de los emuladores actuales de ZX Spectrum muestran colores inexactos y posiblemente sobresaturados. [ cita requerida ] Esos colores se calcularon mediante aproximaciones simplistas que no tienen en cuenta muchas sutilezas de la conversión del espacio de color PAL a sRGB. De manera similar, en el sitio web de ZX Art el uso de colores inexactos es muy común. [ cita requerida ] El color sRGB teóricamente imposible #00CD00 se usa comúnmente como el color verde del ZX Spectrum (es decir, el color verde real del Spectrum es probablemente más azulado). [ cita requerida ]

Comandos básicos para colores

Los dos colores de una celda de carácter se denominan color de primer plano y color de fondo . Para cualquier valor de n de 0 a 7, se pueden utilizar los siguientes comandos BASIC de Sinclair para establecer o modificar los colores de una celda: [15]

Además, el BORDERcomando selecciona un color para el área de la pantalla que rodea el mapa de bits de píxeles. No utiliza un indicador de brillo, por lo que solo se admiten los ocho colores básicos para el color del borde. [22]

Modo estándar

Pantalla estándar del ZX Spectrum, con bloques de atributos claramente visibles

El ZX Spectrum original tiene una resolución de pantalla de 256 × 192 píxeles. [23] [24] En todos los casos, los colores están extremadamente saturados. 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 . [25] [26] Todas las propiedades de color de un bloque de atributos se almacenan en la memoria como un solo byte de atributo, y cada bloque de atributo coincide con una celda de carácter. Dentro de cada bloque de atributo, solo se pueden usar dos colores de una paleta de 8 colores. Además, todo el bloque de atributos puede designarse como "brillante", lo que da como resultado un total de 15 colores posibles (el negro no tiene variación "brillante"). En muchos programas, esta limitación de solo dos colores por bloque de atributo es evidente como el efecto no deseado de choque de atributos .

Una pantalla en este modo ocupa 6144 bytes para el mapa de bits de píxeles, lo que suma un total de 6912 bytes junto con los atributos de color.

Detalles:

Píxeles: 256 × 192
Atributos: 32 × 24
Colores: 15 (contando brillantes y no brillantes)
Maquina: Todas

Televisores y monitores monocromáticos

ZX Spectrum en una pantalla monocromática

Al utilizar un monitor monocromático o un televisor en blanco y negro (o reducir la configuración de saturación de un televisor a 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 con una resolución de 256 × 192.

Detalles:

Píxeles: 256 × 192
Atributos: 32 × 24
Colores: 15 escala de grises
Máquina: Todas, utilizando una pantalla monocromática

Atributos de Hi-Color

Implementación de hardware

Alta tecnología y color

Atributos "8 × 1" del ZX Spectrum / Pantalla de alta color

Varios clones de Spectrum de terceros, incluidas las máquinas Timex Sinclair , [27] [28] el Pentagon , el eLeMeNt ZX y la interfaz MB03+ Ultimate admiten un modo de pantalla llamado Hi-Color , [28] en el que los bloques de atributos tienen un tamaño de 8 × 1 píxeles en lugar de los 8 × 8 habituales. [29] [30] Una pantalla en este modo ocupa 12 KB de RAM. En el caso del Timex, este modo se activa a través del comando OUT 255,2. [27] [28] Al menos un editor para máquinas Timex admite este modo. [31] Además, este modo de pantalla se puede generar mediante el uso del hardware DMA del sistema de disco MB-02 [32] (donde la técnica se conoce como Multitech [33] ), y también está disponible como Modo 2 (con un orden de bytes lineal) en el SAM Coupé . [34]

Detalles:

Píxeles: 256 × 192
Atributos: 32 × 192
Colores: 15
Máquina: modelos Timex Sinclair , ZX Spectrum Next , Pentagon , eLeMeNt ZX , SAM Coupé
Interfaz: MB03+ Ultimate

Implementación de software

Atributos 8 × 1 / Hicolour / Multicolor / FLI / BIFROST*2 / Generador de arcoíris / Procesador de arcoíris

En otros modelos 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 vídeo; 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 del Spectrum no es lo suficientemente rápido como para escribir en una fila completa de bytes de atributos en una línea de exploración, por lo que solo se pueden lograr atributos de 8 × 1 en 20 columnas. [35] Esta técnica se conoce de diversas formas como Hicolour , Multicolor , FLI , BIFROST*2 "SuperColour", [36] "Rainbow Generator" o Rainbow Processor [37] . [30]

Detalles:

Píxeles: 256 × 192
Atributos: 32 × 192 (limitado a un área de 18 × 192)
Colores: 15
Máquina: Todas (con código específico adaptado a los tiempos de cada máquina)

8 × 2 atributos / Bicolor / Nirvana+

Visualización de atributos "8 × 2" de ZX Spectrum

Una variación de este método consiste en cambiar la fila de atributos a lo largo de dos líneas de escaneo, lo que da como resultado bloques de atributos de 8 × 2 píxeles en una región más amplia de la pantalla. Este modo se conoce como Bicolor y se puede aplicar a todo el ancho de la pantalla mediante el uso del motor Nirvana+ . [38] [39]

Detalles:

Píxeles: 256 × 192
Atributos: 32 × 96
Colores: 15
Máquina: Todas (con código específico adaptado a los tiempos de cada máquina)

Atributos 4 × 1 / 4 × 2 / 4 × 4

Un caso especial consiste en 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 sigue vigente). Nuevamente, se puede aplicar una variante de 4 × 2 de este modo a una región más amplia de la pantalla. Y se puede lograr una variante de 4 × 4 en máquinas de 128K mediante cambios temporizados entre las dos RAM de video (en lugar de reescribir los datos de atributos), para mostrar la mitad superior de las celdas de caracteres de una pantalla y la mitad inferior de la otra.

Detalles:

Píxeles: 64 × 192; 64 × 96; 64 × 48
Atributos: limitación de brillo 8 × 1
Colores: 15
Máquina: Todas (con código específico adaptado a los tiempos de cada máquina)

ULAplus / HAM256 / HAM8x1

ULAplus es compatible con los modos estándar de ZX Spectrum y Timex Hi-Res y Hi-Colour, y añade la capacidad de redefinir la paleta. [40] Si sólo se utiliza para modificar ligeramente los 16 colores básicos, el software ULAplus se puede visualizar en un Spectrum estándar. El uso de los 64 colores completos es incompatible, ya que activaría los atributos "flash" del Spectrum original. [41] También son posibles los modos inspirados en Amiga HAM (HAM256 y HAM8x1), que muestran hasta 256 colores en pantalla. [42] [43] [44] [45]

Detalles:

Píxeles: 256 × 192; 512 × 192 (modo de alta resolución)
Atributos: 32 × 24; 32 × 192 (modo Hi-Colour 8x1)
Colores: 2 de 256 (modo de alta resolución), 64 de 256; 256 (HAM256 y HAM8x1)
Máquinas: ZX Spectrum SE , ZX Spectrum Next , ZX-Uno , Chloe 280SE , [46] Chloe 140SE , [46] eLeMeNt ZX , zx128u+ [46]
Interfaz: MB03+ Ultimate

Modos entrelazados/conmutados

Imagen entrelazada simulada de ZX Spectrum en una pantalla CRT

Entrelazar

Alternando entre dos pantallas en cada interrupción de cuadro (50 Hz), es teóricamente 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 "sombra", que se puede cambiar de lugar mediante el uso de un solo OUTcomando, 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. Y la imagen de ejemplo está vinculada aquí ( advertencia : la imagen vinculada parpadea muy rápidamente, lo que podría causar convulsiones en personas con epilepsia fotosensible ).

Imagen monocromática entrelazada de alta resolución de un ZX Spectrum. Imagen real tomada desde un Sinclair ZX Spectrum +3 utilizando una salida compuesta y una tarjeta de captura PCI.

De hecho, la técnica no logra una verdadera visualización entrelazada, ya que el Spectrum carece de la capacidad de sincronizarse con el hardware de visualización a un nivel tan bajo. En una pantalla de televisión CRT, el efecto es más parecido al anti-aliasing , con ciertos píxeles que aparecen a la mitad de la intensidad. [30] [47]

En los televisores LCD modernos , tarjetas de captura u otros dispositivos que convierten la señal analógica original en digital (ignorando parcialmente las señales de sincronización originales), este modo se puede interpretar como entrelazado verdadero, como se muestra en la imagen de un gato, a la derecha.

Detalles:

Píxeles: 256 × 384
Atributos: 32 × 24
Colores: 15

GigaScreen / DithVIDE / BZither

Pantalla GigaScreen ZX Spectrum

Los atributos (colores) de una imagen se alternan a 50 Hz en la pantalla. [48] De esta manera, la paleta aumenta a aproximadamente 36 colores. [49] Es posible cambiar de pantalla por línea de exploración y así mezclar las pantallas, pero esto consume mucho CPU y necesita tiempos exactos y constantes.

Con un software de estado sólido real, es posible simular un GigaScreen en un "toastrack" de 128K original ZX Spectrum 128K. [50]

Para las máquinas Pentagon, está disponible una modificación de hardware que combina directamente las dos áreas de pantalla alternas 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 (mezcla de RAM de video, mezcla de cuadros de video y modo de detección automática) en resoluciones de 256 × 192 y 512 × 192.

Además, las técnicas GigaScreen y Hi-Colour pueden emplearse juntas para producir imágenes con colores aún más intensos; este formato se ha denominado DithVIDE y BZither , ambos nombres hacen referencia a los métodos de tramado empleados al convertir imágenes de color verdadero a este formato. Detalles:

Píxeles: 256 × 192
Atributos: 32 × 24
Colores: ~36
Maquina: Todas (con parpadeo)
Hardware GigaScreen: Pentagon , eLeMeNt ZX , MB03+ Ultimate (sin parpadeo)

Capa clave

La interfaz MB03+ Ultimate y la computadora eLeMeNt ZX ofrecen 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.

Detalles:

Píxeles: 256 × 192, 512 × 192
Atributos: 32 × 24, 64 × 48, 3 colores por celda
Colores: 15
Máquina: eLeMeNt ZX
Interfaz: MB03+ Ultimate

3 colores / Multicromo / RGB-3 / Intercromo

Pantalla ZX Spectrum de 3 colores

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 la visión para fusionar las tres capas en una sola imagen coloreada. [51] El resultado es una imagen de 8 colores donde cada píxel puede colorearse independientemente. [52] [53]

Detalles:

Píxeles: 256 × 192
Atributos: 256 × 192
Colores: 8
Maquina: Todas

Máquinas e interfaces compatibles

Las máquinas posteriores compatibles con ZX Spectrum ofrecían modos de vídeo adicionales. Estos se basaban en el modo estándar de 256 × 192, pero eran incompatibles con el Spectrum original. [30] Además, las interfaces Spectra y MB03+ Ultimate amplían la pantalla del Spectrum para admitir más colores y/o modos de vídeo adicionales.

16c

ATM Turbo / Pentágono Modo de 16 colores

Modo de vídeo donde cada píxel puede tener uno de 16 colores. [54] Detalles:

Píxeles: 256 × 192
Atributos: ninguno, sin limitaciones
Colores: 16
Máquina: ATM Turbo , Pentagon

256 × 192 × 16 / Modo 4

Sam Coupé 256 × 192 × 16 modo color

Un modo Sam Coupé, donde cada píxel puede mostrar uno de los 16 colores de una paleta de 128 colores. [30] Detalles:

Píxeles: 256 × 192
Atributos: ninguno, sin limitaciones
Colores: 16 (de 128) por línea
Maquina: Sam Coupé

384 × 304 × 16

Un modo compatible con la computadora del Pentágono. [55] Detalles:

Píxeles: 384 × 304
Atributos: 48 × 38
Colores: 16
Maquina: Pentágono

Gráficos HGFX

El ordenador eLeMeNt ZX y la interfaz MB03+ proporcionan resoluciones basadas en planos de 256 × 192 (LowRes), 512 × 192 (HighRes) y 512 × 384 (SuperHiRes). [56] Los gráficos HGFX se manejan a través de capas planares, pero también se puede acceder a ellos como páginas RAM "gruesas". La resolución más alta, solo para gruesos, es la "PAL" de 720 × 546 píxeles. El HGFX consta de capas-planos de bits compatibles con pantallas ZX (no lineales o lineales) para lograr hasta 256 colores tanto en modo LowRes [57] como HiRes, 16 colores en SuperHiRes y 4 colores en la resolución más alta. Ocupa sólo una parte de la memoria, similar a la memoria de la pantalla ZX, tiene sus propios buffers internos y se puede combinar con los gráficos ZX originales, en un modo llamado transparencia. [58] El HGFX proporciona una paleta de colores verdaderos de 24 bits (compatible con HiRes indeXedColour) con 256 colores indexados. Los datos de pantalla HGFX también se pueden mostrar en modos HAM (similar a Amiga) y FILL (similar a Apple2GS).

El HGFX se basa en un sistema HGFX/Q más potente, que originalmente era ampliable en un área límite a 320 × 240 o 640 × 240. [59]

Detalles:

Píxeles: 256 × 192, 512 × 192, 512 × 384, 720 × 546
Atributos: ninguno, sin limitaciones, más los modos FILL y HAM
Colores: hasta 256 (desde 16777216), hasta 16 (SuperHiRes) y 4 (PAL 720 × 546)
Máquina: MB03+ Ultimate, eLeMeNt ZX

Capa 2

Detalles:

Píxeles: 256 × 192 (256 colores de 512), 320 × 256 (256 colores de 512) y 640 × 256 (16 colores de 512)
Atributos: ninguno, sin limitaciones
Máquina: ZX Spectrum Next [60]

Radastán

Este modo muestra 128 96 píxeles de tamaño doble. Cada píxel contiene uno de los 16 colores, sin limitaciones de atributos. Los píxeles se almacenan en un búfer lineal como fragmentos 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 una pantalla de 256 × 192 píxeles.

Detalles:

Píxeles: 128 × 96
Atributos: ninguno, sin limitaciones
Colores: 16 (de 256)
Máquinas: ZX-Uno , ZX Spectrum Next , MB03+ Ultimate, eLeMeNt ZX

LoRES

Este modo muestra 128 × 96 píxeles de tamaño doble. Cada píxel contiene uno de los 256 colores (de 512), sin limitaciones de atributos. Los píxeles se almacenan en un búfer lineal de 8 bits. El búfer tiene una longitud de 12288 bytes y ocupa la misma memoria que las pantallas primarias (DFILE1) y de sombra (DFILE2) de 256 × 192 píxeles.

Detalles:

Píxeles: 128 × 96
Atributos: ninguno, sin limitaciones
Colores: 256 (de 512)
Máquina: ZX Spectrum Next

Espectros (+128)

El Spectra tiene 31 formatos de visualización que permiten mostrar hasta 64 colores únicos simultáneamente y en una variedad de resoluciones de color, con alturas de atributos de 1, 2, 4 y 8 píxeles y anchos de 4 y 8 píxeles. [61]

Modos de alta resolución

512 × 192 × 2 / Alta resolución

Este modo se utilizaba principalmente para mostrar texto en pantalla de 64 × 24 u 85 × 24 columnas, y originalmente sólo las computadoras Timex Sinclair (donde se denominaba Hi-Res ) y algunos clones rusos [62] podían mostrarlo. También utiliza 12 KB de RAM. En el caso de Timex, este modo se activa a través del comando OUT 255,1. [27] [28] Dos editores gráficos ("Draw 512" [63] y "Tech-Draw" [64] ) admiten este modo, [65] [66] junto con BASIC64 y algunas implementaciones CP/M . [30]

Detalles:

Píxeles: 512 × 192
Atributos: ninguno, sin limitaciones
Colores: 2 (4 paletas: blanco y negro, azul y amarillo, rojo y cian, magenta y verde) (de 512 en el ZX Spectrum Next)
Máquinas: Timex Sinclair , ZX Spectrum Next , ZX-Uno , MB03+ Ultimate, eLeMeNt ZX , Pentagon

512 × 192 × 4 / Modo 3

Ejemplo de Sam Coupé 512×192×4 colores

El Sam Coupé tiene este modo, donde cada píxel puede usar uno de los 4 colores de una paleta de 128. [30]

Detalles:

Píxeles: 512 × 192
Atributos: ninguno, sin limitaciones
Colores: 4 (de 128) por línea
Maquina: Sam Coupé

512 × 384 × 2

Ejemplo de modo de video Pentágono 512 × 384

Un modo compatible con la computadora del Pentágono. [55]

Detalles:

Píxeles: 512 × 384
Colores: monocromo
Máquina: Pentagon , Timex Sinclair 2128 (modificación basada en TC 2048)

Color de alta resolución

Los píxeles se almacenan en orden lineal. Los atributos se duplican en dirección vertical, la composición del atributo es idéntica a la del modo ZX Spectrum original. HiRes indeXedColour puede elegir 32 colores de entre 16777216 colores. Se pueden mezclar dos RAM de video en los modos Color e indeXedColour a través de Keylayer.

Detalles:

Píxeles: 512 × 192
Atributos: 64 × 48
Colores: 16 (o 32 indexados, a partir de 1677216)
Máquina: MB03+ Ultimate, eLeMeNt ZX

Emulado

256x192, 256 colores, "modo de 256 colores", sin atributos

Los emuladores SPEC256, [67] [68] EmuZWin [69] [70] y E.pectrum [71] tienen un modo de pantalla de 256x192 píxeles donde cada píxel puede tener uno de los 256 colores. [30] Esto se logra ampliando el tamaño de palabra del Z80 emulado de 8 bits a 64, lo que hace que haya ocho bits de datos disponibles para cada píxel; la pantalla ocupa así 48 KB de memoria. Este modo solo existe en el emulador y los gráficos del software deben modificarse para usarlo. [ cita requerida ]

Detalles:
Píxeles: 256 x 192
Atributos: ninguno, sin limitaciones
Colores: 256

Difuminado y desenfoque

Desenfoque simulado de TV en una imagen de ZX Spectrum de 256 × 192 con un patrón de tramado regular. Los patrones se difuminan intencionalmente generando nuevos colores (p. ej.: naranja, gris, etc.). El tramado regular reduce la resolución efectiva de esta imagen a 128 × 96.
Paleta estándar de ZX Spectrum con tramado ordenado de 8 × 8.
Paleta estándar de ZX Spectrum con tramado, en pixel art

La baja profundidad de bits por píxel, de tan solo un bit por píxel, ha obligado a los artistas gráficos (por ejemplo, en ZX-Art) a recurrir a diversas técnicas de tramado . El tramado funciona muy bien con los televisores CRT de la época, porque los televisores analógicos emplean una gran cantidad de desenfoque tanto en el eje horizontal como en el vertical. Como el foco del haz de electrones de los televisores CRT comunes es intencionalmente bajo, el alto desenfoque resultante produce una mezcla de colores de los píxeles vecinos. El desenfoque reduce el ruido visible no deseado que se agrega mediante el tramado en las imágenes mostradas.

Para simular fielmente la imagen de salida real de un ZX Spectrum, un emulador moderno necesita emplear un filtro de desenfoque de una potencia significativa. Los filtros bilineales simples introducen demasiado desenfoque, mientras que el filtro Lanczos extremadamente nítido es inadecuado. Por lo tanto, el filtro tiene que ser construido especialmente para simular el efecto de desenfoque en un televisor CRT común. La mayoría de los emuladores emplean filtros de muy baja calidad, lo que hace que la imagen final aparezca extremadamente nítida y pixelada. [ cita requerida ] Algunos emuladores, como FUSE, emplean filtros disponibles en un intento de reducir el efecto de pixelación. [ cita requerida ] Esos filtros producen la imagen final significativamente diferente a la salida de video real del ZX Spectrum.

Un contraste mutuo bajo de algunas combinaciones de colores de la paleta permite mejorar el efecto de tramado al reducir aún más la cantidad de ruido introducido por el tramado. La siguiente tabla demuestra este efecto: por ejemplo, el contraste de un color blanco sobre un fondo amarillo es extremadamente bajo, lo que hace que el texto blanco sea prácticamente invisible.

Referencias

  1. ^ Vickers, Steven (1982). "Introducción". Programación BASIC de Sinclair ZX Spectrum. Sinclair Research Ltd. Archivado desde el original el 24 de septiembre de 2006. Consultado el 23 de agosto de 2006 .
  2. ^ Vickers, Steven (1982). «Colores». Programación BASIC de Sinclair ZX Spectrum. Sinclair Research Ltd. Archivado desde el original el 24 de septiembre de 2006. Consultado el 23 de agosto de 2006 .
  3. ^ Patente EP 0107687, Richard Francis Altwasser, "Pantalla para ordenador", expedida el 6 de julio de 1988, asignada a Sinclair Research Ltd 
  4. ^ "Base de datos". ZX-Art . Consultado el 14 de abril de 2023 .
  5. ^ "Información técnica del ZX Spectrum 48K". Preguntas frecuentes de comp.sys.sinclair . Consultado el 28 de diciembre de 2023 .
  6. ^ ab "Blog de diseño de clones de Spectrum".
  7. ^ "Información técnica del ZX Spectrum 48K".
  8. ^ "Información técnica del espectro 128K ZX".
  9. ^ ab Smith, Chris (2010). El ZX Spectrum ULA: Cómo diseñar un microordenador (1.ª ed.). Reino Unido: ZXDesign Technology and Media. pp. 224–227. ISBN 978-0-95-650710-5.
  10. ^ "Información técnica del ZX Spectrum 48K". worldofspectrum.org . Consultado el 15 de noviembre de 2023 .
  11. ^ ab Smith, Chris (2010). El ZX Spectrum ULA: Cómo diseñar un microordenador (1.ª ed.). Reino Unido: ZXDesign Technology and Media. pág. 74. ISBN 978-0-95-650710-5.
  12. ^ "Información técnica del ZX Spectrum 48K". worldofspectrum.org . Consultado el 15 de noviembre de 2023 .
  13. ^ Tišnovský, Pavel. "Grafika na osmibitových počítačích firmy Sinclair II". Root.cz (en checo) . Consultado el 15 de noviembre de 2023 .
  14. ^ "Para principiantes: explicación de la salida de video de C64". Lemon64 – Commodore 64 . 24 de septiembre de 2019 . Consultado el 11 de enero de 2024 .
  15. ^ abc Colores – Manual de introducción al Sinclair ZX Spectrum , pág. 27
  16. ^ "Salida S-video para ZX Spectrum +2A/+3, +2B y +3B". zxnet.co.uk . Consultado el 20 de diciembre de 2023 .
  17. ^ "Eliminación de imágenes fantasma azules y amarillas de la salida de video del 128/+2". Spectrum for Everyone . Consultado el 20 de diciembre de 2023 .
  18. ^ Farrow, Paul (2001). Cable SCART Spectrum 128 (PDF) .
  19. ^ Codificador de color PAL/NTSC TEA2000 (PDF) . Philips. Septiembre de 1985.
  20. ^ ab "Blog de diseño de clones de Spectrum". www.zxdesign.info .
  21. ^ "Información técnica del ZX Spectrum 48K". worldofspectrum.org . Consultado el 14 de noviembre de 2023 .
  22. ^ Colores – Manual de introducción al Sinclair ZX Spectrum , pág. 27
  23. ^ "Blog de diseño de clones de Spectrum". www.zxdesign.info .
  24. ^ "Información técnica del ZX Spectrum 48K". worldofspectrum.org .
  25. ^ Belfield, Dean. "L Irrumpir en el programa: diseño de la memoria de la pantalla del ZX Spectrum".
  26. ^ "World of Spectrum – Documentación – Manual de ZX Spectrum – Capítulo 24". worldofspectrum.org .
  27. ^ abc "Puertos de E/S Timex". timex.comboios.info .
  28. ^ abcd "Información técnica de Timex". worldofspectrum.org .
  29. ^ Weissenberg, Michael (19 de diciembre de 1983). "InfoWorld". InfoWorld Media Group, Inc. – vía Google Books.
  30. ^ abcdefgh «Modos gráficos adicionales del ZX Spectrum». Proyectos de 8 bits para todos . Archivado desde el original el 15 de junio de 2006. Consultado el 14 de septiembre de 2006 .
  31. ^ "Pintura extendida". www.timexsinclair.com . Consultado el 20 de noviembre de 2022 .
  32. ^ MB-02+ Un revolucionario paso adelante (PDF) . Laboratorios 8 Bit Company.
  33. ^ "Descargar MB02+". www.128land.com .
  34. ^ Gordon, Wright, Bruce, Andy (1990). MANUAL TÉCNICO DEL SAM COUPE v3.0 (PDF) . MILES GORDON TECHNOLOGY plc.{{cite book}}: CS1 maint: multiple names: authors list (link)
  35. ^ "MOTOR BIFROST*2 en Spectrum Computing". Spectrum Computing .
  36. ^ "Supercolor en Spectrum Computing". Spectrum Computing .
  37. ^ "Computación de espectro". Computación de espectro .
  38. ^ "MOTOR NIRVANA+ en Spectrum Computing". Spectrum Computing .
  39. ^ "Base de datos". ZX-Art .
  40. ^ "Base de datos". ZX-Art .
  41. ^ "ULAplus". sitios.google.com .
  42. ^ "ULAplus". sites.google.com . Archivado desde el original el 25 de mayo de 2013 . Consultado el 20 de noviembre de 2022 .
  43. ^ "Colección ULAplus™ 10th Anniversary de Source Solutions, Inc". itch.io . Consultado el 20 de noviembre de 2022 .
  44. ^ "Visualizador HAM256 en Spectrum Computing". Spectrum Computing . Consultado el 20 de noviembre de 2022 .
  45. ^ "HAM 8x1 en Spectrum Computing". Spectrum Computing . Consultado el 20 de noviembre de 2022 .
  46. ^ abc Gabor, Tarjan (2021). "¿ZX Spectrum en el siglo XXI?".
  47. ^ "Demostración de entrelazado en Spectrum Computing". Spectrum Computing .
  48. ^ "Base de datos". ZX-Art .
  49. ^ "Modos gráficos del ZX-Spectrum". ZONA GFX .
  50. ^ ZX Spectrum 128k: Demo de "Velesoft's Dragon in Giga Screen Simulator" (2021), 15 de abril de 2021 , consultado el 21 de diciembre de 2023
  51. ^ "Base de datos". ZX-Art .
  52. ^ "ZX Prism: modo planar de 16 colores "sin conflictos de colores" y pantalla gigante de hardware". 17 de julio de 2014.
  53. ^ "Триколор". SpeccyWiki (en ruso).
  54. ^ "16col". SpeccyWiki (en ruso).
  55. ^ ab "384x304". SpeccyWiki (en ruso).
  56. ^ "Modos gráficos de ZX Spectrum y compatibles compatibles con la plataforma eLeMeNt/MB".
  57. ^ "LnxSpectrum HGFX Oxygene" - a través de vimeo.com.
  58. ^ "HGFX – ZX Planar – tutorial".
  59. ^ "Gráficos HGFX/Q". wiki.ilnx.cz (en checo).
  60. ^ "Modos de vídeo". Wiki oficial de SpecNext .
  61. ^ Farrow, Paul (2018). Resumen de los modos de visualización de SPECTRA (PDF) . www.fruitcake.plus.com / www.zxresourcecentre.co.uk.
  62. ^ "512x192". SpeccyWiki (en ruso).
  63. ^ "Dibujo 512". www.timexsinclair.com . Consultado el 20 de noviembre de 2022 .
  64. ^ "Tech-Draw". www.timexsinclair.com . Consultado el 20 de noviembre de 2022 .
  65. ^ "Draw 512 en Spectrum Computing". Spectrum Computing . Consultado el 20 de noviembre de 2022 .
  66. ^ "Software para el TS 2068". www.timexsinclair.com . Consultado el 20 de noviembre de 2022 .
  67. ^ MVV (18 de julio de 2022), mvvproject/Spec256-Games , consultado el 26 de noviembre de 2022
  68. ^ "Juegos Spectrum Magic ZX de 256 colores". spectrummagic.emuunlim.com . Consultado el 26 de noviembre de 2022 .
  69. ^ "EmuZWin v2.6 versión 1.0".
  70. ^ "EmuZWin 2". f0460945.xsph.ru . Consultado el 26 de noviembre de 2022 .
  71. ^ "Manual de E.spectrum". www.habisoft.com . Consultado el 26 de noviembre de 2022 .

Enlaces externos