Fallo teclado Spectrum 48K Issue 3
Moderador: Fundadores
-
- El infierno es su lugar
- Mensajes: 161
- Registrado: 01 Nov 2015, 18:35
Fallo teclado Spectrum 48K Issue 3
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.
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.
- dandare
- 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
Se puede recomponer esa parte (así, sin pensarlo )
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...
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...
-
- El infierno es su lugar
- Mensajes: 161
- Registrado: 01 Nov 2015, 18:35
Re: Fallo teclado Spectrum 48K Issue 3
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
- elfoscuro
- Demonio segundo orden
- Mensajes: 1831
- Registrado: 01 Abr 2013, 22:00
- Been thanked: 26 times
Re: Fallo teclado Spectrum 48K Issue 3
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.
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
- dandare
- 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
Hombre, la Nebula de retroleum está bastante bien y no es muy cara. Creo que hay un par de opciones más por ahí.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.
- dandare
- 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
Vamos a ver si damos con ello.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
No tengo acceso al ordenador así que te he hecho esto a mano en la tablet.
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.
- sinclair200
- 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
Joer, parece la receta de un medico de la seguridad social, lo digo por la letra......dandare escribió:Vamos a ver si damos con ello.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
No tengo acceso al ordenador así que te he hecho esto a mano en la tablet.
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!
Z80 INSIDE.........
WANTED:…………. CPC 6128 british
-
- El infierno es su lugar
- Mensajes: 161
- Registrado: 01 Nov 2015, 18:35
Re: Fallo teclado Spectrum 48K Issue 3
Vaya pues muchas gracias. Eres un crack. rebuscare a ver si tengo esas puertas y si no los pillo y pruebo.
- Kyp
- 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
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.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!
- dandare
- 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
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.