-
Notifications
You must be signed in to change notification settings - Fork 36
Es: 3. Instalación de contenidos
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.
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.
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ónDisk Utility
, debería aparecer la tarjeta SD. Haz click con el botón derecho sobre ella, seleccionaRename
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.
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.
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.
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.
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:
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
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.
Este sistema de autoinstalación hace dos cosas:
- 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 ficheroalias.txt
de SimpleMenu como se comentaba en las instrucciones dadas para el core RetroArch de ScummVM. - 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.
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.
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.
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
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.
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).
Si hemos respetado las rutas indicadas anteriormente, más tarde en SimpleMenu el juego se representará de la siguiente forma:
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 |
Sí |
Atari 7800 | bios/7800 BIOS (U).rom | 0763f1ffb006ddbe32e52d497ee848ae |
No | |
SEGACD | bios/bios_CD_E.bin | 131072 | e66fa1dc5820d254611fdcdba0662372 |
Sí |
SEGACD | bios/bios_CD_J.bin | 131072 | 278a9397d192149e84e820ac621a8edd |
Sí |
SEGACD | bios/bios_CD_U.bin | 131072 | 854b9150240a198070150e4566ae1290 |
Sí |
Intellivision | bios/exec.bin | 8192 | 62e761035cb657903761800f4437b8af |
Sí |
Intellivision | bios/grom.bin | 2048 | 0cd5946c6473e42e8e4c2137785e427f |
Sí |
PC Engine CD | bios/syscard3.pce | 262144 | 390815d3d1a184a9e73adc91ba55f2bb |
Sí |
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 |
Sí |
Phillips Videopac | bios/o2rom.bin | 1024 | 562d5ebf9e030a40d6fabfc2f33139fd |
Sí |
SNK Neo Geo | roms/NEOGEO/neogeo.zip | Sí | ||
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 |
Sí |
MSX (BlueMSX) | bios/Machines/ | Sí | ||
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 |
Sí |
BBC Micro | bios/basic | 16384 | 2cc67be4624df4dc66617742571a8e3d |
Sí |
BBC Micro | bios/os12 | 16384 | 0a59a5ba15fe8557b5f7fee32bbd393a |
Sí |
Famicom Disk System | bios/disksys.rom | 8192 | ca30b50f880eb660a320674ed365ef7a |
Sí |
ColecoVision | bios/colecovision.rom | 8192 | 2c66f5911e5b42b8ebe113403548eee7 |
Sí con core gearcoleco_libretro de RA; No con standalone ColecoD |
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:
-
Buscaremos el fichero correspondiente en el repositorio. En concreto para este juego el fichero es éste.
-
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. -
Una vez arrancada la consola con la tarjeta EXT en su lugar, abriremos el juego con RetroArch.
-
Accedemos al menú de RetroArch (
Select + X
oPower
). -
Seguimos la ruta:
Quick Menu > Cheats > Load Cheat File (Replace)
. -
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. -
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).
-
Finalmente aplicamos con
Apply Changes
. -
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.