ioRaspi4Actualizado al 10-01-2020Es un sistema montado para correr bajo Raspbian Buster with Desktop en una Raspberry pi 4 y está optimizado para funcionar en un monitor de 4:3 y a 1024x768 pixels
Todos los pasos a seguir para crear un sistema como este están en los tutoriales que puse en la web. Así que aquí no voy a ponerme a repetir ni a contestar nada. Si tenéis alguna duda plantearla en los tutoriales, no aquí.El sistema irá montado sobre una tarjeta microSD de 16GB y un disco externo de 2,5" de 1 ó 2 TB, dependiendo de los sistemas que se puedan emular en condiciones y la purga final de roms que haga. Un disco SSD, lógicamente, mejoraría mucho la velocidad del sistema, pero no es imprescindible. La micro SD aconsejo que sea una SanDisk A2 o, como mínimo, una A1. Si usáis una de inferior calidad, el sistema se resentirá.
Aquí he dejado una imagen reducida y simplificada de 16GB para los colaboradores habituales de este foro. Espero que os sirva de base para vuestros propios sistemas sin que tengáis que complicaros mucho la vida. Los controles están configurados por defecto como en RetroArch, tanto las teclas como el joystick: un mando de SNES con botones a, b, x, y, start, select, L y R. Las teclas, z, x, c, v, tab, escape, enter. La configuración se puede cambiar directamente tanto en Attract-Mode como en RetroArch. En éste último caso, hay que habilitar primero la opción "salvar configuracion al salir", modificar los controles y luego volver a deshabilitarla, ya que si no, darán problemas los overlays (bezels).
Para los que no tengáis acceso a la zona del enlace anterior os recomiendo leer esto.Espero que este post sirva para demostrar todo lo que se puede montar en una Raspberry pi 4 con un poquito de esfuerzo y sin necesidad de utilizar el frontend Emulationstation, ni los sistemas Retropie, Batocera o Recalbox, que por cierto, a día de hoy, 10-01-2020, ninguno de ellos ha sacado todavía ninguna versión oficial para la pi 4.
El sistema tarda en arrancar entre quince y venticinco segundos, en función de la rapidez de lectura de la microSD; y un reboot no dura más allá de medio minuto.
El frontend, como no podía ser de otra manera, será Attract-Mode 2.6.0, y va a llevar un único emulador: RetroArch 1.8.1, compilados ambos en la misma Raspberry pi 4. Bueno, esto ya no es así,
le he añadido un AdvanceMAME 3.9 para el MAME 0.106. Cosa que en principio no iba a hacer.
Para cada uno de los sistemas he utilizado el core de RetroArch disponible que mejor funciona en ellos según mi propio criterio. En principio serán extraídos de la última versión de Lakka para Raspberry pi 4. Para
MAME he utilizado el core MAME2010 y para el resto de sistemas que aparecen en
Recreativas el core MAME2003.
Si veo que algún core no funciona todo lo bien que me gustaría, intentaré compilarlo directamente en la pi 4, a ver si mejora, y si lo consigo, lo compartiré por aquí.Ya tengo montado el sistema en mi
Picade, y la tarjeta de control del joystick y los botones no es detectada por ningún software como un joystick, sino como un teclado. Lo cual da bastante guerra. En Windows, por ejemplo, si quiero utilizar la misma configuración que en la Picade me obliga a utilizar el Xpadder, que cuesta 8 eurillos de nada.
Las teclas que he utilizado en RetroArch son:
Boton 1 - Z
Boton 2 - X
Boton 3 - C
Boton 4 - A
Boton 5 - S
Boton 6 - D
Escape - Esc
Coin - 5
Start - 1
Return - Intro
En las Consolas, la tecla Coin es sustituida por Select.
Y la configuración de mandos para Attract-Mode la he dejado así:
input_map
add_favourite Num1
back X
up Up
down Down
left Left
right Right
select Z
prev_page PageDown
next_page PageUp
displays_menu M
filters_menu T
prev_filter A
next_filter S
toggle_mute C
exit_to_desktop Escape
screenshot P
configure Num5
random_game R
replay_last_game L
screen_saver O
intro I
edit_game G
custom1 D
custom6 Return
default back exit
default up prev_game
default down next_game
default left prev_letter
default right next_letter
Tanto Attract-Mode como RetroArch responden bien a la unificación de mandos con la Picade. Los problemas empezarán cuando empiece a probar sistemas como Nintendo64. Entonces me imagino que tendré que salvar configuraciónes por core, en vez de utilizar el mando unificado. De hecho, con los MAME ya he tenido que hacer un save de la configuración de controles por core.
Esta es mi
Picade:
ioRaspi4 incluye 8 temas diferentes y dos variaciones, todos en Español, compuestos por 23 layouts, que se podrán cambiar directamente desde la opción Temas del Menú Principal. Ni qué decir que cada tema puede ser personalizado para cada sistema a gusto de cada uno desde el propio Attract-Mode, pero hay que tener en cuenta que cada tema lleva vídeos y artes diferentes, por lo que mezclar varios temas distintos en el sistema no es lo más recomendable. Eso sí, si se vuelve a cambiar de tema desde el menú, volverá con las opciones por defecto. Todos los temas son de mi propia cosecha y están optimizados para funcionar en la Raspberry pi 4 y una resolución de pantalla de 1024x768. Y sí, claro que sí que he copiado lo que me ha dado la gana de otros temas, sean de Attract-Mode o no, pero siempre dándoles mi toque personal y/o recodificándolos en squirrel y referenciando en mis layouts al autor original. Si el autor de alguno de esos temas tiene algún problema por ello, no tiene más que decírmelo y su problema será subsanado.
Todos los juegos de todos los sistemas están separados y
unificados por géneros (46) mediante filtros en español. Para cambiar de categoría hay que definir dos teclas, una para género siguiente (next_filter) y otra para género anterior (prev_filter). Lo de unificados consiste en que todos los sistemas tienen la misma nomenclatura, o sea, que en un sistema no va a aparecer un juego como "Plataformas Disparos" y en otro como "Disparos y Plataformas". En los vídeos se apreciará mejor lo que quiero decir.
Todos los temas llevan incorporado el keyboard-search de liquid8d que modifiqué para que busque tanto mayúsculas como minúsculas. Este sistema de búsqueda no necesita teclado.Casi todos los temas tienen un comportamiento bastante aceptable en pantallas más grandes de 1024x768 pero desde luego no es el más óptimo. 800x600 y 640x480 funcionarán perfectamente por supuesto. En caso de que se intente utilizar en un monitor de otra resolución saldrá un mensaje avisando de sus posibles fallos y cómo desactivar el mensaje de aviso para que se pueda utilizar con cualquier resolución.
Como podéis ver en los vídeos de los temas, en algunos sistemas, como PlayStation, aparece en alguna parte del tema una banderita. Esta banderita se corresponde con el idioma en el que está el juego. Cuando termine de comprobar los más de 20.000 juegos de ioRaspi4, esta banderita estará en todos los sistemas.
Y cuando algún juego ha sido añadido a favoritos también aparece una estrella indicándolo. En el tema Stargate en vez de una estrella aparece el anillo de una puerta estelar. En todos los temas, las flechas izquierda y derecha cambiarán de letra. De tal forma que pasarán de los juegos que empiecen con la letra A a los de la B, y así sucesivamente. En los temas que carecen de marcador de letras, al cambiar de letra aparecerá la inicial de la letra durante unos instantes en tamaño grande, imitando el funcionamiento de los ipods de Apple. Temas:- Cinematic
- Flat
- Nostalgia
- Pandora Box
- Posters
- Refried
- Space Invaders
- Stargate
Modificaciones de los temas al 01-12-2019:-
Flat: En Flat Menu desaparece la opción de seleccionar los sistema mediante el carrier central con las teclas izquierda y derecha. Se mantiene la opción de Lista, que a su vez mueve el carrier, que, de estar en medio de la pantalla, pasa a la zona inferior, dando preferencia a la aparición de los vídeos.
-
Cinematic: Añadida una barra de desplazamiento de letras. Antes se podía ver el filtro activo en pantalla (Todos, favoritos, etc.). Ahora se pueden ver el activo, el previo y el siguiente.
-
Nostalgia: Añadida una barra de desplazamiento de letras. Cambiado el tamaño de las letras los datos de los juegos. Añadida la opción de usar wheels.
-
Refried: Añadida una opción de sombra tras los datos. Este tema es muy colorido, por lo tanto a veces no se pueden distiguir bien los datos de los juegos en la pantalla, para paliar este problema
al pulsar la tecla i, aparecerá una sombra oscura detrás de los datos. Pulsando la misma tecla, la sombra desaparecerá. Añadida la opción de usar wheels.
-
Stargate: Añadida una barra de desplazamiento de letras. Cambiada la ubicación de los iconos de idiomas. Cambiadas las dimensiones del icono de favoritos, que sigue siendo un anillo de puerta estelar en vez de la estrella habitual.
Vídeos de los temas:CINEMATIC:FLAT: NUEVONOSTALGIA:NOSTALGIA CON WHEELS:PANDORA BOX:POSTERS:REFRIED con listas:REFRIED con wheels:SPACE INVADERS:STARGATE: Al tratarse de un sistema pensado para pantallas a 1024x768 (4:3), no tenía previsto el meter shaders, ni overlays/bezels, que recargarían el sistema innecesariamente, pero he encontrado algún shader que no penaliza el rendimiento prácticamente y le da el aspecto de CRT antigua, sin curvaturas, porque las curvaturas necesitan mucha capacidad de proceso que la pi aún no tiene.
He tenido que currarme más de ochocientos overlays --y el doble de archivos de configuración-- para los juegos verticales del MAME2010 y MAME2003+, ya que RetroArch emula esos juegos dándoles el ancho de la pantalla porque que no distingue correctamente todos los juegos verticales de los horizontales, y como para que solo ocupen la parte vertical hay que hacer un archivo de configuración para cada uno de ellos, pues ya de paso les he integrado los overlays para que no queden bandas negras a los lados. Para los que no he encontrado ningún gráfico decente, poco más de un centenar, he creado media docena de overlays genéricos. Un trabajo de chinos, pero creo que ha merecido la pena.
Las consolas Portátiles, también llevan overlays para jugar en una pantalla menor, más acorde con sus resoluciones de pantalla originales. Si no se quieren utilizar basta con borrar la carpeta
/home/pi/.config/retroarch/config.
Los sistemas incluidos son:
Recreativas- AdvanceMAME
- MAME
- AAE
- Arcade Classics
- Atari Classics
- Capcom Classics
- Capcom Play System
- Cave
- Data East Classics
- Gaelco
- Irem Classics
- Konami Classics
- Midway Classics
- Namco Classics
- Nintendo Classics
- SNK Classics
- SNK Neo Geo MVS
- Sega Classics
- Taito Classics
- Williams Classics
Consolas- Atari 2600
- GCE Vectrex
- Nintendo Famicom
- Sega SG-1000
- Nintendo NES
- Sega Master System
- Atari 7800
- NEC PC Engine
- NEC PC Engine CD
- Sega Mega Drive
- NEC TurboGrafx-16
- NEC TurboGrafx CD
- NEC SuperGrafx
- Amstrad GX4000
- Nintendo Super Famicom
- Sega Genesis
- Nintendo SNES
- SNK Neo Geo AES
- Sega CD
- Sega 32X
- Sony PlayStation
- Nintendo 64
- Sega Saturn
- Sega Dreamcast
- Nintendo GameCube (pendiente de la optimización de Dolphin en Buster) más info.
Ordenadores- Doom
- MS-Dos (pendiente del problema de RetroArch con los controles unificados) más info.
- Quake
Portátiles- Atari Lynx
- Nintendo Game Boy
- NEC PC Engine GT
- NEC TurboExpress
- Sega Game Gear
- Sega Nomad
- Nintendo Game Boy Color
- SNK Neo Geo Pocket
- Bandai WonderSwan
- SNK Neo Geo Pocket Color
- Bandai WonderSwan Color
- Nintendo Game Boy Advance
- Sony PSP
- Sony PSP Minis
Colecciones- Favoritos
- Conducir
- Deportes
- Disparos
- Laberintos
- Pinballs
- Plataformas
- Puzzles
Extras- Lanzar RetroArch
- Reiniciar Attract-Mode
- Reiniciar contadores partidas
- Rehacer lista de Favoritos
- Rehacer listas de las Colecciones
- Rehacer lista de Sega Nomad
Vídeo de Nintendo 64 y la Dreamcast emulados por RetroArch en ioRaspi4. Arranque en negro, directo al Attract-Mode, donde aparece mi tema Stargate, y ejecuto el 1942 en el MAME2010 de RetroArch, después, salgo al sistema, con el botón derecho del ratón accedo al menú del ioRaspi4, abro el terminal, ejecuto pinout, y se puede comprobar que estamos sobre una Raspberry pi 4 y no sobre ningún modelo anterior.
Luego vuelto a Attract-Mode y ejecuto Mario Kart 64 de Nintendo 64, después de una vuelta, salgo al menú y ejecuto Aqua GT de Sega Dreamcast y me pego una vuelta por Londres, al parecer.
Después cierro el sistema, en los mensajes de cierre cualquiera que sepa un poquito de linux puede comprobar que corre exclusivamente bajo Raspbian Buster.
La verdad es que tanto la N64 como la Dreamcast, como podéis ver en el vídeo, se desenvuelven con una fluidez estupenda en la Raspberry pi 4.
A la derecha del monitor, debajo de la pantalla se pueden ver la raspi 4 y el disco duro (no-SSD) que tiran del sistema. Y sí, en vez de utilizar un cable con interruptor, me he conseguido un mando a distancia para encender y apagar todo el sistema, monitor incluido. A veces lo más pijo resulta ser también lo más útil.
En cuanto acabe unas cosillas que me faltan pondré por aquí un vídeo de ioRaspi4 rulando en la Picade.Un dato importante. El sistema es completamente operativo, pero no está optimizado. Funciona sobre X11 y eso penaliza el funcionamiento en general, sobre todo el de Attract-Mode. Lo ideal sería que pudiera funcionar con SFML, pero aún no he dado con esa tecla. Bueno, ni yo ni nadie al parecer. Este es un tema complejo, porque tanto MAME como AdvanceMAME necesitan SDL, que a su vez necesita X11... La solución momentánea, la que yo he tomado, utilizar el MAME a través de RetroArch.