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
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 |
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
Resolución de Pantalla
Puerto de Expansión
Conectores Externos
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 |