Página 1 de 2
Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 21 Ene 2021, 00:16
por ofl666
Hola,
Resumen rápido:
He añadido un nuevo sistema en EmulationStation para poder lanzar juegos hechos en java, para crear el nuevo sistema he seguido esto:
https://retropie.org.uk/docs/Add-a-New- ... onStation/, y para poder ejecutar jars he instalado la JDK de Oracle desde línea de comandos y he creado el "emulador" como un lanzador del comando "java -jar %ROM%".
El objetivo principal de lo anterior era poder jugar a La abadía del crimen Extensum (
http://www.abadiadelcrimenextensum.com/) lanzandola desde Retropie, he comprobado que el juego funciona perfectamente en una Raspberry Pi 3+, tarda un poco mas de un minuto en cargar pero una vez cargado funciona como en un PC, le he puesto su scraper con su captura de pantalla, un video corto... y la verdad que mola un montón tenerlo ahi en el EmulationStation junto con el resto de emuladores y juegos.
Por darle la nota personal y nostálgica al post pues decir que la primera vez que jugue a la obra maestra de Paco Menéndez y Juan Delcán fue hace unos 30 años en un spectrum siendo un crio, tengo dicho juego en el emulador de Spectrum también metido en Retropie, el caso es que me apetecia volver a jugar a esta maravilla, lo arranque y se me caía una lagrimilla, pero los gráficos bicolor (amarillo-azul) de aquella versión de Spectrum y el movimiento donde primero tienes que girar con los cursores el muñeco para una vez apunta donde quieres darle hacia adelante... se me hicieron muy duros, por eso busque un poco y descubrí que se habían hecho algunas adaptaciones con los años, y esta versión homenaje en java me parece muy jugable.
Y ahora viene la duda:
¿Como configurar el Gamepad para poder jugar con él al jueguecillo?
El juego va con teclado, cursores para moverse, tecla espacio... tengo un mini-teclado de estos a distancia con el que puedo jugar medio decentemente, pero para rematar el tema me gustaría configurar el Gamepad igual que con el resto de emuladores.
Empece mirando por aquí:
https://retropie.org.uk/docs/RetroArch-Configuration/, pero ya vi que todo esto no va a servir para este caso.
Entonces leí lo que parece ser la palabra clave para esto,
joy2key, encontre algún enlace sobre el tema:
https://retropie.org.uk/forum/topic/187 ... th-joy2key, pero he sido incapaz de entender como funciona ni siquiera como o desde donde se lanza.
¿Alguien que sepa como va este tema que me pueda echar una mano?
Un saludo
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 21 Ene 2021, 08:58
por egrueda
Lo toqué hace ya tiempo, y si no recuerdo mal, se ejecuta desde runcommand.sh
El script de runcommand.sh detecta si existe el script joy2key.py, y lo ejecuta durante la emulación.
Cuando termina la emulación, detiene el script joy2key.py
Para que lo veas gráficamente, línea 130
https://github.com/RetroPie/RetroPie-Se ... #L130-L140
A ver si a partir de ahí puedes avanzar con ello ;-)
Para los que quieran saber más:
https://retropie.org.uk/docs/Runcommand/
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 22 Ene 2021, 00:10
por ofl666
Muchíiiiisimas gracias Egrueda, he estado buscando a partir de lo que me has pasado y yo creo que ya lo tengo mas o menos claro, aún no he probado nada pero pinta bien la cosa, he bajado el joy2key.py y viendo el código que me decias ya se donde lo tengo que poner, a ver si mañana saco un rato y lo pongo.
En breve cuento a ver si lo he conseguido.
Saludos
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 22 Ene 2021, 08:05
por egrueda
Ok, recuerda que el joy2key se instala también desde retropie-setup.sh
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 22 Ene 2021, 12:59
por ofl666
Buenas,
¡¡Pues menos mal que lo has comentado porque me iba a poner ya a instalarlo "a pelo"!!
El caso es que he visto que ya lo tengo instalado (parece que es parte de la instalación standard), he visto el script aquí:
/home/pi/RetroPie-Setup/scriptmodules/supplementary/runcommand/joy2key.py
Es decir, esta a la misma altura que runcommand.sh
Igual la pregunta es muy evidente pero... ¿¿¿y como se lanza??? según las líneas 130-140 del runcommand.sh mira a ver si existe joy2key.py (el primer if) y si existe lo lanza, pero yo cuando arranco un juego no veo que pase nada, lo que he hecho es cuando lanzo un juego pulsar A para sacar la pantallita esta donde puedes elegir por ejemplo un emulador concreto para un ROM, o un modo de video, pero ahí no veo tampoco nada relacionado con joy2key
Yo creo que es que igual sigo sin tener claro el tema, yo esperaba poder lanzar algo similar al configurador de teclas de DosBox, que tiene su propio mapeador, osea, pensaba que joy2key iba a lanzar algo similar.
¿Soy muy torpe o es que tiene su cosilla el tema? es que mira que he leido posts sobre el tema y no me aclaro nada.
Saludos!!
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 22 Ene 2021, 13:10
por ofl666
He abierto joy2key.py para echar un ojo, he visto cosillas relacionadas con los controles pero sigo sin ver que tendría yo que hacer:
Veo que carga retroarch.cfg, define estas 2 variables para ello:
CONFIG_DIR = '/opt/retropie/configs/'
RETROARCH_CFG = CONFIG_DIR + 'all/retroarch.cfg'
Carga también luego la configuración que haya en: CONFIG_DIR + 'all/retroarch-joypads/
En un determinado momento establece esto:
# getting configs for dpad, buttons A, B, X and Y
btn_map = [ 'left', 'right', 'up', 'down', 'a', 'b', 'x', 'y' ]
Osea, soy capaz de ver mas/menos que hace, pero no se que tengo que tocar yo, porque claro, retroarch.cfg a nivel globlal ya lo tengo mapeado a mi gamepad, y el mapeo propio de ese pad que esta en all/retroarch-joypads/ también lo tengo bien, pero todo esto no funciona luego al cargar la aplicación .java, donde solo funciona el teclado, osea, yo entiendo que tengo que "añadir algo", yo creía que un nuevo mapeo, tipo el .map de DOSBOX, pero eso, no se donde hacerlo, no se si me tengo que poner a tocar el script a mano, si es que no se lanzarlo desde Retropie-Setup...
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 22 Ene 2021, 13:17
por ofl666
Otra cosa que he visto que entiendo tiene relación, y también la entiendo OK:
Desde Retropie-Setup, entro en Run Command Configuration y veo que la opción "3. Launch menu joystick control (currently: Enabled)" esta activada, ¿esto será precisamente lo que active o desactive el lanzamiento del script joy2key.py?
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 22 Ene 2021, 22:13
por Spks
Yo también fui un apasionado de este juego en mi spectrum, sabia de la existencia del remake, aunque no lo he llegado a probar.
No imaginaba que se pudiera hacer funcionar en retropie, ojalá lo consigas terminar de hacer funcionar y algunos del foro podamos aprovechar

tu esfuerzo.
Gracias
@ofl666 
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 23 Ene 2021, 16:40
por ofl666
Gracias Spks!!!!!!!!
Funcionar ya funciona, esa parte si te lo quieres poner dime y la explico mas en detalle.
El tema del mapeo es lo que no consigo, ni me acerco, no tengo ni idea de que tengo que hacer.
Creo que voy a probar con algo fuera de Retropie, he leido por aquí:
https://askubuntu.com/questions/720307/ ... ng-joy2key que hay un fork de joy2key que se llama antimicro, ahí veo algo que entiendo, se ejecuta y tiene un interfaz gráfico para mapear... igual por ahí.
Sigo buscando a ver.
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 23 Ene 2021, 22:09
por Spks
ofl666 escribió: 23 Ene 2021, 16:40
Gracias Spks!!!!!!!!
Funcionar ya funciona, esa parte si te lo quieres poner dime y la explico mas en detalle.
El tema del mapeo es lo que no consigo, ni me acerco, no tengo ni idea de que tengo que hacer.
Creo que voy a probar con algo fuera de Retropie, he leido por aquí:
https://askubuntu.com/questions/720307/ ... ng-joy2key que hay un fork de joy2key que se llama antimicro, ahí veo algo que entiendo, se ejecuta y tiene un interfaz gráfico para mapear... igual por ahí.
Sigo buscando a ver.
La verdad es que sería una pasada poderlo poner en mí recreativa, pero estoy iniciándome aún en esto y aunque soy de los toquetean todo, ando aún un poco verdecillo

Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 26 Ene 2021, 15:20
por ofl666
Buenas,
Spks, aquí van las instrucciones detalladas para que te lo puedas poner en tu recreativa.
Como instalar y ejecutar un juego hecho en Java desde EmuleStation en Retropie
- 1. Instalar java, para ello, desde línea de comandos:
- 1.2. sudo apt-get install oracle-java8-jdk (con Java 8 lo he probado y va bien, aquí ya en función de que juego vayas a lanzar, para la abadía con la JDK 8 tira bien)
- 2. Instalar el entorno gráfico, para ello, desde línea de comandos: sudo apt-get install xinit
- 3. Crear el directorio "java" en /opt/retropie/configs/
- 4. Dentro del directorio "java" que hemos creado en el paso anterior crear el fichero emulators.cfg con este contenido:
Código: Seleccionar todo
java = "sudo xinit -e 'java -Xms384M -Xmx384M -jar %ROM%' -- :0"
default = "java"
Si es para otros juegos que no sean la abadía, prueba quitando el -Xms384M -Xmx384M, yo para la abadía he tenido que asignar esta memoria mínima y máxima, sino el juego no me carga, java ya sabemos que consume lo suyo de recursos. Este tamaño de memoria establecido yo lo he probado en una Raspberry Pi 3, igual en la 4 no hay que hacer nada, a mi me tarda exactamente 1 minuto y 30 segundos en cargar.
Con estas líneas lo que estamos haciendo es "crear un emulador" y asignarlo por defecto, realmente este "emulador" en el "puente" entre el lanzador de Retopie y java, es decir, simplemente estamos lanzando un comando como si lo hiciésemos desde la línea de comandos y ese comando es el ejecutable de la JRE que hay dentro de la JDK que hemos instalado, vamos, es un "java -jar" y de parámetro el %ROM% es luego sustituido por la librería del juego en cuestión, que en este caso es AbadiaExtensum.jar
- 6. Copiar el fichero retroarch.cfg de cualquier otro emulador del directorio configs y modificar su contenido (poner en la ruta "java")
- 7. En /opt/retropie/configs/all/emulationstation/es_systems.cfg y /etc/emulationstation/es_systems.cfg copiar:
Código: Seleccionar todo
<system>
<name>java</name>
<fullname>Oracle Java</fullname>
<path>/home/pi/RetroPie/roms/java</path>
<extension>.jar</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ java %ROM%</command>
<platform>java</platform>
<theme>java</theme>
</system>
No tengo muy claro porque hay que hacerlo en los 2 es_systems.cfg, he querido entender que uno es el que se ejecuta (el primero) y el otro es como para tener una copia para cuando actualices el sistema, no lo tengo muy claro, pero se copia en ambos y fiesta.
Estas líneas son similares para todos los emuladores, le estamos dando un nombre al emulador (en este caso java / Oracle Java), le estamos diciendo en que ruta estarán los juegos (/roms/java), la extensión de dichos juegos (en nuestro caso, librerías de java, ficheros .jar)..
- 8. Crear en "roms" la carpeta "java" con el juego (el .jar, se descarga de http://www.abadiadelcrimenextensum.com/download/430/), crear "snaps", crear gamelist.xml... es decir, scrapear el juego como os guste, con su imagen, su descripción, yo le meto video...
Y... esto es todo, ya podemos jugar a esta maravillosa obra de arte desde nuestro EmuleStation, y, de paso, podemos meter en esta categoría cualquier juego hecho en java que nos guste.
Espero que os guste y que sirva !!!!!!!!!!!!!
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 26 Ene 2021, 16:10
por Spks
ofl666 escribió: 26 Ene 2021, 15:20
Buenas,
Spks, aquí van las instrucciones detalladas para que te lo puedas poner en tu recreativa.
Como instalar y ejecutar un juego hecho en Java desde EmuleStation en Retropie
- 1. Instalar java, para ello, desde línea de comandos:
- 1.2. sudo apt-get install oracle-java8-jdk (con Java 8 lo he probado y va bien, aquí ya en función de que juego vayas a lanzar, para la abadía con la JDK 8 tira bien)
- 2. Instalar el entorno gráfico, para ello, desde línea de comandos: sudo apt-get install xinit
- 3. Crear el directorio "java" en /opt/retropie/configs/
- 4. Dentro del directorio "java" que hemos creado en el paso anterior crear el fichero emulators.cfg con este contenido:
Código: Seleccionar todo
java = "sudo xinit -e 'java -Xms384M -Xmx384M -jar %ROM%' -- :0"
default = "java"
Si es para otros juegos que no sean la abadía, prueba quitando el -Xms384M -Xmx384M, yo para la abadía he tenido que asignar esta memoria mínima y máxima, sino el juego no me carga, java ya sabemos que consume lo suyo de recursos. Este tamaño de memoria establecido yo lo he probado en una Raspberry Pi 3, igual en la 4 no hay que hacer nada, a mi me tarda exactamente 1 minuto y 30 segundos en cargar.
Con estas líneas lo que estamos haciendo es "crear un emulador" y asignarlo por defecto, realmente este "emulador" en el "puente" entre el lanzador de Retopie y java, es decir, simplemente estamos lanzando un comando como si lo hiciésemos desde la línea de comandos y ese comando es el ejecutable de la JRE que hay dentro de la JDK que hemos instalado, vamos, es un "java -jar" y de parámetro el %ROM% es luego sustituido por la librería del juego en cuestión, que en este caso es AbadiaExtensum.jar
- 6. Copiar el fichero retroarch.cfg de cualquier otro emulador del directorio configs y modificar su contenido (poner en la ruta "java")
- 7. En /opt/retropie/configs/all/emulationstation/es_systems.cfg y /etc/emulationstation/es_systems.cfg copiar:
Código: Seleccionar todo
<system>
<name>java</name>
<fullname>Oracle Java</fullname>
<path>/home/pi/RetroPie/roms/java</path>
<extension>.jar</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ java %ROM%</command>
<platform>java</platform>
<theme>java</theme>
</system>
No tengo muy claro porque hay que hacerlo en los 2 es_systems.cfg, he querido entender que uno es el que se ejecuta (el primero) y el otro es como para tener una copia para cuando actualices el sistema, no lo tengo muy claro, pero se copia en ambos y fiesta.
Estas líneas son similares para todos los emuladores, le estamos dando un nombre al emulador (en este caso java / Oracle Java), le estamos diciendo en que ruta estarán los juegos (/roms/java), la extensión de dichos juegos (en nuestro caso, librerías de java, ficheros .jar)..
- 8. Crear en "roms" la carpeta "java" con el juego (el .jar, se descarga de http://www.abadiadelcrimenextensum.com/download/430/), crear "snaps", crear gamelist.xml... es decir, scrapear el juego como os guste, con su imagen, su descripción, yo le meto video...
Y... esto es todo, ya podemos jugar a esta maravillosa obra de arte desde nuestro EmuleStation, y, de paso, podemos meter en esta categoría cualquier juego hecho en java que nos guste.
Espero que os guste y que sirva !!!!!!!!!!!!!
Vaya curro
@ofl666 , gracias!!
Me pongo con el tema

Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 26 Ene 2021, 20:56
por Spks
Todo perfectamente explicado!!!
Te indico los únicos problemas que me he encontrado y como los he solucionado por si le sirven a alguien más:
El comando sudo-apt-get install oracle-java8-jdk me daba problemas y lo he sustituido por sudo apt install openjdk-8-jdk
En la carpeta /opt/retropie/configs/all/emulationstation/ no tenía el archivo es_system.cfg y lo he copiado después de añadirle el código desde la carpeta etc/emulationstation/ tal cual
El resto todo igual, genial, muchas gracias
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 26 Ene 2021, 23:50
por ofl666
Oleeeee


Que grande verlo así en la bartop, yo también tengo una muy similar, en cuanto consiga lo de remapear el teclado le hago un pequeño video, que me hace ilusión ver al monje moviendose con el joystick.
Chungo lo de remapear eh, su puta madre, hay poca información y la que hay no es completa ni clara.
Como comente, voy a probar con Antimicro, el cual ya no se mantiene, ahora para Debian es AntimicroX:
https://github.com/AntiMicroX/antimicroX
De ahí voy a tirar a ver, que aún no he tenido tiempo de probar.
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 27 Ene 2021, 11:49
por maiquelnais
Buenas:
Gracias por todo el curro, qué pasada.
He empezado con este tema hace bien poco y uno de los juegos que tenía en la lista para intentar meter era justamente este.
A la espera de ver si consigues mapear los botones en el mando y cómo.
Cómo digo, he empezado hace bien poco. De que acabe los exámenes intento trastear a partir de la configuración de los emuladores de ms2 y los ports de windows que vienen dentro de alguna imagen preconfigurada, a ver cómo está establecido ahí el mapeo de teclas.
Saludos.
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 27 Ene 2021, 23:52
por ofl666
Hola maiquelnais, otro que se une al hilo !!!!!!
Pues... no he conseguido instalar AntimicroX
Según he entendido en
https://github.com/AntiMicroX/antimicroX para Debian/Ubuntu la instalación se realiza instalando el paquete .deb, no tengo muy claro lo que es pero investigando un poco creo haber encontrado como hacerlo, pongo los pasos que he seguido:
- 2. Copiarlo en algún directorio (yo lo he dejado en /opt/retropie/supplementary/antimicrox/)
- 3. Instalar con el comando dpkg, el comando queda así:
dpkg -i antimicrox-3.1.4-x86_64.deb
Al hacer esto me dice que la arquitectura del paquete es amd64 y que no se puede instalar, a raiz de aquí he hecho lo siguiente:
- 4.Añadir arquitectura amd64 a la lista de arquitecturas que puede procesar dpkg (no afecta a nada mas del sistema, solo a este comando)
dpkg --add-architecture amd64
- 5. Actualizar la lista de paquetes disponibles:
apt-get update
- 6. Volver a intentar instalar paquete antimicrox
dpkg -i antimicrox-3.1.4-x86_64.deb
Ahora si que ha funcionado pero da problemas de dependencias ("dependency problems - leaving unconfigured")
Buscando sobre el tema he encontrado la forma de instalar estas dependencias:
- 7. Instalar las dependencias que hayan fallado al instalar el paquete anterior:
apt-get -f install
Va ejecutando cosas y todo parece ir bien, se descarga cosas, actualiza el árbol de dependencias... va dando mensajes de Ok, pero al acabar te dice si quieres eliminar antimicrox:amd64, dice que "1 not fully installed or removed.", vamos, que no se ha instalado "del todo", si le dices que si pues se lo pule, si le dices que no pues es cuando he ido a probar a ver si se podia ejecutar aún así:
- 8. El programa ha quedado instalado en /usr/bin/
- 9. Ir al directorio anterior y ejecutar: ./antimicrox
Pero nada, no funciona, te dice que "cannot execute binary file: Exec format error"
He repasado los pasos y yo creo que hago lo que leo que hay que hacer, básicamente, descargar e instalar el paquete a través de dpkg, pero esta claro que como no tengo ni guarra de linux pues no va bien la cosa.
No se ya por donde tirar.
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 28 Ene 2021, 00:04
por ofl666
Volviendo al joy2key, he intentando ejecutar el script de python "a mano":
Me situo en: /home/pi/RetroPie-Setup/scriptmodules/supplementary/runcommand
Ejecuto con: python3 joy2key.py
Me da este error:
File "joy2key.py", line 180
except OSError, e:
^
SyntaxError: invalid syntax
Supongo que esto no es lo que hay que hacer, pero no se como demonios ejecutarlo.
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 28 Ene 2021, 01:10
por cpcbegin
Antimicro ya está algo abandonado, busca AntiMicroX.
Yo sí he conseguido compilarlo e instalarlo pero directamente en Raspberry PI OS.
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 28 Ene 2021, 08:21
por ofl666
Hola cpcbegin,
Si, es lo que he dicho mas arriba:
Un saludo
Re: Juegos java desde Retropie, La abadía del crimen Extensum
Publicado: 28 Ene 2021, 08:36
por ofl666
Buenas,
He seguido probando cosas:
Me he instalado GDebi (apt install gdebi), que es otro programa que permite instalar paquetes .deb, y he probado ha instalar AntiMicroX con este, pero también me han fallado las dependencias, despues de esto he decidido probar con la versión que ya esta abandonada, AntiMicro, pero también me ha dado errores de dependencias, estos son todos los intentos y los resultados:
- AntiMicroX con dpkg:
dpkg -i antimicrox-3.1.4-x86_64.deb
ERROR:
dpkg: dependency problems prevent configuration of antimicrox:amd64:
antimicrox:amd64 depends on qtbase5-dev (>= 5.8).
antimicrox:amd64 depends on libsdl2-2.0-0 (>= 2.0.6).
antimicrox:amd64 depends on libc6.
- AntiMicroX con GDebi:
gdebi antimicrox-3.1.4-x86_64.deb
ERROR:
Dependency is not satisfiable: qtbase5-dev (>= 5.8)
- AntiMicro con dpkg:
dpkg -i antimicro_2.23~artful-1_amd64.deb
ERROR:
dpkg: dependency problems prevent configuration of antimicro:amd64:
antimicro:amd64 depends on libsdl2-2.0-0.
antimicro:amd64 depends on libqt5network5.
antimicro:amd64 depends on libqt5widgets5.
- AntiMicro con GDebi:
gdebi antimicro_2.23~artful-1_amd64.deb
ERROR:
Dependency is not satisfiable: libsdl2-2.0-0
Para todos los errores de dependencias he probado con: apt-get -f install pero nada, no ha funcionado en ningún caso.
He probado también a intentar instalar directamente las dependencias que han fallado, por ejemplo, para el caso:
Dependency is not satisfiable: qtbase5-dev (>= 5.8)
He probado con:
apt-get update && apt install qtbase5-dev
Pero tampoco funciona, vuelve a dar el mismo error.
Me voy quedando sin recursos...
Un saludo