MODs SPECTRUM

SUSTITUCIÓN DEL CHIP PCF1306P



El custom chip PCF1306P fue incluido por Sinclair en la issue 5 de su ordenador ZX Spectrum y, además, está presente también en el issue 6A, el 128kb Toastrack y el +2 (gris).

Este IC sustituye a los multiplexores y las puertas lógicas que permiten la selección de la dirección de memoria. Hoy en día este chip no es posible encontrarlo por lo que, en caso de fallo, se crea una situación parecida al fallo de la ULA. Jose Leandro hace un estudio completo de este chip en su artículo de El Trastero.

Mi proyecto sigue su esquema e intenta simular las funciones con lógica discreta, y utiliza un montaje digamos más casero para un caso de fallo de este chip. Los materiales a utilizar son:

- 2 placas protoboard. En realidad con una es suficiente, pero la parte principal del proyecto la implanté sobre una placa más pequeña y tuve que apoyarme en una segunda, en donde situé todas las conexiones que iban a +5V y GND, separadas.
- 4 x chips 74LS157 (equivalentes a los IC3, IC4, IC25 e IC26)
- 1 x chip 74LS00 (equivalente al IC24)
- 1 x chip 74LS32 (equivalente al IC23)
- Aproximadamente unos 80 cables de interconexión o jumpers
- 2 x cables planos de 20 hilos cada uno.

Lo primero era colocar el PCF1306P en un zócalo para permitirme extraerlo y sustituirlo con conexiones. Es un IC de 40 pines y requiere cierto trabajo. Usé una pistola de aire caliente para desoldar, cinta kapton para proteger las pistas y los ICs y papel de aluminio para permitir que se distribuyera el calor de manera más homogénea y facilitara su evacuación. Ahí van unas fotos. El chip en cuestión:


Preparándolo para desoldar. Con chips más pequeños (16 pines, por ejemplo), quizás todo esto no sea necesario porque se extraen más fácilmente, aunque yo lo hago sea cual sea el tamaño. En este caso, hay que aplicar calor durante bastante más tiempo por lo que la placa sufre más.





Pongo la placa en un bastidor, usando de contrapeso un paquete de varios cartones de leche. Aplico calor con la pistola (se puede ver apoyada sobre los cartones de leche) por arriba, y por debajo al extractor de ICs anclado sobre el PCF1306P le coloco otro contrapeso: un lata de bebida (que me bebo después de acabar). Al aplicar calor suficiente, el propio peso de la lata ayuda a la extracción. Es recomendable no tener los pies debajo porque la lata tiene tendencia a aplicar toda su energía sobre el dedo más débil del pie.

Este es el esquema que voy a seguir y que preparó José Leandro. Se puede obtener de su página en El Trastero. Muchas gracias, José Leandro, por el trabajo realizado.



Vamos con el montaje. Lo primero son las interconexiones entre los multiplexores y puertas lógicas. Todavía es fácil y hay mucho espacio:



Como se ve en la foto anterior, cada IC tiene su etiqueta identificativa. Los ICs están colocados justo en el medio de la protoboard, de esta manera se respeta la continuidad a izquierda y derecha, y no se producen cortos entre ellas.

La siguiente foto, muestra un primer intento de montaje, utilizando cables incluso para las conexiones del zócalo del IC. Este montaje falló porque era bastante difícil conseguir que 40 cables estuvieran perfectamente encajados en su respectivo pin del zócalo. cualquier ligero movimiento, desplazaba algún conector, o incluso sacaba de la placa alguna de las conexiones a GND o +5V. Estas se pueden ver en la protoboard que está a la derecha de la foto.

Inicio cableado:


Con dos protoboard y cables planos, ya que con el montaje anterior no tenia suficiente infraestructura.Y comprobando funcionamiento:



INTERFACE EXTERNA USANDO EPROM 27C1001


En este artículo se explica como construirse una interface de ROM externa para el ZX Spectrum, basada en una EPROM 27C1001 (128kb x 8 bits) de 32 pines. Esta EPROM es compatible con la flash ROM 29F010, pin a pin.

Esta EPROM permite tener varias ROM grabadas, pero en este artículo se presenta una simplificación sin considerar selector de banco de memoria. Se he fijado A14 y A15 a cero para seleccionar las direcciones de la ROM. También he obtado por usar un 74LS32 en vez de diodos y resistencias, que podrían ser una alternativa. 


En el esquema siguiente están dibujadas como puertas AND, pero son OR.



Y este es el aspecto inicial del lado componentes.


Lado soldaduras, usando cables con cubierta verde allí donde hay conexión a +5V, azules con cinta negra en los que van a GND, y el resto los azules.


Durante las pruebas de continuidad de las diferentes conexiones, me dio continuidad entre A14 y A15. El error estaba en el conector:


Prueba de funcionamiento final: