SEGASaturno - Saturn, SEGA y Videojuegos
Hardware - He aqui mi diseño de Pad digital compatible con la Sega Satu
Anonymous [ Domingo, 18 Junio 2006, 06:10 PM ]
Título del mensaje:
wow xD , creo q voy a poner un Stick y a tomar por saco , alomejor mutilizando unas puertas nor se podria arreglar o algo lo e dicho sin pensar , pero vamos a lo mejor poneindp una puerta and y el up y down a la puerta and y and a masa ... algo asi ... q opinas .
Saludos
Anonymous [ Domingo, 18 Junio 2006, 06:22 PM ]
Título del mensaje: Re: He aqui mi diseño de Pad digital compatible con la Sega
Esa es la idea mas o menos , xD lo q no se es si trabaja con 0s o con 1s xD .
Saludos
SaturnAR [ Miercoles, 21 Junio 2006, 04:00 AM ]
Título del mensaje: Re: He aqui mi diseño de Pad digital compatible con la Sega
Hola. Si conectas las compuertas asi las vas a quemar. No podes forzar las SALIDAS de las compuertas a un estado(en tu grafico las conectas a masa).
¿En el grafico los simbolos de las compuertas corresponden a compuertas AND, mientras que en tu post anterior te referis a compuertas NOR ?.
Lo que necesitamos es(TABLA DE LA VERDAD): Ejemplo con los pusadores L y R
L R Salida(L)
0 0 1 <--Si L Y R presionados, L debe enviarse no presionado
0 1 0 <--Si L presionado y R no presionado, L debe enviarse presionado
1 0 1 <--Si L no presionado y R presionado, L debe enviarse no presionado
1 1 1 <--Si L y R no presionados, L debe enviarse como no presionado
Ese comportamiento no se encuentra en ningun tipo de compuerta convencional lamentablemente, por lo que habria que combinar mas de un tipo de compuerta para lograr esa tabla. Lo mas cercano a ese comportamiento es la compuerta XNOR, aqui te pongo la grafica de como seria, aunque no funcionaria correctamente.
Un detalle: todos los pusadores van conectados con una resistencia de 4.7k a 5v, cosa que no veo en tu grafico.Voy a pensar en como lograr ese comportamiento.
Saludos!
reaf [ Sabado, 08 Julio 2006, 06:48 PM ]
Título del mensaje: Re: He aqui mi diseño de Pad digital compatible con la Sega
Saturn AR lo q pense es cierto estaba algo perdido , por lo de tus puertas nor exclusive lo que kieres conseguir es hacer una conmutacion , verdad ? yo pense mi ejemplo a lo tonto como dicen a la cuenta la vieja q si R 1 y L 1 la resultante sea 1 y a masa ... Lo de la tabra de la verdad no lo pense , por q eso hace cortocircuito . pero tb se podria hacer otra cosa en vez de mandarlo a masa pero kizas seria mucho liar el lio ya invesrtigaremos ... Aunke lo de la xnor no lo logro alcanzar , en el caso q pusases U y D se kedaria como si pulsases arriva , verdad ??
Saludos
SaturnAR [ Sabado, 08 Julio 2006, 08:00 PM ]
Título del mensaje:
Si. Asi es. Hay que agregar un par de diodos y resistencias mas. Estoy viendo como hacer. Saludos.
SaturnAngel [ Sabado, 16 Diciembre 2006, 06:04 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Adjunto un esquema de lo que podria ser una solucion, bastante barata creo yo, aunque no creo que nadie se ponga a intentar pulsar izquierda y derecha a la vez, o arriba y abajo, no lo entiendo.
Realmente me pasaba por aquí, por que queria saber si SaturnAr tenia conocimiento del funcionamiento del multitap, o si podria indicarme donde encontrar documentacion, estoy arto de buscar por la red y no encuentro nada especifico y me consta que el es buen conocedor del protocolo three-wire(incluso le e visto por un foro en ingles ayudando a alguien que queria hacer un adaptador de SS a XBox360)
Segun he leido en la patente, hay un periferico 4P multitap que tiene un MDID 0x07h si no recuerdo mal, aunuqe no menciona nada mas, pero SaturnAR hace saber que el Multitap usa el 05h y tendria su logica, por que el protocolo podria enpezar con una id 05h continuar con 01h para especificar ke se usa el protocolo three-wire handshake, y luego solo tendria k ir enviando el estado uno a uno de cada periferico conectado, pero megustaria conocer mas a fondo cual es su funcionamiento.
Creo que esto deveria haberlo posteado como un nuevo tema, así quizas pudiera leerlo ams gente, pero bueno, espero que SaturnAR se pase por aqui, o cualquiera que tenga conocimiento de lo que pido. Muchas gracias de antemano.
SaturnAngel [ Sabado, 16 Diciembre 2006, 06:32 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Acabo de darme cuenta de que mi idea no funcionaria bien, puesto que al pulsar UP estariamos condicionando la salida D a nivel bajo, a traves del transistor(una caida de tension de 0'7 voltios en la union base emisor), lo mismo pasaria al pulsar RIGHT, almenos lo intente.
Quizas si en lugar de usar un transistor bipolar, se usara un mosfet... creo recordar que en los mosfet no circulaba corriente por la puerta
Ryo Suzuki [ Domingo, 17 Diciembre 2006, 02:53 AM ]
Título del mensaje: Respuesta: He aqui mi diseño de Pad digital compatible con l
Creo que SaturnAR sigue visitandonos normalmente aunque ultimamente no postee tanto. Mandale un mail si eso por si acaso, la verdad es que pocos hemos sacado provecho se sus investigaciones/proyectos, yo es que mas que nada a ese nivel no llego
salu2 y por cierto !bienvenido!
SaturnAR [ Lunes, 18 Diciembre 2006, 04:38 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Hola!
Jeje Ryo. Es verdad...Entro pero no posteo. Ando desaparecido.
SaturnAngel:
El ultimo circuito que planteas puede ser factible. No lo habia pensado de esa manera.
Lo del multitap...
Estuve renegando y mucho con el multitap para 6 jugadores.
EL MDID(Mega Drive ID) es 5H para el multitap. Y el SID(Saturn ID) que es el ID agregado, es el 1H como bien dijiste si mal no recuerdo.
El tema parece simple pero no se comporto bien en la SS el protocolo que viene en algunos archivos tecnicos de SEGA de los cuales extraje la informacion.
Cuando conectaba un joystick lo mostraba como conectado durante 1 segundo, pero luego dejaba de reconocerlo y el protocolo se colgaba.
Pareceria haber algo mal en el protocolo o bien le pifie en algo.
Si tuviese un multitap original a mi alcance, seria realmente facil descubir el error a sea en el protocolo o mio.
Si necesitas informacion tecnica o tenes dudas, no dudes en pedirla, por aca(mejor asi queda para otras personas) o por privado.
Saludos.
SaturnAngel [ Lunes, 18 Diciembre 2006, 10:02 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Muy buenas, te agradezco mucho tu interes, sabia que aparecerias

, anoche porfin encontre informacion tecnica sobre el protocolo, pero al parecer tu ya lo has intentado, y no lo has conseguido, así que me desilusiono mucho, pues si tu no as podido, no croe que yo lo logre...
En que basates tu circuito, en un microcontrolador, o delegastes funciones en algun circuito externo?¿?¿
Al parecer el multitap original lleva 3 multiplesores cuadruples de dos entradas y un microprocesador.
Mi intencion era, multiplexar las entradas TL RLDU a un microcontrolador, una salida comun TR a todos los dispositivos y un decodificador que me abilitara mediante TH el dispositivo del cual quisiera estraer datos, y ya a traves del microcontrolador, pus estableceria la comunicacion con la SS, lo de usar multiplexores y decoders,e s por ahorrar pines del microcontrolador, seria algo ams o menos así:
PADn TL RLDU -> mux -> pic TL RLDU
PAD+1 TL RLDU -> mux -> pic "
...
PAD6 TL RLDU -> mux -> pic "
PAD1 a PAD6 TR <- pic TR
PAD1 a PAD6 TH <- demux TH <- pic TH
mux S0 S1 S3 <- pic (S0 S1 S2 entradas de seleccion del mux)
demux S0 S1 S3 <- pic
Si tengo tiempo intentaré hacer un esquema, esos eria mi idea, espero que se entienda...
SaturnAR [ Lunes, 18 Diciembre 2006, 11:48 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Hola.
Si, lo base en un microcontrolador. En un PIC 16F877A. No llegue a ponerle mux's porque no me funciono con 1 joysticks, imaginate con 6 a la vez!
Tengo los archivos ASM por ahi si queres mirarlos. Tal vez tengas mas suerte que yo.
Ahora me han llegado unos microcontroladores muy potentes de España, asi que probablemente me meta con el modchip ahora que tengo micros con suficientes MIPS.
Saludos.
SaturnAngel [ Martes, 19 Diciembre 2006, 08:32 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Tambien es muy cierto, ¿para que comerse la cabeza empezando a poner mux sin probar si funciona aunque sea uno?
Lo de los hex, pues te agradeceria me los pasaras para ojearlos, aunque mejor el codigo fuente si fuera posible.
Y sobre lo de los Modchip en la pagina de segaxtreme postea alguien, que por lo visto a descifrado el protocolo entre el lector y la consola, incluso a echo un Modchip provisional, tiene una pagina, pero ahora mismo no la sé...
SaturnAR [ Miercoles, 20 Diciembre 2006, 06:22 AM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Hola.
Bueno, solo tengo los archivos para las pruebas que hice con un PIC 16F873A. Igualmente te serviria.
Te comento que solo uso el puertoB del PIC para comunicarlo con la SS. El puertoA si mal no recuerdo iba con LEDS para ver si el protocolo funcionaba o se quedaba colgado.
Fijate en el archivo MTSOLOMT.asm.Basate en ese.El otro es mas complejo y no posee ventaja alguna.
Dentro del archivo podes encontrar unos DEFINE que te van a servir para ver como conectar los pines del PUERTOB del PIC a la SS.
Destaco que ni siquiera hay que conectar joysticks aca. El programa simula un joystick digital en el Conector 1 del "supuesto" multitap.
Lo probe con el FIFA 96 en la seleccion de equipo, y mostraba el joystick al conectar el PIC a la SS, pero luego se cuelga el protocolo por motivos desconocidos...
P.D. Perdon por el ingles, pero a mucho de esto lo postaba en SegaXTreme y la verdad que soy de programar mucho en ingles.
Saludos.
Ryo Suzuki [ Miercoles, 20 Diciembre 2006, 02:03 PM ]
Título del mensaje: Respuesta: He aqui mi diseño de Pad digital compatible con l
Una cosilla sin importancia...
¿en que idioma hablais? no me entero de nada
Es broma, me parece muy bien que dejeis toda esta info interesante en el foro, salu2

SaturnAngel [ Miercoles, 20 Diciembre 2006, 08:00 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Pues muchas gracias por las molestias compañero, siempre es bueno tener unos hombros sobre los que apoyarse, en cuanto pueda le echaré un vistazo.
Gracias ;)
SaturnAngel [ Jueves, 21 Diciembre 2006, 05:10 AM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Buenasss, he retocado un poco tu codigo, he abilitado una interrupcion, para cada vez que TH=1, digamos que lo que haria seria resetear el multitap cada vez que la "SS" pusiera TH y TR en nivel alto(en realidad solo con poner TH) por que supongo que si la saturn hace esto, es que no quiere haceptar mas datos.
Tambien, y creo que este es el punto mas importante, en los PAD's del 5 al 6 tenias puesto como tamaño de los datos a enviar 0x0f, al igual que en el MDID, supongo yo, que si le indicas 0x0f como cantidad de datos, la SS interpretara que a partir de hay se van a enviar 16 Bytes, cosa que no sucede, y por lo tanto es posible causa de que el programa se cuelgue, lo unico que he echo a sido cambiarlo a 0x0h... algo tal que así:
...
CH2-MDID 1111
CH2-DATASIZE 0000
CH3-MDID 1111
CH3-DATASIZE 0000
CH4-MDID 1111
CH4-DATASIZE 0000
...
Tambien he hecho alguna que otra modificacion sin importancia, habrá que modificar un poco la organizacion de los puertos, puesto que he usado RB0/INT como interrupcion externa para TH, y los nibles, pues se quedan un poco cojos, te dejo el codigo para que puedas ojearlo a ver que me dices... siento mucho haberlo mancillado, pero era mas facil trabajar sobre el, que hacer uno nuebo desde el principio
A ver si mañana me hacerco a comprar el microcontrolador, algun dido LED y alguna que otra resistencia y lo pruebo, a no ser que tu ya hayas probado esto, y me digas que así tampoco vá.
Por cierto, de que valor usabas las resistencias para los diodos led?¿?¿
SaturnAngel [ Jueves, 21 Diciembre 2006, 09:20 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
He estado mirando documentacion, y parece ser que el multitap si funciona como tu lo tenias programado mandando como ID 1111 y como Data Size tambien 1111...
He conectado el cable de un PAD de saturn al puerto paralelo del pc, y voy ha ahcer un programilla para poder hacer pruebas, así es mas facil, que andar liao con el pic y el circuito y to el royo
SaturnAR [ Viernes, 22 Diciembre 2006, 08:19 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Hola.
Ryo: Asi hablamos los freakys
0xFF es el identificador para indicar que no hay periferico conectado si mal no recuerdo.
Por eso mismo envio ese ID a 5 canales del Multitap, y solo controlo el canal 1 simulando un pad digital conectado.
El joystick digital y analogico de la Sega Saturn no es mayor problema. He diseñado un pad digital para la SS con componentes electronicos y lo puedes ver aqui mismo en este foro.
En cuanto al joystick analogico de la SS, tambien lo he diseñado utilizando un PIC16F84A.
Tambien he hecho un conversor de PSX a SS, en el cual uso un joy analogico de PSX como joy analogico de SS. Por aqui hay un enlace a Segaxtreme en donde podras encontrar el circuito, programa e imagenes del bicharraco terminado...
Suerte con las pruebas.
P.D. Efectivamente he ayudado en otro foro a convertir un PAD de SS a XBOX 360 y esta funcionando.
Saludos.
Ryo Suzuki [ Viernes, 22 Diciembre 2006, 10:36 PM ]
Título del mensaje: Re: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible C
Ryo: Asi hablamos los freakys
No, si lo entiendo todo, lo que pasa es que no intervengo para no destacar
P.D. Efectivamente he ayudado en otro foro a convertir un PAD de SS a XBOX 360 y esta funcionando.
Uauuh! que grande! ese Street Fighter online con el mando de Saturn seria terrorifico

SaturnAR [ Sabado, 23 Diciembre 2006, 08:39 AM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
HOla
SaturnAngel recien veo tu post mas importante..el de mi programa modificado x ti.
Bueno, me parece bien.
No lo he probado porque ando en otra ciudad. Lejos de todos mis juguetes electronicos.
Las resistencias de 1K deberian ir bien.
En RA4 vas a necesitar una resistencia pull up de 220ohms o 270 ohms ya que RA4 es open drain.
Aca te mando el programa comentado
Saludos.
SaturnAR [ Sabado, 23 Diciembre 2006, 08:42 AM ]
Título del mensaje: Re: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible C
No, si lo entiendo todo, lo que pasa es que no intervengo para no destacar
Ja ja ja, dale sin miedo que la ayuda nunca viene mal. Ilumínanos.
Uauuh! que grande! ese Street Fighter online con el mando de Saturn seria terrorifico

Pos debe molar y mucho aunque realmente no lo se porque la ultima consola que he comprado ha sido la SS.
Saludos.
SaturnAngel [ Domingo, 24 Diciembre 2006, 07:55 PM ]
Título del mensaje: Respuesta: He Aqui Mi Diseño De Pad Digital Compatible Con L
Bueno decir que lo he conseguido, no totalmente, pero he dado el paso mas grande.
Como dije conecté un cable de SS al puerto paralelo del pc he hice un programilla, en Visual Basic, como era de esperar no daba la taya x k era un poco lento, o eso me pareció.
Así que decidir pasar a ASM, en el que nunca habia escrito ni tansiquiera un "hola mundo", aunque muchas veces habia intentado estudiarlo y tenia muchos conceptos basicos, así que con un poquito de ayuda del goole para buscar listas de instrucciones, interrupciones para capturar pulsaciones en el teclado y escrivir en pantalla, he echo un programilla, con el cual emulo dos pads conectados, uno con el que puedo manejar UP DOWN LEFT & RIGHT, arriba abajo izquierda y derecha de toa la vida, Start A y B, que simula estar conectado en el CH-1, y otro que simplemente hace acto de presencia y simula estar conectado en el CH-3.
El SSID para los PAD no conectados es 1111, como ya es sabido.
Y el DataSize para pads no conectados funciona igual 0000 que 1111.
Que falla en el programa?? pues que aveces cuando pulso una tecla para emular una pulsacion en algun boton del PAD, no la reconoce.
Esto en el cdplayer de SS ocurre muy pocas veces, al igual que en el WorldWideSoccer, pero en el DragonBall The legend, se hace bastante insoportable.
Ahora voy a reiniciar el pc en modo msdos y voy a ejecutar el programa desde allí, a ver si es problema de velocidad.
......
Edito el post para continuar
Pues nada desde MS-DOS no reconoce ni una pulsacion... que raro...
Regrese a windows volví a probar desde ayí y me puse a "jugar" al DragonBall, dentro del juego el problema antes comentado no sucede, parece ser que esto pasa solo en los menus, supongo que será por el modo en que el juego lee en el menu las pulsaciones de los PAD, supongo que en los menus el muestreo será mas lento, por decirlo de alguna manera, me quiero referir a que las veces por segundo que se muestrea el mando pues son menos, y dado que mi programa resetea la variable de la posicion del pulsador una vez la a enviado a la consola, pues hay ocasiones en las que esta se encontraria a 0 o mejor dicho a 1, a nivel alto, puesto que las pulsaciones son efectivas a nivel bajo, y to ese royo.
Tendre que implementarlo de otra manera, que no se pongan a nivel alto, hasta que no se deje de pulsar la tecla.
Todo esto no son mas que conjeturas, que tambien puede ser que mi programa tenga algun tipo de bug.
Proximamente intentaré implementar el protocolo en un PIC, si es que tengo tiempo, pues el martes se me acabaron las vacaciones...
Otro problema del que me he percatado durante el juego, DragonBall, es que la consola hace el amago de entrar en pausa, pero no llega a hacerlo, pienso que es por que el programa falla en algun punto, o pierde velocidad en alguna rutina, y el juego detecta que no hay mando y en ese momento entra en pausa, he podido comprobar con un mando original, que si lo quitas, el juego entra en pausa, y en cuanto vuelves a conectarlo, sale de esta.
Tambien comentar, que yo tenia un mando no original hace tiempo, el cual ya ha muerto, que si hacias movimientos muy rapidos de izquierda a derecha, tambien entraba en pausa.
post ENDP