viernes, 19 de agosto de 2016

Resolución de Pantalla en el ZX Spectrum (I)

Introducción

Posiblemente, la descripción que hace Chris Smith sobre el sistema de video del ZX Spectrum en su libro “The ZX Spectrum ULA: How to Design a Microcomputer” (ZX Design and Media, 2010), sea la mejor y más completa que uno puede encontrar. Sin embargo, esta descripción puede llegar a ser demasiado técnica para algunos usuarios medios o principiantes, como el autor de este blog. Para ellos va dirigida esta explicación, si bien me ha apoyado en muchas descripciones del libro de Chris Smith.

También me he apoyado en el documento “La señal de Video: PAL Color” de Francisco José García Martínez, publicado por la Universidad Politécnica de Valencia.

Este texto está enfocado en el estándar PAL, pero el libro de Chris Smith cubre también el sistema NTSC.


El Sistema PAL

El sistema PAL fue desarrollado por un ingeniero de los laboratorios de Telefunken en el año 1963 en un intento de mejorar la calidad del sistema NTSC. El sistema PAL presenta una relación de aspecto de 4:3, 625 líneas y una frecuencia de 50 Hz. De esas 625 líneas, solo 575 son de imagen, quedando el resto para el sincronismo vertical, teletexto, líneas de inserción de prueba de calidad de la señal, etc.

El movimiento se consigue mediante proyecciones de instantes sucesivos, a velocidad suficiente para que el espectador tenga la impresión de movimiento continuo y no a saltos. La persistencia de la imagen en el ojo humano es diferente al barrido de la imagen por lo que se debe aplicar la técnica del entrelazado para evitar el parpadeo de imágenes. Para ello, la imagen se divide en dos campos explorando alternativamente las líneas pares y las impares. Con esto se consigue que la información que recibe el ojo es más reducida y suficiente para interpolar las imágenes sin que aparezca el parpadeo.

En el sistema PAL, cada campo tiene 312,5 líneas, o para simplificar en el texto, 312 líneas o “scanlines” por campo.


Selección de la Resolución

La imagen la forma un haz de electrones que recorre la pantalla horizontalmente, de izquierda a derecha; y cuando llega al final de la línea regresa al lado izquierdo para descender una línea, para repetir el proceso. El regreso lo hace sin generar imagen.





En el sistema PAL, el haz de electrones tarda 64 s en recorrer ese trayecto de izquierda a derecha y regresar el punto de origen de la siguiente línea o “scanline”. Una imagen PAL contiene 312 líneas, luego:

En 1 segundo:         1 / 64 s = 15625 scanlines
Actualización pantalla: 15625 / 312 = 50,08 

Es decir, en 1 segundo la pantalla se actualiza 50 veces.

La frecuencia horizontal de las scanlines en el sistema PAL es de 15,625 kHz. Asumiendo que cada píxel ocupa 1 bit, si cada línea ocupara 1000 bits, la frecuencia de trabajo para mostrar cada scaline sería de 15,625 MHz y la memoria necesaria para generar la pantalla completa ocuparía casi toda la RAM disponible en un sistema de 8 bits. Para evitar esto, los diseñadores de Sinclair redujeron el área disponible de pantalla a 256 x 192 píxeles y trabajando a una menor frecuencia (7 MHz). Este diseño lo heredó del ZX81, en donde la resolución era de caracteres de texto disponibles en ROM en una matriz de 32 x 24 celdas, debido a su poca memoria RAM (1 kB).