Cable CD CODEMASTER (Proyecto inacabado)




 Introducción

 Estudio inacabado del cable que venia en le pack CD CODEMASTER el cual permitía cargar juegos en el Spectrum por el puerto del joystick  usando un reproductor de CD

 ¡¡ MUY IMPORTANTE!! El proyecto esta inacabado por varios motivos.

 - El cable original que he estudiado parece que no funciona como era de esperar. Esto me impide su correcto funcionamiento

 - Durante las numerosas pruebas realizas con mis prototipos , donde se ponen cables, se quitan / ponen componentes, etc, etc, el z-80 de un spectrum 48K falleció (reparado) y al día siguiente la ULA de un Spectrum +2A también :-( . Puede ser casualidad pero he comprobado que el circuito tiene separada la masa del Spectrum y al conectar - desconectar el cable de audio se producían algunos efecto sobre el sistema (a veces se colgaba el Spectrum, se oían chasquido en el audio, etc). Es posible que estos efectos sean los causantes de estas averías.

 Si alguna persona quiere retomar el proyecto debe tener en cuenta este posible problema
 
 - Por último, aunque creo estar cerca de la solución final no tengo mas ideas de como solventar algunos de los problemas.


 Suposiciones. 

 Los componentes que lleva el cable están protegido por una envoltura de plástico acabado en un conector DB-9, el cual se conecta al Spectrum. Por ello, todo los expuesto a continuación puede no ser del todo verdad.



 - 1º punto

 El conector dB-9 solo tiene 3 pines; 1, 6 y 8. El pin 1 no es utilizado en los Spectrum +2, +2A, +3 por lo que solo se usa un bit del joystick para transmitir los datos. Siendo el pin 8 el común, aparecería un circuito para los pines 1-8 y otro para el 6-8.

 - 2º punto

  Al no tener alimentación, el circuito solo puede contener componentes pasivos, diodos y transistores.

  - 3º punto


La señal que se ve en la parte superior va entre el pin 1 o 6 (+ sonda osciloscopio) y el pin 8 (a la masa de la sonda) en comparación con la señal de audio que hay a la entrada (la señal que se ve en la parte inferior). La señal de entrada corresponde a las pista 1 del CD que sirve para ajustar el volumen.

La señal de salida se recorta a nivel cero pasado solo la componente negativa.

Si embargo, esta foto lleva a error de lo que realmente hace el circuito. Este circuito no es un circuito recortador de señal o "clipper circuit".

Otro punto muy a tener en cuanto es que estamos viendo las señales sin estar conectado el cable al Spectrum.

 De la experiencia adquirida durante el artículo "Adaptador gamepad PS2 para Spectrum" sobre como funciona exactamente un joystick, hace que la lectura de la foto de arriba sea la siguiente:

 El circuito funciona como un switch.

  - Cuando la señal es positiva, el switch esta cerrado y el osciloscopio muestra que sus terminales están unidos.
  - Cuando la señal es negativa, el switch está abierto y vemos la señal.

 De este punto, se deduce que el circuito posiblemente contendrá un transistor en modo switch.

 - 4º punto.

 Medidas con el polímetro entre los distintos puntos para intentar averiguar algo sobre el circuito. El modo resistencia significa las medias obtenidas con el pólimetro en modo resistencia y el modo diodo, los valores obtenidos en busca de uniones PN.

   
  M 0,680
6   A1 1,100
6   A2 0,800
6   M NO
6   A1 NO
6   A2 NO

M  0,494
8 M  468 Ohmios
A1 0,805
8 A1 1460 ohmios
M  0,805
8 M   1460 ohmios
6 1 NO
6 1 NO
6 1 NO

 Con todo esta información, un posible esquema de cable es este:




 Problemas

 1º Problema

 ¡¡El pin 1 no se utiliza!!. Tanto si queremos cargar en modo kempston como en modo Sinclair, el Spectrum siempre está esperando la señal por el pin 6-8. ¿Para que se pretendida usar?¿Estará bien montado el cable original?

 2º Problema
   
 Al probar el posible circuito, solo funcionaba en un Spectrum +2 gris y un 48K con un interface MHT. En el resto de modelos fallaba. Llegado a un callejón sin salida, decidí probar el cable original y ¡¡solo funciona en esos 2 mismos casos!!.

 Los escenarios de pruebas han sido

Spectrum 48K + interface kempston NO
Spectrum 48K + RAM turbo SI / NO ¡¡Funciona si seleccionamos carga por interface kempston!!
Spectrum 48K + MHT Multjoystick modo  kempton/cursor SI
Spectrum 48K + MHT Multjoystick modo  Sinclair NO
Spectrum +2 gris SI
Spectrum +2A NO Siempre aparece pulsada la tecla 2. El test de volumen bien pero no carga
Spectrum +3 NO Siempre aparece pulsada la tecla 2. El test de volumen bien pero no carga

La razón por la que funciona en el Spectrum +2 gris y el Spectrum 48k - MHT es la siguiente



 En muchos interfaces kempston y en el Spectrum  +2, los pines de direcciones y fuego suelen tener una resistencia a VCC mientras que el pin 8 es GND

 Con estas señales, el circuito que nos queda es un clasico switch con transistor en emisor común. Esta es la imagen que presenta un spectrum +2 gris con la pista 1 del CD


 En el resto de los casos tenemos lo siguiente:




 En los Spectrum +2A/+3 y algunos interfaces, la señal que entra por el pin 8 no es masa. En muchos casos, entran señales del bus de direcciones.

 En este caso, es imposible que funcione el transistor . La señal en base es mucho menor que en el emisor.

 Una posible solución a este problema, sería intercambiar los pines 6 y 8, quedando asi:




La idea parece buena pero no funciona en la práctica. La resistencia de 470 ohmios permite que la señal A3  pase por el diodo y llegue al colector.

Poner una resistencia entre el emisor del transistor y masa_audio tampoco soluciona el problema.

 Tras muchas pruebas, obtuve este circuito que si funciona (aunque no el test de volumen) tanto en el Spectrum +2A, +3 y el spectrum 48K con interface kempston.



En este circuito el valor de la resistencia R1 es muy critico. Por encima de 400 Ohmios, el Spectrum ya no entiende la señal de manera correcta.



 Este circuito no funciona con el Spectrum +2 ni con aquellos en que el pin 8 sea GND. Llegado a este punto, intenté hacer una mezcla entre el circuito que funciona con los puertos de joystick con pin 8 = GND, los que tienen una señal por pin 8 y saliendo por una sola salida ( pin 6). Una idea que estuve barajando fue poner los 2 circuitos con un interruptor manual, que seleccionase uno o otro. Pero si el cable original, teóricamente, podía hacerlo sin interruptores entonces la solución es otra.

En el momento en el que iba a probar lo del interruptor, se soltó un cable, hizo un corto con algo y la ULA del Spectrum +2A reventó.

Se para el proyecto. Si alguien puede colaborar con ideas, escribenos.

2007 José Leandro Novellón.