Hardware

Modelos de Placa Base


Issue #1. Realizada con trazas curvas y hecha a mano. La placa tiene el “solder mask” del lado de soldaduras en color verde. La mayoría de las placas son verdes por el lado componentes también, aunque algunas placas pueden encontrarse con el color del material crudo de la placa.


















Issue #2. Es un prototipo bastante difícil de encontrar. Es una unidad que se hizo como prueba para el issue 3.


Issue #3. Realizada con diseño CAD y trazos rectos. La placa tiene el “solder mask” en el lado de soldaduras en color rojo.


















CPU


Los modelos de CPU que pueden aparecer en el ZX81 son:

  • ZILOG Z80A
  • NEC (uPD780C-1)
  • MOSTEK (MK3880)

La disposición de pines o “pinout” se muestra en la figura siguiente:



ROM

Los modelos de ROM que pueden encontrarse en un ZX81 son:

  • 2364 (8kB x 8 bits) de 24 pines, sobre zócalo de 28 pines
  • Compatible Motorola ZCM38818C o 68764
  • Compatible Mostek MK36809. Este modelo puede encontrarse soldado directamente a placa, sin zócalo

Las versiones del firmware de la ROM son:

  • La “Standard” ROM. Es la original y la primera versión con errores tal y como fue programada por Sinclair.
  • La “Improved” ROM. Es la segunda versión programada por Sinclair, y depurada por Dr. I. Logan y el Dr. Frank O´Hara. Algunas placas montaban encima de la CPU un pequeño circuito con dos chips SN74LS27N (“piggyback fix”).
  • The “Shoulders of Giants” ROM. Es una versión depurada programada por Geoff Wearmouth.


El “piggyback fix” añadido a la “standard ROM” soluciona los errores aritméticos pero no corrige otro error que involucra a la función PAUSE. 

El error debido a PAUSE –siempre con ROMs antiguas-, provoca que el ordenador se bloquee o borre el programa que tenga en memoria al interrumpirlo con BREAK (“white-out effect”), siempre que esté funcionando en modo FAST. Para evitar esto, hay poner POKE 16437,255; antes de la instrucción PAUSE.

La prueba definitiva es teclear PRINT PEEK 54, si el valor recibido es 136, la ROM es la correcta.

Para calcular el checksum de la ROM, introducir el siguiente código:

10 FAST
20 LET A=0
30 FOR B=0 TO 8191
40 LET A=A+PEEK B
50 NEXT B
60 PRINT A

Standard ROM Standard ROM 
+ Piggyback Fix
Improved ROM
Checksum:
854885 854885 855106
PRINT PEEK 3823
33 33 205
PRINT SQR 0,25
1,3591409 0,5 0,5
PRINT 0,25**2
3,142384 0,0625 0,0625
PRINT 4-0,0000000001
12 4 4
PRINT SQR 0,0625
1,847264 0,25 0,25

El pinout de la ROM se muestra en la siguiente figura:



RAM


Las placas pueden llevar montadas dos modelos diferentes de RAM:

  • Dos integrados de 18 pines del tipo 2114 (1kB x 4 bits).
  • Un integrado de 24 pines del tipo 4118 (1kB x 8 bits) o 4816 (2kB x 8 bits). El tipo 4801 (1kB x 8 bits) es compatible con el 4118.

PRINT PEEK 16388 + 256*PEEK 16389 PRINT PEEK 16389
RAM 1kB:
17408 68
RAM 16kB:
32768 128



Los pinouts de las diferentes opciones se muestran en las siguientes figuras:
























ULA

Existen tres modelos de ULA, ambas partiendo del prototipo de Ferranti 2C000.

1ª versión: 2C158E. La referencia a la versión la pone en la cara trasera del integrado.
Solamente el año y la semana de producción está escrita en la cara vista al montarla sobre
el zócalo. Esta versión no genera el “back porch” de la imagen. Las primeras versiones
de esta ULA, que iban montadas sobre la placa issue #1, van soldadas directamente
a placa sin zócalo.

2ª versión: 2C184E. La señal de video no produce el “back porch” por lo que en TV modernas no se puede ver ninguna imagen o se ve una imagen muy oscura.

3ª versión: 2C210E. Es la versión más moderna. Corrige el problema de la generación
del “back porch”.

El pinout es común a todas les versiones de ULA y puede verse en la figura mostrada a continuación.




Transistores


El ZX81 tiene solo dos transistores en la placa: TR1 y TR2.

El transistor TR1 forma parte del circuito que participa en la generación del display de
pantalla tan particular del modo SLOW, interconectando las señales /NMI, /HALT, /WAIT
e /INT, entre la ULA y la CPU.

El transistor TR2 amplifica la señal de reloj en el pin 14 de la ULA. El oscilador X1 es de
6,5 MHz, que la ULA divide a 3,25 MHz que es la señal CLK que necesita la CPU en su
pin 6.


Condensadores Electrolíticos

La placa del ZX81 solo dispone de dos condensadores electrolíticos: C3 y C5.

El condensador C3 (22 uF – 16V) forma parte del circuito del regulador 7805 y sirve como
filtrado de la señal de entrada y evitar el rizado de la fuente de alimentación no regulada.

El condensador C5 está conectado al pin 26 de la CPU que se corresponde con la señal
/RESET. El ZX81 no dispone de botón de reset pero dispone del circuito para poder
instalarlo. Un simple pulsador entre las patillas del condensador C5 habilita el reset en el ZX81.


Resolución de Pantalla


El modo en el que el ZX81 codifica la memoria de vídeo es ligeramente diferente si tenemos más de 3,25kB de memoria RAM o menos. En el caso de tener más de 3,25kB las líneas de la pantalla se codifican en el modo llamado expandido y siempre tienen el mismo tamaño: 24 x 32 bytes (768 bytes + 25 bytes en instrucciones HALT = 793 bytes). El primer byte en la memoria de vídeo es un opcode HALT, y cada línea es terminada con un HALT (fin de línea).
































En el caso de tener menos de 3,25kB el tamaño mínimo es de 25 bytes, que se corresponde con el primer byte (HALT), más 1 byte (HALT) por cada una de las 24 filas. Es decir, una pantalla vacía ocupa 25 bytes.

En la figura siguiente, se muestra un ejemplo del espacio ocupado por la representación
en pantalla tras la ejecución del programa en Basic en un ordenador con menos de

3,25 kB de RAM.



























Puerto de Expansión

El puerto de expansión del ZX81 está formado por un conector de 46 pines macho, aunque en realidad 44 son los utilizados. Los otros dos sirven como marca de colocación.

































Conectores Externos


CONECTOR TIPO ANILLO TIP
TV Video
RCA hembra 3,5 mm GND Señal TV
EAR
Jack hembra 3,5 mm GND Casete input
MIC
Jack hembra 3,5 mm GND Casete input
Fuente Alimentación
Jack hembra 3,5 mm GND 9V DC