martes, 27 de marzo de 2018

[Mini-Guia] Pi2JAMMA (Actualizado 2021)


(Actualizado 6/4/2021)
Vamos hoy con una pequeña guía, algo ya típico por este blog, donde vamos a tocar un tema muy interesante pero del que hay muy poca documentación, al menos en castellano. Se trata de Pi2JAMMA, una placa que nos sirve para conectar nuestra Raspberry Pi a un sistema de cableado JAMMA. Esto es genial para quienes estén buscando una alternativa sencilla y no demasiado cara para poder jugar, tanto a todos los juegos de recreativas en 2D como a las consolas de la época y, en definitiva, a todo lo que carga una Raspberry Pi hoy día en una máquina con monitor CRT. Porque las Pandora´s Box están muy bien, pero existen alternativas mejores, como ésta. Vamos al grano.


Preliminares:
*¿QUÉ ES Pi2JAMMA?
Como hemos comentado antes, es una placa diseñada para que podamos conectar una Raspberry Pi 3B a nuestra máquina recreativa (o tv de tubo con supegun), por medio de la conexión JAMMA. Cuesta alrededor de 120 euros y se puede adquirir en su sitio oficial: http://arcadeforge.net/Pi2Jamma-Pi2SCART/Pi2Jamma::248.html. Es una gran alternativa a cosas como un PC o una Pandora´s Box. Es sencillo de instalar, no hace falta configurar los botones con cosas como los "zero delay" y consume muy poca energía. La calidad de la emulación es muy buena, pues saca los 15khz de manera muy limpia y fiel. Además la emulación es considerablemente superior a cualquier Pandora o placa china. Salvo raras excepciones, vamos a jugar sin problemas de tearing, colores extraños y demás errores típicos de las Pandoras. Esto vendría a ser una solución intermedia entre lo peor (una Pandora´s Box) y lo mejor (un PC).

A la izquierda se ve esa pequeña rueda. Es el regulador de volumen. A la derecha los tres enlaces para el botón 6.


Vista posterior. En ese conector GPIO que sobresale, encajamos la Raspberry "boca abajo".

*¿POR QUÉ Pi2JAMMA Y NO UNA PANDORA´S BOX O UN PC?
Porque, a excepción del precio, todo son ventajas. No estás limitado a los juegos preinstalados de las Pandoras, la emulación es prácticamente perfecta, es muy configurable al gusto de cada usuario y básicamente con saber copiar y pegar carpetas cualquiera puede montarse su conjunto de juegos para su bartop o recreativa. Puedes instalar distribuciones como Recalbox o Retropie con todas las ventajas que eso ofrece. El PC siempre será mejor opción, obviamente, pero requiere más dinero y mayores conocimientos técnicos. Esto es más barato y muy sencillo de usar.

*¿QUÉ NECESITO PARA INSTALAR Pi2JAMMA?
-Una máquina recreativa o bartop con cableado JAMMA.
-Una Raspberry Pi 3B.
-Una tarjeta microSD de, por lo menos, 8GB.
-Un pendrive (en caso de instalar REGAMEBOX) de, por lo menos, 32GB. Si puede ser de buenas marcas, como SanDisk, mejor.
-El software que necesitemos según escojamos de la página de descargas que veremos en el paso 1.
-Un poco de paciencia.

PASO 1. INSTALACIÓN DEL SOFTWARE.
Se nos deja escoger entre varias opciones: Recalbox, Retropie, y otras distribuciones especiales para este caso, como PinHP o REGAMEBOX.

En esta guía vamos a decantarnos por REGAMEBOX, ya que es la más sencilla de instalar y la que más se parece al sistema del Pandoras´s Box en algunos de sus temas (themes) que podemos elegir. Admite una gran variedad de emuladores, como FBA, versiones diversas de MAME y, si queremos, también consolas clásicas. Este software también es el más recomendado en caso de tener una recreativa original. Voy a resumir en castellano lo mejor que pueda lo que explican en su propia wiki. Los pasos a seguir con REGAMEBOX son los siguietes:

-Descargamos REGAMEBOX: http://strike-devices.net/download
Hay 3 opciones: Full (10 GB con roms y fotos),  Sólo con roms (6 GB) o sólo el sistema base (1 GB).
-Elegimos un enlace de mega, y descomprimimos el archivo que corresponda (normalmente un .img)
-Descargamos e instalamos win32diskimager: https://sourceforge.net/projects/win32diskimager/.
-Introducimos nuestra microSD en nuestro ordenador.
-Abrimos win32diskimager, pulsamos en el botón de la carpetita, y abrimos el archivo .img.
-Esperamos a que termine, y ya tendremos instalado ese archivo en la microSD. Podemos dejar metida la microSD en la Raspberry.

1.1. CONFIGURAR EL PENDRIVE / DISCO DURO USB.
REGAMEBOX necesita un pendrive o disco duro USB, a poder ser que esté vacío, y necesariamente en FAT32, para poder usar las roms y poder ver, tanto las carátulas estáticas de los juegos, como los vídeos a lo Pandora´s Box. De manera automática, la primera vez que encendamos la Raspberry con el pendrive conectado, creará las carpetas y toda la configuración para copiar las roms y, si queremos, los archivos de vídeo (video snaps). 
 
Es posible que requiera un par de reinicios en algún caso. Después de que cargue correctamente, extraemos el pendrive y actualizamos manualmente REGAMEBOX a su última versión:

Para instalarlo sólo hay que copiar el archivo patch_v3_1_5.tgz en la raíz del pendrive. Volvemos a conectar el usb a la raspberry y automáticamente reconocerá e instalará el parche en cuestión de segundos. Si todo ha salido bien, ya tendremos listo REGAMEBOX. Apagamos el sistema en "OPTIONS->SHUTDOWN" y sacamos el usb para copiar roms y demás datos.


PASO 2. COPIAR LAS ROMS.
Tal y como se especifica en su página oficial (http://strike-devices.net/index.php/pi2jamma/regamebox-distribution-for-pi2jamma/) los romsets para los juegos arcades son los siguientes:

-MAME4ALL y MAME2000 -> MAME 0.37b5
-MAME2003---------------------> MAME 0.78
-ADVMAME---------------------> MAME 0.106
-FBA2X---------------------------> FINAL BURN ALPHA 0.2.96.71
-lr-fbalpha-------------------------> FINAL BURN ALPHA 0.2.97.39

Algunas carpetas ya vienen creadas dentro de /rpi2jamma/roms/. La de MAME4ALL y FBA2X hay que crearlas por nuestra cuenta, pero NO dentro de /roms/. Esta es su estructura:

/rpi2jamma/roms_m4all/
/rpi2jamma/roms_fba/

En versiones anteriores funcionaban las carpetas directamente copiadas en la raíz del pendrive. Pero ahora va todo dentro de /rpi2jamma/.

Tema de Bubble Bobble. Con letras grandes y fotos algo pequeñas.

Este tema es un poco al revés del anterior. Da prioridad a las fotos más grandes.


*Recordad que para que se active el menú de ADVMAME necesitamos el romset de MAME 0.106. Sólo así podremos cargar la primera opción del menú de Pi2JAMMA y ver el listado de roms con sus vídeos.

*Si vais a copiar roms de consolas, es posible que necesitéis las BIOS. Buscad el archivo "Console Bios Files.zip" en los enlaces oficiales anteriores y descomprimir el conenido de ese zip en /rpi2jamma/roms/.

PASO 3. OTRAS OPCIONES Y DETALLES.
Una vez que hayamos realizado los pasos anteriores, sólo es cargar el juego y a jugar. Pero antes debemos saber unas cuantas cosas:

-Para salir del juego hay que pulsar el botón PLAYER 1 + BOTÓN 1 (el botón que tengamos asignado en nuestra recreativa para la acción, como disparar).
 
-Si esa configuración no funciona, como en el caso de MAME4ALL, la combinación es PLAYER 1 + BOTÓN 1 + JOYSTICK ABAJO.
 
-Del menú de ADVMAME se puede salir pulsando PLAYER 1 + BOTÓN 1 justo cuando hagamos lo mismo al salir de un juego. Cuesta un poco cogerle el truco.
 
-En la opción THEMES del menú podemos elegir un variado número de temas para el menú principal. Sólo hay que elgir uno y pulsar el botón 1 (botón de acción de nuestra máquina).
 
-Dentro de OPTIONS podemos configurar cosas como el volumen, apagar el sistema (recomendado hacerlo así), retroarch, guardar la configuración, etc... Tened cuidado con tocar algunas cosas aquí.
 
-Si no escuchamos sonido alguno puede ser porque no nos hemos percatado de que la Pi2JAMMA tiene un potenciómetro de volumen:


Es como una ruedecita que podemos girar con nuestros dedos.

-Pi2JAMMA por defecto NO reconoce 6 botones, sólo 5. En el caso que queramos que nos lo reconozca debemos sacar los cables correspondientes de la conexión JAMMA e introducirlos en la pequeña casilla blanca con tres tornillos. Son tres cables: GND (tierra), Botón 6 del PLAYER1 y BOTÓN 6 del PLAYER2. Esto ya son temas de electrónica y conocimientos de la placa JAMMA. Si no estáis seguros de cómo va esto, buscad info por internet o a alguien que sepa electrónica.
 
-Para instalar los archivos de vídeos, y así ver una breve preview a la hora de selecionar un juego, hay que descargar el pack de Hyperspin de esta web: 
 
La parte 6 está en la wiki de Regamebox, además del resto de packs de capturas de otros sistemas, como las consolas:
 

Todos estos vídeos hay que copiarlos en la carpeta videos (si no la tenemos, la creamos) de nuestro pendrive o disco duro.

FAQ (PREGUNTAS Y RESPUESTAS)
-¿Por qué instalar REGAMEBOX si puedo instalarle Retropie o Recalbox?
Podéis instalar la distribución que más os guste. He elegido REGAMEBOX porque en la práctica es, con diferencia, el más fácil de usar. Además, los juegos en escala vertical no nos lo pone en horizontal (así no tenemos que voltear el monitor). Para los más puristas igual no es gusta, pero en mi opinión es lo más cómodo.

-En Retropie/Recalbox al cargar un juego me sale la pantalla estrechísima, casi ni se ve el juego.
Por estas cosas recomiendo REGAMEBOX, porque nos ahorramos estas historias. En el archivo de antes (p2j_setup.zip) hay un archivo readme.txt que nos explica, a partir del punto 7, cómo copiar las roms arcades y cómo editar su resolución. Hay que abrir un juego y entrar en el menú de retroarch (hacedlo con el teclado, tecla de acción + tecla hotkey). Hay que ir a Settings>Vídeo y aplicar la resolución adecuada que nos indica ese readme.txt para cada emulador.

-Un juego de advmame (u otro emulador) no me carga o no funciona bien.
Asegúrate que tienes el romset correspondiente para advmame, que es el 0.106. Advmame puede cargar roms de MAME de otros romsets, pero mejor si es el suyo. Si aun así no lográis cargar vuestro juego favorito, probad otros emuladores, como lr-fbalpha (este va muy bien para NEOGEO y CPS) o mame4all, que tiene una compatibilidad muy buena.

-Tengo una recreativa con un botón para los créditos pero en algunos juegos sólo me reconoce las "coins" del jugador 2.
En muchas recreativas se instala un botón de créditos que conmuta con el monedero físico. En juegos de 3 jugadores o más, puede que el juego reconozca ese botón como el de las monedas del player2. En ese caso simplemente se tienen que echar las monedas en el monedero para el player1. O bien buscarnos una rom preparada para 2 jugadores. Juegos como Los Simpsons o Tortugas Ninja ofrecen versiones para 2 y 4 jugadores de manera separada. También, aunque esto es algo más complicado, podemos entrar en retroarch y configurar los botones.

-Los juegos 3D van fatal.
En MAME hay juegos como Tekken 3 y otros que, por desgracia, en REGAMEBOX no funcionan bien. En este caso necesitarías Recalbox o Retropie, que contienen emuladores de PSX que funcionan perfectamente. Otros juegos necesitan una carpeta (juegos con CHD) aparte para poder arrancar.

-Pongo un juego, pero no pasa de la pantalla de "checking rom" o parecido.
Busca info por internet en cada caso, que no suelen ser muchos. Por ejemplo, la rom de Run and Gun, un juego de baloncesto, no arranca a la primera. Esto se soluciona, con un teclado conectado, pulsando F2+F3 la primera vez que arranca el juego. Después ya no lo pedirá más.

-¿Pi2JAMMA admite discos duros USB?
Según la documentación oficial sí, aunque recomiendan pendrives de 32gb. Evidentemene 32GB hoy día es muy poco dado el tamaño de los romsets. El de advmame por ejemplo son 65GB, aunque si le quitamos los juegos CHD se quedan en 24GB. Recordad que, ya sea por pendrive o disco duro, ha de estar formateado siempre en FAT32. Nos decantemos por una cosa u otra, lo importante sobre todo es que sea rápido al leer/escribir. Una opción es ir configurando el listado de juegos que nos gusten y mejor funcionen en un emulador u otro. También puedes copiar un romset entero, si te cabe, y vas probando.

-Para instalar Recalbox o Retropie desde cero, sin usar esas imágenes preconfiguradas ¿cómo se hace?
Lo instaláis como de costumbre. Lo único diferente es que, antes de conectar la Pi2JAMMA, tenéis que editar el archivo config.txt para añadirle estas líneas:

# pi2scart/pi2jamma (240p/15khz)
disable_audio_dither=1
dtoverlay=vga666
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
hdmi_timings=320 1 23 25 39 240 1 4 3 15 0 0 0 60 0 6400000 1

De esta manera os reconocerá el monitor CRT. En caso de usar un TFT no tenéis que tocar nada.

-Hay una review en youtube que copia las roms en otra parte..
Sí, es este vídeo, donde pone en práctica una versión antigua de REGAMEBOX:


Está bien a modo de información visual. Pero ahora mismo no funciona así el sistema de carpetas y roms. Seguid este manual y sí os funcionará.

------------------

Y hasta aquí sería más o menos la configuración básica para hacer funcionar correctamente este adaptador. Básicamente lo que he descrito es lo que expone en su web oficial, adaptándolo a nuestro idioma y mejorando lo posible con arreglo de fallos y añadiendo archivos. En ese enlace tenéis más información, aunque sea en inglés, pero mucho más detallada. Para las posibles dudas que puedan surgir de este post, he de advertir que no poseo dicha placa actualmente, ya que estas pruebas las hice con una prestada. Por eso ahora mismo contestar dudas sin tener la placa delante será complicado.


5 comentarios:

  1. Hola, muy buen aporte con la guia. pero los links de descarga no funcionan. podrias volver a activarlos. gracias

    ResponderEliminar
  2. La guía es de 2018. Así que ha quedado algo desfasada. Con la versión 3.1.4 de Regamebox no hace falta aplicar parches ni nada. La descargas (http://strike-devices.net/download, la descomprimes y grabas el archivo IMG con win32diskimager.

    ResponderEliminar
  3. Respuestas
    1. Muchas gracias por tu ayuda. Tengo otra duda, he descargado los videos, he creado la carpeta video y metido dentro los archivos, pero no se ven. Gracias de nuevo por tu ayuda

      Eliminar
    2. La carpeta vídeos ha de ir dentro de "rpi2jamma". Quedaría así:
      \rpi2jamma\videos\

      Eliminar