Added support for %COREPATH% variable and reverted to a single Unix es_systems.cfg template file.

This commit is contained in:
Leon Styhre 2020-12-15 18:42:38 +01:00
parent e752904ab1
commit 024e073e86
15 changed files with 248 additions and 3501 deletions

View file

@ -12,9 +12,7 @@ Work is also needed to get ES-DE into the repositories of the various supported
Regarding testing, it's impossible for me to test every game system as rbsimple-DE has support for more than a 100 different systems. There could be issues with the configuration template files, or within ES itself. So more testing is needed!
In general, a thorough review of [es_systems.cfg_linux](resources/templates/es_systems.cfg_linux), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows) would be great!
To a lesser extent, a review would also be needed of [es_systems.cfg_freebsd](resources/templates/es_systems.cfg_freebsd), [es_systems.cfg_netbsd](resources/templates/es_systems.cfg_netbsd) and [es_systems.cfg_openbsd](resources/templates/es_systems.cfg_openbsd) but these are really minority systems and mostly a copy of the Linux templates with modified paths to the RetroArch cores.
In general, a thorough review of [es_systems.cfg_unix](resources/templates/es_systems.cfg_unix), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows) would be great!
As for rbsimple-DE there are quite some missing graphic files and other customizations for a number of game systems. Check out [MISSING.md](themes/rbsimple-DE/MISSING.md) for more details of what needs to be added or updated.

View file

@ -1029,11 +1029,15 @@ Here's an overview of the file layout:
<extension>.smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP</extension>
<!-- The command executed when a game is launched. A few special variables are replaced if found in a command, like %ROM% (see below).
This example for Unix would run RetroArch with the the snes9x_libretro core.
This example for Unix would run RetroArch with the the snes9x_libretro core, using an absolute path to the core.
If there are spaces in the path or file name, you must enclose them in quotation marks, for example:
retroarch -L "~/my configs/retroarch/cores/snes9x_libretro.so" %ROM% -->
<command>retroarch -L ~/.config/retroarch/cores/snes9x_libretro.so %ROM%</command>
<!-- This example for Unix searches the pre-configured core directories for the snes9x_libretro RetroArch core, see more info about this below.
Spaces are not allowed in the core file names. -->
<command>retroarch -L %COREPATH%/snes9x_libretro.so %ROM%</command>
<!-- This is an example for macOS. It uses the %EMUPATH% variable to point to the RetroArch cores relative to the emulator binary.
As there is a somehow standardized installation structure for this operating system, an absolute path is defined for the emulator. -->
<command>/Applications/RetroArch.app/Contents/MacOS/RetroArch -L %EMUPATH%/../Resources/cores/snes9x_libretro.dylib %ROM%</command>
@ -1070,6 +1074,8 @@ The following variables are expanded by ES for the `command` tag:
`%BASENAME%` - Replaced with the "base" name of the path to the selected ROM. For example, a path of `/foo/bar.rom`, this tag would be `bar`. This tag is useful for setting up AdvanceMAME.
`%COREPATH%` - The core file defined after this variable will be searched in each of the directories listed in the setting EmulatorCorePath (in es_settings.cfg). This is done until the first match occurs, or until the last directory is exhausted and no core file was found. This makes it possible to create a more general es_systems.cfg file but still support the variation between different operating systems and different types of emulator installations (e.g. installed via the OS repository, via Snap, compiled from source etc.). This is primarily intended for Unix as well as for RetroArch but it can also be used on macOS and Windows and for other emulators that utilizes discrete emulator cores. For macOS and Windows the EmulatorCorePath setting is blank by default, and for Unix it's set to the following value: `~/.config/retroarch/cores:~/snap/retroarch/current/.config/retroarch/cores:/usr/lib/x86_64-linux-gnu/libretro:/usr/lib64/libretro:/usr/lib/libretro:/usr/local/lib/libretro:/usr/pkg/lib/libretro`. Note that colons are used to separate the directories. This path setting can be changed from within the GUI, as described in the [User Guide](USERGUIDE.md#other-settings-1). Never use quotation marks around the directories for this setting. It's strongly adviced to not add spaces to directory names, but if still done, ES-DE will handle this automatically by adding the appropriate quotation marks to the launch command.
`%ROM_RAW%` - Replaced with the unescaped, absolute path to the selected ROM. If your emulator is picky about paths, you might want to use this instead of %ROM%, but enclosed in quotes.
`%EMUPATH%` - Replaced with the path to the emulator binary. This is expanded either using the PATH environmental variable of the operating system, or if an absolute emulator path is defined, this will be used instead. This variable is mostly useful to define the emulator core path for Windows, as this operating system does not have a standardized program installation directory structure.
@ -1078,7 +1084,7 @@ The following variables are expanded by ES for the `command` tag:
For the `path` tag, the following variable is expanded by ES:
`%ROMPATH%` - Replaced with the path defined for the setting ROMDirectory in `es_settings.cfg`.
`%ROMPATH%` - Replaced with the path defined for the setting ROMDirectory in es_settings.cfg.
## gamelist.xml

View file

@ -42,7 +42,8 @@ Many bugs have been fixed, and numerous features that were only partially implem
* Added multiple animations and shader effects, such as when opening menus, playing videos in the gamelists and via the screensaver etc.
* Seamless (almost) launch of games without showing the desktop when starting and when returning from RetroArch and other emulators
* Per-game launch command override, so that different cores or emulators can be used on a per-game basis (saved to gamelist.xml)
* Core location can be defined relative to the emulator binary using the %EMUPATH% variable in es_systems.cfg (mostly useful for Windows)
* The emulator core location can be defined relative to the emulator binary using the %EMUPATH% variable in es_systems.cfg (mostly useful on Windows)
* Core locations can be searched in a configurable list of directories and used in the es_systems.cfg file through the %COREPATH% variable (mostly useful on Unix where there are no standardized core directories)
* Properly implemented the option to show or hide hidden files and folders
* Properly implemented the option to show or hide games flagged as hidden in the metadata editor
* Custom event scripts can now be enabled or disabled with a menu option

View file

@ -214,9 +214,9 @@ For some systems though, a more elaborate setup is required, and we will attempt
Let's start with the simple scenario of a single ROM game file per platform, which is the case for the majority of systems. In this example we're setting up ES-DE to play Nintendo Entertainment System games.
The supported file extensions are listed in [es_systems.cfg_linux](resources/templates/es_systems.cfg_linux), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows).
The supported file extensions are listed in [es_systems.cfg_unix](resources/templates/es_systems.cfg_unix), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows).
Here is the snippet from the es_systems.cfg_linux file:
Here is the snippet from the es_systems.cfg_unix file:
```
<system>
@ -224,7 +224,7 @@ Here is the snippet from the es_systems.cfg_linux file:
<fullname>Nintendo Entertainment System</fullname>
<path>%ROMPATH%/nes</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L ~/.config/retroarch/cores/fceumm_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/nestopia_libretro.so %ROM%</command>
<platform>nes</platform>
<theme>nes</theme>
</system>
@ -258,7 +258,7 @@ Then simply copy your game ROMs into this folder, and you should end up with som
**Note: These directories are case sensitive on Unix, so creating a directory named _NES_ instead of _nes_ won't work!**
That's it, start ES-DE and the NES game system should be populated. You can now scrape game information and media for the games, and assuming you've setup RetroArch correctly with the FCEUmm core, you can launch the games.
That's it, start ES-DE and the NES game system should be populated. You can now scrape game information and media for the games, and assuming you've setup RetroArch correctly with the Nestopia UE core, you can launch the games.
### Multiple gamefiles installation
@ -902,6 +902,10 @@ The metadata for a game is updated both by scraping and modifying data in the me
Here you can override the directory to your game media, i.e. the game images and videos. The default location is "~/.emulationstation/downloaded_media".
**Emulator core path**
This setting defines the path for which to search for emulator cores. This is used by the variable %COREPATH% which can be defined in the systems configuration file es_systems.cfg. By default this variable and corresponding setting is only used on Unix. For macOS and Windows it's not included in the es_systems.cfg template and the default core path value is therefore set to blank. If required for special setups it can be used for these operating systems, but the primary use is on Unix where the core path may vary depending on the operating system, how the emulator was packaged etc. For example the default RetroArch core directory is ~/.config/retroarch/cores but if installed as a Snap package or as part of the OS repository the cores could be stored elsewhere. The setting is primarily intended for RetroArch but it can be used for any emulator that utilizes discrete emulator cores. When attempting to launch a game, the core for the game system will be searched in each of the defined directories until the first match occurs. Multiple directories can be defined by separating them using colons. Please see [INSTALL.md](INSTALL.md#es_systemscfg) for more information about this.
**Per game launch command override**
If enabled, you can override the launch command defined in es_systems.cfg on a per-game basis. It's only recommended to disable this option for testing purposes, such as when a game won't start and you're unsure if it's your custom launch command that causes the problem.
@ -1277,7 +1281,7 @@ Sometimes the name of the console is (more or less) the same for multiple region
The **Default emulator** column shows the emulator configured in es_systems.cfg, and for emulators that support multiple cores, the configured core is shown inside the brackets.
For additional details regarding which game file extensions are supported per system, refer to the **es_systems.cfg** templates [es_systems.cfg_linux](resources/templates/es_systems.cfg_linux), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows). Normally the extensions setup in these files should cover everything that the emulators support though.
For additional details regarding which game file extensions are supported per system, refer to the **es_systems.cfg** templates [es_systems.cfg_unix](resources/templates/es_systems.cfg_unix), [es_systems.cfg_macos](resources/templates/es_systems.cfg_macos) and [es_systems.cfg_windows](resources/templates/es_systems.cfg_windows). Normally the extensions setup in these files should cover everything that the emulators support though.
| Game system name | Full name | Default emulator | Recommended game setup |
@ -1316,7 +1320,7 @@ For additional details regarding which game file extensions are supported per sy
| dos | DOS (PC) | RetroArch (DOSBox-core) | In separate folder (one folder per game, with complete file structure retained) |
| dragon32 | Dragon 32 | | |
| dreamcast | Sega Dreamcast | | |
| famicom | Nintendo Family Computer | RetroArch (FCEUmm) | Single archive or ROM file in root folder |
| famicom | Nintendo Family Computer | RetroArch (Nestopia UE) | Single archive or ROM file in root folder |
| fba | Final Burn Alpha | | Single archive file following MAME name standard |
| fbneo | FinalBurn Neo | | Single archive file following MAME name standard |
| fds | Nintendo Famicom Disk System | RetroArch (Nestopia UE) | Single archive or ROM file in root folder |
@ -1352,7 +1356,7 @@ For additional details regarding which game file extensions are supported per sy
| nds | Nintendo DS | | |
| neogeo | Neo Geo | RetroArch (FinalBurn Neo) | Single archive file following MAME name standard |
| neogeocd | Neo Geo CD | | |
| nes | Nintendo Entertainment System | RetroArch (FCEUmm) | Single archive or ROM file in root folder |
| nes | Nintendo Entertainment System | RetroArch (Nestopia UE) | Single archive or ROM file in root folder |
| ngp | Neo Geo Pocket | | |
| ngpc | Neo Geo Pocket Color | | |
| odyssey2 | Magnavox Odyssey2 | | |

View file

@ -752,6 +752,7 @@ void FileData::launchGame(Window* window)
const std::string basename = Utils::FileSystem::getStem(getPath());
const std::string rom_raw = Utils::FileSystem::getPreferredPath(getPath());
const std::string emupath = Utils::FileSystem::getExePath();
const std::string emulatorCorePath = Settings::getInstance()->getString("EmulatorCorePath");
command = Utils::String::replace(command, "%ROM%", rom);
command = Utils::String::replace(command, "%BASENAME%", basename);
@ -765,6 +766,64 @@ void FileData::launchGame(Window* window)
std::wstring commandWide = Utils::String::stringToWideString(command);
#endif
// If %COREPATH% is used in es_systems.cfg for this system, try to find the emulator
// core using the core paths defined in the setting EmulatorCorePath.
auto corePos = command.find("%COREPATH%");
if (corePos != std::string::npos && emulatorCorePath.size() > 0) {
std::string coreName;
bool foundCoreFile = false;
std::vector<std::string> corePaths =
Utils::String::delimitedStringToVector(emulatorCorePath, ":");
auto spacePos = command.find(" ", corePos);
if (spacePos != std::string::npos) {
coreName = command.substr(corePos + 10, spacePos - corePos - 10);
for (auto path : corePaths) {
bool pathHasSpaces = false;
if (path.find(" ") != std::string::npos)
pathHasSpaces = true;
std::string coreFile = Utils::FileSystem::expandHomePath(path + coreName);
if (Utils::FileSystem::isRegularFile(coreFile) ||
Utils::FileSystem::isSymlink(coreFile)) {
foundCoreFile = true;
if (pathHasSpaces)
command.replace(corePos, spacePos - corePos, "\"" + coreFile + "\"");
else
command.replace(corePos, spacePos - corePos, coreFile);
break;
}
}
}
else {
LOG(LogError) << "Invalid entry in systems configuration file es_systems.cfg.";
LOG(LogError) << "Raw emulator launch command:";
LOG(LogError) << commandRaw;
GuiInfoPopup* s = new GuiInfoPopup(window, "ERROR: INVALID ENTRY IN SYSTEMS " \
"CONFIGURATION FILE", 6000);
window->setInfoPopup(s);
return;
}
if (!foundCoreFile && coreName.size() > 0) {
LOG(LogError) << "Couldn't launch game, emulator core file '" <<
coreName.substr(1, coreName.size() - 1) << "' does not exist.";
LOG(LogError) << "Raw emulator launch command:";
LOG(LogError) << commandRaw;
GuiInfoPopup* s = new GuiInfoPopup(window, "ERROR: COULDN'T FIND EMULATOR CORE FILE '" +
Utils::String::toUpper(coreName.substr(1, coreName.size() - 1) + "'"), 6000);
window->setInfoPopup(s);
return;
}
}
else if (corePos != std::string::npos) {
LOG(LogError) << "The variable %COREPATH% is used in es_systems.cfg but " \
"no paths are defined in the setting EmulatorCorePath.";
GuiInfoPopup* s = new GuiInfoPopup(window, "ERROR: NO CORE PATHS CONFIGURED, " \
"CAN'T LOCATE EMULATOR CORE", 6000);
window->setInfoPopup(s);
return;
}
Scripting::fireEvent("game-start", rom, getSourceFileData()->metadata.get("name"));
int returnValue = 0;

View file

@ -390,19 +390,9 @@ bool SystemData::copyConfigTemplate(const std::string& path)
#elif defined(__APPLE__)
systemsTemplateFile = ResourceManager::getInstance()->
getResourcePath(":/templates/es_systems.cfg_macos", false);
#elif defined(__FreeBSD__)
systemsTemplateFile = ResourceManager::getInstance()->
getResourcePath(":/templates/es_systems.cfg_freebsd", false);
#elif defined(__NetBSD__)
systemsTemplateFile = ResourceManager::getInstance()->
getResourcePath(":/templates/es_systems.cfg_netbsd", false);
#elif defined(__OpenBSD__)
systemsTemplateFile = ResourceManager::getInstance()->
getResourcePath(":/templates/es_systems.cfg_openbsd", false);
#else
// Assume that anything else is some type of Linux system.
systemsTemplateFile = ResourceManager::getInstance()->
getResourcePath(":/templates/es_systems.cfg_linux", false);
getResourcePath(":/templates/es_systems.cfg_unix", false);
#endif
if (systemsTemplateFile == "") {

View file

@ -625,33 +625,63 @@ void GuiMenu::openOtherSettings()
});
// Game media directory.
ComponentListRow row;
ComponentListRow rowMediaDir;
auto media_directory = std::make_shared<TextComponent>(mWindow, "GAME MEDIA DIRECTORY",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setResize(Vector2f(0, Font::get(FONT_SIZE_MEDIUM)->getLetterHeight()));
row.addElement(media_directory, true);
row.addElement(bracket, false);
std::string title = "ENTER GAME MEDIA DIRECTORY";
auto bracketMediaDirectory = std::make_shared<ImageComponent>(mWindow);
bracketMediaDirectory->setImage(":/graphics/arrow.svg");
bracketMediaDirectory->setResize(Vector2f(0, Font::get(FONT_SIZE_MEDIUM)->getLetterHeight()));
rowMediaDir.addElement(media_directory, true);
rowMediaDir.addElement(bracketMediaDirectory, false);
std::string titleMediaDir = "ENTER GAME MEDIA DIRECTORY";
std::string mediaDirectoryStaticText = "Default directory:";
std::string defaultDirectoryText = "~/.emulationstation/downloaded_media/";
std::string initValue = Settings::getInstance()->getString("MediaDirectory");
bool multiLine = false;
auto updateVal = [this](const std::string& newVal) {
std::string initValueMediaDir = Settings::getInstance()->getString("MediaDirectory");
bool multiLineMediaDir = false;
auto updateValMediaDir = [this](const std::string& newVal) {
Settings::getInstance()->setString("MediaDirectory", newVal);
Settings::getInstance()->saveFile();
ViewController::get()->reloadAll();
mWindow->invalidateCachedBackground();
};
row.makeAcceptInputHandler([this, title, mediaDirectoryStaticText,
defaultDirectoryText, initValue, updateVal, multiLine] {
mWindow->pushGui(new GuiComplexTextEditPopup(mWindow, getHelpStyle(),
title, mediaDirectoryStaticText, defaultDirectoryText,
rowMediaDir.makeAcceptInputHandler([this, titleMediaDir, mediaDirectoryStaticText,
defaultDirectoryText, initValueMediaDir, updateValMediaDir, multiLineMediaDir] {
mWindow->pushGui(new GuiComplexTextEditPopup(mWindow, getHelpStyle(),
titleMediaDir, mediaDirectoryStaticText, defaultDirectoryText,
Settings::getInstance()->getString("MediaDirectory"),
updateVal, multiLine, "SAVE", "SAVE CHANGES?"));
updateValMediaDir, multiLineMediaDir, "SAVE", "SAVE CHANGES?"));
});
s->addRow(row);
s->addRow(rowMediaDir);
// Emulator core path.
ComponentListRow rowCorePath;
auto emulator_core_path = std::make_shared<TextComponent>(mWindow, "EMULATOR CORE PATH",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
auto bracketCorePath = std::make_shared<ImageComponent>(mWindow);
bracketCorePath->setImage(":/graphics/arrow.svg");
bracketCorePath->setResize(Vector2f(0, Font::get(FONT_SIZE_MEDIUM)->getLetterHeight()));
rowCorePath.addElement(emulator_core_path, true);
rowCorePath.addElement(bracketCorePath, false);
std::string titleCorePath = "ENTER EMULATOR CORE PATH (USE COLON AS SEPARATOR)";
std::string emulatorCorePathStaticText = "Default path:";
std::string defaultEmulatorCorePath = Settings::getInstance()->
getDefaultString("EmulatorCorePath");
if (defaultEmulatorCorePath == "")
defaultEmulatorCorePath = "<No default path defined>";
std::string initValueCorePath = Settings::getInstance()->getString("EmulatorCorePath");
bool multiLineCorePath = false;
auto updateValCorePath = [this](const std::string& newVal) {
Settings::getInstance()->setString("EmulatorCorePath", newVal);
Settings::getInstance()->saveFile();
};
rowCorePath.makeAcceptInputHandler([this, titleCorePath, emulatorCorePathStaticText,
defaultEmulatorCorePath, initValueCorePath, updateValCorePath, multiLineCorePath] {
mWindow->pushGui(new GuiComplexTextEditPopup(mWindow, getHelpStyle(),
titleCorePath, emulatorCorePathStaticText, defaultEmulatorCorePath,
Settings::getInstance()->getString("EmulatorCorePath"),
updateValCorePath, multiLineCorePath, "SAVE", "SAVE CHANGES?"));
});
s->addRow(rowCorePath);
#if defined(_RPI_)
// Video playing using OMXPlayer.

View file

@ -203,6 +203,20 @@ void Settings::setDefaults()
mBoolMap["RunInBackground"] = { false, false };
#endif
mStringMap["MediaDirectory"] = { "", "" };
#if defined(__APPLE__) || defined(_WIN64)
mStringMap["EmulatorCorePath"] = { "", "" };
#else
const std::string emulatorCorePaths =
"~/.config/retroarch/cores:" // Compiled from source
"~/snap/retroarch/current/.config/retroarch/cores:" // Snap package
// As installed via the OS repositories:
"/usr/lib/x86_64-linux-gnu/libretro:" // Ubuntu and Linux Mint
"/usr/lib64/libretro:" // Fedora
"/usr/lib/libretro:" // Manjaro
"/usr/local/lib/libretro:" // FreeBSD and OpenBSD
"/usr/pkg/lib/libretro"; // NetBSD
mStringMap["EmulatorCorePath"] = { emulatorCorePaths, emulatorCorePaths };
#endif
mBoolMap["LaunchCommandOverride"] = { true, true };
mBoolMap["ShowHiddenFiles"] = { true, true };
mBoolMap["ShowHiddenGames"] = { true, true };

View file

@ -49,8 +49,13 @@ GuiComplexTextEditPopup::GuiComplexTextEditPopup(
Font::get(FONT_SIZE_MEDIUM), 0x555555FF, ALIGN_CENTER);
mInfoString1 = std::make_shared<TextComponent>(mWindow, infoString1,
Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
mInfoString2 = std::make_shared<TextComponent>(mWindow, infoString2,
Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
if (infoString2.size() > 92)
mInfoString2 = std::make_shared<TextComponent>(mWindow, infoString2.substr(0 ,90) + "...",
Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
else
mInfoString2 = std::make_shared<TextComponent>(mWindow, infoString2,
Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
mText = std::make_shared<TextEditComponent>(mWindow);
mText->setValue(initValue);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -321,7 +321,7 @@
<fullname>Nintendo Family Computer</fullname>
<path>%ROMPATH%/famicom</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>/Applications/RetroArch.app/Contents/MacOS/RetroArch -L %EMUPATH%/../Resources/cores/fceumm_libretro.dylib %ROM%</command>
<command>/Applications/RetroArch.app/Contents/MacOS/RetroArch -L %EMUPATH%/../Resources/cores/nestopia_libretro.dylib %ROM%</command>
<platform>nes, famicom</platform>
<theme>famicom</theme>
</system>
@ -636,7 +636,7 @@
<fullname>Nintendo Entertainment System</fullname>
<path>%ROMPATH%/nes</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>/Applications/RetroArch.app/Contents/MacOS/RetroArch -L %EMUPATH%/../Resources/cores/fceumm_libretro.dylib %ROM%</command>
<command>/Applications/RetroArch.app/Contents/MacOS/RetroArch -L %EMUPATH%/../Resources/cores/nestopia_libretro.dylib %ROM%</command>
<platform>nes</platform>
<theme>nes</theme>
</system>

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
<?xml version="1.0"?>
<!-- This is the EmulationStation-DE game systems configuration file for NetBSD. -->
<!-- This is the EmulationStation-DE game systems configuration file for Unix. -->
<systemList>
<system>
<name>3do</name>
<fullname>3DO</fullname>
<path>%ROMPATH%/3do</path>
<extension>.iso .ISO .bin .BIN .chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/4do_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/4do_libretro.so %ROM%</command>
<platform>3do</platform>
<theme>3do</theme>
</system>
@ -24,7 +24,7 @@
<fullname>Commodore Amiga</fullname>
<path>%ROMPATH%/amiga</path>
<extension>.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/puae_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/puae_libretro.so %ROM%</command>
<platform>amiga</platform>
<theme>amiga</theme>
</system>
@ -33,7 +33,7 @@
<fullname>Commodore Amiga 600</fullname>
<path>%ROMPATH%/amiga600</path>
<extension>.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/puae_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/puae_libretro.so %ROM%</command>
<platform>amiga</platform>
<theme>amiga600</theme>
</system>
@ -42,7 +42,7 @@
<fullname>Commodore Amiga 1200</fullname>
<path>%ROMPATH%/amiga1200</path>
<extension>.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/puae_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/puae_libretro.so %ROM%</command>
<platform>amiga</platform>
<theme>amiga1200</theme>
</system>
@ -51,7 +51,7 @@
<fullname>Commodore Amiga CD32</fullname>
<path>%ROMPATH%/amigacd32</path>
<extension>.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/puae_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/puae_libretro.so %ROM%</command>
<platform>amigacd32</platform>
<theme>amigacd32</theme>
</system>
@ -60,7 +60,7 @@
<fullname>Amstrad CPC</fullname>
<path>%ROMPATH%/amstradcpc</path>
<extension>.dsk .DSK .sna .SNA .tap .TAR .cdt .CDT .voc .VOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/cap32_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/cap32_libretro.so %ROM%</command>
<platform>amstradcpc</platform>
<theme>amstradcpc</theme>
</system>
@ -87,7 +87,7 @@
<fullname>Arcade</fullname>
<path>%ROMPATH%/arcade</path>
<extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mame2016_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mame2016_libretro.so %ROM%</command>
<platform>arcade</platform>
<theme>arcade</theme>
</system>
@ -105,7 +105,7 @@
<fullname>Atari 2600</fullname>
<path>%ROMPATH%/atari2600</path>
<extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/stella2014_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/stella2014_libretro.so %ROM%</command>
<platform>atari2600</platform>
<theme>atari2600</theme>
</system>
@ -114,7 +114,7 @@
<fullname>Atari 5200</fullname>
<path>%ROMPATH%/atari5200</path>
<extension>.xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/atari800_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/atari800_libretro.so %ROM%</command>
<platform>atari5200</platform>
<theme>atari5200</theme>
</system>
@ -123,7 +123,7 @@
<fullname>Atari 7800 ProSystem</fullname>
<path>%ROMPATH%/atari7800</path>
<extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/prosystem_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/prosystem_libretro.so %ROM%</command>
<platform>atari7800</platform>
<theme>atari7800</theme>
</system>
@ -132,7 +132,7 @@
<fullname>Atari 800</fullname>
<path>%ROMPATH%/atari800</path>
<extension>.xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/atari800_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/atari800_libretro.so %ROM%</command>
<platform>atari800</platform>
<theme>atari800</theme>
</system>
@ -141,7 +141,7 @@
<fullname>Atari Jaguar</fullname>
<path>%ROMPATH%/atarijaguar</path>
<extension>.j64 .J64 .jag .JAG .rom .ROM .abs .ABS .cof .COF .bin .BIN .prg .PRG .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/virtualjaguar_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/virtualjaguar_libretro.so %ROM%</command>
<platform>atarijaguar, atarijaguarcd</platform>
<theme>atarijaguar</theme>
</system>
@ -150,7 +150,7 @@
<fullname>Atari Jaguar CD</fullname>
<path>%ROMPATH%/atarijaguarcd</path>
<extension>.j64 .J64 .jag .JAG .rom .ROM .abs .ABS .cof .COF .bin .BIN .prg .PRG .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/virtualjaguar_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/virtualjaguar_libretro.so %ROM%</command>
<platform>atarijaguarcd</platform>
<theme>atarijaguarcd</theme>
</system>
@ -159,7 +159,7 @@
<fullname>Atari Lynx</fullname>
<path>%ROMPATH%/atarilynx</path>
<extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_lynx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_lynx_libretro.so %ROM%</command>
<platform>atarilynx</platform>
<theme>atarilynx</theme>
</system>
@ -168,7 +168,7 @@
<fullname>Atari ST</fullname>
<path>%ROMPATH%/atarist</path>
<extension>.st .ST .msa .MSA .stx .STX .dim .DIM .ipf .IPF .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/hatari_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/hatari_libretro.so %ROM%</command>
<platform>atarist</platform>
<theme>atarist</theme>
</system>
@ -177,7 +177,7 @@
<fullname>Atari XE</fullname>
<path>%ROMPATH%/atarixe</path>
<extension>.xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/atari800_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/atari800_libretro.so %ROM%</command>
<platform>atarixe</platform>
<theme>atarixe</theme>
</system>
@ -186,7 +186,7 @@
<fullname>Atomiswave</fullname>
<path>%ROMPATH%/atomiswave</path>
<extension>.chd .CHD .cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/flycast_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/flycast_libretro.so %ROM%</command>
<platform>atomiswave</platform>
<theme>atomiswave</theme>
</system>
@ -204,7 +204,7 @@
<fullname>Commodore 64</fullname>
<path>%ROMPATH%/c64</path>
<extension>.d64 .D64 .d71 .D71 .d80 .D80 .d81 .D81 .d82 .D82 .g64 .G64 .g41 .G41 .x64 .X64 .t64 .T64 .tap .TAP .prg .PRG .p00 .P00 .crt .CRT .bin .BIN .gz .GZ .d6z .D6Z .d7z .D7Z .d8z .D8Z .g6z .G6Z .x6z .X6Z .cmd .CMD .m3u .M3U .vsf .VSF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/vice_x64_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/vice_x64_libretro.so %ROM%</command>
<platform>c64</platform>
<theme>c64</theme>
</system>
@ -213,7 +213,7 @@
<fullname>Cave Story (NXEngine)</fullname>
<path>%ROMPATH%/cavestory</path>
<extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/nxengine_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/nxengine_libretro.so %ROM%</command>
<platform>cavestory</platform>
<theme>cavestory</theme>
</system>
@ -231,7 +231,7 @@
<fullname>ChaiLove game engine</fullname>
<path>%ROMPATH%/chailove</path>
<extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/chailove_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/chailove_libretro.so %ROM%</command>
<platform>love</platform>
<theme>chailove</theme>
</system>
@ -240,7 +240,7 @@
<fullname>Fairchild Channel F</fullname>
<path>%ROMPATH%/channelf</path>
<extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/freechaf_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/freechaf_libretro.so %ROM%</command>
<platform>channelf</platform>
<theme>channelf</theme>
</system>
@ -258,7 +258,7 @@
<fullname>ColecoVision</fullname>
<path>%ROMPATH%/coleco</path>
<extension>.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bluemsx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bluemsx_libretro.so %ROM%</command>
<platform>colecovision</platform>
<theme>colecovision</theme>
</system>
@ -267,7 +267,7 @@
<fullname>Daphne Arcade Laserdisc Emulator</fullname>
<path>%ROMPATH%/daphne</path>
<extension>.7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/daphne_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/daphne_libretro.so %ROM%</command>
<platform>daphne</platform>
<theme>daphne</theme>
</system>
@ -285,7 +285,7 @@
<fullname>Doom</fullname>
<path>%ROMPATH%/doom</path>
<extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
<command>retroarch -L /usr/pkg/lib/libretro/prboom_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/prboom_libretro.so %ROM%</command>
<platform>pc</platform>
<theme>doom</theme>
</system>
@ -294,7 +294,7 @@
<fullname>DOS (PC)</fullname>
<path>%ROMPATH%/dos</path>
<extension>.bat .BAT .com .COM .exe .EXE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/dosbox_core_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/dosbox_core_libretro.so %ROM%</command>
<platform>dos</platform>
<theme>dos</theme>
</system>
@ -312,7 +312,7 @@
<fullname>Sega Dreamcast</fullname>
<path>%ROMPATH%/dreamcast</path>
<extension>.chd .CHD .cdi .CDI .iso .ISO .elf .ELF .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/flycast_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/flycast_libretro.so %ROM%</command>
<platform>dreamcast</platform>
<theme>dreamcast</theme>
</system>
@ -321,7 +321,7 @@
<fullname>Nintendo Family Computer</fullname>
<path>%ROMPATH%/famicom</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/fceumm_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/nestopia_libretro.so %ROM%</command>
<platform>nes, famicom</platform>
<theme>famicom</theme>
</system>
@ -330,7 +330,7 @@
<fullname>Final Burn Alpha</fullname>
<path>%ROMPATH%/fba</path>
<extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/fbneo_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/fbneo_libretro.so %ROM%</command>
<platform>arcade</platform>
<theme>fba</theme>
</system>
@ -339,7 +339,7 @@
<fullname>FinalBurn Neo</fullname>
<path>%ROMPATH%/fbneo</path>
<extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/fbneo_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/fbneo_libretro.so %ROM%</command>
<platform>arcade</platform>
<theme>fbneo</theme>
</system>
@ -348,7 +348,7 @@
<fullname>Nintendo Famicom Disk System</fullname>
<path>%ROMPATH%/fds</path>
<extension>.nes .NES .fds .FDS .unf .UNF .UNIF .UNIF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/nestopia_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/nestopia_libretro.so %ROM%</command>
<platform>fds</platform>
<theme>fds</theme>
</system>
@ -357,7 +357,7 @@
<fullname>Nintendo Game and Watch</fullname>
<path>%ROMPATH%/gameandwatch</path>
<extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/gw_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/gw_libretro.so %ROM%</command>
<platform>gameandwatch</platform>
<theme>gameandwatch</theme>
</system>
@ -366,7 +366,7 @@
<fullname>Sega Game Gear</fullname>
<path>%ROMPATH%/gamegear</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>gamegear</platform>
<theme>gamegear</theme>
</system>
@ -375,7 +375,7 @@
<fullname>Nintendo GameCube</fullname>
<path>%ROMPATH%/gamecube</path>
<extension>.gcm .GCM .iso .ISO .wbfs .WBFS .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .tgc .TGC .wad .WAD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/dolphin_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/dolphin_libretro.so %ROM%</command>
<platform>gamecube</platform>
<theme>gc</theme>
</system>
@ -384,7 +384,7 @@
<fullname>Nintendo Game Boy</fullname>
<path>%ROMPATH%/gb</path>
<extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bsnes_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bsnes_libretro.so %ROM%</command>
<platform>gb</platform>
<theme>gb</theme>
</system>
@ -393,7 +393,7 @@
<fullname>Nintendo Game Boy Advance</fullname>
<path>%ROMPATH%/gba</path>
<extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_gba_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_gba_libretro.so %ROM%</command>
<platform>gba</platform>
<theme>gba</theme>
</system>
@ -402,7 +402,7 @@
<fullname>Nintendo Game Boy Color</fullname>
<path>%ROMPATH%/gbc</path>
<extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bsnes_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bsnes_libretro.so %ROM%</command>
<platform>gbc</platform>
<theme>gbc</theme>
</system>
@ -411,7 +411,7 @@
<fullname>Sega Genesis</fullname>
<path>%ROMPATH%/genesis</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>genesis, megadrive</platform>
<theme>genesis</theme>
</system>
@ -429,7 +429,7 @@
<fullname>Mattel Electronics Intellivision</fullname>
<path>%ROMPATH%/intellivision</path>
<extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/freeintv_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/freeintv_libretro.so %ROM%</command>
<platform>intellivision</platform>
<theme>intellivision</theme>
</system>
@ -456,7 +456,7 @@
<fullname>Lutro game engine</fullname>
<path>%ROMPATH%/lutro</path>
<extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/lutro_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/lutro_libretro.so %ROM%</command>
<platform>lutro</platform>
<theme>lutro</theme>
</system>
@ -474,7 +474,7 @@
<fullname>Multiple Arcade Machine Emulator</fullname>
<path>%ROMPATH%/mame</path>
<extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mame2016_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mame2016_libretro.so %ROM%</command>
<platform>arcade</platform>
<theme>mame</theme>
</system>
@ -492,7 +492,7 @@
<fullname>Multiple Arcade Machine Emulator</fullname>
<path>%ROMPATH%/mame-libretro</path>
<extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mame_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mame_libretro.so %ROM%</command>
<platform>arcade</platform>
<theme>mame-libretro</theme>
</system>
@ -510,7 +510,7 @@
<fullname>Sega Master System</fullname>
<path>%ROMPATH%/mastersystem</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>mastersystem</platform>
<theme>mastersystem</theme>
</system>
@ -519,7 +519,7 @@
<fullname>Sega Mega-CD</fullname>
<path>%ROMPATH%/megacd</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>segacd</platform>
<theme>megacd</theme>
</system>
@ -528,7 +528,7 @@
<fullname>Sega Mega-CD</fullname>
<path>%ROMPATH%/megacdjp</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>segacd</platform>
<theme>megacdjp</theme>
</system>
@ -537,7 +537,7 @@
<fullname>Sega Mega Drive</fullname>
<path>%ROMPATH%/megadrive</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>megadrive, genesis</platform>
<theme>megadrive</theme>
</system>
@ -546,7 +546,7 @@
<fullname>Multi Emulator Super System</fullname>
<path>%ROMPATH%/mess</path>
<extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mess2015_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mess2015_libretro.so %ROM%</command>
<platform>mess</platform>
<theme>mess</theme>
</system>
@ -564,7 +564,7 @@
<fullname>MSX</fullname>
<path>%ROMPATH%/msx</path>
<extension>.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bluemsx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bluemsx_libretro.so %ROM%</command>
<platform>msx</platform>
<theme>msx</theme>
</system>
@ -573,7 +573,7 @@
<fullname>MSX1</fullname>
<path>%ROMPATH%/msx1</path>
<extension>.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bluemsx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bluemsx_libretro.so %ROM%</command>
<platform>msx</platform>
<theme>msx1</theme>
</system>
@ -582,7 +582,7 @@
<fullname>MSX2</fullname>
<path>%ROMPATH%/msx2</path>
<extension>.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bluemsx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bluemsx_libretro.so %ROM%</command>
<platform>msx</platform>
<theme>msx2</theme>
</system>
@ -591,7 +591,7 @@
<fullname>Nintendo 64</fullname>
<path>%ROMPATH%/n64</path>
<extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mupen64plus_next_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mupen64plus_next_libretro.so %ROM%</command>
<platform>n64</platform>
<theme>n64</theme>
</system>
@ -600,7 +600,7 @@
<fullname>Sega NAOMI</fullname>
<path>%ROMPATH%/naomi</path>
<extension>.chd .CHD .cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/flycast_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/flycast_libretro.so %ROM%</command>
<platform>naomi</platform>
<theme>naomi</theme>
</system>
@ -609,7 +609,7 @@
<fullname>Nintendo DS</fullname>
<path>%ROMPATH%/nds</path>
<extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/melonds_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/melonds_libretro.so %ROM%</command>
<platform>nds</platform>
<theme>nds</theme>
</system>
@ -618,7 +618,7 @@
<fullname>Neo Geo</fullname>
<path>%ROMPATH%/neogeo</path>
<extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/fbneo_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/fbneo_libretro.so %ROM%</command>
<platform>neogeo</platform>
<theme>neogeo</theme>
</system>
@ -627,7 +627,7 @@
<fullname>Neo Geo CD</fullname>
<path>%ROMPATH%/neogeocd</path>
<extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/neocd_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/neocd_libretro.so %ROM%</command>
<platform>neogeocd</platform>
<theme>neogeocd</theme>
</system>
@ -636,7 +636,7 @@
<fullname>Nintendo Entertainment System</fullname>
<path>%ROMPATH%/nes</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/fceumm_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/nestopia_libretro.so %ROM%</command>
<platform>nes</platform>
<theme>nes</theme>
</system>
@ -645,7 +645,7 @@
<fullname>Neo Geo Pocket</fullname>
<path>%ROMPATH%/ngp</path>
<extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_ngp_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_ngp_libretro.so %ROM%</command>
<platform>ngp</platform>
<theme>ngp</theme>
</system>
@ -654,7 +654,7 @@
<fullname>Neo Geo Pocket Color</fullname>
<path>%ROMPATH%/ngpc</path>
<extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_ngp_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_ngp_libretro.so %ROM%</command>
<platform>ngpc</platform>
<theme>ngpc</theme>
</system>
@ -663,7 +663,7 @@
<fullname>Magnavox Odyssey2</fullname>
<path>%ROMPATH%/odyssey2</path>
<extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/o2em_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/o2em_libretro.so %ROM%</command>
<platform>odyssey2</platform>
<theme>odyssey2</theme>
</system>
@ -690,7 +690,7 @@
<fullname>Palm OS</fullname>
<path>%ROMPATH%/palm</path>
<extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mu_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mu_libretro.so %ROM%</command>
<platform>palm</platform>
<theme>palm</theme>
</system>
@ -699,7 +699,7 @@
<fullname>IBM PC</fullname>
<path>%ROMPATH%/pc</path>
<extension>.bat .BAT .com .COM .exe .EXE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/dosbox_core_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/dosbox_core_libretro.so %ROM%</command>
<platform>pc</platform>
<theme>pc</theme>
</system>
@ -708,7 +708,7 @@
<fullname>NEC PC Engine</fullname>
<path>%ROMPATH%/pcengine</path>
<extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_pce_fast_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_pce_fast_libretro.so %ROM%</command>
<platform>pcengine</platform>
<theme>pcengine</theme>
</system>
@ -717,7 +717,7 @@
<fullname>NEC PC Engine CD</fullname>
<path>%ROMPATH%/pcenginecd</path>
<extension>.pce .PCE .cue .CUE .ccd .CCD .iso .ISO .img .IMG .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_pce_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_pce_libretro.so %ROM%</command>
<platform>pcenginecd</platform>
<theme>pcenginecd</theme>
</system>
@ -726,7 +726,7 @@
<fullname>NEC PC-FX</fullname>
<path>%ROMPATH%/pcfx</path>
<extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_pcfx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_pcfx_libretro.so %ROM%</command>
<platform>pcfx</platform>
<theme>pcfx</theme>
</system>
@ -735,7 +735,7 @@
<fullname>Nintendo Pokémon Mini</fullname>
<path>%ROMPATH%/pokemini</path>
<extension>.min .MIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/pokemini_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/pokemini_libretro.so %ROM%</command>
<platform>pokemini</platform>
<theme>pokemini</theme>
</system>
@ -753,7 +753,7 @@
<fullname>Sony PlayStation 2</fullname>
<path>%ROMPATH%/ps2</path>
<extension>.iso .ISO .isz .ISZ .cso .CSO .bin .BIN .elf .ELF .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/play_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/play_libretro.so %ROM%</command>
<platform>ps2</platform>
<theme>ps2</theme>
</system>
@ -762,7 +762,7 @@
<fullname>PlayStation Portable</fullname>
<path>%ROMPATH%/psp</path>
<extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/ppsspp_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/ppsspp_libretro.so %ROM%</command>
<platform>psp</platform>
<theme>psp</theme>
</system>
@ -780,7 +780,7 @@
<fullname>Sony PlayStation 1</fullname>
<path>%ROMPATH%/psx</path>
<extension>.cue .CUE .toc .TOC .m3u .M3U .ccd .CCD .exe .EXE .pbp .PBP .chd .CHD .cbn .CBN .img .IMG .iso .ISO .mdf .MDF .z .Z .znx .ZNX .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_psx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_psx_libretro.so %ROM%</command>
<platform>psx</platform>
<theme>psx</theme>
</system>
@ -798,7 +798,7 @@
<fullname>SAM Coupé</fullname>
<path>%ROMPATH%/samcoupe</path>
<extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/simcp_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/simcp_libretro.so %ROM%</command>
<platform>samcoupe</platform>
<theme>samcoupe</theme>
</system>
@ -807,7 +807,7 @@
<fullname>Nintendo Satellaview</fullname>
<path>%ROMPATH%/satellaview</path>
<extension>.smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/snes9x_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/snes9x_libretro.so %ROM%</command>
<platform>satellaview</platform>
<theme>satellaview</theme>
</system>
@ -816,7 +816,7 @@
<fullname>Sega Saturn</fullname>
<path>%ROMPATH%/saturn</path>
<extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_saturn_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_saturn_libretro.so %ROM%</command>
<platform>saturn</platform>
<theme>saturn</theme>
</system>
@ -825,7 +825,7 @@
<fullname>ScummVM game engine</fullname>
<path>%ROMPATH%/scummvm</path>
<extension>.scummvm .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/scummvm_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/scummvm_libretro.so %ROM%</command>
<platform>scummvm</platform>
<theme>scummvm</theme>
</system>
@ -834,7 +834,7 @@
<fullname>Sega Mega Drive 32X</fullname>
<path>%ROMPATH%/sega32x</path>
<extension>.bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/picodrive_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/picodrive_libretro.so %ROM%</command>
<platform>sega32x</platform>
<theme>sega32x</theme>
</system>
@ -843,7 +843,7 @@
<fullname>Sega Super 32X</fullname>
<path>%ROMPATH%/sega32xjp</path>
<extension>.bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/picodrive_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/picodrive_libretro.so %ROM%</command>
<platform>sega32x</platform>
<theme>sega32xjp</theme>
</system>
@ -852,7 +852,7 @@
<fullname>Sega Genesis 32X</fullname>
<path>%ROMPATH%/sega32xna</path>
<extension>.bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/picodrive_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/picodrive_libretro.so %ROM%</command>
<platform>sega32x</platform>
<theme>sega32xna</theme>
</system>
@ -861,7 +861,7 @@
<fullname>Sega CD</fullname>
<path>%ROMPATH%/segacd</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>segacd</platform>
<theme>segacd</theme>
</system>
@ -870,7 +870,7 @@
<fullname>Sega SG-1000</fullname>
<path>%ROMPATH%/sg-1000</path>
<extension>.mdx .MDX .md .MD .smd .SMD .gen .GEN .bin .BIN .cue .CUE .iso .ISO .sms .SMS .gg .GG .sg .SG .68k .68K .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/genesis_plus_gx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/genesis_plus_gx_libretro.so %ROM%</command>
<platform>sg-1000</platform>
<theme>sg1000</theme>
</system>
@ -879,7 +879,7 @@
<fullname>Nintendo SNES (Super Nintendo)</fullname>
<path>%ROMPATH%/snes</path>
<extension>.smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/snes9x_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/snes9x_libretro.so %ROM%</command>
<platform>snes</platform>
<theme>snes</theme>
</system>
@ -888,7 +888,7 @@
<fullname>Nintendo SNES (Super Nintendo)</fullname>
<path>%ROMPATH%/snesna</path>
<extension>.smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/snes9x_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/snes9x_libretro.so %ROM%</command>
<platform>snes</platform>
<theme>snesna</theme>
</system>
@ -906,7 +906,7 @@
<fullname>Spectravideo</fullname>
<path>%ROMPATH%/spectravideo</path>
<extension>.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/bluemsx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/bluemsx_libretro.so %ROM%</command>
<platform>spectravideo</platform>
<theme>spectravideo</theme>
</system>
@ -933,7 +933,7 @@
<fullname>Bandai SuFami Turbo</fullname>
<path>%ROMPATH%/sufami</path>
<extension>.smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/snes9x_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/snes9x_libretro.so %ROM%</command>
<platform>sufami</platform>
<theme>sufami</theme>
</system>
@ -942,7 +942,7 @@
<fullname>NEC SuperGrafx</fullname>
<path>%ROMPATH%/supergrafx</path>
<extension>.pce .PCE .sgx .SGX .cue .CUE .ccd .CCD .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_supergrafx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_supergrafx_libretro.so %ROM%</command>
<platform>supergrafx</platform>
<theme>supergrafx</theme>
</system>
@ -951,7 +951,7 @@
<fullname>Thomson TO/MO series</fullname>
<path>%ROMPATH%/thomson</path>
<extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/theodore_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/theodore_libretro.so %ROM%</command>
<platform>thomson</platform>
<theme>thomson</theme>
</system>
@ -960,7 +960,7 @@
<fullname>NEC TurboGrafx-16</fullname>
<path>%ROMPATH%/tg16</path>
<extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_pce_fast_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_pce_fast_libretro.so %ROM%</command>
<platform>pcengine</platform>
<theme>tg16</theme>
</system>
@ -969,7 +969,7 @@
<fullname>NEC TurboGrafx-CD</fullname>
<path>%ROMPATH%/tg-cd</path>
<extension>.pce .PCE .cue .CUE .ccd .CCD .iso .ISO .img .IMG .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_pce_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_pce_libretro.so %ROM%</command>
<platform>pcenginecd</platform>
<theme>tg-cd</theme>
</system>
@ -996,7 +996,7 @@
<fullname>Uzebox</fullname>
<path>%ROMPATH%/uzebox</path>
<extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/uzem_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/uzem_libretro.so %ROM%</command>
<platform>uzebox</platform>
<theme>uzebox</theme>
</system>
@ -1005,7 +1005,7 @@
<fullname>Vectrex</fullname>
<path>%ROMPATH%/vectrex</path>
<extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/vecx_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/vecx_libretro.so %ROM%</command>
<platform>vectrex</platform>
<theme>vectrex</theme>
</system>
@ -1014,7 +1014,7 @@
<fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
<path>%ROMPATH%/videopac</path>
<extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/o2em_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/o2em_libretro.so %ROM%</command>
<platform>videopac</platform>
<theme>videopac</theme>
</system>
@ -1023,7 +1023,7 @@
<fullname>Nintendo Virtual Boy</fullname>
<path>%ROMPATH%/virtualboy</path>
<extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_vb_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_vb_libretro.so %ROM%</command>
<platform>virtualboy</platform>
<theme>virtualboy</theme>
</system>
@ -1032,7 +1032,7 @@
<fullname>Nintendo Wii</fullname>
<path>%ROMPATH%/wii</path>
<extension>.gcm .GCM .iso .ISO .wbfs .WBFS .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .tgc .TGC .wad .WAD .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/dolphin_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/dolphin_libretro.so %ROM%</command>
<platform>wii</platform>
<theme>wii</theme>
</system>
@ -1050,7 +1050,7 @@
<fullname>Bandai WonderSwan</fullname>
<path>%ROMPATH%/wonderswan</path>
<extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_wswan_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_wswan_libretro.so %ROM%</command>
<platform>wonderswan</platform>
<theme>wonderswan</theme>
</system>
@ -1059,7 +1059,7 @@
<fullname>Bandai WonderSwan Color</fullname>
<path>%ROMPATH%/wonderswancolor</path>
<extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/mednafen_wswan_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/mednafen_wswan_libretro.so %ROM%</command>
<platform>wonderswancolor</platform>
<theme>wonderswancolor</theme>
</system>
@ -1068,7 +1068,7 @@
<fullname>Sharp X68000</fullname>
<path>%ROMPATH%/x68000</path>
<extension>.dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/px68k_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/px68k_libretro.so %ROM%</command>
<platform>x68000</platform>
<theme>x68000</theme>
</system>
@ -1104,7 +1104,7 @@
<fullname>Sinclair ZX81</fullname>
<path>%ROMPATH%/zx81</path>
<extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/81_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/81_libretro.so %ROM%</command>
<platform>zx81</platform>
<theme>zx81</theme>
</system>
@ -1113,7 +1113,7 @@
<fullname>Sinclair ZX Spectrum</fullname>
<path>%ROMPATH%/zxspectrum</path>
<extension>.tzx .TZX .tap .TAP .z80 .Z80 .rzx .RZX .scl .SCL .trd .TRD .sh .SH .sna .SNA .szx .SZX .udi .UDI .mgt .MGT .img .IMG .dsk .DSK .gz .GZ .7z .7Z .zip .ZIP</extension>
<command>retroarch -L /usr/pkg/lib/libretro/fuse_libretro.so %ROM%</command>
<command>retroarch -L %COREPATH%/fuse_libretro.so %ROM%</command>
<platform>zxspectrum</platform>
<theme>zxspectrum</theme>
</system>

View file

@ -321,7 +321,7 @@
<fullname>Nintendo Family Computer</fullname>
<path>%ROMPATH%\famicom</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>retroarch.exe -L "%EMUPATH%\cores\fceumm_libretro.dll" %ROM%</command>
<command>retroarch.exe -L "%EMUPATH%\cores\nestopia_libretro.dll" %ROM%</command>
<platform>nes, famicom</platform>
<theme>famicom</theme>
</system>
@ -636,7 +636,7 @@
<fullname>Nintendo Entertainment System</fullname>
<path>%ROMPATH%\nes</path>
<extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
<command>retroarch.exe -L "%EMUPATH%\cores\fceumm_libretro.dll" %ROM%</command>
<command>retroarch.exe -L "%EMUPATH%\cores\nestopia_libretro.dll" %ROM%</command>
<platform>nes</platform>
<theme>nes</theme>
</system>