-
Notifications
You must be signed in to change notification settings - Fork 36
En: 3. Content installation
The card that we have just prepared is empty of contents. It only contains the OpenDingux system, the SimpleMenu frontend, the RetroArch cores, and a few standalone emulators. All the configuration has been done with the idea that the contents are provided from the card that we will place in the slot marked with EXT.
Before continuing, we will make a brief comment on the legal considerations of installing such contents. The matter is complex. If you are interested, a good article is this Retro Game Corps post. Although there are few legal precedents on the subject, the problem primarily affects BIOS and ROMs. In a simplified way, it is usually considered that we can handle the ROMs of the games and the BIOS of the machines that we own. Actually it is more of a rule based on common sense, since as we say, there are few legal sentences on the subject and of course the opinion of the different participants in the industry is not consistent.
For all the preconfigured paths in the setup to work, the external microSD card needs to be in FAT32 format and NOT have label defined. In case of having a label, it will have to be removed.
In Windows we can do it from the Properties box of the unit where the external card is mounted. Click on the following thumbnail to see a small video.
In Linux it can be done by executing the following command from a terminal (in the example the device /dev/mmcblk0p1
has been used, but it will have to be replaced by the one that corresponds in our case):
sudo fatlabel /dev/mmcblk0p1 -r
If you have a Mac, for now the best option is the one described in the Retro Game Corps Starter Guide, contributed by @Asppire and which is transcribed below:
“Erase” the disk using the Mac’s built-in Disk Utility app, with the format MS-DOS (FAT), name it whatever you want. Then, on the left side of the Disk Utility app you should see the SD card. Right-click on it and select “Rename” and now delete the name and just press the SPACE bar once so that the name looks blank. On the device, it will register as being blank and work appropriately.
The SimpleMenu frontend has been configured with a series of predefined paths where it will try to locate the ROMs and graphical previews. These routes will be created on the EXT card each time the system boots (if they do not exist). This process will only work if, as we said in the previous section, the card format is FAT32 and it does NOT have a label. If we do not want to modify the SimpleMenu configuration, we will have to stick to these paths. In the table below, the name of the directory that will have to exist on the external card when we mount it on the PC is indicated in the second column. For example, in the following screenshot the ROMs directory of the Game Boy system is selected, which as we can see, is located next to all the others within the roms
folder at the root of the card.
The above path on the PC will correspond to /media/sdcard/roms
on the console system, once the card is in the console and the system has booted. In case of modifying the SimpleMenu configuration, or manually opening the emulators from GMenu2X, this will be the kind of path that we will use (/media/sdcard/roms/GB
for Game Boy for instance).
Below is the table of the systems configured in SimpleMenu with the paths where we must place the ROMs and the supported extensions.
System | Paths | Supported extensions |
---|---|---|
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 |
Intellivision | roms/INTELLI | int |
ColecoVision | roms/COLECO | col, cv, bin, rom, zip, 7z (standalone emulator only supports col extension) |
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 | Vice: crt, d64, t64, bin, 7z, zip; Frodo: d64, t64, x64, p00, lnx, 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 (standalone emulator only supports adf extension) |
Doom | roms/DOOM/DOOM, roms/DOOM/DOOM2 | wad, zip, 7z |
Quake | roms/QUAKE/id1, roms/QUAKE/hipnotic, roms/QUAKE/rogue, roms/QUAKE/dopa | pak |
Quake II | 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 |
Clarifications on some systems are indicated below.
ROMs in cue+bin
format do not work compressed in ZIP. On the contrary, in iso
format, they do open when they are supplied compressed in ZIP.
From version 1.4, the way to install the games for this system differs a lot between using the RetroArch core or the standalone emulator. It will be necessary to opt for one or the other emulator from the beginning and proceed as indicated below:
ScummVM games are made up of several files, so they will have to be kept in directories. The extension svm
indicated in the former list corresponds to an empty file whose name is the ID of the game that we will extract from this list and that we will place in the directory where we have the rest of the game files. For example, for the game "The Secret of Monkey Island" we will need the files that we can consult in the ScummVM wiki. Specifically for this game we see that we will need the files MONKEY.000
and MONKEY.001
that we will place in a directory of any name within the directory configured in SimpleMenu (<EXT_SD>/roms/SCUMMVM
). It will be in this same directory where we will have to place the empty file svm
. According to the ScummVM compatibility list, the ID of "The Secret of Monkey Island" is monkey
, so the file that we will place inside the game directory will be monkey.svm
. Finally, if we want SimpleMenu to show the full name of the game, we will only have to incorporate an entry like the following in the SimpleMenu alias file (/home/media/data/local/.simplemenu/alias.txt
):
monkey=The Secret of Monkey Island
This emulator incorporates a self-installation system. For the system to work we have to create an empty file named detect.svm
in the root of the directory where we have all the games. In Adam that directory will be <EXT_SD>/roms/SCUMMVM
. We can create the file from the computer for example. Once the file is installed, we will start the console and access the ScummVM system in SimpleMenu. In the list of games we should only see the newly created file. We'll set the emulator scummvm-2.5.1-gcw0.opk
to launch that file and open it. After a few seconds we will return to SimpleMenu where we should see the games that we had in the directory of this system correctly installed.
This self-install system does two things:
- It generates the
.svm
files that act as game launchers and it does so with long names, so it will not be necessary to update the SimpleMenualias.txt
file as commented in the instructions given for the ScummVM RetroArch core. - It generates the
.scummvmrc
file in the home directory of the main system partition (on the internal card), so if you reinstall the image you have to remember to back up this file or repeat the auto-install system.
We will have to remember to configure the games that will have appeared in the list to be launched from the standalone emulator, just as we did with the detect.svm
file, which by the way we can already delete since it will no longer be necessary.
More details about this process here thanks to @plaidman.
The four directories configured in this system respect the structure necessary for the different Expansion Paks that are described here. The names of the files (pak0.pak
, pak1.pak
, ...) within the different directories cannot be changed, although previews could be used to distinguish one from the other.
Since pak
files cannot be renamed, they get confused between different games and several appear per game when only pak0.pak
needs to be launched. A trick commented by @neilswann80 in discussion #177 is applied consisting of creating a link to the file to launch that we can rename. Links have the fbl
extension and is therefore the extension configured in SimpleMenu. If the Quake directories are populated with their corresponding pak
files the links for the 4 supported games are automatically generated when the console is booted with the external card installed.
The four directories in this system correspond to the main game plus the 3 supported mission packs. You must also respect the final names of the directories where the .pak
files are kept. There are four different cores for each of the four variants. Since the names of the files to launch are always pak0.pak
, the same technique described for Quake (above) has been used, that is, fbl
links are generated (if the Quake2 directories are populated with their corresponding pak
files) for the four supported games and that extension is configured in SimpleMenu.
You need to set the corresponding OPK in SimpleMenu or open the appropriate one in GMenu2X. The correspondence is as follows:
Game | RetroArch core | OPK Wrapper | Directory for 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 |
In this system there are 3 different types of emulators, some of them supporting different romsets in turn. The list of romsets supported in each combination is indicated below, with a link to the datafile used in each case that can be used to check the compatibility of the 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, a.k.a. 0.52
The ports or games will go in the directory /media/sdcard/apps
which corresponds to the apps
directory in the root of the EXT card. In that directory we must incorporate the OPKs that internally must be associated to the games
category for SimpleMenu to show them in the list of the Applications
section of the Apps & Games
group.
As for the availability of these ports or games, most of them are free software. A good compilation can be found here thanks to the efforts of @neilswann80, @a-dekker, @JORGETECH and @Juanmote.
The previews should be placed in a directory with name .previews
within each of the ROM directories in the previous list. For example, the previews of GB should be located in roms/GB/.previews
, this being the path from the root of the external card when mounted in the PC. The preview files have to be PNGs with the same name as the game (except for the extension).
If we have followed the paths indicated above, later in SimpleMenu the game will be represented as follows:
All the emulators installed in the image (RetroArch included) have redirected the paths where the BIOS should be to the bios
directory on the external card. Similar to the case of ROMs, the bios
directory at the root of the external card will correspond to the path /media/sdcard/bios
on the console system.
Not all emulators need BIOS. This is the case of machines that did not have it or whose function has been emulated. The following is the BIOS file name and path where we will have to install it. To help identify the correct files, its size in bytes and an MD5 hash are indicated if it is known. The cases in which the BIOS is essential for the emulator to work are also marked. If 'NO' is indicated, the emulator will work, but still it is recommended to install the BIOS in order to achieve the best compatibility. To check MD5 hashes, the cross-platform utility Quickhash is recommended.
The sizes and hashes indicated are from BIOS that have been proven functional, but not necessarily the only possible ones. That is, in some machines there are several possible BIOS versions, usually because there have been several models of the machines (the case of the PlayStation being one of the most typical), or because someone has developed BIOS with improved capabilities (here the typical example is that of Neo Geo and his UNIBIOS).
System | Path | Size | MD5 hash | Needed? |
---|---|---|---|---|
Atari 5200 | bios/5200.rom | 2048 | 281f20ea4320404ec820fb7ec0693b38 |
Yes |
Atari 7800 | bios/7800 BIOS (U).rom | 0763f1ffb006ddbe32e52d497ee848ae |
No | |
SEGACD | bios/bios_CD_E.bin | 131072 | e66fa1dc5820d254611fdcdba0662372 |
Yes |
SEGACD | bios/bios_CD_J.bin | 131072 | 278a9397d192149e84e820ac621a8edd |
Yes |
SEGACD | bios/bios_CD_U.bin | 131072 | 854b9150240a198070150e4566ae1290 |
Yes |
Intellivision | bios/exec.bin | 8192 | 62e761035cb657903761800f4437b8af |
Yes |
Intellivision | bios/grom.bin | 2048 | 0cd5946c6473e42e8e4c2137785e427f |
Yes |
PC Engine CD | bios/syscard3.pce | 262144 | 38179df8f4ac870017db21ebcbf53114 |
Yes |
Commodore Amiga | bios/kick34005.A500 | 262144 | 82a21c1890cae844b3df741f2762d48d |
Yes on Amiga 500 (RA core or standalone uae4all) |
Commodore Amiga | bios/kick37175.A500 | 524288 | dc10d7bdd1b6f450773dfb558477c230 |
Yes on Amiga 500+ |
Commodore Amiga | bios/kick40063.A600 | 524288 | e40a5dfb3d017ba8779faba30cbd1c8e |
Yes on Amiga 600 |
Commodore Amiga | bios/kick40068.A1200 | 524288 | 646773759326fbac3b2311fd8c8793ee |
Yes on 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 |
Yes |
Phillips Videopac | bios/o2rom.bin | 1024 | 562d5ebf9e030a40d6fabfc2f33139fd |
Yes |
SNK Neo Geo | roms/NEOGEO/neogeo.zip | Yes | ||
Nintendo GBA | bios/gba_bios.bin | 16384 | a860e8c0b6d573d191e4ec7db1b1e4f6 |
No, although recommended |
PlayStation | bios/SCPH1001.BIN | 524288 | 924e392ed05558ffdb115408c263dccf |
Yes, since the HLE BIOS has been disabled in the PCSX4All configuration |
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 |
Yes |
MSX (BlueMSX) | bios/Machines/ | Yes | ||
MSX (fMSX) | bios/MSX.ROM | 32768 | 364a1a579fe5cb8dba54519bcfcdac0d |
Yes on MSX |
MSX (fMSX) | bios/MSX2.ROM | ec3a01c91f24fbddcbcab0ad301bc9ef |
Yes on MSX2 | |
MSX (fMSX) | bios/MSX2EXT.ROM | 2183c2aff17cf4297bdb496de78c2e8a |
Yes on MSX2 | |
MSX (fMSX) | bios/MSX2P.ROM | 32768 | 847cc025ffae665487940ff2639540e5 |
Yes on MSX2+ |
MSX (fMSX) | bios/MSX2PEXT.ROM | 16384 | 7c8243c71d8f143b2531f01afa6a05dc |
Yes on MSX2+ |
BBC Micro | bios/acorn_dnfs | 16384 | 5daed103918277e2065dd7e8d23e57a5 |
Yes |
BBC Micro | bios/basic | 16384 | 2cc67be4624df4dc66617742571a8e3d |
Yes |
BBC Micro | bios/os12 | 16384 | 0a59a5ba15fe8557b5f7fee32bbd393a |
Yes |
Famicom Disk System | bios/disksys.rom | 8192 | ca30b50f880eb660a320674ed365ef7a |
Yes |
ColecoVision | bios/colecovision.rom | 8192 | 2c66f5911e5b42b8ebe113403548eee7 |
Yes with gearcoleco_libretro RA core; No with standalone ColecoD |
RetroArch has a built-in cheat system based on a series of files that can be obtained from this repository. In the image, the directory where we have to place the files has been redirected to the EXT card, as with the ROMs and BIOS. Specifically to the cheats
directory at the root of the EXT card.
We are going to detail the process using the Game Boy game Adventure Island
as an example:
-
We will look for the corresponding file in the repository. Specifically for this game the file is this.
-
We will copy it to the
cheats
directory at the root of the EXT card. Actually, the most logical thing is to copy complete collections of systems, keeping the directory structure that we see in the repository. -
Once the console is booted with the EXT card in place, we will open the game with RetroArch.
-
We access the RetroArch menu (
Select + X
orPower
). -
We follow the route:
Quick Menu > Cheats > Load Cheat File (Replace)
. -
A file browser will appear showing the contents of the
cheats
folder on the EXT card. We locate the file corresponding to the game and select it. -
We will return to the Cheats screen where we will see that the bottom part has been loaded with the cheats. There we can adjust the ones we want (quick adjustment is done with the left/right keys).
-
Finally we select
Apply Changes
. -
If we want the cheat settings we have made to apply between different game sessions, we will have to make an override to the game.
More details on this guide by Retro Game Corps.
PCSX4All also supports a cheat system. As in RetroArch, the directory where we have to place the files has been redirected to the external card. Specifically to the cheats/PlayStation
directory at the root of the external card. Keep in mind that the cheats for PCSX4All do not have the same format as those for Sony - PlayStation
in the repository that we have indicated before to get cheats for RetroArch.