Arcade en casa - Placas JAMMA en tu televisor

Como conectar mandos Sega Saturn al supergun
Por pacoarcade el 19 de Junio de 2020

Los mandos de Sega Saturn de la foto que muestro a continuación son, para mi gusto, los mejores que existen. Se trata del primer modelo japonés y el segundo modelo que apareció en Europa en color negro. Su cruceta permite utilizarlo muy cómodamente con juegos exigentes como Street Fighter 2.

Una característica que debe tener un buen adaptador de mandos a DB-15 (Neo-Geo) es la configuración de colector abierto para las salidas, de forma que no saquen +5V cuando un botón no está conectado para mayor seguridad.

Este demultiplexor de mandos de Saturn cumple esta característica, sacando la salida en paralelo con la configuración de pines Neo-Geo extendida (concretamente, Undamned) a través de un conector DB-15 y está pensado para su uso con supergun, aunque puede ser adaptado para su uso en muchas otras aplicaciones. Está programado con Arduino por Arthrimus y está disponible tanto el código fuente como los gerbers para quien quiera fabricárselo.

El diseño de la PCB está basado en el diseño inicial de Frank_fjs que inicialmente usaba un PIC16F690 con el código de Twistedsymphony. Según su autor, este adaptador funciona también con los pads saturn de Retro bit, aunque para solucionar un problema de funcionamiento se debe usar la rama RMAF.

Descargas

Lista de componentes (BOM)
Referencia Componente
U1ATMEGA 88/168/328 TQFP32
C1100nF 0603
R1,R21K 0603
R3330R 0603
D1XZCBD60W
DB15-FA-DF 15 A/KG-T2S
SATURNConector hembra de mandos Sega Saturn

He usado el LED Everlight Elec 17-215SURC/S530-A2/TR8, también usado para el Hub USB 2.1 de MiSTer FPGA. Para el conector DB15 uso la alternativa de Adam Tech DA-15-SL-24 con pines bañados en oro.

Como compilar el código y programar el microcontrolador

Se compila desde Arduino IDE instalando el módulo Minicore y la librería DigitalWriteFast, aunque el autor incluye el código compilado para algunos microcontroladores como el Atmega328P. Sin embargo, si vas a usar otro chip como el Atmega88PB u otro para el que el autor no ofrezca el código compilado (.hex) necesitas compilarlo a partir del código fuente.

Como grabar el chip

Lo primero es soldar el puente J1 en la PCB del adaptador. Se puede grabar con un programador USBAsp desde el Arduino IDE seleccionando la opción de reloj de 8MHz interno. En mi caso no tuve éxito, obteniendo el siguiente par de mensajes sin que el chip se grabara efectivamente:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.

Para poder grabar el chip correctamente usé avrdude desde la línea de comandos de OpenBSD, con los permisos adecuados para el Atmega328P:

avrdude -c usbasp -p m328p -e -U flash:w:saturn_controller_demux_v0.9.ino.with_bootloader_atmega328p_8000000L.hex -U lfuse:w:0xe2:m

El valor 0xe2 se obtiene usando una calculadora de fusibles para el chip Atmega328P, seleccionando las siguientes opciones que corresponden al uso del oscilador interno a 8MHz:

CKSEL0 - PROGRAMMED(0)
CKSEL1 - UN-PROGRAMMED(1)
CKSEL2 - PROGRAMMED(0)
CKSEL3 - PROGRAMMED(0)
SUT0 - PROGRAMMED(0)
SUT1 - UN-PROGRAMMED(1)
CKOUT - UN-PROGRAMMED(1)
CKDIV8 - UN-PROGRAMMED(1)

Como montar el adaptador

Donde comprar el conector hembra de mando de Saturn

Los conectores se obtienen de cables alargadores para mandos de Sega Saturn, y no todos sirven puesto que se venden dos tipos. En uno de ellos los pines están enmedio con lo que al doblarlos no llegan a los puntos de soldadura y además quedan algo holgueros.

Los míos buenos los he comprado en Aliexpress, concretamente los de la marca HISPEEDIDO en este enlace. Estos encajan perfectamente y además quedan apretados al conectar el mando.

Simplemente se abre la carcasa haciendo palanca y se desueldan los cables del conector. Una vez éste quede liberado se fija en la placa de circuito impreso; en mi caso he usado pegamento epoxy Araldite como se aprecia en las fotos:

Una vez haya secado se doblan las patillas para que encajen en cada agujero, se aplica un poco de flux y se sueldan uno a uno con estaño de calidad.

Es conveniente comprobar que no haya ningún puente mediante un multímetro.

Cómo configurar los botones

Una vez programado el chip funcionarán únicamente los botones de dirección y el botón START por lo que hay que programar los botones; esta versión RMAF permite configurar todos los botones (y autodisparo). El proceso es el siguiente:

  1. Deja pulsado START + A + B durante 3 segundos, entonces se enciende la luz LED.
  2. Pulsa una vez el botón A, dos veces el botón B, 3 veces el botón C, así sucesivamente hasta el Z.
  3. Una vez programados todos los botones, pulsa START para salir del modo programación y se apagará el LED.

Configuración de autodisparo

  1. Deja pulsado START + A durante 3 segundos, entonces se enciende la luz LED.
  2. Pulsa cada botón que quieras configurar indicando la velocidad con el número de pulsaciones (documentación).
  3. Una vez programados todos los botones, pulsa START para salir del modo programación y se apagará el LED.

Donde comprar el conector hembra de mando de Saturn

Los conectores se obtienen de cables alargadores para mandos de Sega Saturn, y no todos sirven puesto que se venden dos tipos. En uno de ellos los pines están enmedio con lo que al doblarlos no llegan a los puntos de soldadura y además quedan algo holgueros.

Los míos buenos los he comprado en Aliexpress, concretamente los de la marca HISPEEDIDO en este enlace. Estos encajan perfectamente y además quedan apretados al conectar el mando.

Donde comprar los adaptadores ensamblados

Los adaptadores se pueden comprar en la tienda de Arthrimus.

También te puede interesar...

Contacto

Si has encontrado un error, tienes alguna duda o quieres comentarme lo que sea mándame un correo a webmaster EN arcadeencasa.com