jueves, 10 de enero de 2013

Un recorrido por la historia del Spectrum: ZX80


Índices: Máquinas Sinclair       Historia de la Informática


Clive Sinclair, en ese momento mediante la empresa Science of Cambridge, lanzó al mercado en 1980 el ZX80, siendo el primer equipo completo disponible en el Reino Unido "por menos de cien libras", en forma de Kit se vendía por 99.95 Libras, o montado por un poco mas. En los EE.UU. el precio era de 149'95$ en kit y 199'95$ montado, y cambiaron el eslogan por "la primera computadora personal por menos de 200$". Rápidamente se hizo muy popular, por lo que se creó una lista de espera de varios meses para conseguir una unidad. Su nombre está basado en el Z80, añadiendo una "X" (según la BBC fue por su "ingrediente misterioso"). Se calcula que se vendieron unas 50.000 unidades del ZX80, lo que hicieron al Reino Unido líder en ordenadores personales del momento, aunque por problemas de calidad y sobrecalentamiento es difícil encontrar hoy máquinas operativas.

Una unidad del ZX80 (fuente: oldcomputers.ne)
Como solo disponía de 1Kb de RAM, usaba dos ingeniosos mecanismos para ahorrar el máximo de memoria posible, aunque complicaba el uso y programación del aparato, los Tokens (palabras del BASIC) se definieron dentro del mapa de caracteres, por lo que cada comando usaba un solo byte en lugar de uno por cada carácter (así PRINT usaba un byte en lugar de 5), eso le hizo disponer de un teclado un tanto especial para poder escribir los programas, que fue heredado por el Spectrum. El segundo mecanismo fue el uso de una memoria de pantalla dinámica, al usar solo texto, en la memoria de pantalla solo se guardaban las líneas hasta el CR, y solo hasta la última línea rellena en la pantalla, ahorrando guardar los espacios a la derecha y las líneas en blanco inferiores, aunque complicaba un poco la circuitería de vídeo.

La máquina fue diseñada por Jim Westwood, usando un Z80 a 3,25 MHz, con una memoria RAM estática de 1Kb (ampliable a 16Kb como máximo) y una ROM de 4Kb, sin usar chips especiales. La salida de vídeo era hacia una televisión, y el almacenamiento utilizando una grabadora de casete.No disponía de ningun sistema para generar sonido.

El diseño externo es del diseñador industrial Rick Dickinson, se montaba dentro de una pequeña caja de plástico blanco, con el teclado de membrana en azul en la parte delantera. Aunque dispone de una rejilla en la parte trasera de la caja, no es funcional sino estética, por lo que la máquina tenía problemas de sobrecalentamiento, lo que unido a la necesidad de reducir el coste usando componentes lo mas económicos posibles, y el casi nulo control de calidad por parte de la empresa, lo hacían poco durable.

La ROM disponía de la primera versión de BASIC de Sinclair, que solo podía manejar números enteros para funcionar mas rápido, un editor de programas y un mínimo sistema operativo para el manejo de los periféricos. Los Tokens del BASIC estaban predefinidos en el juego de caracteres de la máquina, comportándose como lo hacen las calculadoras, en que cada tecla da acceso a un comando, pero para poder acoplar todo el juego de caracteres, en el teclado de membrana de 40 teclas, estas disponían de tres funciones en cada una, que se seleccionaba según la posición en la línea en que se pulsara (al principio siempre va un token, luego irán los parámetros de ese token), pudiendo alterarse con el Shift.

El generado de vídeo usaba las ideas popularizadas por Don Lancaster en su TV Typewriter, todo controlado por el Z80 directamente, por lo que solo podía generar una imagen completa mientras estaba inactivo, esperando una pulsación del teclado. Cuando se ejecuta un programa básico, o incluso cuando se pulsa una tecla, la pantalla estaba en negro momentáneamente mientras el procesador estaba ocupado. Esto hacía que hacer un programa con gráficos móviles fuera muy difícil, ya que debía detenerse continuamente al procesador para presentar la pantalla. Esto se usó en el ZX81 para hacerle trabajar en modo FAST, sin refrescar la pantalla mientras se procesaba.

La unidad por dentro, integraba placa y teclado juntos (fuente: oldcomputers.net)

La salida de vídeo era solo en modo texto monocromo, aunque se podían redefinir los caracteres para simular gráficos basados en caracteres. Al usar solo vídeo monocromo, no tenía problemas para adaptarse a otros sistemas no ingleses de vídeo, cambiando la frecuencia de vídeo y el generador de RF para adaptarlo a cada país. Como la RAM se usaba como memoria de pantalla, y podía llegar a usar una pantalla de 24 líneas de 32 caracteres, lo que ocupaba 768bytes, dejando solo 256bytes libres al usuario. El mecanismo de guardar solo la parte rellena de la pantalla hacía que se pudiera usar mas memoria, con el truco de acumular en la parte superior izquierda el máximo de información, podía ampliar un poco esto, pero al final era casi imprescindible usar una ampliación de memoria.

En la parte trasera disponía de un bus de expansión de borde de la placa, que era el mismo para el ZX81 y con algunas modificaciones lo usó el Spectrum, lo que motivó la creación de algunas expansiones. Sinclair disponía de expansiones de RAM estática de 1, 2 o 3Kb, y de 16Kb usando RAM dinámica. Luego sacó un interface y una impresora. Otras empresas fabricaron otras ampliaciones, principalmente de memoria, pero al ser compatible con el ZX81, se le podían añadir hasta discos.

Con el lanzamiento del ZX81, una expansión con una ROM de 4Kb podía convertir el ZX80 en un ZX81, incluyendo un nuevo overlay para el teclado y el manual del ZX81, había que cambiar la ROM, con algunas pequeñas modificaciones en la placa, y ubicar el overlay sobre el teclado, pero no disponía del modo FAST/SLOW al carecer de posibilidad de deshabilitar la NMI.

El overlay del teclado del ZX81, detrás una ampliación de memoria de Sinclair (fuente: yourcomputeronline)


Una de las modificaciones más comunes por los aficionados era cambiar la placa a una caja más grande, con un teclado mejor, lo que mejoraba la refrigeración y el manejo.

Clones

La Timex solo sacó máquinas compatibles con el ZX81 por lo que no hubo clones oficiales, pero si existieron clones no autorizados en USA y Brasil (pais que tenía prohibida la importación de ordenadores y consolas para fomentar la industria nacional):


1980: MicroAce Microcomputer, de la empresa MicroAce (USA), con 2Kb de RAM y la misma ROM del Sinclair (incluso tenía el símbolo £ en lugar del $), por lo que tuvo que dejar de fabricarlos al perder el juicio por plagio. Cambió levemente la máquina para conseguir un clon sin parpadeos, y luego obtuvo permiso de Sinclair para vender un kit de un clon del ZX81.
1980: TK80, de Microdigital (Brasil), con 1Kb de RAM y 2Kb de ROM, pronto fue reemplazado por los siguientes modelos.
1981: TK82 y TK82C, de Microdigital (Brasil), salían con 2Kb de RAM. El modelo básico con 4Kb de ROM, y  la versión C (por Científico) que manejaba números reales desde Basic, disponía de 8Kb de ROM. Disponían de interface de Joystick, generador de tonos para el sonido, y el interface de cinta podía trabajar a 300 o a 4800 baudios. Luego sacaron el TK-82S con 8 KB de ROM y el TK-83 con memoria expandible a 64Kb, ambos usaban una ULA en lugar de los chips TTL.
1981: NE-Z80, de las empresas Nova Electrônica y Prológica (Brasil), con 1Kb de RAM y 4Kb de ROM, una copia casi idéntica al modelo de Sinclair.

No hay comentarios:

Publicar un comentario