Fallo teclado Spectrum 48K Issue 3

Moderador: Fundadores

Radiosity
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 01 Nov 2015, 18:35

Fallo teclado Spectrum 48K Issue 3

Mensaje por Radiosity »

Hola a todos,

Vuelvo a la carga a preguntaros una cosilla. Uno de los Spectrums que repare hace poco no tenia teclado asi que compre una membrana y me hice con un teclado (gracias Jaime). El caso es que ahora cuando conecto el teclado me falla una columna de teclas de la izquierda y otra de la derecha. Sieguiendo el esquema he logrado dar con el fallo (creo) y es que esa señal entra directa a la patilla 20 de la ULA, por lo que el fallo es la ULA. Ademas esta comprobado con otra ULA y con esa si funciona bien.

Mi pregunta es, se puede reemplazar la ULA por otro chip equivalente (mULA 48 es muy caro) o de puede reconstruir esa seccion de la ULA con componentes pasivos?

Gracias.
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por dandare »

Se puede recomponer esa parte (así, sin pensarlo :P)
La ULA responde a un in 0xfe
Y copia lo que tenga en los 5 bits de teclado sobre los 5 bits bajos del bus de datos. Si hacemos un Or de a0, IOREQ y rd, es que estamos leyendo de la ULA. En ese caso, metemos a través de una puerta tri-estado, el contenido de ese bit del teclado sobre el bit del bus de datos correspondiente.

Eso debería funcionar creo yo.
Disclaimer, te estoy diciendo esto de memoria mientras que me tomo un vino, así que puede ser todo mentira y explotar el spectrum, o descubrir una maquina del tiempo... :))
Imagen
Imagen
Radiosity
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 01 Nov 2015, 18:35

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por Radiosity »

Dandare, mejor me espero a que estes bebiendo agua no? jajajaja. Gracias por la respuesta. Entiendo que seria crear el circuito con puertas logicas pero no sabria donde. Gracias por la respuesta. Si fuese un poco mas especifica como enchufa este integrado a tal sitio y a tirar. XP
Avatar de Usuario
elfoscuro
Demonio segundo orden
Demonio segundo orden
Mensajes: 1831
Registrado: 01 Abr 2013, 22:00
Been thanked: 26 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por elfoscuro »

La ULA es un chip propietario, por lo que no tiene equivalente. Ante esto, o "reparas" la parte rota, o pillas una de un Spectrum "donante", que esté mu muerto, pero que la ULA funcione.

Así es como se hace en otras máquinas. Lamentablemente, es lo que hay.

Es curioso que habiendo salido el ZX Uno, no haya un repuesto barato para la ULA. Entiendo que si el ZX Uno funciona, es que tiene una ULA funcional en su programación, por lo que algo se debería poder hacer por cuatro duros... Al fin y al cabo, es un componente que suele petar a menudo.

Un saludo.
Fin de impresión
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por dandare »

elfoscuro escribió:La ULA es un chip propietario, por lo que no tiene equivalente. Ante esto, o "reparas" la parte rota, o pillas una de un Spectrum "donante", que esté mu muerto, pero que la ULA funcione.

Así es como se hace en otras máquinas. Lamentablemente, es lo que hay.

Es curioso que habiendo salido el ZX Uno, no haya un repuesto barato para la ULA. Entiendo que si el ZX Uno funciona, es que tiene una ULA funcional en su programación, por lo que algo se debería poder hacer por cuatro duros... Al fin y al cabo, es un componente que suele petar a menudo.

Un saludo.
Hombre, la Nebula de retroleum está bastante bien y no es muy cara. Creo que hay un par de opciones más por ahí.
Imagen
Imagen
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por dandare »

Radiosity escribió:Dandare, mejor me espero a que estes bebiendo agua no? jajajaja. Gracias por la respuesta. Entiendo que seria crear el circuito con puertas logicas pero no sabria donde. Gracias por la respuesta. Si fuese un poco mas especifica como enchufa este integrado a tal sitio y a tirar. XP
Vamos a ver si damos con ello.
No tengo acceso al ordenador así que te he hecho esto a mano en la tablet. :D

En el siguiente esquema tienes 2 integrados. Los dos son quadruples, pero sólo usamos una unidad de cada uno.

Lo que hacemos es sustituir la parte que "copia" el contenido de T1 en D1 cuando la ULA tendría que hacerlo, en RD+IOREQ+A0. Precisamente, IOREQ+A0 es la señal IOULA o IOREQULA que entra al pin 33 de la ULA, así que hacemos IOREQULA+RD.

Esto activa la copia a través de un buffer triestado. Cuando no se activa la copia, se "desconecta" el cable. El 125 activa la puerta con 0 y la desactiva con 1, lo que queremos.

Antes de hacer esto, deberíamos comprobar si D1 se queda flotando ahora independientemente de lo que le entre a T1 o si se fuerza a 1 (recordemos que la ULA está rota ahí y vete a saber qué hace). En este último caso, el circuito se complicaría un poco, ya que tendríamos que discriminar el acceso a D1, dejando que lo use la ULA siempre que no sea una lectura de teclado, que lo haremos nosotros.
Comprueba esto antes!

Si ese pin flota en lectura de teclado, podemos corregir el error con el siguiente circuito. Hay otras variantes como usar un par de diodos y una R para ahorrarte las puertas OR o utilizar más unidades OR en lugar de IOREQULA , como hemos visto antes

EDIT: Cambiado el circuito para que funcione aunque el pin 21 de la ULA se quede activo durante la lectura del teclado. Ojo, hay que sacar el pin 21 del zócalo y unirlos con una R.

Edit: Esquema modificado para que no necesite una R ni sacar el pin 21 del zócalo aquí


Ánimo y a por ello!
Última edición por dandare el 24 Feb 2017, 13:20, editado 2 veces en total.
Imagen
Imagen
Avatar de Usuario
sinclair200 España
Moderador
Moderador
Mensajes: 9993
Registrado: 28 Mar 2014, 18:25
Ubicación: Madrid
Has thanked: 8 times
Been thanked: 177 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por sinclair200 »

dandare escribió:
Radiosity escribió:Dandare, mejor me espero a que estes bebiendo agua no? jajajaja. Gracias por la respuesta. Entiendo que seria crear el circuito con puertas logicas pero no sabria donde. Gracias por la respuesta. Si fuese un poco mas especifica como enchufa este integrado a tal sitio y a tirar. XP
Vamos a ver si damos con ello.
No tengo acceso al ordenador así que te he hecho esto a mano en la tablet. :D

En el siguiente esquema tienes 2 integrados. Los dos son quadruples, pero sólo usamos una unidad de cada uno.

Lo que hacemos es sustituir la parte que "copia" el contenido de T1 en D1 cuando la ULA tendría que hacerlo, en RD+IOREQ+A0. Precisamente, IOREQ+A0 es la señal IOULA o IOREQULA que entra al pin 33 de la ULA, así que hacemos IOREQULA+RD.

Esto activa la copia a través de un buffer triestado. Cuando no se activa la copia, se "desconecta" el cable. El 125 activa la puerta con 0 y la desactiva con 1, lo que queremos.

Antes de hacer esto, deberíamos comprobar si D1 se queda flotando ahora independientemente de lo que le entre a T1 o si se fuerza a 1 (recordemos que la ULA está rota ahí y vete a saber qué hace). En este último caso, el circuito se complicaría un poco, ya que tendríamos que discriminar el acceso a D1, dejando que lo use la ULA siempre que no sea una lectura de teclado, que lo haremos nosotros.
Comprueba esto antes!

Si ese pin flota en lectura de teclado, podemos corregir el error con el siguiente circuito. Hay otras variantes como usar un par de diodos y una R para ahorrarte las puertas OR o utilizar más unidades OR en lugar de IOREQULA , como hemos visto antes


image.jpg

Ánimo y a por ello!
Joer, parece la receta de un medico de la seguridad social, lo digo por la letra...... :D :D :D
Imagen
Z80 INSIDE.........
WANTED:…………. CPC 6128 british
Radiosity
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 01 Nov 2015, 18:35

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por Radiosity »

Vaya pues muchas gracias. Eres un crack. rebuscare a ver si tengo esas puertas y si no los pillo y pruebo.
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3377
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por Kyp »

dandare escribió: Antes de hacer esto, deberíamos comprobar si D1 se queda flotando ahora independientemente de lo que le entre a T1 o si se fuerza a 1 (recordemos que la ULA está rota ahí y vete a saber qué hace). En este último caso, el circuito se complicaría un poco, ya que tendríamos que discriminar el acceso a D1, dejando que lo use la ULA siempre que no sea una lectura de teclado, que lo haremos nosotros.
Comprueba esto antes!
Antes de montar nada no olvides comprobar esta parte. Es importante saber si D1 está o no 'al aire' para no forzar el pin D1 de la ULA. Por otra parte, me extrañaría que estuviera al aire porque D1 se usa para más cosas y pienso que es más lógico que lo que falle es la entrada del teclado y no D1.
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Fallo teclado Spectrum 48K Issue 3

Mensaje por dandare »

Sí D1 no está flotando durante la lecturas de teclado, o si no tienes forma de probarlo (osciloscopio), puedes sacar la pata 21 de la ULA del zócalo y unir esos puntos, pata 21 y d1 del zócalo, con una R de, por ejemplo, 1k. Luego, la salida de nuestro circuito la pones al zócalo, no a la pata.
Imagen
Imagen
Responder

Volver a “Sinclair”