Microordenadores - Retroinformática y placas modernas de desarrollo

Nueva placa Sugarless +2 para adaptar un ZX-Uno a la caja de un ZX Spectrum +2A/+2B/+3

Joy2PS2 permite usar mandos DB9 a través de PS2
6 de Agosto de 2017
Etiquetas:

Si eres un jugón a la antigua usanza y añoras los mandos auténticos de consolas antiguas Joy2PS2 es para ti. Se trata de una interfaz basada en arduino, de licencia libre y que te puedes construir tú mismo donde puedes conectar hasta dos mandos de consolas antiguas, convirtiendo y redirigiendo los eventos de estos en pulsaciones de teclado PS/2 para usar con tu ZX-Uno y en PC (a partir de la versión 2) usando un adaptador activo de PS/2 a USB.

Su autor es Aitor Gómez alias spark2k06 y la caja está diseñada por Jorge Mejías. Puedes usar tanto el firmware oficial como el firmware de Antonio Villena; ambos usan como base de comunicación PS/2 parte de código desarrollado por Quest en su proyecto uart2ps2. Al ser un proyecto abierto puedes hacerte uno a medida si lo deseas.

Sus puntos fuertes son la licencia libre, su rápida respuesta y la compatibilidad, ya que funciona con una gran variedad de mandos gracias al código de retroadapter.

Advertencia: Nunca aprietes con demasiada fuerza la conexión del joystick ya que puedes hundir los pines con relativa facilidad e incluso estropear el mando, dependiendo del conector DB9 que estés usando. Debe quedarse bien ajustado pero sin forzar.

Guía rápida de uso de Joy2PS2

Si tienes uno y quieres empezar a usarlo desde ya no te pierdas esta guía rápida que he publicado: Pruebas con un prototipo de Joy2PS2.

Mandos soportados

  • Amiga
  • Sega Megadrive de 3 ó 6 botones
  • Versión clónica DB9 de Nintendo NES
  • VIC-20
  • Sega Master System
  • Atari
  • Neo Geo OldStyle
  • MSX
  • Amstrad CPC
  • ZX Spectrum

Preguntas frecuentes

Esta es una lista de preguntas frecuentes sobre Joy2PS2 copiado del Wiki oficial con permiso del autor:

Tengo un gamepad de Megadrive de 6 botones, ¿reconoce todos o sólo 2 como en el conector DB9 del ZXUno?

Reconoce todos, se encontrarán mapeados a las teclas del mapa que se tenga configurado. Además, también funcionará el botón de Start y el botón de Mode para aquellos gamepads de Megadrive que dispongan del mismo.

¿Se puede jugar a 2 jugadores? Si se estan pulsando teclas correspondientes al primer jugador...

Por supuesto. Nada mas conectarlo, la interfaz se encuentra configurada para ser utilizada únicamente desde el puerto DB9 principal o el DB15 (Neogeo), si se utiliza el DB9 auxiliar (segundo jugador), se pulsarán teclas asociadas a los últimos botones del DB15 porque comparten pines. Solo hay que cambiar previamente a modo DB9x2 con la secuencia correspondiente estando en modo SHIFT.

Desde el menu de cores he seleccionado un core con distinto modo de vídeo al que tengo por defecto configurado en la BIOS. Sin un teclado físico conectado, ¿cómo lo cambio?

Existe una secuencia de cambio de modo de vídeo estando en modo SHIFT, revisa la sección de combinaciones del modo SHIFT en esta misma wiki.

Hay un juego que no puedo comenzar porque no existe un atajo que mapee la tecla que pide en el menú de opciones, ¿qué hago?

En el firmware se ha tenido en cuenta las teclas mas comunes en los menús de los juegos de ordenador, como son de 0 a 4 y la R para redefinir. Si vemos que son necesarias otras teclas, se pueden incluir en una versión actualizada del firmware, pídelo y se buscará la mejor opción si realmente es muy común… porque siempre hay que tratar de mantener la usabilidad de la interfaz.

Los mapeados de teclas no se ajustan a las necesidades de un determinado core o juego, ¿hay solución para ello?

Nuevamente, desde el firmware todo o casi todo es posible. Y en cuanto a cores, lo ideal sería seguir una misma norma y no utilizar distintas teclas. Por defecto en la interfaz se ha tratado de elegir las teclas más comunes, aunque se podría revisar, si está justificado.

No me gusta la disposición de secuencias del modo SHIFT o el modo SHIFT en sí, yo lo haría de otra forma

Es totalmente normal no estar de acuerdo con las secuencias del firmware oficial, cada uno puede tener sus preferencias. Se podría debatir entre todos los usuarios de la interfaz cuales son las combinaciones ideales y hacer un firmware alternativo al oficial (firmware de la comunidad), no hay problema. O bien si dispones de conocimientos de programación, modificarlo tú mismo a tu gusto ya que los fuentes están a disposición de todos ;-)

Cuando conecto un teclado externo se repiten pulsaciones de teclas al utilizar el gamepad

Es debido a que teclado externo dispone de escucha activa de comandos, y ello puede interferir en la comunicación al compartir CLK/DATA del conector PS/2. Existe una solución colocando un diodo en la linea DATA con el cátodo hacia el teclado externo, para mas información: http://www.zxuno.com/forum/viewtopic.php?f=63&t=1804.

No obstante, Joy2PS2 nació con el objetivo de que fuera totalmente prescindible un teclado externo gracias a sus atajos multicore en ZXUno, para utilizar por ejemplo en maquinas arcade tipo bartop. Sin embargo con un teclado conectado la experiencia final de usuario puede ser mejor, siendo la solución del diodo la mejor encontrada hasta el momento.

Como fabricar una tirada de Joy2PS2

El coste total para una tirada de 10 unidades es de 53.50€ (5.35€ por unidad), sin contar los cables PS/2 y el gasto en material de soldadura y el de montaje.

Diseño de la PCB

Para el diseño de la PCB se hace un pedido a Seeed Studio con los gerbers de Joy2PS2 (no olvides comprobar si hay una nueva versión) en el Github de Joy2PS2. El coste aproximado es de 13€ con gastos de envío incluidos para 10 unidades, y un tiempo de entrega de un mes y medio.

Componentes

Todos se encargan en Aliexpress, con un tiempo de entrega de un mes y medio:

Enlaces

Donde comprarlo

Actualmente no hay tiradas de la placa oficial aunque Antonio Villena ofrece mandos clónicos de SNES con JOY2PS2.