SaturnAngel 
Recien llegado

Registrado: Diciembre 2006
Mensajes: 11
|
 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
|