Problema adaptando mando SNES a FAMICLON

Buenas. Me he pillado una famiclon de dealextreme con 200 y pico juegos dentro, y no está malota, pero los pads que trae son una puñetera basura, así que quiero adaptar un pad de SNES para jugar en ella. Según veo por ahí no debe ser complicado, y tan solo hace falta "cruzar" los pineados para hacer coincidir las señales de 0, +5V, data, latch y clock de la clavija de entrada de la famiclon (una DB9) a la clavija del pad de SNES. Los correspondientes pinados se encuentran en páginas como por ejemplo esta:

http://code.google.com/p/nespad/issues/detail?id=3

El caso es que, respetando ese conexionado, el resultado que me da es como si siempre estuviera pulsado el botón de "arriba". ¿A qué puede deberse? :-?

PD: hace algún tiempo le hice el mod para pasarla a 60hz (cambiarle el cristal por uno de 21.47727 y soldarle un jumper); ¿puede ser esa la causa de que no me coja el mando de SNES??
Puedes hacer un review de esa consola, que juegos trae, como se ve...
No estoy seguro ya que nunca lo he intentado, pero me extraña que funcione un mando de snes en una nes (al contrario sería más probable). La Snes lanza 16 "estados de botones", mientras que la nes/famiclon espera recibir solo 8, es compatible pin a pin pero la lógica es distinta.

Para que te hagas una idea, el chip del pad de la nes no es más que un conversor paralelo a serie, quizir:

- Leo los 8 botones a la vez y lo transformo en 8 pulsos (a,b, sel, start y cruceta, en ese orden).
- La nes lanza 8 pulsos de reloj y en cada pulso lee el estado de un botón

La snes hace algo parecido, pero con 16 estados (b,y, sel, start , cruceta, a,x,l,r, 1,1,1,1 en ese orden). Aunque solo haya 12 botones, rellena con "unos" el resto para que sea potencia de 2 ya que están usando dos decodificadores de 8 entradas a serie. Total que la snes hace esto:

- Leo los 12 botones a la vez y lo transformo en 16 pulsos.
- La snes lanza 16 pulsos de reloj y en cada pulso lee el estado de un botón más los 4 últimos que ignora.

Fíjate que la famiclon leería dos veces el estado del mando, la primera diría que arriba está apagado, y la segunda que arriba (bueno, todos los de la cruceta) está encendido. A saber qué está interpretando la famiclon, deberías de ponerle un microcontrolador o algo para que filtrara la segunda tanda de bits del mando, o deshabilitar de alguna forma el segundo decodificador interno del mando para que solo responda el primero.

Suerte con el apaño, como idea es buena pero creo que meter el mando a capón no te va a servir.

PD: Si tienes un mando de Nes adapta ese, es perfectamente compatible y lo agradecerás 1 millón de veces.

PD2: Me retracto, ahora que lo pienso sí que debería de funcionar, la nes también resetearía el mando después de esos 8 pulsos, sí debería de funcionar tal cual. Aparte, se indica con "0" que un botón está encendido, así que tampoco se están leyendo el segundo grupo de bits. Puede que hayas elegido mal el pin de datos o que no se corresponda con el pinout que has puesto, repasa la soldaduras y échale un ojo al mando de la famiclon por dentro, a ver si los pines que estás usando son de verdad los que necesitas. También asegúrate de haber interpretado bien ese pinout que enlazaste, ten en cuenta que es mirando al pad, no mirando el puerto de la consola.

El mod de 60Hz dudo mucho que te esté afectando, debería de ocurrirle lo mismo a los pads clónicos si hubiera algún problema con él. La señal de reloj del mando debería de aceptar ese cambio, no es tan grande y que yo sepa se pueden intercambiar pads PAL/NTSC con mods. No se me ocurre más, suerte.
Bueno, re-hecha la modificación de 0 y funciona perfectamente. El problema estaba en que estaba usando el DB9 macho de uno de los mandos que traía la consola, pero vete a saber por qué no funciona bien (habrá algún puente interno entre algún par de pines); soldando cable por cable directamente a la placa funciona correctamente.

Un saludo y gracias.

PD: ah, el review; trae muchos de los juegos famosos de la NES, alguno de ellos "camuflado" con nombres absurdos, y también trae mucha morralla (248 juegos en total) Por ejemplo tenemos los Double Dragon 1 y 2, el Contra, Pac-Man, el Batman, el Adventure Island, Hammerin' Harry, Castlevania 2, Robocop 1 y 2; Bruce Lee, Yie ar Kung Fu, Dragon Ninja... faltan Marios, aunque hay una versión 1:1 del primer Mario pero con una tortuga como protagonista (LOL), Megamanes y alguno más de renombre, pero por 20€...

Lo peor son los mandos, que son pésimos, y que viene con el cristal de 26mhz para 50hz, por lo que tuve que cambiárselo por uno de 26mhz para 60hz.

PD2: el link: http://dx.com/p/248-games-classic-video ... ack-151948
nuvalo escribió:No estoy seguro ya que nunca lo he intentado, pero me extraña que funcione un mando de snes en una nes (al contrario sería más probable). La Snes lanza 16 "estados de botones", mientras que la nes/famiclon espera recibir solo 8, es compatible pin a pin pero la lógica es distinta.

Para que te hagas una idea, el chip del pad de la nes no es más que un conversor paralelo a serie, quizir:

- Leo los 8 botones a la vez y lo transformo en 8 pulsos (a,b, sel, start y cruceta, en ese orden).
- La nes lanza 8 pulsos de reloj y en cada pulso lee el estado de un botón

La snes hace algo parecido, pero con 16 estados (b,y, sel, start , cruceta, a,x,l,r, 1,1,1,1 en ese orden). Aunque solo haya 12 botones, rellena con "unos" el resto para que sea potencia de 2 ya que están usando dos decodificadores de 8 entradas a serie. Total que la snes hace esto:

- Leo los 12 botones a la vez y lo transformo en 16 pulsos.
- La snes lanza 16 pulsos de reloj y en cada pulso lee el estado de un botón más los 4 últimos que ignora.

Fíjate que la famiclon leería dos veces el estado del mando, la primera diría que arriba está apagado, y la segunda que arriba (bueno, todos los de la cruceta) está encendido. A saber qué está interpretando la famiclon, deberías de ponerle un microcontrolador o algo para que filtrara la segunda tanda de bits del mando, o deshabilitar de alguna forma el segundo decodificador interno del mando para que solo responda el primero.

Suerte con el apaño, como idea es buena pero creo que meter el mando a capón no te va a servir.

PD: Si tienes un mando de Nes adapta ese, es perfectamente compatible y lo agradecerás 1 millón de veces.

PD2: Me retracto, ahora que lo pienso sí que debería de funcionar, la nes también resetearía el mando después de esos 8 pulsos, sí debería de funcionar tal cual. Aparte, se indica con "0" que un botón está encendido, así que tampoco se están leyendo el segundo grupo de bits. Puede que hayas elegido mal el pin de datos o que no se corresponda con el pinout que has puesto, repasa la soldaduras y échale un ojo al mando de la famiclon por dentro, a ver si los pines que estás usando son de verdad los que necesitas. También asegúrate de haber interpretado bien ese pinout que enlazaste, ten en cuenta que es mirando al pad, no mirando el puerto de la consola.

El mod de 60Hz dudo mucho que te esté afectando, debería de ocurrirle lo mismo a los pads clónicos si hubiera algún problema con él. La señal de reloj del mando debería de aceptar ese cambio, no es tan grande y que yo sepa se pueden intercambiar pads PAL/NTSC con mods. No se me ocurre más, suerte.



Funcionar te aseguro que funciona. Yo tengo un pad de Snes el cual tenía hace años adaptado al pc por lpt y ya no me funcionaba en el pc (supongo que debido a que no suministraba el puerto el voltaje suficiente), así que le cambié el puerto lpt por un db9 para usar en mi famiclón y ahí está funcionando desde entonces. Mi idea era adaptarlo a NASA, pero no he encontrado el conector :(

La diferencia entre el mando de NES y SNES es que mientras que el de NES utiliza un solo integrado, el de Snes utiliza dos para añadir los botones extras, pero las señales de ambos son compatibles entre sí. De hecho se puede adaptar el mando de NES para funcionar en SNES pero obviamente le faltarían botones.

Ahora mi próxima idea es fabricar un mando propio para famiclón o NES, aunque lo principal que es el integrado tengo que conseguirlo. Tampoco debería ser mucho más difícil fabricarse un arcade stick para snes :).

Saludos!

Edito: Que tal la consola? Muestra jailbars? Tiene slot de cartucho?
La consola no muestra jailbars, tan sólo un pequeño parpadeo que aprecio en 2 de mis 3 TV, vete a saber por qué. En una LCD de 21" se ve bien, todo lo bien que se puede por RCA.

No tiene slot de cartucho.

Es una NOAC de libro, con la peculiaridad de que tiene mejores juegos que todas las demás que he visto y que es muy barata.
Funcionar te aseguro que funciona. Yo tengo un pad de Snes el cual tenía hace años adaptado al pc por lpt y ya no me funcionaba en el pc (supongo que debido a que no suministraba el puerto el voltaje suficiente), así que le cambié el puerto lpt por un db9 para usar en mi famiclón y ahí está funcionando desde entonces. Mi idea era adaptarlo a NASA, pero no he encontrado el conector

La diferencia entre el mando de NES y SNES es que mientras que el de NES utiliza un solo integrado, el de Snes utiliza dos para añadir los botones extras, pero las señales de ambos son compatibles entre sí. De hecho se puede adaptar el mando de NES para funcionar en SNES pero obviamente le faltarían botones.

Ahora mi próxima idea es fabricar un mando propio para famiclón o NES, aunque lo principal que es el integrado tengo que conseguirlo. Tampoco debería ser mucho más difícil fabricarse un arcade stick para snes .


Sí sí, ya vi que era compatible. El de nes a snes lo había visto, al contrario pensaba que no se podía. Para el arcade stick podrías usar un 74F676 (conversor paralelo/serie de 16 entradas), creo recordar que el voltage es compatible y ya que estás háztelo de snes :).
6 respuestas