martes, 1 de noviembre de 2016

TOOLKIT para ZX81

TOOLKIT es una utilidad desarrollada por Artic Computing en 1982 para el ZX81 con 16 kB de RAM. El programa fue publicado tanto por Artic como por Sinclair Research. Introduce 9 nuevas funciones a las que se accede ejecutando el RAND USR correspondiente, según el manual de instrucciones.





















El programa baja la RAMTOP a la dirección 30500 y se instala por encima de esta dirección, precisamente para que no pueda accederse por otros programas. Ocupa los 2268 bytes restantes hasta el tope de memoria.

Lo que me ha interesado de este programa es la rutina MEM (RAND USR 31850 o RAND USR MEM) para el cálculo de la memoria RAM disponible. Hay varios programas que realizan la misma función pero siempre para el modelo de 16 kB. Como es sabido, en este modelo la memoria de display de pantalla, entre las variables del sistema D_FILE y VARS, ocupa un espacio fijo de 793 bytes. Mientras que en el modelo de 1kB este área de memoria es variable, desde el mínimo de 25 bytes hasta los 793 bytes, lo cual dificulta algo más el cálculo de la memoria RAM disponible.
















Al ejecutar la rutina MEM aparece el cálculo de memoria mostrado en la imagen anterior. El programa al ejecutarse, asigna una variable a cada una de las nuevas funciones como puede verse al ejecutarse RAND USR 31532 o RAND USR DUMP. Si ejecutamos un CLEAR, veremos que no obtendremos un resultado al ejecutar RAND USR MEM, pero sí al ejecutar RAND USR 31850. En este caso el área de memoria libre será 13161 bytes. Es decir, con la ejecución de CLEAR también hemos liberado el área de variables usado por el propio programa.

El cálculo es relativamente preciso, ya que si a 16384 (16 kB) le restamos el espacio ocupado por el programa (2268 bytes), la memoria de pantalla (793 bytes) y el área de variables del sistema (125 bytes), nos daría un número cercano a los 13161 bytes. La diferencia es de 37 bytes, que seguramente fuera menos al deducir las pilas.

martes, 20 de septiembre de 2016

Hints & Tips for Videogame Pioneers: The birth of a new era, a new medium, a new industry

En esta entrada ya hacia una breve mención a este libro publicado por Andrew Hewson en 2016. Tras la lectura, tengo que decir que es un buen libro que hará las delicias de los que vivieron (vivimos) aquella época.



Comienza con los años previos a la creación de Hewson Consultants, compatibilizando su incipiente interés por la programación de micro-ordenadores y su trabajo principal en aquel entonces, hasta la desaparición de la última compañía que mantenía el legado de Hewson. Desde sus comienzos con un ZX80, para cuya adquisición tuvo que pedir un crédito de 500 GBP, hasta el cierre de su compañía 21st Century Entertaiment especializada en juegos Pinball, ya en la segunda mitad de los años 90.

Andrew Hewson reconoce que fue arrastrado, como el resto de la industria del videojuego en el Reino Unido, por un cambio en la forma de gestionar empresas de software. Una época en la que pequeñas empresas fundadas en garajes o en dormitorios, no podían competir con una industria boyante en la que los equipos de trabajo eran cada vez más grandes y complejos. Situación que está muy bien descrita en la película-documental From Bedrooms to Billions (Anthony y Nicola Caufield, 2014), en la que el propio Hewson aparece.

Volviendo otra vez al libro, lo que más me gusta son los primeros capítulos referentes al nacimiento de un hobby, posterior desarrollo de esa pasión y la época del Spectrum. Cabe destacar la evolución de la compañía, centrada al principio en publicaciones escritas, aunque no publicó muchos libros, y su movimiento hacia la publicación de software producido por otros. Todos los programadores que publicaron con Hewson son entrevistados en el libro.

Y para terminar, una frase extraída del libro cuando estaba a punto de publicar "Hits & Tips for the ZX80" y que muestra el espíritu de esos pioneros a los que se refiere el libro: "I never attempted to seek out a publisher for the book because the idea of placing a person or organisation between me and what I wanted to do, was too awful to contemplate. Only my wife knew anything about what I was up to. I found myself a printer in Wallingford who had a new-fangled photocopying machine"

domingo, 18 de septiembre de 2016

ZX81 en Versión Kit se vende en eBay

Después de más de 40 pujas, hoy se ha vendido en eBay un kit sin montar del ZX81. Rara vez sale a la venta un kit de estos, de hecho es difícil entender como puede ver alguno aún. 

Estos kits fueron vendidos por Sinclair nada más sacar a la venta el ZX81 en marzo de 1981, y en su mayoría se vendieron por correo y por lo tanto la caja es la de cartón marrón, como es el caso de esta venta. Son placas issue 1.

Este kit incluía todos los componentes y el manual "Assembly Instructions", que aunque se puede encontrar escaneado, no es fácil encontrarlo original. Sin calificar cuánto de original son los componentes que incluye, hay que decir que el estado de conservación es excelente, incluido los manuales y la caja.

El precio de cierre de la venta ha sido de 185 GBP (217€), y 18,2 GBP (21,3€) de gastos de envío.

miércoles, 7 de septiembre de 2016

El ZX81 en RetroGamer (nº 158)

En el número 158 de la revista RetroGamer (edición inglesa) aparece un artículo de Marlyn Carroll sobre el ZX81 con motivo del 35 aniversario del lanzamiento de este micro.

Un repaso por la historia de este ordenador a partir de la evolución del ZX80, sus especificaciones técnicas, su software y con aportes de figuras importantes como John Grant, Steve Vickers, Charles Cecil y Rick Dickinson. Incluye una entrevista con Bob Smith, programador actual del Spectrum y ZX81.

Muchos de los que luego fueron programadores reconocidos con el ZX Spectrum comenzaron su andadura con el ZX81. Hay un consenso en reconocer la importancia de este ordenador en el desarrollo de la industria del software y de acercar la informática a los domicilios, algo en lo que, sin duda, mucho tiene que ver Sir Clive Sinclair.

Rick Dickinson reconoce que es su favorito e incluso llega a afirmar que Clive Sinclair coloca a este micro también como su favorito por encima de otros ordenadores de su propia marca.

domingo, 4 de septiembre de 2016

Resolución de Pantalla en el ZX Spectrum (y III)

Video Compuesto
Una señal de video compuesto combina las 3 componentes del video; brillo, color y sincronización en una sola, de manera de que sea más fácil su transmisión.

Una señal de video compuesto en blanco y negro consiste solamente en la combinación del brillo y la sincronización, en una señal denominada luminancia y representada mediante el símbolo Y. La información del color se añade a la luminancia para formar la señal de video compuesto. Hay dos señales diferentes referidas al color, señales U y Y, denominadas conjuntamente como crominancia.

En el estándar PAL, la señal de video compuesto está basada en la luminancia en blanco y negro Y, y en la crominancia U y V, en lo que se denomina como señal YUV. El valor de Y (luminancia) se calcula en una fórmula que asigna pesos a los colores principales RGB:

Y = 0,299R + 0,587G + 0,114B

Y los valores de U y V (crominancia) se definen de la siguiente manera:

U = 0,493 (B – Y)
V = 0,877 (R – Y)

El ZX Spectrum utiliza el chip LM1889 para modular la señal de color -crominancia- (U y V) a una sub-portadora de color compatible con PAL usando el cristal de 4,43336 MHz. Después, esta señal se combina con la luminancia (Y) en los transistores TR1 y TR2 para obtener la señal de video compuesto que se envía al modulador de UHF. Es decir, el propio ZX Spectrum ya genera una señal de video compuesto.


Posteriormente, esta señal es de nuevo modulada en el circuito UM1223 para generar la señal portadora RF compatible con la señal UHF de los TV de la época.



Modo FLASH

Cuando el bit correspondiente al FLASH está activado, la ULA intercambia los colores de la fuente y el fondo a razón de 3 veces por cada 2 segundos, o lo que es lo mismo a una frecuencia de 1,56 Hz.


Modo BRIGHT

El modo BRIGHT de cada uno de los colores lo genera la ULA a través de su circuito interno de generación de la señal de luminancia (Y), mediante la variación de las intensidades de corriente, en miliamperios, de los 3 colores fundamentales RGB (Rojo – Verde – Azul). Se aplica a todos los colores excepto al negro que no tiene brillo.


Borde de la Pantalla (BORDER)

El display de la pantalla se genera a través de dos fuentes de información; la primera, es la memoria de video alojada en la RAM, y la segunda, el color del borde que se especifica a través de un registro.

El registro del color del borde no está implementado en una ubicación de la RAM, sino a través de 3 bits en el puerto I/O 254 (FEh). La utilización de 3 bits permite la generación de 8 combinaciones de colores RGB.


El puerto FEh es gestionado por la ULA y constituye un puerto de entrada y salida utilizado por varios dispositivos: teclado, altavoz y las conexiones MIC/EAR.