Autor Tema: Adaptador de joysticks analógicos a Commodore  (Leído 280 veces)

pastbytes

Adaptador de joysticks analógicos a Commodore
« en: Abril 22, 2019, 23:57:30 »
Hace 2 años hice una placa para poder conectar joysticks analogicos de PC al C64, pero en ese momento use un circuito analogico, con amplificadores operacionales. La placa funcionaba, tengo un video en mi canal de youtube donde la estuve probando, pero no funcionaba igual con todos los joysticks, y con todas las modificaciones que se fueron haciendo, ya tenia demasiados componentes. Habia dejado de ser una placa simple, por lo cual la deje abandonada, a la espera de algun dia tal vez modificar el circuito o empezar todo desde cero.
Asi paso el tiempo, y este año decidi empezar otra usando un PIC y un minimo de componentes, lo que me permitia no solo emular joysticks Atari, sino tambien paddles. Actualmente la placa esta en una especie de version beta, estoy haciendo pruebas y por ahora todo parece funcionar bien, seguramente va a haber mejoras pero lo mas probable es que esta version quede como esta, y que las modificaciones futuras solo impliquen una actualizacion de firmware.
El circuito actual es este.
 

pastbytes

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #1 en: Abril 23, 2019, 00:13:56 »
La placa tiene varios modos de funcionamiento que se seleccionan mediante un boton, presionando brevemente se avanza al siguiente modo, que actualmente son 6 pero creo que quedaran 5.

Modo 1: Joystick Atari, este modo funciona en C64, C128, Amiga, Atari 2600, Atari 8 bits, y Timex Sinclair 2068.

Modo 2: Raton Commodore 1351, solo funciona en C64/128, emula un raton con velocidad proporcional a lo que se aleje la palanca del centro, es similar a usar un joystick/mouse de IBM Thinkpad.

Modo 3: Paddles, solo funciona en C64/128, emula un paddle por cada uno de los dos ejes del joystick.

Modo 4: Volante, solo funciona en C64/128, es un caso especial de paddles mas apto para volantes de PC.

Modo 5: C64GS, es como el modo Atari pero con soporte para el segundo boton del joystick, compatible con juegos de C64GS. Funciona bien con 2 botones en Chase HQ 2 y Super Mario Bros.

El modo 6 es Amiga con soporte de 2 botones, pero esto por el momento solo funciona en el juego 1943, no creo que valga la pena dejarlo disponible.

En el modo Atari, el segundo boton del joystick esta asignado a la direccion arriba, lo que lo hace util para saltar en algunos juegos, o para acelerar en otros.

En modo paddles, el eje X (horizontal) es el paddle 1, el eje Y (vertical) es el paddle 2, y cada uno de los botones corresponde a uno de los paddles.

Los dos videos donde se prueba la placa ya estan publicados en otro hilo, pero los repito aqui.
En el primero se prueban los modos Atari, Commodore 1351 y Paddles, con el C64.

https://www.youtube.com/watch?v=hosXL5Lwqsc

En el segundo se puede ver que ademas funciona en otros ordenadores, siempre que respeten el estandar Atari y tengan conectados los pines de alimentacion. Fuera de los C64/C128, el unico modo funcional es el de joystick Atari.

https://www.youtube.com/watch?v=GVjob7I1cis
 

pastbytes

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #2 en: Abril 23, 2019, 00:19:51 »
El sabado 20 hicimos una reunion por aqui, y pudimos probar por primera vez dos placas de estas con dos volantes, jugando al Pitstop II en el C64.
 

pastbytes

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #3 en: Abril 23, 2019, 07:06:03 »
Un breve compilado de los pocos videos que hicimos en la reunion, en la parte final se puede ver algo de la prueba con los volantes en el C64.

https://www.youtube.com/watch?v=NTCfzANXv6A
 

pastbytes

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #4 en: Mayo 11, 2019, 07:03:42 »
Hace unos dias estoy haciendo un programa para probar joysticks Atari (1 boton)/C64GS (2 botones), paddles y el raton Commodore 1351, algo que necesitaba ya desde que empece a hacer la placa de joystick, ya que tenia que cargar 3 programas distintos para ir probando los modos, un programa para probar el modo 1351, otro que hice en BASIC para probar paddles y un probador de joysticks Atari. Como se complicaba andar cambiando de programa quise tener todo en uno solo, y que ademas fuera facil de usar con toda la informacion en una sola pantalla, no con menus como vi en algunos que sirven para probar varias cosas pero solo una a la vez. Tambien necesitaba que soportara ambos botones del joystick Atari, para los juegos de C64GS.
Despues de varias reformas esteticas a la interfaz (@josepzin fue testigo de esos cambios), el programa se ve como en estas pantallas. Ahora estoy con el codigo para leer los puertos y actualizar la informacion.
El programa no es especifico de mi placa, lo unico que no existe en C64 hasta donde se, son los joysticks analogicos, pero lo demas son dispositivos estandar.
 

josepzin

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #5 en: Mayo 12, 2019, 14:15:51 »
Está quedando muy bien!!

Creo que no hay ninguna utilidad que unifique todas estas opciones.
 

pastbytes

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #6 en: Mayo 16, 2019, 11:45:37 »
Ya tengo una version preliminar del programa probador de joysticks atari, raton y paddles. Hay una version en ingles y otra en español, aunque no hay muchos textos para cambiar, lo que cambia principalmente son las teclas que se usan para mostrar y ocultar el puntero del raton.
 

josepzin

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #7 en: Mayo 18, 2019, 15:55:08 »
¿Te conviene estar manteniendo dos versiones?, digo por los idiomas... quizás sea mas fácil hacer solo una en ingles y listo.

O mejor una castellano con lenguaje inclusivo :P
 

pastbytes

Re:Adaptador de joysticks analógicos a Commodore
« Respuesta #8 en: Mayo 19, 2019, 04:40:09 »
Por la forma en que esta hecho, el texto esta en dos archivos binarios que no van a cambiar y se incluyen en el programa al ensamblar, el codigo es el mismo salvo unas pocas lineas para leer las teclas S y H, o M y O segun la version. Hice las dos versiones porque no costaba nada, por ahi en el futuro si cambian mucho las cosas haga una sola, de todas maneras todo lo que esta en pantalla se entiende, la traduccion es solo un detalle.
 
Los siguientes usuarios dieron las gracias a este tema: josepzin