ZX SPECTRUM


VERSIONES ULA


La ULA (Uncommited Logic Array) es el cerebro del ZX Spectrum. Desarrolla diferentes actividades, entre ellas genera la señal de video, proporciona la señal de reloj a la CPU, gobierna el acceso a la memoria, controla el teclado, el casete y el altavoz. Coordina el acceso de la CPU a estos recursos y se asegura que la señal de la televisión no se interrumpe en ningún momento, realizando la conversión entre la señal analógica del televisor y la digital del microprocesador.

La ULA del ZX Spectrum fue fabricada por la empresa británica FERRANTI en exclusiva. La empresa cerró en 1994, y su legado quedó en el Museum of Science and Industry, en Manchester.

En 1972, Ferranti introdujo en el mercado su bipolar Uncommited Logic Array (ULA), basada en el proceso CDI (Collector Difussion Isolation) que ofrecía una gestión más eficiente de la capa de interconexiones. Ferranti rápidamente dominó el mercado internacional de sistemas semi-custom, y en 1980 tenía el 40% del mercado.

Las versiones de la ULA según el modelo de la placa del Spectrum son las siguientes.

ULA 5C102E. El registro más antiguo del que hay constancia es el modelo 8214 (4-abr-1982). Tenía un problema en la lógica I/O, que se solucionó añadiendo una modificación llamada “dead cockroach”. 

Durante las pruebas finales del prototipo de esta versión y particularmente durante el control visual, se detectó que el diseñador de Ferranti había cometido un error en la disposición de la capa de interconexión en la salida de la señal del reloj. Esta señal quedó sin conectar. Afortunadamente, y contra todo pronóstico, ya que no es normal que esto le ocurra a un diseñador de componentes electrónicos, un mota de polvo se depositó en el circuito justamente en la interconexión, e hizo de interconexión.

ULA 5C112E-2. El circuito “dead cockroach” está incorporado internamente, pero tras descubrir un error adicional que impedía a la ZX Printer, y posteriormente a la interface 1 y los microdrives, operar correctamente. Se añadió una puerta OR mediante un transistor soldado a través del Z80.

ULA 5C112E-3. Este modelo es el último de la serie 5C y se montaba sobre los últimos issue #2.

ULA 6C001E-5. Es la ULA mas difícil de encontrar. Sólo hay referencias de modelos entre 8320 y 8324. Solo funcionan correctamente en las placas issue #2.

ULA 6C001E-6. Es la más común en los Spectrum modelos “gomas”. Sobre todo en placas issue #3, #3B; aunque puede encontrarse en alguna #4 y #4S.

ULA  6C001E-7. Montada en Spectrum “gomas” y Plus. En placas issue #4 y superiores. Existe un modelo E-7 producido por Plessey (escritura PS en el IC en lugar de Ferranti), y que son modelos producidos tras la compra de Ferranti por Plessey.


Versión 128k: 7K010E. No produce la luminancia, ni la crominancia (señales YUV). La señal de video compuesto la genera el TEA2000. Además necesita una velocidad de reloj de 17,7345 MHz, precisamente para poder alimentar, dividiendo por dos, los 8,86725 MHz que necesita el TEA200.


Para modelos americanos estaba la NTSC 6C011E.



La serie 5000 tiene un consumo estimado de 725 mW. Uno de los objetivos de la serie 6000 era reducir el consumo de energía. El estimado para esta serie es de 680 mW.

La serie 6000 no aparece en los catálogos de Ferranti, seguramente debido a que fue diseñado y fabricado en exclusiva para Sinclair dado que era su cliente más importante.

El modelo 6C001E-7 puede usarse satisfactoriamente en versiones anteriores del Spectrum. Aunque puede haber algún cambio en el resto de componentes de las diferentes placas. La diferencia entre la -6 y la -7 es el timing diferente en la generación de la señal /CAS. La diferencia en el timing de la ULA es de 30ns entre las versiones 6 y 7. 

En la E-7 se han usado dos puertas que estaban disponibles del IC24 para solucionar el timing de la ULA. Refiere al Service Manual Suplemento no. 1. En las versiones de placa #4a/b y posteriores no deberían usarse ULAs anteriores a la 7.