viernes, 17 de marzo de 2017

Interface de ROM Externa para ZX81 (IV)

MONTAJE 3

Mismo esquema que el anterior, pero en este caso montaje al completo, incluyendo los chips 74HC374 (registro de flip-flops síncrono tipo D) y 74HC193 (contador binario) de tecnología CMOS.
En el chip 74HC374, las señales CLK y /OE son comunes a todos los flip-flops y se dispara por nivel alto del CLK. La señal /RD del ZX81 entra a CLK. Esta señal se encuentra en nivel alto en los ciclos T3 y T4, que es cuando se produce el refresco de las memorias, y por lo tanto provocando la activación del registro. Cuando /OE está a bajo nivel, el contenido de los 8 flip-flops se encuentra disponible a la salida. En el montaje, la conexión a GND garantiza esta disponibilidad. Por lo tanto, este chip garantiza el acceso a las líneas bajas del bus de direcciones (A3-A9) durante el ciclo de refresco.

El chip 74HC193 es un contador binario de 4 bits. Los datos se cargan cuando /LOAD (PE – pin 11) se encuentra a bajo nivel y cuando CLEAR (MR – pin 14) se encuentra igualmente a bajo nivel, algo que se garantiza con la conexión a GND de este último en el montaje. Con este esquema de conexiones, las entradas (D1 – D4) siempre están a alto nivel y las salidas (Q1 – Q3, Q4 no conectada) se activarán cuando NMI esté a bajo nivel, y por lo tanto /LOAD. Durante el proceso de generación del display, se genera una NMI cada vez que el Z80 deba ejecutar un scanline momento en el que se generará un pulso HSYNC.
























De esta manera se controla el acceso a las líneas A0 a A2 del bus de direcciones. La razón por la cual la señal COUNT-UP (pin 5) se encuentra conectada a la señal HALT del ZX81 se desconoce. La instrucción HALT provoca que el Z80 ejecute NOPs hasta que se produzca una interrupción (NMI o INT). Durante la generación del display, se produce un HALT al final de cada línea.











Independiente del selector para A13, el montaje muestra caracteres incorrectos.
En el esquema, se cambian las D0 a D5 y D7 que van al 74HC374, por las líneas A3 – A9, pero solo cambia el patrón de pantalla.




viernes, 10 de marzo de 2017

Interface de ROM Externa para ZX81 (III)

MONTAJE 2

Basado en el diseño de Wilf Rigter de una interface externa con una EPROM 27C64 (8 kB) para tener un juego de caracteres externo. Solo se replica el montaje que incluye a las señales ROMCS y RD con el transistor 2N3904 (BC547, aunque seguramente cualquier NPN serviría), RFSH al pin OE, así como las líneas A13, A14 y A15. 




















Independientemente del selector para A13, el montaje muestra caracteres incorrectos



domingo, 5 de marzo de 2017

Interface de ROM Externa para ZX81 (II)

MONTAJE 1

El diseño está basado en una interface de ROM externa que funciona en un ZX Spectrum, pero no lo hace en un ZX81. En este caso se manejan las señales ROMCS, RD y MREQ.

































Independientemente del selector de A13, el interface muestra caracteres incorrectos, es decir, no está accediendo correctamente al mapa de caracteres de la ROM.


domingo, 19 de febrero de 2017

Interface de ROM Externa para ZX81 (I)

El diseño del bus de direcciones y datos del ZX81 presenta diferencias notables con respecto al ZX Spectrum. Las señales que salen por el bus de expansión son diferentes a las que se encuentran en el zócalo de la ROM, por lo que no se puede replicar un montaje basado en una EPROM en el zócalo, con la misma EPROM en una interface conectada al bus de expansión.

Las líneas del bus de direcciones A0-A8 que salen por el puerto de expansión son las mismas que llegan al Z80, pero no son las mismas que acceden a la ROM o a la ULA. Entre Z80 y ROM hay unas resistencias (R18-R26) de 1K. Estas líneas del bus de direcciones por el lado de la ULA solo están disponibles en el zócalo de la ROM, no salen por el bus de expansión.

La señal /ROMCS que sale por el puerto de expansión (23B) es la misma señal que la de la ROM, pero no que la de la ULA; ya que hay una resistencia entre la ROM y la ULA (R28: 680 ohm).

La ULA debe tener acceso a los bits bajos del bus de direcciones para tener acceso al conjunto de caracteres de la ROM durante el ciclo de refresco.


SEÑALES ULA CPU ROM RAM EXPANSION
D0 - D7 si si no no no
D0´- D7´ no no si si si
A0 - A8 no si no si si
A0´- A8´ si no si no no
A9 - A15 si si si si si
ROMCS no - si - si

La señal M1 (Machine Cycle 1) conecta la CPU con la ULA, y la señal sale por el puerto de expansión (pin 22A). Los ciclos T3 y T4 de M1 se usan para refrescar las memorias dinámicas. Los 7 bits más bajos del bus de direcciones contienen la dirección de memoria a refrescar y la señal RFSH se activa. Esta conexión CPU-ULA no existe en el ZX Spectrum.






















Para todos los montajes que se harán en las próximas entregas, se utilizará una EPROM 27c128 (16 kB), en la que los pines Vpp (pin 1), Vcc (pin 28) y PGM (pin 27) se conectan a +5V. La línea A13 (pin 26) se usará para seleccionar el banco de la EPROM que queremos, por lo que se ubica un selector a +5V y a GND.

sábado, 4 de febrero de 2017

Otro ZX81 en formato kit a la venta en eBay

Pues efectivamente, otro ZX81 en formato kit sin montar se encuentra a la venta en eBay. Desde el mes de Septiembre de 2016 cuando escribí una entrada similar, más kits han salido a la venta. Sorprende que aún queden disponibles unidades de este tipo.

Este kit en particular está completo y en un estado impecable.

















El precio de salida es de 500 euros + 30 euros de gastos de envío. Parece difícil que pueda venderse a este precio dado que las unidades que salieron a la venta antes, rara vez superaron los 200 euros.