Skip to content

Es: 3. Instalación de contenidos

Eduardo Moreno edited this page Apr 16, 2022 · 8 revisions

La tarjeta que acabamos de preparar está vacía de contenidos. Sólo contiene el sistema OpenDingux, el frontend SimpleMenu, los cores RetroArch y unos pocos emuladores independientes. Toda la configuración se ha hecho con la idea de que los contenidos sean aportados desde la tarjeta que colocaremos en la ranura marcada como EXT.

Antes de continuar, hacer un breve comentario sobre las consideraciones legales de la instalación de dichos contenidos. El asunto es complejo. Si se tiene interés en profundizar, un buen artículo es este post de Retro Game Corps (en inglés). Aunque existen pocos precedentes legales sobre el tema, el problema afecta fundamentalmente a las BIOS y las ROMs. De forma simplificada se suele considerar que podemos manejar las ROMs de los juegos y las BIOS de las máquinas que tengamos en propiedad. En realidad se trata más de una regla basada en el sentido común, ya que como decimos, existen pocas sentencias sobre el tema y desde luego la opinión de los distintos participantes en la industria no es consistente.

Formato y label de tarjeta externa

Para que todas las rutas preconfiguradas en la imagen funcionen, es necesario que la tarjeta microSD externa tenga formato FAT32 y NO tenga definida una etiqueta o label. En caso de tener label habrá que borrarlo.

En Windows podemos hacerlo desde el cuadro de Propiedades de la unidad en que se monta la tarjeta externa. Hacer clic en la siguiente miniatura para ver un pequeño vídeo.

Ver vídeo

En Linux se puede hacer ejecutando el siguiente comando desde un terminal (en el ejemplo se ha usado el dispositivo /dev/mmcblk0p1, pero habrá que sustituirlo por el que corresponda en nuestro caso):

sudo fatlabel /dev/mmcblk0p1 -r

Si tienes un Mac, por ahora la mejor opción es la descrita en la Starter Guide de Retro Game Corps, aportada por @Asppire y que se transcribe a continuación:

"Borra" el disco usando la aplicación Disk Utility integrada en el sistema, dando formato MS-DOS (FAT) y con cualquier nombre. Luego, en el lado izquierdo de la aplicación Disk Utility, debería aparecer la tarjeta SD. Haz click con el botón derecho sobre ella, selecciona Rename y ahora borra el nombre y sustitúyelo por un espacio, de manera que el nombre parezca quedar vacío. Una vez montada en OpenDingux, se interpretará como vacío y funcionará adecuadamente.

ROMs

El frontend SimpleMenu ha sido configurado con una serie de rutas predefinidas donde tratará de localizar las ROMs y previsualizaciones de las mismas. Dichas rutas serán creadas en la tarjeta EXT cada vez que arranque el sistema (si no existen). Este proceso sólo funcionará si como decíamos en el apartado anterior, el formato de la tarjeta es FAT32 y NO tiene label. Si no queremos modificar la configuración de SimpleMenu, habrá que atenerse a estas rutas. En la tabla que hay más abajo, se indica en la segunda columna el nombre del directorio que tendrá que existir en la tarjeta externa cuando la montamos en el PC. Por ejemplo en el pantallazo siguiente está señalado el directorio de ROMs del sistema Game Boy, que como vemos se encuentra junto a todos los demás dentro de la carpeta roms en la raíz de la tarjeta.

SDcard paths

La ruta anterior en el PC se corresponderá con /media/sdcard/roms en el sistema de la consola, una vez que la tarjeta se encuentre en la consola y el sistema se haya iniciado. En caso de modificar la configuración de SimpleMenu, o de abrir manualmente los emuladores desde GMenu2X, ésta será el tipo de ruta que usaremos (por ejemplo /media/sdcard/roms/GB para Game Boy).

A continuación se muestra la tabla de los sistemas configurados en SimpleMenu con las rutas donde deberemos situar las ROMs y las extensiones que éstas deben tener:

Sistema Rutas Extensiones soportadas
MAME roms/ARCADE zip, 7z
Capcom Play System roms/CPS zip, 7z
Final Burn Alpha roms/FBA zip
Daphne roms/DAPHNE zip
Nintendo NES roms/FC nes, zip, 7z
Nintendo Famicom Disk System roms/FDS fds, zip, 7z
Nintendo SNES roms/SFC smc, sfc, zip, 7z
Nintendo Virtual Boy roms/VB vb, vboy, bin, zip, 7z
SEGA SG-1000 roms/SG1000 zip, sg, 7z
SEGA Master System roms/SMS zip, sms, 7z
SEGA Megadrive roms/MD zip, bin, smd, md, mdx, gen, 7z
SEGA CD roms/SEGACD bin, chd, cue
SEGA 32X roms/32X zip, 32x, 7z
Atari 2600 roms/A2600 bin, a26, zip, 7z
Atari 5200 roms/A5200 bin, a52, zip, 7z
Atari 7800 roms/A7800 bin, a78, zip, 7z
Inteillivision roms/INTELLI int
ColecoVision roms/COLECO col, cv, bin, rom, zip, 7z
SNK Neo Geo roms/NEOGEO zip, 7z
NEC PC Engine roms/PCE pce, tg16, cue, zip, 7z
NEC PC Engine CD roms/PCECD pce, tg16, cue, chd, zip, 7z
Sony PlayStation roms/PS mdf, zip, pbp, cue, bin, img, ccd, sub, chd
Nintendo Game Boy roms/GB gb, gz, zip, 7z
Nintendo Game Boy Color roms/GBC gbc, zip, 7z
Nintendo Game Boy Advance roms/GBA gba, zip, 7z
Nintendo Game&Watch roms/GW mgw, zip, 7z
SEGA Game Gear roms/GG zip, gg, 7z
Atari Lynx roms/LYNX zip, lnx, 7z
SNK Neo Geo Pocket roms/NGP ngp, ngc, 7z, zip
WonderSwan roms/WSC ws, wsc, zip, 7z
Pokemon Mini roms/POKEMINI min, zip, 7z
Watara Supervision roms/SUPERVISION sv, bin, 7z, zip
Sinclair ZX Spectrum roms/ZX tzx, tap, z80, rzx, scl, trd, dsk, zip, 7z
Amstrad CPC roms/AMSTRAD dsk, sna, tap, cdt, voc, cpr, m3u, zip, 7z
Commodore 64 roms/C64 crt, d64, t64, bin, 7z, zip
MSX roms/MSX rom, ri, mx1, mx2, col, dsk, cas, sg, sc, m3u, zip, 7z
Commodore Amiga roms/AMIGA adf, adz, dms, fdi, ipf, hdf, hdz, lha, slave, info, cue, ccd, nrg, mds, iso, chd, uae, m3u, zip, 7z, rp9
Doom roms/DOOM/DOOM, roms/DOOM/DOOM2 wad, zip, 7z
Quake roms/QUAKE/id1, roms/QUAKE/hipnotic, roms/QUAKE/rogue, roms/QUAKE/dopa pak
Quake2 roms/QUAKE2/baseq2, roms/QUAKE2/rogue, roms/QUAKE2/xatrix, roms/QUAKE2/zaero pak
MS-DOS roms/DOSBOX zip, dosz, exe, com, bat, iso, cue, ins, img, ima, vhd, m3u, m3u8, 7z
ScummVM roms/SCUMMVM svm
Pico8 roms/PICO8 png
TIC80 roms/TIC80 tic, 7z, zip
BBC Micro roms/BBCMICRO ssd, dsd, uef

A contnuación se indican aclaraciones sobre algunos sistemas.

PlayStation

Las ROMs en formato cue+bin no funcionan comprimidas en ZIP. En formato iso en cambio sí se abren cuando se suministran comprimidas en ZIP.

ScummVM

A partir de la versión 1.4, la forma de instalar los juegos para este sistema difiere mucho entre utilizar el core RetroArch o el emulador standalone. Habrá que decantarse desde un principio por uno u otro emulador y proceder como se indica a continuación:

RetroArch

Los juegos ScummVM están compuestos de varios ficheros, por lo que habrá que mantenerlos en directorios. La extensión svm indicada en la lista anterior corresponde a un fichero vacío que tenga como nombre el ID del juego que extraeremos de esta lista y que colocaremos en el directorio donde tengamos el resto de los ficheros del juego. Por ejemplo para el juego "The Secret of Monkey Island" necesitaremos los ficheros que podemos consultar en el wiki de ScummVM. En concreto para este juego vemos que necesitaremos los ficheros MONKEY.000 y MONKEY.001 que colocaremos en un directorio de cualquier nombre dentro del directorio configurado en SimpleMenu (<EXT_SD>/roms/SCUMMVM). Será en este mismo directorio donde tendremos que colocar el fichero vacío svm. Según la lista de compatibilidad de ScummVM, el ID de "The Secret of Monkey Island" es monkey, por lo que el fichero que colocaremos dentro del directorio del juego será monkey.svm. Por último, si queremos que SimpleMenu muestre el nombre completo del juego, sólo tendremos que incorporar una entrada como la siguiente en el fichero de alias de SimpleMenu (/home/media/data/local/.simplemenu/alias.txt):

monkey=The Secret of Monkey Island

Standalone

Este emulador incorpora un sistema de autoinstalación. Para que el sistema funcione tenemos que crear un fichero vacío de nombre detect.svm en la raíz del directorio donde tengamos todos los juegos. En Adán ese directorio será <EXT_SD>/roms/SCUMMVM. Podemos crear el fichero desde el ordenador por ejemplo. Una vez instalado el fichero, arrancaremos la consola y accederemos al sistema ScummVM en SimpleMenu. En el listado de juegos sólo deberíamos ver el fichero recién creado. Ajustaremos el emulador scummvm-2.5.1-gcw0.opk para lanzar ese fichero y lo abriremos. Tras unos segundos volveremos a SimpleMenu donde deberíamos ver correctamente instalados los juegos que teníamos en el directorio de este sistema.

ScummVM autodetect 1

ScummVM autodetect 2

Este sistema de autoinstalación hace dos cosas:

  1. Genera los ficheros .svm que actúan como lanzadores de los juegos y lo hace con nombres largos, por lo que no será necesario actualizar el fichero alias.txt de SimpleMenu como se comentaba en las instrucciones dadas para el core RetroArch de ScummVM.
  2. Genera el fichero .scummvmrc en el directorio home de la partición principal del sistema (en la tarjeta interna), por lo que en caso de volver a instalar la imagen hay que acordarse de respaldar este fichero o repetir el sistema de autoinstalación.

Habrá que acordarse de configurar los juegos que habrán aparecido en el listado para ser lanzados desde el emulador standalone al igual que hicimos con el fichero detect.svm que por cierto ya podremos borrar puesto que ya no será necesario.

Más detalles sobre este proceso aquí gracias a @plaidman.

Quake

Los cuatro directorios configurados en este sistema respetan la estructura necesaria para los distintos Expansion Paks que se describen aquí. Los nombres de los ficheros (pak0.pak, pak1.pak, ...) dentro de los distintos directorios, no se puede cambiar, pero se pueden usar las previews para distinguir unos de otros.

Como los ficheros pak no se pueden renombrar, se confunden entre los distintos juegos y aparecen varios por juego cuando sólo hay que lanzar el pak0.pak. Se ha utilizado un truco comentado por @neilswann80 en la discussion #177 consistente en crear un link al fichero a lanzar que sí podremos renombrar. Los links tienen extensión fbl y es por tanto la extensión configurada en SimpleMenu. Si los directorios de Quake contienen sus correspondientes ficheros pak, los links para los 4 juegos soportados se generan automáticamente cuando la consola es arrancada con la tarjeta externa instalada.

Quake2

Los cuatro directorios en este sistema se corresponden con el juego principal más los 3 mission packs soportados. Hay que respetar además los nombres finales de los directorios donde se mantienen los ficheros .pak. Hay cuatro cores distintos para cada una de las cuatro variantes. Como los nombres de los ficheros que se lanzan son siempre pak0.pak, se ha utilizado la misma técnica descrita en Quake (arriba), es decir se generan links fbl (si los directorios de Quake2 contienen sus correspondientes ficheros pak) para los cuatro juegos soportados y se configura esa extensión en SimpleMenu.

Es necesario ajustar el OPK correspondiente en SimpleMenu o abrir el adecuado en GMenu2X. La correspondencia es como sigue:

Juego Core RetroArch OPK Wrapper Directorio para paks
Quake 2 vitaquake2_libretro.so retroarch_rg350_QUAKE2.opk baseq2
Quake 2 'Ground Zero' mission pack vitaquake2-rogue_libretro.so retroarch_rg350_QUAKE2_rogue.opk rogue
Quake 2 'The Reckoning' mission pack vitaquake2-xatrix_libretro.so retroarch_rg350_QUAKE2_xatrix.opk xatrix
Quake 2 'Zaero' mission pack vitaquake2-zaero_libretro.so retroarch_rg350_QUAKE2_zaero.opk zaero

Se ha utilizado la misma técnica descrita en Quake, es decir se generan links fbl para los cuatro juegos soportados y se configura esa extensión en SimpleMenu.

MAME

En este sistema hay 3 tipos de emuladores distintos, algunos de ellos soportando romsets distintos a su vez. Se indica a continuación la lista de los romsets soportados en cada combinación. Se enlaza al datafile utilizado en cada caso que puede servir para comprobar la compatibilidad de las ROMs:

  • RetroArch core MAME2003: v0.78
  • RetroArch core MAME2003+: v0.78
  • FBA: 0.2.97.44
  • xMAME romset 84: 0.84
  • xMAME romset 69: 0.69
  • xMAME romset 52: 0.37b16, también conocido como 0.52

Ports

Los ports o juegos irán en el directorio /media/sdcard/apps que corresponde con el directorio apps en la raíz de la tarjeta externa. En ese directorio deberemos incorporar los OPKs que internamente deberán estar asociados a la categoría games para que SimpleMenu los muestre en el listado de la sección Applications del grupo Apps & Games.

En cuanto a la disponibilidad de estos ports o juegos, la mayoría de ellos son software libre. Un buen recopilatorio puede encontrarse en la Discussion #191 gracias al esfuerzo de @neilswann80, @JORGETECH y @Juanmote.

Previews

Las previews deberán colocarse en un directorio de nombre .previews dentro de cada uno de los directorios de ROMs del listado anterior. Por ejemplo las previews de las ROMs de GB deberán situarse en roms/GB/.previews siendo esta la ruta desde la raíz de la tarjeta externa cuando la montamos en el PC. Los ficheros de preview tienen que ser PNGs con el mismo nombre del juego (excepto la extensión).

Previews path 1

Previews path 2

Si hemos respetado las rutas indicadas anteriormente, más tarde en SimpleMenu el juego se representará de la siguiente forma:

Previews path 3

BIOS

Todos los emuladores instalados en la imagen (RetroArch incluido) tienen redirigidas las rutas donde deben estar las BIOS al directorio bios en la tarjeta externa. De forma similar al caso de las ROMs, el directorio bios en la raíz de la tarjeta externa, se corresponderá con la ruta /media/sdcard/bios en el sistema de la consola.

No todos los emuladores necesitan BIOS. Es el caso de las máquinas que no la tenían o cuya función se ha podido emular. A continuación se indica el fichero de BIOS que habrá que localizar así como el lugar donde lo deberemos colocar. Para ayudar a identificar los ficheros correctos, se indica en caso de conocerlo su tamaño en bytes y un hash MD5. Se marcan también los casos en que la BIOS es imprescindible para que funcione el emulador. En caso de indicarse que NO, el emulador funcionará, pero se recomienda instalarla de cara a conseguir la mayor compatibilidad de los juegos. Para comprobar los hashes MD5 se recomienda la utilidad multiplataforma Quickhash.

Los tamaños y hashes indicados son de BIOS que se han comprobado funcionales, pero no necesariamente las únicas posibles. Es decir, en algunas máquinas existen varias versiones de BIOS posibles, normalmente por haber existido varios modelos de las máquinas (siendo el caso de la PlayStation uno de los más típicos), o por haber desarrollado alguien BIOS con capacidades mejoradas (aquí el caso típico es el de Neo Geo y su UNIBIOS).

Sistema Ruta Tamaño Hash MD5 ¿Necesaria?
Atari 5200 bios/5200.rom 2048 281f20ea4320404ec820fb7ec0693b38
Atari 7800 bios/7800 BIOS (U).rom 0763f1ffb006ddbe32e52d497ee848ae No
SEGACD bios/bios_CD_E.bin 131072 e66fa1dc5820d254611fdcdba0662372
SEGACD bios/bios_CD_J.bin 131072 278a9397d192149e84e820ac621a8edd
SEGACD bios/bios_CD_U.bin 131072 854b9150240a198070150e4566ae1290
Intellivision bios/exec.bin 8192 62e761035cb657903761800f4437b8af
Intellivision bios/grom.bin 2048 0cd5946c6473e42e8e4c2137785e427f
PC Engine CD bios/syscard3.pce 262144 390815d3d1a184a9e73adc91ba55f2bb
Commodore Amiga bios/kick34005.A500 262144 82a21c1890cae844b3df741f2762d48d Sí para Amiga 500 (core RA o uae4all standalone)
Commodore Amiga bios/kick37175.A500 524288 dc10d7bdd1b6f450773dfb558477c230 Sí para Amiga 500+
Commodore Amiga bios/kick40063.A600 524288 e40a5dfb3d017ba8779faba30cbd1c8e Sí para Amiga 600
Commodore Amiga bios/kick40068.A1200 524288 646773759326fbac3b2311fd8c8793ee Sí para Amiga 1200
Commodore Amiga bios/kick40060.CD32 524288 5f8924d013dd57a89cf349f4cdedc6b1 No
Commodore Amiga bios/kick40060.CD32.ext 524288 bb72565701b1b6faece07d68ea5da639 No
Atari Lynx bios/lynxboot.img 512 fcd403db69f54290b51035d82f835e7b
Phillips Videopac bios/o2rom.bin 1024 562d5ebf9e030a40d6fabfc2f33139fd
SNK Neo Geo roms/NEOGEO/neogeo.zip
Nintendo GBA bios/gba_bios.bin 16384 a860e8c0b6d573d191e4ec7db1b1e4f6 No, aunque recomendable
PlayStation bios/SCPH1001.BIN 524288 924e392ed05558ffdb115408c263dccf Sí ya que en la configuración de PCSX4All se ha deshabilitado la BIOS HLE
Nintendo GB bios/gb_bios.bin 256 32fbbd84168d3482956eb3c5051637f5 No
Nintendo GBC bios/gbc_bios.bin 2304 dbfce9db9deaa2567f6a84fde55f9680 No
Pokemon Mini bios/bios.min 4096 1e4fb124a3a886865acb574f388c803d
MSX (BlueMSX) bios/Machines/
MSX (fMSX) bios/MSX.ROM 32768 364a1a579fe5cb8dba54519bcfcdac0d Sí para MSX
MSX (fMSX) bios/MSX2.ROM ec3a01c91f24fbddcbcab0ad301bc9ef Sí para MSX2
MSX (fMSX) bios/MSX2EXT.ROM 2183c2aff17cf4297bdb496de78c2e8a Sí para MSX2
MSX (fMSX) bios/MSX2P.ROM 32768 847cc025ffae665487940ff2639540e5 Sí para MSX2+
MSX (fMSX) bios/MSX2PEXT.ROM 16384 7c8243c71d8f143b2531f01afa6a05dc Sí para MSX2+
BBC Micro bios/acorn_dnfs 16384 5daed103918277e2065dd7e8d23e57a5
BBC Micro bios/basic 16384 2cc67be4624df4dc66617742571a8e3d
BBC Micro bios/os12 16384 0a59a5ba15fe8557b5f7fee32bbd393a
Famicom Disk System bios/disksys.rom 8192 ca30b50f880eb660a320674ed365ef7a
ColecoVision bios/colecovision.rom 8192 2c66f5911e5b42b8ebe113403548eee7 Sí con core gearcoleco_libretro de RA; No con standalone ColecoD

Trucos

RetroArch lleva integrado un sistema de trucos en base a una serie de ficheros que se pueden obtener de este repositorio. En la imagen, el directorio donde tenemos que colocar los ficheros, se ha redirigido a la tarjeta externa, al igual que con las ROMs y BIOS. En concreto al directorio cheats de la raíz de la tarjeta externa.

Vamos a detallar el proceso utilizando como ejemplo el juego Adventure Island de Game Boy:

  1. Buscaremos el fichero correspondiente en el repositorio. En concreto para este juego el fichero es éste.

  2. Lo copiaremos al directorio cheats en la raíz de la tarjeta EXT. En realidad lo más lógico es copiar colecciones completas de sistemas manteniendo la estructura de directorios que vemos en el repositorio.

  3. Una vez arrancada la consola con la tarjeta EXT en su lugar, abriremos el juego con RetroArch.

  4. Accedemos al menú de RetroArch (Select + X o Power).

  5. Seguimos la ruta: Quick Menu > Cheats > Load Cheat File (Replace).

  6. Aparecerá un explorador de archivos que mostrará el contenido de la carpeta cheats de la tarjeta EXT. Localizamos el fichero correspondiente al juego y lo seleccionamos.

    Cheats 1

  7. Volveremos a la pantalla de Cheats donde veremos que la parte inferior se ha cargado con los trucos. Allí podremos ajustar los que deseemos (el ajuste rápido se hace con las teclas izquierda/derecha de la cruceta).

  8. Finalmente aplicamos con Apply Changes.

    Cheats 2

  9. Si queremos que los ajustes de trucos que hemos hecho se apliquen entre distintas sesiones de juego, tendremos que hacer un override para el juego.

Instrucciones obtenidas de esta guía de Retro Game Corps.

PCSX4All también soporta un sistema de trucos. Al igual que en RetroArch, el directorio donde tenemos que colocar los ficheros, se ha redirigido a la tarjeta externa. En concreto al directorio cheats/PlayStation de la raíz de la tarjeta externa. Hay que tener en cuenta que los trucos para PCSX4All no tienen el mismo formato que los que hay para Sony - PlayStation en el repositorio que hemos indicado antes para obtener trucos para RetroArch.