diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a1016480..189efa79b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,16 +10,72 @@
 
 ### Detailed list of changes
 
+* Added alternative emulators support where additional emulators can be defined in es_systems.xml and be selected
+  system-wide or per game via the user interface
+* Added a virtual keyboard partly based on code from batocera-emulationstation
+* Added the ability to make complementary game system customizations without having to replace the entire bundled
+  es_systems.xml file
 * Added a menu option to change the application exit key combination
+* Expanded the themeable options for "helpsystem" to support custom button graphics, dimmed text and icon colors,
+  upper/lower/camel case and custom spacing
+* Added support for using the left and right trigger buttons in the help prompts
+* Removed the "Choose" entry from the help prompts in the gamelist view
+* Changed the "Toggle screensaver" help entry in the system view to simply "Screensaver"
+* Added support for upscaling bitmap images using linear filtering
+* Changed the marquee image upscale filtering from nearest neighbor to linear for the launch screen and the gamelist
+  views
+* Moved the Media Viewer and Screensaver settings higher in the UI Settings menu
+* Moved the game media directory setting to the top of the Other Settings menu, following the new Alternative Emulators
+  entry
+* Added a blinking cursor to TextEditComponent
+* Changed the filter description "Text filter (game name)" to "Game name"
+* Added support for a new type of "flat style" button to ButtonComponent
+* Added support for correctly navigating arbitrarily sized ComponentGrid entries, i.e. those spanning multiple cells
+* Bundled the bold font version of Fontfabric Akrobat
 * Added the GLM (OpenGL Mathematics) library as a Git subtree
 * Replaced all built-in matrix and vector data types and functions with GLM library equivalents
 * Replaced some additional math functions and moved the remaining built-in functions to a math utility namespace
 * Added a function to generate MD5 hashes
-* Changed two clang-format rules related to braced lists and reformatted the codebase
+* Moved the "complex" mode functionality from GuiComplexTextEditPopup into GuiTextEditPopup and removed the source files
+  for the former
+* Increased the warning level for Clang/LLVM and GCC by adding -Wall, -Wpedantic and some additional flags
+* Fixed a lot of compiler warnings introduced by the -Wall and -Wpedantic flags
 * Changed the language standard from C++14 to C++17
+* Increased the minimal required compiler version to 5.0.0 for Clang/LLVM and 7.1 for GCC
+* Changed two clang-format rules related to braced lists and reformatted the codebase
 
 ### Bug fixes
 
+* When multi-scraping in interactive mode with "Auto-accept single game matches" enabled, the game name could not be
+  refined if there were no games found
+* When multi-scraping in interactive mode, the game counter was not decreased when skipping games, making it impossible
+  to skip the final games in the queue
+* When multi-scraping in interactive mode, "No games found" results could be accepted using the "A" button
+* When scraping in interactive mode, any refining done using the "Y" button shortcut would not be shown when doing
+  another refine using the "Refine search" button
+* Input consisting of only whitespace characters would get accepted by TextEditComponent which led to various strange
+  behaviors
+* Leading and trailing whitespace characters would not get trimmed from the collection name when creating a new custom
+  collection
+* Leading and trailing whitespace characters would get included in scraper search refines and TheGamesDB searches
+* Game name (text) filters were matching the system names for collection systems if the "Show system names in
+  collections" setting was enabled
+* Brackets such as () and [] were filtered from game names in collection systems if the "Show system names in
+  collections" setting was enabled
+* When navigating menus, the separator lines and menu components did not align properly and moved up and down slightly
+* When scrolling in menus, pressing other buttons than "Up" or "Down" did not stop the scrolling which caused all sorts
+  of weird behavior
+* With the menu scale-up effect enabled and entering a submenu before the parent menu was completely scaled up, the
+  parent would get stuck at a semi-scaled size
+* Disabling a collection while its gamelist was displayed would lead to a slide transition from a black screen if a
+  gamelist on startup had been set
+* When marking a game to not be counted in the metadata editor and the game was part of a custom collection, no
+  collection disabling notification was displayed
+* Horizontal sizing of the TextComponent input field was not consistent across different screen resolutions
+* The "sortname" window header was incorrectly spelled when editing this type of entry in the metadata editor
+* When the last row of a menu had its text color changed, this color was completely desaturated when navigating to a
+  button below the list
+
 ## Version 1.1.0
 
 **Release date:** 2021-08-10
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9d6d7065d..15beefa1f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,13 @@
+#  SPDX-License-Identifier: MIT
+#
+#  EmulationStation Desktop Edition
+#  CMakeLists.txt
+#
+#  Main CMake configuration file.
+#  Sets up the overall build environment including dependencies detection, build options,
+#  compiler and linker flags and preprocessor directives.
+#
+
 cmake_minimum_required(VERSION 3.13)
 if(APPLE)
     # Set this to the operating system version you're building on, and also update
@@ -15,8 +25,7 @@ set(CMAKE_VERBOSE_MAKEFILE OFF CACHE BOOL "Show verbose compiler output" FORCE)
 set(LINUX_CPACK_GENERATOR "DEB" CACHE STRING "CPack generator, DEB or RPM")
 
 # Add local find modules to the CMake path.
-list(APPEND CMAKE_MODULE_PATH
-        ${CMAKE_CURRENT_SOURCE_DIR}/CMake/Utils
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMake/Utils
         ${CMAKE_CURRENT_SOURCE_DIR}/CMake/Packages)
 
 # Define the options.
@@ -29,14 +38,20 @@ option(CLANG_TIDY "Set to ON to build using the clang-tidy static analyzer" ${CL
 
 if (CLANG_TIDY)
     find_program(CLANG_TIDY_BINARY NAMES clang-tidy)
-    if("${CLANG_TIDY_BINARY}" STREQUAL "CLANG_TIDY_BINARY-NOTFOUND")
+    if (CLANG_TIDY_BINARY STREQUAL "CLANG_TIDY_BINARY-NOTFOUND")
         message("-- CLANG_TIDY was set but the clang-tidy binary was not found")
-    else()
+    else ()
         message("-- Building with the clang-tidy static analyzer")
-        set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=*,-fuchsia-*,-hicpp-*,-llvm-*, \
-                -readability-braces-*,-google-readability-braces-*, \
-                -readability-uppercase-literal-suffix,-modernize-use-trailing-return-type, \
-                -cppcoreguidelines-avoid-magic-numbers,-readability-magic-numbers")
+        set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=*,\
+                                  -fuchsia-*,\
+                                  -hicpp-*,\
+                                  -llvm-*,\
+                                  -readability-braces-*,\
+                                  -google-readability-braces-*,\
+                                  -readability-uppercase-literal-suffix,\
+                                  -modernize-use-trailing-return-type,\
+                                  -cppcoreguidelines-avoid-magic-numbers,\
+                                  -readability-magic-numbers")
     endif()
 endif()
 
@@ -49,24 +64,24 @@ if(EXISTS "${CMAKE_FIND_ROOT_PATH}/opt/vc/include/bcm_host.h")
     # Setting BCMHOST seems to break OpenGL ES on the RPi 4 so set RPI instead.
     #set(BCMHOST found)
     set(RPI ON)
-    set(GLSystem "Embedded OpenGL" CACHE STRING "The OpenGL system to be used")
+    set(GLSYSTEM "Embedded OpenGL" CACHE STRING "The OpenGL system to be used")
 elseif(GLES OR RPI)
-    set(GLSystem "Embedded OpenGL" CACHE STRING "The OpenGL system to be used")
+    set(GLSYSTEM "Embedded OpenGL" CACHE STRING "The OpenGL system to be used")
 else()
-    set(GLSystem "Desktop OpenGL" CACHE STRING "The OpenGL system to be used")
+    set(GLSYSTEM "Desktop OpenGL" CACHE STRING "The OpenGL system to be used")
 endif()
 
-set_property(CACHE GLSystem PROPERTY STRINGS "Desktop OpenGL" "Embedded OpenGL")
+set_property(CACHE GLSYSTEM PROPERTY STRINGS "Desktop OpenGL" "Embedded OpenGL")
 
 #---------------------------------------------------------------------------------------------------
 # Package dependencies.
 
-if(${GLSystem} MATCHES "Desktop OpenGL")
+if (GLSYSTEM MATCHES "Desktop OpenGL")
     set(OpenGL_GL_PREFERENCE "GLVND")
     find_package(OpenGL REQUIRED)
-else()
+else ()
     find_package(OpenGLES REQUIRED)
-endif()
+endif ()
 
 # Skip package dependency checks if we're on Windows.
 if(NOT WIN32)
@@ -88,75 +103,73 @@ if(CEC)
 endif()
 
 # Add ALSA for Linux.
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if (CMAKE_SYSTEM_NAME MATCHES "Linux")
     find_package(ALSA REQUIRED)
-endif()
+endif ()
 
 #---------------------------------------------------------------------------------------------------
 # Compiler and linker settings.
 
-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
     message("-- Compiler is Clang/LLVM")
-    execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION)
-    if(CLANG_VERSION VERSION_LESS 4.2.1)
-        message(SEND_ERROR "You need at least Clang 4.2.1 to compile EmulationStation-DE")
-    endif()
-elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0.0)
+        message(SEND_ERROR "You need at least Clang 5.0.0 to compile EmulationStation-DE")
+    endif ()
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
     message("-- Compiler is GNU/GCC")
-    execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpfullversion OUTPUT_VARIABLE G++_VERSION)
-    if(G++_VERSION VERSION_LESS 5.4)
-        message(SEND_ERROR "You need at least GCC 5.4 to compile EmulationStation-DE")
-    endif()
-    if(WIN32)
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.1)
+        message(SEND_ERROR "You need at least GCC 7.1 to compile EmulationStation-DE")
+    endif ()
+    if (WIN32)
         set(CMAKE_CXX_FLAGS "-mwindows ${CMAKE_CXX_FLAGS}")
-    endif()
-elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+    endif ()
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
     message("-- Compiler is MSVC")
     # If using the MSVC compiler on Windows, disable the built-in min() and max() macros.
     add_definitions(-DNOMINMAX)
-endif()
+endif ()
 
 if (CMAKE_BUILD_TYPE)
     message("-- Build type is ${CMAKE_BUILD_TYPE}")
-endif()
+endif ()
 
 # Set up compiler and linker flags for debug, profiling or release builds.
 if(CMAKE_BUILD_TYPE MATCHES Debug)
     # Enable the C++17 standard and disable optimizations as it's a debug build.
-    if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17 /Od /DEBUG:FULL")
-    else()
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O0")
+    else ()
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O0 -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros")
         set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O0")
-    endif()
+    endif ()
     # If using Clang, then add additional debug data needed by GDB.
     # Comment this out if you're using LLDB for debugging as this flag makes the binary
     # much larger and the application much slower. On macOS this setting is never enabled
     # as LLDB is the default debugger on this OS.
-    if(NOT APPLE AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+    if (NOT APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_DEBUG")
-    endif()
+    endif ()
 elseif(CMAKE_BUILD_TYPE MATCHES Profiling)
     # For the profiling build, we enable optimizations and supply the required profiler flags.
-    if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17 /O2 /DEBUG:FULL")
-    else()
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O2 -pg -g")
+    else ()
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O2 -pg -g -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros")
         set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O2 -pg")
-    endif()
+    endif ()
 else()
     # Enable the C++17 standard and enable optimizations as it's a release build.
     # This will also disable all assert() macros. Strip the binary too.
-    if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNDEBUG /std:c++17 /O2 /DEBUG:NONE")
-    else()
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O2 -DNDEBUG")
-        if(APPLE)
+    else ()
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O2 -DNDEBUG -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros")
+        if (APPLE)
             set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O2")
-        else()
+        else ()
             set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O2 -s")
-        endif()
-    endif()
+        endif ()
+    endif ()
 endif()
 
 # The following removes half of the ranlib warnings on macOS regarding no symbols for files
@@ -167,26 +180,26 @@ if(APPLE)
 endif()
 
 if(APPLE)
-    if(MACOS_CODESIGN_IDENTITY)
+    if (MACOS_CODESIGN_IDENTITY)
         message("-- Code signing certificate identity: " ${MACOS_CODESIGN_IDENTITY})
-    endif()
-    if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.14)
+    endif ()
+    if (CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS 10.14)
         message("-- macOS version 10.13 or lower has been set, so if code signing is enabled, Hardened Runtime will not be used")
-    endif()
+    endif ()
 endif()
 
 #---------------------------------------------------------------------------------------------------
 # Preprocessor directives.
 
-if(${GLSystem} MATCHES "Desktop OpenGL")
+if (GLSYSTEM MATCHES "Desktop OpenGL")
     add_definitions(-DUSE_OPENGL_21)
-else()
+else ()
     add_definitions(-DUSE_OPENGLES_10)
-endif()
+endif ()
 
 if (VLC_PLAYER)
     add_definitions(-DBUILD_VLC_PLAYER)
-endif()
+endif ()
 
 if(DEFINED BCMHOST OR RPI)
     add_definitions(-D_RPI_)
@@ -204,13 +217,13 @@ add_definitions(-DGLM_FORCE_XYZW_ONLY)
 # we use /usr on Linux, /usr/pkg on NetBSD and /usr/local on FreeBSD and OpenBSD.
 if(NOT WIN32 AND NOT APPLE)
     if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
-        if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+        if (CMAKE_SYSTEM_NAME MATCHES "Linux")
             set(CMAKE_INSTALL_PREFIX "/usr" CACHE INTERNAL "CMAKE_INSTALL_PREFIX")
-        elseif(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+        elseif (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
             set(CMAKE_INSTALL_PREFIX "/usr/pkg" CACHE INTERNAL "CMAKE_INSTALL_PREFIX")
-        else()
+        else ()
             set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE INTERNAL "CMAKE_INSTALL_PREFIX")
-        endif()
+        endif ()
     endif()
     message("-- Installation prefix is set to " ${CMAKE_INSTALL_PREFIX})
     add_definitions(-DES_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
@@ -225,8 +238,7 @@ endif()
 #---------------------------------------------------------------------------------------------------
 # Include files.
 
-set(COMMON_INCLUDE_DIRS
-        ${CURL_INCLUDE_DIR}
+set(COMMON_INCLUDE_DIRS ${CURL_INCLUDE_DIR}
         ${FFMPEG_INCLUDE_DIRS}
         ${FreeImage_INCLUDE_DIRS}
         ${FREETYPE_INCLUDE_DIRS}
@@ -264,36 +276,33 @@ if(DEFINED libCEC_FOUND)
 endif()
 
 # For Linux, add the ALSA include directory.
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if (CMAKE_SYSTEM_NAME MATCHES "Linux")
     list(APPEND COMMON_INCLUDE_DIRS ${ALSA_INCLUDE_DIRS})
-endif()
+endif ()
 
-if(DEFINED BCMHOST OR RPI)
-    list(APPEND COMMON_INCLUDE_DIRS
-            "${CMAKE_FIND_ROOT_PATH}/opt/vc/include"
+if (DEFINED BCMHOST OR RPI)
+    list(APPEND COMMON_INCLUDE_DIRS "${CMAKE_FIND_ROOT_PATH}/opt/vc/include"
             "${CMAKE_FIND_ROOT_PATH}/opt/vc/include/interface/vcos"
             "${CMAKE_FIND_ROOT_PATH}/opt/vc/include/interface/vmcs_host/linux"
             "${CMAKE_FIND_ROOT_PATH}/opt/vc/include/interface/vcos/pthreads")
-endif()
+endif ()
 
 #---------------------------------------------------------------------------------------------------
 # Dependency libraries.
 
-if(NOT WIN32)
-    set(COMMON_LIBRARIES
-            ${CURL_LIBRARIES}
+if (NOT WIN32)
+    set(COMMON_LIBRARIES ${CURL_LIBRARIES}
             ${FFMPEG_LIBRARIES}
             ${FreeImage_LIBRARIES}
             ${FREETYPE_LIBRARIES}
             ${PUGIXML_LIBRARIES}
             ${SDL2_LIBRARY})
-    if(VLC_PLAYER)
+    if (VLC_PLAYER)
         set(COMMON_LIBRARIES ${COMMON_LIBRARIES} ${VLC_LIBRARIES})
-    endif()
-elseif(WIN32)
-    if(DEFINED MSVC)
-        set(COMMON_LIBRARIES
-                "${PROJECT_SOURCE_DIR}/avcodec.lib"
+    endif ()
+elseif (WIN32)
+    if (DEFINED MSVC)
+        set(COMMON_LIBRARIES "${PROJECT_SOURCE_DIR}/avcodec.lib"
                 "${PROJECT_SOURCE_DIR}/avfilter.lib"
                 "${PROJECT_SOURCE_DIR}/avformat.lib"
                 "${PROJECT_SOURCE_DIR}/avutil.lib"
@@ -307,12 +316,11 @@ elseif(WIN32)
                 "${PROJECT_SOURCE_DIR}/SDL2main.lib"
                 "${PROJECT_SOURCE_DIR}/SDL2.lib"
                 "Winmm.dll")
-        if(VLC_PLAYER)
+        if (VLC_PLAYER)
             set(COMMON_LIBRARIES ${COMMON_LIBRARIES} "${PROJECT_SOURCE_DIR}/libvlc.lib")
-        endif()
-    else()
-        set(COMMON_LIBRARIES
-                "${PROJECT_SOURCE_DIR}/avcodec-58.dll"
+        endif ()
+    else ()
+        set(COMMON_LIBRARIES "${PROJECT_SOURCE_DIR}/avcodec-58.dll"
                 "${PROJECT_SOURCE_DIR}/avfilter-7.dll"
                 "${PROJECT_SOURCE_DIR}/avformat-58.dll"
                 "${PROJECT_SOURCE_DIR}/avutil-56.dll"
@@ -327,22 +335,20 @@ elseif(WIN32)
                 "${PROJECT_SOURCE_DIR}/SDL2.dll"
                 "mingw32"
                 "Winmm.dll")
-        if(VLC_PLAYER)
+        if (VLC_PLAYER)
             set(COMMON_LIBRARIES ${COMMON_LIBRARIES} "${PROJECT_SOURCE_DIR}/libvlc.dll")
-        endif()
-    endif()
+        endif ()
+    endif ()
 endif()
 
 if(APPLE)
-    # See es-app/CMakeLists.txt for an explation for why an extra 'Resources' directory
+    # See es-app/CMakeLists.txt for an explation for why an extra "Resources" directory
     # has been added to the install prefix.
-    set(CMAKE_INSTALL_PREFIX
-            "/Applications/EmulationStation Desktop Edition.app/Contents/Resources")
+    set(CMAKE_INSTALL_PREFIX "/Applications/EmulationStation Desktop Edition.app/Contents/Resources")
 
     if(VLC_PLAYER)
         # Required as the VLC find module doesn't work properly on macOS.
-        set(COMMON_LIBRARIES ${COMMON_LIBRARIES}
-                "/Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib")
+        set(COMMON_LIBRARIES ${COMMON_LIBRARIES} "/Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib")
     endif()
 
     # Set the same rpath links for the install executable as for the build executable.
@@ -360,9 +366,9 @@ if(DEFINED libCEC_FOUND)
 endif()
 
 # Add ALSA for Linux libraries.
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if (CMAKE_SYSTEM_NAME MATCHES "Linux")
     list(APPEND COMMON_LIBRARIES ${ALSA_LIBRARY})
-endif()
+endif ()
 
 if(DEFINED BCMHOST)
     link_directories("${CMAKE_FIND_ROOT_PATH}/opt/vc/lib")
@@ -372,11 +378,11 @@ elseif(RPI)
     list(APPEND COMMON_LIBRARIES ${OPENGLES_LIBRARIES})
 endif()
 
-if(${GLSystem} MATCHES "Desktop OpenGL")
+if (GLSYSTEM MATCHES "Desktop OpenGL")
     list(APPEND COMMON_LIBRARIES ${OPENGL_LIBRARIES})
-else()
+else ()
     list(APPEND COMMON_LIBRARIES EGL ${OPENGLES_LIBRARIES})
-endif()
+endif ()
 
 #---------------------------------------------------------------------------------------------------
 # Build directories.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b2407e56c..45d8f5725 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -31,8 +31,8 @@ This plan is under constant review so expect it to change from time to time. Sti
 * Support for pre-defined alternative emulators and cores (configured in es_systems.xml)
 * Badges highlighting things like favorite games, completed games etc. (will require theme support)
 * Improved full-screen support, removing the temporary full-screen hacks
-* On-screen keyboard
-* Support for the Raspberry Pi 4 with OpenGL ES 2.0 and GLSL shaders (Raspberry Pi OS)
+* Virtual (on-screen) keyboard
+* Support for the Raspberry Pi 4 (Raspberry Pi OS)
 * Add GLM library dependency for matrix and vector operations, decommission the built-in functions
 * Add to more Linux repositories, BSD ports collections etc.
 * Flatpak and Snap releases on Linux
@@ -40,8 +40,9 @@ This plan is under constant review so expect it to change from time to time. Sti
 #### v1.3
 
 * Localization/multi-language support
-* Overhaul of the theme handling, adding capabilities and improving compatibility with Recalbox and Batocera themes
-* Scrapping the Grid view style and adding a general grid/wall component instead
+* New theme engine with generalized views (only System and Gamelist) and theme variants support
+* Add multiple new gamelist components (wheels, wall/grid etc.)
+* Move existing theme logic to legacy support, only to be used for backwards compatibility
 * Checksum support for the scraper for exact searches and for determining when to overwrite files
 * Improved text and font functions, e.g. faster and cleaner line wrapping and more exact sizing
 
diff --git a/CREDITS.md b/CREDITS.md
index da8a9e873..770648677 100644
--- a/CREDITS.md
+++ b/CREDITS.md
@@ -11,8 +11,6 @@ https://retropie.org.uk
 Leon Styhre (Desktop Edition fork, based on the RetroPie version) \
 https://gitlab.com/leonstyhre/emulationstation-de
 
-The shader code for blur_horizontal.glsl, blur_vertical_glsl and scanlines.glsl has been borrowed from the [RetroArch](https://www.retroarch.com) project.
-
 
 # UI Art & Design
 
@@ -62,6 +60,16 @@ https://rapidjson.org
 SDL \
 https://www.libsdl.org
 
+# Code
+
+Some code (like the virtual keyboard) was borrowed from Batocera.linux \
+https://batocera.org
+
+The MD5 hash functions were adapted from code by the BZFlag project \
+https://www.bzflag.org
+
+A few of the GLSL shaders were borrowed from the RetroArch project \
+https://www.retroarch.com
 
 # Resources
 
diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md
index d6de8da65..b313d020c 100644
--- a/INSTALL-DEV.md
+++ b/INSTALL-DEV.md
@@ -125,7 +125,9 @@ pkg_add vlc
 
 In the same manner as for FreeBSD, Clang/LLVM and cURL should already be installed by default.
 
-RapidJSON is not part of the OpenBSD ports/package collection as of v6.8, so you need to compile it yourself. At the time of writing, the latest release v1.1.0 does not compile on OpenBSD, so you need to use the master branch:
+RapidJSON is not part of the OpenBSD ports/package collection as of v6.8, so you need to compile it yourself. At the
+time of writing, the latest release v1.1.0 does not compile on OpenBSD, so you need to use the latest available code
+from the master branch:
 
 ```
 git clone https://github.com/Tencent/rapidjson.git
@@ -865,6 +867,7 @@ nmake
 ```
 
 MinGW:
+
 ```
 cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON .
 make
@@ -872,16 +875,15 @@ make
 
 [RapidJSON](http://rapidjson.org)
 
-For RapidJSON you don't need to compile, you just need the include files:
+For RapidJSON you don't need to compile anything, you just need the include files.
+
+At the time of writing, the latest release v1.1.0 generates some compiler warnings on Windows, but this can be avoided
+by using the latest available code from the master branch:
 
 ```
 git clone git://github.com/Tencent/rapidjson.git
-cd rapidjson
-git checkout v1.1.0
 ```
 
-
-
 **Clone the ES-DE repository:**
 
 This works the same as on Unix or macOS, just run the following:
@@ -1174,11 +1176,11 @@ In some instances you may want to avoid getting code formatted, and you can acco
 ```c++
 // clang-format off
 CollectionSystemDecl systemDecls[] = {
-//  Type                  Name                Long name       Theme folder           isCustom
-    { AUTO_ALL_GAMES,     "all",              "all games",    "auto-allgames",       false },
-    { AUTO_LAST_PLAYED,   "recent",           "last played",  "auto-lastplayed",     false },
-    { AUTO_FAVORITES,     "favorites",        "favorites",    "auto-favorites",      false },
-    { CUSTOM_COLLECTION,  myCollectionsName,  "collections",  "custom-collections",  true  }
+//  Type                 Name                Long name       Theme folder           isCustom
+    {AUTO_ALL_GAMES,     "all",              "all games",    "auto-allgames",       false},
+    {AUTO_LAST_PLAYED,   "recent",           "last played",  "auto-lastplayed",     false},
+    {AUTO_FAVORITES,     "favorites",        "favorites",    "auto-favorites",      false},
+    {CUSTOM_COLLECTION,  myCollectionsName,  "collections",  "custom-collections",  true }
 };
 // clang-format on
 ```
@@ -1396,26 +1398,44 @@ For the following options, the es_settings.xml file is immediately updated/saved
 --show-hidden-games
 ```
 
-
 ## es_systems.xml
 
-The es_systems.xml file contains the system configuration data for ES-DE, written in XML format. This defines the system name, the full system name, the ROM path, the allowed file extensions, the launch command, the platform (for scraping) and the theme to use.
+The es_systems.xml file contains the game systems configuration data for ES-DE, written in XML format. This defines the
+system name, the full system name, the ROM path, the allowed file extensions, the launch command, the platform (for
+scraping) and the theme to use.
 
-ES-DE ships with a comprehensive `es_systems.xml` configuration file and normally you shouldn't need to modify this. However there may be special circumstances such as wanting to use alternative emulators for some game systems or perhaps you need to add additional systems altogether.
+ES-DE ships with a comprehensive `es_systems.xml` file and most users will probably never need to make any
+customizations. But there may be special circumstances such as wanting to use different emulators for some game systems
+or perhaps to add additional systems altogether.
 
-To make a customized version of the systems configuration file, it first needs to be copied to `~/.emulationstation/custom_systems/es_systems.xml`. (The tilde symbol `~` translates to `$HOME` on Unix and macOS, and to `%HOMEPATH%` on Windows unless overridden using the --home command line option.)
+To accomplish this, ES-DE supports customizations via a separate es_systems.xml file that is to be placed in
+the `custom_systems` folder in the application home directory, i.e. `~/.emulationstation/custom_systems/es_systems.xml`
+. (The tilde symbol `~` translates to `$HOME` on Unix and macOS, and to `%HOMEPATH%` on Windows unless overridden via
+the --home command line option.)
 
-The bundled es_systems.xml file is located in the resources directory that is part of the application installation. For example this could be `/usr/share/emulationstation/resources/systems/unix/es_systems.xml` on Unix, `/Applications/EmulationStation Desktop Edition.app/Contents/Resources/resources/systems/macos/es_systems.xml` on macOS or `C:\Program Files\EmulationStation-DE\resources\systems\windows\es_systems.xml` on Windows. The actual location may differ from these examples of course, depending on where ES-DE has been installed.
+This custom file functionality is designed to be complementary to the bundled es_systems.xml file, meaning you should
+only add entries to the custom configuration file for game systems that you actually want to add or override. So to for
+example customize a single system, this file should only contain a single `<system>` tag. The structure of the custom
+file is identical to the bundled file with the exception of an additional optional tag named `<loadExclusive/>`. If this
+is placed in the custom es_systems.xml file, ES-DE will not load the bundled file. This is normally not recommended and
+should only be used for special situations. At the end of this section you can find an example of a custom
+es_systems.xml file.
 
-Note that when copying the bundled es_systems.xml file to ~/.emulationstation/custom_systems/, it will completely replace the default file processing. So when upgrading to future ES-DE versions, any modifications such as additional game systems will not be enabled until the customized configuration file has been manually updated.
+The bundled es_systems.xml file is located in the resources directory that is part of the application installation. For
+example this could be `/usr/share/emulationstation/resources/systems/unix/es_systems.xml` on
+Unix, `/Applications/EmulationStation Desktop Edition.app/Contents/Resources/resources/systems/macos/es_systems.xml` on
+macOS or `C:\Program Files\EmulationStation-DE\resources\systems\windows\es_systems.xml` on Windows. The actual location
+may differ from these examples of course, depending on where ES-DE has been installed.
 
-It doesn't matter in which order you define the systems as they will be sorted by the full system name inside the application, but it's still probably a good idea to add them in alphabetical order to make the file easier to maintain.
+It doesn't matter in which order you define the systems as they will be sorted by the full system name inside the
+application, but it's still probably a good idea to add them in alphabetical order to make the file easier to maintain.
 
-Keep in mind that you have to set up your emulators separately from ES-DE as the es_systems.xml file assumes that your emulator environment is properly configured.
+Keep in mind that you have to set up your emulators separately from ES-DE as the es_systems.xml file assumes that your
+emulator environment is properly configured.
 
-Below is an overview of the file layout with various examples. For the command tag, the newer es_find_rules.xml logic described later in this document removes the need for most of the legacy options, but they are still supported for special configurations and for backward compatibility with old configuration files.
-
-For a real system entry there can of course not be multiple entries for the same tag such as the multiple \<command\> entries listed here.
+Below is an overview of the file layout with various examples. For the command tag, the newer es_find_rules.xml logic
+described later in this document removes the need for most of the legacy options, but they are still supported for
+special configurations and for backward compatibility with old configuration files.
 
 ```xml
 <?xml version="1.0"?>
@@ -1424,7 +1444,9 @@ For a real system entry there can of course not be multiple entries for the same
     <!-- Any tag not explicitly described as optional in the description is mandatory.
     If omitting a mandatory tag, ES-DE will skip the system entry during startup. -->
     <system>
-        <!-- A short name, used internally. -->
+        <!-- A short name. Although there can be multiple identical <name> tags in the file, upon successful loading of a system,
+        any succeeding entries with identical <name> tags will be skipped. Multiple identical name tags is only required for very
+        special situations so it's normally recommended to keep this tag unique. -->
         <name>snes</name>
 
         <!-- The full system name, used for sorting the systems, for selecting the systems to multi-scrape etc. -->
@@ -1436,14 +1458,22 @@ For a real system entry there can of course not be multiple entries for the same
         <path>%ROMPATH%/snes</path>
 
         <!-- A list of extensions to search for, delimited by any of the whitespace characters (", \r\n\t").
-        You must include the period at the start of the extension and it's also case sensitive. -->
+        The extensions are case sensitive and they must begin with a dot. -->
         <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 for a command tag (see below).
+        <!-- The command executed when a game is launched. Various variables are replaced if found for a command tag as explained below.
         This example for Unix uses the %EMULATOR_ and %CORE_ variables which utilize the find rules defined in the es_find_rules.xml
         file. This is the recommended way to configure the launch command. -->
         <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
 
+        <!-- It's possible to define alternative emulators by adding additional command tags for a system. When doing this,
+        the "label" attribute is mandatory for all tags. It's these labels that will be shown in the user interface when
+        selecting the alternative emulators either system-wide or per game. The first row will be the default emulator. -->
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.so %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.so %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quicknes_libretro.so %ROM%</command>
+
         <!-- This example for Unix will search for RetroArch in the PATH environment variable and it also has an absolute path to
         the snes9x_libretro core, If there are spaces in the path or file name, you must enclose them in quotation marks, such as
         retroarch -L "~/my configs/retroarch/cores/snes9x_libretro.so" %ROM% -->
@@ -1518,103 +1548,147 @@ The following variables are expanded for the `command` tag:
 Here are some additional real world examples of system entries, the first one for Unix:
 
 ```xml
-  <system>
+<system>
     <name>dos</name>
     <fullname>DOS (PC)</fullname>
     <path>%ROMPATH%/dos</path>
     <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.so %ROM%</command>
+    <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.so %ROM%</command>
+    <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.so %ROM%</command>
+    <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_svn_libretro.so %ROM%</command>
     <platform>dos</platform>
     <theme>dos</theme>
-  </system>
+</system>
 ```
 
 Then one for macOS:
 
 ```xml
-  <system>
-    <name>nes</name>
-    <fullname>Nintendo Entertainment System</fullname>
-    <path>%ROMPATH%/nes</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
-    <platform>nes</platform>
-    <theme>nes</theme>
-  </system>
+<system>
+    <name>n64</name>
+    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.dylib %ROM%</command>
+    <platform>n64</platform>
+    <theme>n64</theme>
+</system>
 ```
 
 And finally one for Windows:
 
 ```xml
-  <system>
-    <name>sega32x</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32x</theme>
-  </system>
+<system>
+    <name>pcengine</name>
+    <fullname>NEC PC Engine</fullname>
+    <path>%ROMPATH%\pcengine</path>
+    <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC .7z .7Z .zip .ZIP</extension>
+    <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
+    <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_fast_libretro.dll %ROM%</command>
+    <platform>pcengine</platform>
+    <theme>pcengine</theme>
+</system>
+```
+
+As well, here's an example for Unix of a custom es_systems.xml file placed in ~/.emulationstation/custom_systems/ that
+overrides a single game system from the bundled configuration file:
+
+```xml
+<?xml version="1.0"?>
+<!-- This is a custom ES-DE game systems configuration file for Unix -->
+<systemList>
+    <system>
+        <name>nes</name>
+        <fullname>Nintendo Entertainment System</fullname>
+        <path>%ROMPATH%/nes</path>
+        <extension>.nes .NES .zip .ZIP</extension>
+        <command>/usr/games/fceux %ROM%</command>
+        <platform>nes</platform>
+        <theme>nes</theme>
+    </system>
+</systemList>
+```
+
+If adding the `<loadExclusive/>` tag to the file, the bundled es_systems.xml file will not be processed. For this
+example it wouldn't be a very good idea as NES would then be the only platform that could be used in ES-DE.
+
+```xml
+<?xml version="1.0"?>
+<!-- This is a custom ES-DE game systems configuration file for Unix -->
+<loadExclusive/>
+<systemList>
+    <system>
+        <name>nes</name>
+        <fullname>Nintendo Entertainment System</fullname>
+        <path>%ROMPATH%/nes</path>
+        <extension>.nes .NES .zip .ZIP</extension>
+        <command>/usr/games/fceux %ROM%</command>
+        <platform>nes</platform>
+        <theme>nes</theme>
+    </system>
+</systemList>
 ```
 
 ## es_find_rules.xml
 
 This file makes it possible to define rules for where to search for the emulator binaries and emulator cores.
 
-The file is located in the resources directory in the same location as the es_systems.xml file, but a customized copy can be placed in ~/.emulationstation/custom_systems, which will override the bundled file.
+The file is located in the resources directory in the same location as the es_systems.xml file, but a customized copy
+can be placed in ~/.emulationstation/custom_systems, which will override the bundled file.
 
 Here's an example es_find_rules.xml file for Unix:
+
 ```xml
 <?xml version="1.0"?>
 <!-- This is the ES-DE find rules configuration file for Unix -->
 <ruleList>
-  <emulator name="RETROARCH">
-    <rule type="systempath">
-      <entry>retroarch</entry>
-      <entry>org.libretro.RetroArch</entry>
-      <entry>RetroArch-Linux-x86_64.AppImage</entry>
-    </rule>
-    <rule type="staticpath">
-      <entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
-      <entry>~/Applications/RetroArch-Linux-x86_64.AppImage</entry>
-      <entry>~/.local/bin/RetroArch-Linux-x86_64.AppImage</entry>
-      <entry>~/bin/RetroArch-Linux-x86_64.AppImage</entry>
-    </rule>
-  </emulator>
-  <emulator name="YUZU">
-    <!-- Nintendo Switch emulator Yuzu -->
-    <rule type="systempath">
-      <entry>yuzu</entry>
-      <entry>org.yuzu_emu.yuzu</entry>
-      <entry>yuzu.AppImage</entry>
-    </rule>
-    <rule type="staticpath">
-      <entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
-      <entry>~/Applications/yuzu.AppImage</entry>
-      <entry>~/.local/bin/yuzu.AppImage</entry>
-      <entry>~/bin/yuzu.AppImage</entry>
-    </rule>
-  </emulator>
-  <core name="RETROARCH">
-    <rule type="corepath">
-      <!-- Snap package -->
-      <entry>~/snap/retroarch/current/.config/retroarch/cores</entry>
-      <!-- Flatpak package -->
-      <entry>~/.var/app/org.libretro.RetroArch/config/retroarch/cores</entry>
-      <!-- AppImage and compiled from source -->
-      <entry>~/.config/retroarch/cores</entry>
-      <!-- Ubuntu and Linux Mint repository -->
-      <entry>/usr/lib/x86_64-linux-gnu/libretro</entry>
-      <!-- Fedora repository -->
-      <entry>/usr/lib64/libretro</entry>
-      <!-- Manjaro repository -->
-      <entry>/usr/lib/libretro</entry>
-      <!-- FreeBSD and OpenBSD repository -->
-      <entry>/usr/local/lib/libretro</entry>
-      <!-- NetBSD repository -->
-      <entry>/usr/pkg/lib/libretro</entry>
-    </rule>
-  </core>
+    <emulator name="RETROARCH">
+        <rule type="systempath">
+            <entry>retroarch</entry>
+            <entry>org.libretro.RetroArch</entry>
+            <entry>RetroArch-Linux-x86_64.AppImage</entry>
+        </rule>
+        <rule type="staticpath">
+            <entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
+            <entry>~/Applications/RetroArch-Linux-x86_64.AppImage</entry>
+            <entry>~/.local/bin/RetroArch-Linux-x86_64.AppImage</entry>
+            <entry>~/bin/RetroArch-Linux-x86_64.AppImage</entry>
+        </rule>
+    </emulator>
+    <emulator name="YUZU">
+        <!-- Nintendo Switch emulator Yuzu -->
+        <rule type="systempath">
+            <entry>yuzu</entry>
+            <entry>org.yuzu_emu.yuzu</entry>
+            <entry>yuzu.AppImage</entry>
+        </rule>
+        <rule type="staticpath">
+            <entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
+            <entry>~/Applications/yuzu.AppImage</entry>
+            <entry>~/.local/bin/yuzu.AppImage</entry>
+            <entry>~/bin/yuzu.AppImage</entry>
+        </rule>
+    </emulator>
+    <core name="RETROARCH">
+        <rule type="corepath">
+            <!-- Snap package -->
+            <entry>~/snap/retroarch/current/.config/retroarch/cores</entry>
+            <!-- Flatpak package -->
+            <entry>~/.var/app/org.libretro.RetroArch/config/retroarch/cores</entry>
+            <!-- AppImage and compiled from source -->
+            <entry>~/.config/retroarch/cores</entry>
+            <!-- Ubuntu and Linux Mint repository -->
+            <entry>/usr/lib/x86_64-linux-gnu/libretro</entry>
+            <!-- Fedora repository -->
+            <entry>/usr/lib64/libretro</entry>
+            <!-- Manjaro repository -->
+            <entry>/usr/lib/libretro</entry>
+            <!-- FreeBSD and OpenBSD repository -->
+            <entry>/usr/local/lib/libretro</entry>
+            <!-- NetBSD repository -->
+            <entry>/usr/pkg/lib/libretro</entry>
+        </rule>
+    </core>
 </ruleList>
 ```
 
@@ -1655,19 +1729,19 @@ For reference, here are also example es_find_rules.xml files for macOS and Windo
 <?xml version="1.0"?>
 <!-- This is the ES-DE find rules configuration file for macOS -->
 <ruleList>
-  <emulator name="RETROARCH">
-    <rule type="staticpath">
-      <entry>/Applications/RetroArch.app/Contents/MacOS/RetroArch</entry>
-    </rule>
-  </emulator>
-  <core name="RETROARCH">
-    <rule type="corepath">
-      <!-- RetroArch >= v1.9.2 -->
-      <entry>~/Library/Application Support/RetroArch/cores</entry>
-      <!-- RetroArch < v1.9.2 -->
-      <entry>/Applications/RetroArch.app/Contents/Resources/cores</entry>
-    </rule>
-  </core>
+    <emulator name="RETROARCH">
+        <rule type="staticpath">
+            <entry>/Applications/RetroArch.app/Contents/MacOS/RetroArch</entry>
+        </rule>
+    </emulator>
+    <core name="RETROARCH">
+        <rule type="corepath">
+            <!-- RetroArch >= v1.9.2 -->
+            <entry>~/Library/Application Support/RetroArch/cores</entry>
+            <!-- RetroArch < v1.9.2 -->
+            <entry>/Applications/RetroArch.app/Contents/Resources/cores</entry>
+        </rule>
+    </core>
 </ruleList>
 ```
 
@@ -1675,48 +1749,48 @@ For reference, here are also example es_find_rules.xml files for macOS and Windo
 <?xml version="1.0"?>
 <!-- This is the ES-DE find rules configuration file for Windows -->
 <ruleList>
-  <emulator name="RETROARCH">
-    <rule type="winregistrypath">
-      <!-- Check for an App Paths entry in the Windows Registry -->
-      <entry>retroarch.exe</entry>
-    </rule>
-    <rule type="systempath">
-      <!-- This requires that the user has manually updated the Path variable -->
-      <entry>retroarch.exe</entry>
-    </rule>
-    <rule type="staticpath">
-      <!-- Some reasonable installation locations as fallback -->
-      <entry>C:\RetroArch-Win64\retroarch.exe</entry>
-      <entry>C:\RetroArch\retroarch.exe</entry>
-      <entry>~\AppData\Roaming\RetroArch\retroarch.exe</entry>
-      <entry>C:\Program Files\RetroArch-Win64\retroarch.exe</entry>
-      <entry>C:\Program Files\RetroArch\retroarch.exe</entry>
-      <entry>C:\Program Files (x86)\RetroArch-Win64\retroarch.exe</entry>
-      <entry>C:\Program Files (x86)\RetroArch\retroarch.exe</entry>
-      <!-- Portable installation -->
-      <entry>%ESPATH%\RetroArch-Win64\retroarch.exe</entry>
-      <entry>%ESPATH%\RetroArch\retroarch.exe</entry>
-      <entry>%ESPATH%\..\RetroArch-Win64\retroarch.exe</entry>
-      <entry>%ESPATH%\..\RetroArch\retroarch.exe</entry>
-    </rule>
-  </emulator>
-  <emulator name="YUZU">
-    <!-- Nintendo Switch emulator Yuzu -->
-    <rule type="systempath">
-      <entry>yuzu.exe</entry>
-    </rule>
-    <rule type="staticpath">
-      <entry>~\AppData\Local\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
-      <!-- Portable installation -->
-      <entry>%ESPATH%\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
-      <entry>%ESPATH%\..\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
-    </rule>
-  </emulator>
-  <core name="RETROARCH">
-    <rule type="corepath">
-      <entry>%EMUPATH%\cores</entry>
-    </rule>
-  </core>
+    <emulator name="RETROARCH">
+        <rule type="winregistrypath">
+            <!-- Check for an App Paths entry in the Windows Registry -->
+            <entry>retroarch.exe</entry>
+        </rule>
+        <rule type="systempath">
+            <!-- This requires that the user has manually updated the Path variable -->
+            <entry>retroarch.exe</entry>
+        </rule>
+        <rule type="staticpath">
+            <!-- Some reasonable installation locations as fallback -->
+            <entry>C:\RetroArch-Win64\retroarch.exe</entry>
+            <entry>C:\RetroArch\retroarch.exe</entry>
+            <entry>~\AppData\Roaming\RetroArch\retroarch.exe</entry>
+            <entry>C:\Program Files\RetroArch-Win64\retroarch.exe</entry>
+            <entry>C:\Program Files\RetroArch\retroarch.exe</entry>
+            <entry>C:\Program Files (x86)\RetroArch-Win64\retroarch.exe</entry>
+            <entry>C:\Program Files (x86)\RetroArch\retroarch.exe</entry>
+            <!-- Portable installation -->
+            <entry>%ESPATH%\RetroArch-Win64\retroarch.exe</entry>
+            <entry>%ESPATH%\RetroArch\retroarch.exe</entry>
+            <entry>%ESPATH%\..\RetroArch-Win64\retroarch.exe</entry>
+            <entry>%ESPATH%\..\RetroArch\retroarch.exe</entry>
+        </rule>
+    </emulator>
+    <emulator name="YUZU">
+        <!-- Nintendo Switch emulator Yuzu -->
+        <rule type="systempath">
+            <entry>yuzu.exe</entry>
+        </rule>
+        <rule type="staticpath">
+            <entry>~\AppData\Local\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
+            <!-- Portable installation -->
+            <entry>%ESPATH%\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
+            <entry>%ESPATH%\..\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
+        </rule>
+    </emulator>
+    <core name="RETROARCH">
+        <rule type="corepath">
+            <entry>%EMUPATH%\cores</entry>
+        </rule>
+    </core>
 </ruleList>
 ```
 
@@ -1807,8 +1881,8 @@ There are two basic categories of metadata, `game` and `folders` and the metdata
 * `nogamecount` - bool, indicates whether the game should be excluded from the game counter and the automatic and custom collections
 * `nomultiscrape` - bool, indicates whether the game should be excluded from the multi-scraper
 * `hidemetadata` - bool, indicates whether to hide most of the metadata fields when displaying the game in the gamelist view
-* `launchcommand` - string, overrides the emulator and core settings on a per-game basis
 * `playcount` - integer, the number of times this game has been played
+* `altemulator` - string, overrides the emulator/launch command on a per game basis
 * `lastplayed` - statistic, datetime, the last date and time this game was played
 
 For folders, most of the fields are identical although some are removed. In the list below, the fields with identical function compared to the game files described above have been left without a description.
diff --git a/README.md b/README.md
index 2a6f6a08a..759c21cf7 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,6 @@ Web site:\
 YouTube channel with installation instruction videos:\
 [https://www.youtube.com/channel/UCosLuC9yIMQPKFBJXgDpvVQ](https://www.youtube.com/channel/UCosLuC9yIMQPKFBJXgDpvVQ)
 
-Twitter:\
-[https://twitter.com/ESDE_Frontend](https://twitter.com/ESDE_Frontend)
-
 Discord server:\
 [https://discord.gg/3jmbRXFe](https://discord.gg/EVVX4DqWAP)
 
@@ -44,7 +41,8 @@ The latest version is 1.1.0 (released 2021-08-10)
 | :------------------ | :------------------------------------------------------ | :----------- | :------------- |
 | Debian DEB package  | Ubuntu 20.04 to 21.04, Linux Mint 20, possibly others   | x64 (x86)    | [emulationstation-de-1.1.0-x64.deb](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/14892301/download)|
 | Fedora RPM package  | Fedora Workstation 33, possibly others                  | x64 (x86)    | [emulationstation-de-1.1.0-x64.rpm](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/14892436/download)|
-| Debian DEB package  | Raspberry Pi OS (Raspian) - preview release             | ARM          | [emulationstation-de-1.1.0-preview-armv7l.deb](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/14892276/download)|
+| Debian DEB package  | Raspberry Pi OS (Raspian) - preview release             | ARM 32-bit   | [emulationstation-de-1.1.0-preview-armv7l.deb](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/14892276/download)|
+| Debian DEB package  | Raspberry Pi OS (Raspian) - preview release             | ARM 64-bit   | [emulationstation-de-1.1.0-preview-aarch64.deb](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/16221679/download)|
 | macOS DMG installer | macOS 10.14 "Mojave" to 11 "Big Sur"                    | x64 (x86)    | [EmulationStation-DE-1.1.0-x64.dmg](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/14892342/download)|
 | Windows installer   | Windows 10 and 8.1                                      | x64 (x86)    | [EmulationStation-DE-1.1.0-x64.exe](https://gitlab.com/leonstyhre/emulationstation-de/-/package_files/14892429/download)|
 
@@ -82,32 +80,32 @@ If you would like to contribute to the development of ES-DE, then that's great!
 
 Here are some highlights of what EmulationStation Desktop Edition provides, displayed using the default theme set rbsimple-DE. There are of course many more features available, as covered in the  [User guide](USERGUIDE.md).
 
-![alt text](images/current/es-de_system_view.png "ES-DE System View")
+![alt text](images/es-de_system_view.png "ES-DE System View")
 _The **System view**, which is the default starting point for the application, it's here that you browse through your game systems._
 
-![alt text](images/current/es-de_gamelist_view.png "ES-DE Gamelist View")
+![alt text](images/es-de_gamelist_view.png "ES-DE Gamelist View")
 _The **Gamelist view**, it's here that you browse the games for a specific system. Note the support for mixing files and folders, and as well that favorite games are marked with stars. There is a game counter to the upper right, displaying the total number of games and the number of favorite games for this system._
 
-![alt text](images/current/es-de_folder_support.png "ES-DE Folder Support")
+![alt text](images/es-de_folder_support.png "ES-DE Folder Support")
 _Another example of the gamelist view, displaying advanced folder support. You can scrape folders for game info and game media, sort folders as you would files, mark them as favorites etc. In this example ES-DE has been configured to sort favorite games above non-favorites._
 
-![alt text](images/current/es-de_custom_collections.png "ES-DE Custom Collections")
+![alt text](images/es-de_custom_collections.png "ES-DE Custom Collections")
 _Games can be grouped into your own custom collections, in this example they're defined as game genres but you can name them anything you like. All gamelist views including the custom collections support both game images or game videos. By default the rbsimple-DE theme will display the game image for a short moment before starting to play the video._
 
-![alt text](images/current/es-de_scraper_running.png "ES-DE Scraper Running")
+![alt text](images/es-de_scraper_running.png "ES-DE Scraper Running")
 _This is a view of the built-in scraper which downloads game info and game media from either [screenscraper.fr](https://screenscraper.fr) or [thegamesdb.net](https://thegamesdb.net). It's possible to scrape a single game, or to run the multi-scraper which can scrape a complete game system or even your entire collection._
 
-![alt text](images/current/es-de_scraper_settings.png "ES-DE Scraper Settings")
+![alt text](images/es-de_scraper_settings.png "ES-DE Scraper Settings")
 _There are many settings for the scraper including options to define which type of info and media to download. The above screenshot shows only a portion of these settings._
 
-![alt text](images/current/es-de_metadata_editor.png "ES-DE Metadata Editor")
+![alt text](images/es-de_metadata_editor.png "ES-DE Metadata Editor")
 _In addition to the scraper there is a fully-featured metadata editor that can be used to modify information on a per-game basis. Here you can also toggle some additional flags which the scraper does not set, such as if the game is a favorite or if you have completed it. Some of these flags can then be filtered in the gamelist view, letting you for instance only display games that you have not played through._
 
-![alt text](images/current/es-de_screensaver.png "ES-DE Screensaver")
+![alt text](images/es-de_screensaver.png "ES-DE Screensaver")
 _There are four types of built-in screensavers available, including a slideshow and the video screensaver shown in action above. These screensavers start after a configurable number of minutes of inactivity, and randomly display game media that you have previously scraped. If the corresponding option has been enabled, you can jump to the game from the screensaver, or even start it directly. There is shader support in ES-DE to render scanlines and screen blur on top of the videos (for the slideshow screensaver, scanline rendering is provided)._
 
-![alt text](images/current/es-de_ui_theme_support.png "ES-DE Theme Support")
+![alt text](images/es-de_ui_theme_support.png "ES-DE Theme Support")
 _ES-DE is fully themeable, so if you prefer another look than what the default theme rbsimple-DE gives you, it's possible to apply another theme set. In the example above a modified version of the [Fundamental](https://github.com/G-rila/es-theme-fundamental) theme is used. Be aware though that although ES-DE is backwards compatible with older EmulationStation themes, some newer features which are specific to ES-DE will not work, at least not until the theme authors update their themes._
 
-![alt text](images/current/es-de_ui_easy_setup.png "ES-DE Easy Setup")
+![alt text](images/es-de_ui_easy_setup.png "ES-DE Easy Setup")
 _A lot of effort has been spent on making ES-DE easy to setup and use. The above screenshot shows the dialog if starting the application without any game files present in the default ROM directory. ES-DE also ships with a comprehensive game systems configuration file, so unless you really want to customize your setup, you should not need to tinker with the configuration._
\ No newline at end of file
diff --git a/THEMES-DEV.md b/THEMES-DEV.md
index 79af9725c..7359ef622 100644
--- a/THEMES-DEV.md
+++ b/THEMES-DEV.md
@@ -864,9 +864,9 @@ EmulationStation borrows the concept of "nine patches" from Android (or "9-Slice
     - Where on the component `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place
       the component exactly in the middle of the screen.
 * `textColor` - type: COLOR. Default is 777777FF.
-* `textColorDimmed` - type: COLOR. Default is 777777FF.
+* `textColorDimmed` - type: COLOR. Default is the same value as textColor. Must be placed under the 'system' view.
 * `iconColor` - type: COLOR. Default is 777777FF.
-* `iconColorDimmed` - type: COLOR. Default is 777777FF.
+* `iconColorDimmed` - type: COLOR. Default is the same value as iconColor. Must be placed under the 'system' view.
 * `fontPath` - type: PATH.
 * `fontSize` - type: FLOAT.
 * `entrySpacing` - type: FLOAT. Default is 16.0.
@@ -884,6 +884,8 @@ EmulationStation borrows the concept of "nine patches" from Android (or "9-Slice
       `button_l`,
       `button_r`,
       `button_lr`,
+      `button_lt`,
+      `button_rt`,
       `button_a_SNES`,
       `button_b_SNES`,
       `button_x_SNES`,
diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md
index a59b65160..c6ced13e0 100644
--- a/USERGUIDE-DEV.md
+++ b/USERGUIDE-DEV.md
@@ -73,17 +73,37 @@ There's not really much to say about these operating systems, just install ES-DE
 
 Upon first startup, ES-DE will create its `~/.emulationstation` home directory.
 
-On Unix this means /home/\<username\>/.emulationstation/, on macOS /Users/\<username\>/.emulationstation/ and on Windows C:\Users\\<username\>\\.emulationstation\
+On Unix this means /home/\<username\>/.emulationstation/, on macOS /Users/\<username\>/.emulationstation/ and on Windows
+C:\Users\\<username\>\\.emulationstation\
 
-**Note:** As of ES-DE v1.1 there is no internationalization support, which means that the application will always require the physical rather than the localized path to your home directory. For instance on macOS configured for the Swedish language /Users/myusername will be the physical path but /Användare/myusername is the localized path that is actually shown in the user interface. The same is true on Windows where the directories would be C:\Users\myusername and C:\Användare\myusername respectively. If attempting to enter the localized path for any directory-related setting, ES-DE will not be able to find it. But it's always possible to use the tilde `~` symbol when referring to your home directory, which ES-DE will expand to the physical location regardless of what language you have configured for your operating system. If you're using an English-localized system, this whole point is irrelevant as the physical and localized paths are then identical.
+**Note:** As of ES-DE v1.1 there is no internationalization support, which means that the application will always
+require the physical rather than the localized path to your home directory. For instance on macOS configured for the
+Swedish language /Users/myusername will be the physical path but /Användare/myusername is the localized path that is
+actually shown in the user interface. The same is true on Windows where the directories would be C:\Users\myusername and
+C:\Användare\myusername respectively. If attempting to enter the localized path for any directory-related setting, ES-DE
+will not be able to find it. But it's always possible to use the tilde `~` symbol when referring to your home directory,
+which ES-DE will expand to the physical location regardless of what language you have configured for your operating
+system. If you're using an English-localized system, this whole point is irrelevant as the physical and localized paths
+are then identical.
 
-It's also possible to override the home directory path using the --home command line option, but this is normally required only for very special situations so we can safely ignore that option for now.
+It's possible to override the home directory path using the --home command line option, but this is normally required
+only for very special situations so we can safely ignore that option for now.
 
-Also on first startup the configuration file `es_settings.xml` will be generated in the ES-DE home directory, containing all the application settings at their default values. Following this, a file named `es_systems.xml` will be loaded from the resources directory (which is part of the ES-DE installation). This file contains the game system definitions including which emulator to use per platform. The systems configuration file can be customized, as described in the next section.
+Also on first startup the configuration file `es_settings.xml` will be generated in the ES-DE home directory, containing
+all the application settings at their default values. Following this, a file named `es_systems.xml` will be loaded from
+the resources directory (which is part of the ES-DE installation). This file contains the game system definitions
+including which emulator to use per platform. For some systems there are also alternative emulators defined which can be
+applied system-wide or per game. How that works is explained later in this guide. A customized systems configuration
+file can also be used, as described in the next section.
 
-There's an application log file created in the ES-DE home directory named `es_log.txt`, please refer to this in case of any issues as it should hopefully provide information on what went wrong. Starting ES-DE with the --debug flag provides even more detailed information.
+There's an application log file created in the ES-DE home directory named `es_log.txt`, please refer to this in case of
+any issues as it should hopefully provide information on what went wrong. Starting ES-DE with the --debug flag provides
+even more detailed information.
 
-After ES-DE finds at least one game file, it will populate that game system and the application will start. If there are no game files, a dialog will be shown explaining that you need to install your game files into your ROMs directory. You will also be given a choice to change that ROMs directory path if you don't want to use the default one. As well you have the option to generate the complete game systems directory structure based on information in es_systems.xml.
+After ES-DE finds at least one game file, it will populate that game system and the application will start. If there are
+no game files, a dialog will be shown explaining that you need to install your game files into your ROMs directory. You
+will also be given a choice to change that ROMs directory path if you don't want to use the default one. As well you
+have the option to generate the complete game systems directory structure based on information in es_systems.xml.
 
 When generating the directory structure, a file named systeminfo.txt will be created in each game system folder which will provide you with some information about the system. Here's an example for the _gc_ system as seen on macOS:
 ```
@@ -106,9 +126,11 @@ Theme folder:
 gc
 ```
 
-The primary use of this file is to see which RetroArch core the system needs, which you will have to install manually from inside the RetroArch user interface. Also the supported file extensions can be quite useful to know.
+The primary use of this file is to see which RetroArch core the system needs, which you will have to install manually
+from inside the RetroArch user interface. Also the supported file extensions can be quite useful to know.
 
-In addition to this, a file named systems.txt will be created in the root of the ROMs directory which shows the mapping between the directory names and the full system names.
+In addition to this, a file named systems.txt will be created in the root of the ROMs directory which shows the mapping
+between the directory names and the full system names.
 
 For example:
 
@@ -118,24 +140,59 @@ genesis: Sega Genesis
 gx4000: Amstrad GX4000
 ```
 
-Note that neither the systeminfo.txt files or the systems.txt file are needed to run ES-DE, they're only generated as a convenience to help with the setup.
+If a custom es_systems.xml file is present in ~/.emulationstation/custom_systems/ any entries from this file will have
+their names trailed by the text _(custom system)_. So if the GameCube system in the example above would be present in
+the custom systems configuration file, the system would be shown as `gc (custom system)` instead of simply `gc`. This is
+only applicable for the systems.txt and systeminfo.txt files, the trailing text is not applied or used anywhere else in
+the application.
 
-There will be a lot of directories created if using the es_systems.xml file bundled with the installation, so it may be a good idea to remove the ones you don't need. It's recommended to move them to another location to be able to use them later if more systems should be added. For example a directory named _DISABLED could be created inside the ROMs folder (i.e. ~/ROMs/_DISABLED) and all game system directories you don't need could be moved there. Doing this reduces the application startup time as ES-DE would otherwise need to scan for game files for all these systems.
+Note that neither the systeminfo.txt files or the systems.txt file are needed to run ES-DE, they're only generated as a
+convenience to help with the setup.
 
-![alt text](images/current/es-de_ui_easy_setup.png "ES-DE Easy Setup")
-_This is the dialog shown if no game files were found. It lets you configure the ROM directory if you don't want to use the default one, and you can also generate the game systems directory structure. Note that the directory is the physical path, and that your operating system may present this as a localized path if you are using a language other than English._
+There will be a lot of directories created if using the es_systems.xml file bundled with the installation, so it may be
+a good idea to remove the ones you don't need. It's recommended to move them to another location to be able to use them
+later if more systems should be added. For example a directory named _DISABLED could be created inside the ROMs folder (
+i.e. ~/ROMs/_DISABLED) and all game system directories you don't need could be moved there. Doing this reduces the
+application startup time as ES-DE would otherwise need to scan for game files for all these systems.
 
+![alt text](images/es-de_ui_easy_setup.png "ES-DE Easy Setup")
+_This is the dialog shown if no game files were found. It lets you configure the ROM directory if you don't want to use
+the default one, and you can also generate the game systems directory structure. Note that the directory is the physical
+path, and that your operating system may present this as a localized path if you are using a language other than
+English._
 
-## Customizing the systems configuration file
+## Game system customizations
 
-The `es_systems.xml` file is located in the ES-DE resources directory which is part of the application installation. As such this file is not intended to be modified directly. If a customized file is needed, this should instead be placed in the `custom_systems` folder in the ES-DE home directory, i.e. `~/.emulationstation/custom_systems/es_systems.xml`. You can find information on the file structure and how to adapt the configuration in the [INSTALL-DEV.md](INSTALL-DEV.md#es_systemsxml) document.
+The game systems configuration file `es_systems.xml` is located in the ES-DE resources directory which is part of the
+application installation. As such this file is not intended to be modified directly. If system customizations are
+required, a separate es_systems.xml file should instead be placed in the `custom_systems` folder in the ES-DE home
+directory, i.e. `~/.emulationstation/custom_systems/es_systems.xml`.
 
+Although it's possible to make a copy of the bundled configuration file, to modify it and then place it in this
+directory, that is not how the system customization is designed to be done. Instead the intention is that the file in
+the custom_systems directory complements the bundled configuration, meaning only systems that are to be modified should
+be included.
+
+For example you may want to replace the emulator launch command, modify the full name or change the supported file
+extensions for a single system. In this case it wouldn't make sense to copy the complete bundled file and just apply
+these minor modifications, instead an es_systems.xml file only containing the configuration for that single system
+should be placed in the custom_systems directory.
+
+The instructions for how to customize the es_systems.xml file can be found
+in [INSTALL-DEV.md](INSTALL-DEV.md#es_systemsxml). There you can also find an example of a custom file that you can copy
+into ~/.emulationstation/custom_systems/ and modify as required.
 
 ## Migrating from other EmulationStation forks
 
 **IMPORTANT!!! IMPORTANT!!! IMPORTANT!!!**
 
-ES-DE is designed to be backward compatible to a certain degree, that is, it should be able to read data from other/previous EmulationStation versions such as the RetroPie fork. But the opposite is not true and it's a one-way ticket for your gamelist.xml files and your custom collection files when migrating to ES-DE as they will be modified in ways that previous ES versions will see as data loss. For instance ES-DE does not use image tags inside the gamelist.xml files to find game media but instead matches the media to the names of the game/ROM files. So it will not save any such tags back to the gamelist files during updates, effectively removing the display of the game media if the files are opened in another ES fork.
+ES-DE is designed to be backward compatible to a certain degree, that is, it should be able to read data from
+other/previous EmulationStation versions such as the RetroPie fork. But the opposite is not true and it's a one-way
+ticket for your gamelist.xml files and your custom collection files when migrating to ES-DE as they will be modified in
+ways that previous ES versions will see as data loss. For instance ES-DE does not use image tags inside the gamelist.xml
+files to find game media but instead matches the media to the names of the game/ROM files. So it will not save any such
+tags back to the gamelist files during updates, effectively removing the display of the game media if the files are
+opened in another ES fork.
 
 Due to this, always make backups of at least the following directories before testing ES-DE for the first time:
 
@@ -175,7 +232,7 @@ Depending on the theme, the system navigation carousel can be either horizontal
 
 The game systems are sorted by their full names, as defined in the es_systems.xml file.
 
-![alt text](images/current/es-de_system_view.png "ES-DE System View")
+![alt text](images/es-de_system_view.png "ES-DE System View")
 _The **System view** is the default starting point for the application, it's here that you browse through your game systems._
 
 
@@ -193,10 +250,10 @@ In addition to the styles just described, there is a **Grid** view style as well
 
 If the theme supports it, there's a gamelist information field displayed in the gamelist view, showing the number of games for the system (total and favorites) as well as a folder icon if a folder has been entered. When applying any filters to the gamelist, the game counter is replaced with the amount of games filtered, as in 'filtered / total games', e.g. '19 / 77'. If there are game entries in the filter result that are marked not to be counted as games, the number of such files will be indicated as 'filtered + filtered non-games / total games', for example '23 + 4 / 77' indicating 23 normal games, 4 non-games out of a total of 77. Due to this approach it's theoretically possible that the combined filtered game amount exceeds the number of counted games in the collection, for instance '69 + 11 / 77'. This is not considered a bug and is so by design. This gamelist information field functionality is specific to EmulationStation Desktop Edition so older themes will not support this.
 
-![alt text](images/current/es-de_gamelist_view.png "ES-DE Gamelist View")
+![alt text](images/es-de_gamelist_view.png "ES-DE Gamelist View")
 _The **Gamelist view** is where you browse the games for a specific system._
 
-![alt text](images/current/es-de_basic_view_style.png "ES-DE Basic View Style")
+![alt text](images/es-de_basic_view_style.png "ES-DE Basic View Style")
 _Here's an example of what the Basic view style looks like. Needless to say, ES-DE is not intended to be used like this. After scraping some game media for the system, the view style will automatically change to Detailed or Video (assuming the Automatic view style option has been selected)._
 
 
@@ -219,7 +276,7 @@ The application can also be forced into any of the three modes via the command l
 
 There is a help system available throughout the application that provides an overview of the possible actions and buttons that can be used. But some general actions are never shown, such as the ability to quick jump in gamelists, menus and text input fields using the shoulder and trigger buttons. It's also possible to disable the help system using a menu option for a somewhat cleaner look.
 
-![alt text](images/current/es-de_folder_support.png "ES-DE Help System")
+![alt text](images/es-de_folder_support.png "ES-DE Help System")
 _The help system is displayed at the bottom of the screen, showing the various actions currently available._
 
 
@@ -302,15 +359,18 @@ The supported file extensions are listed in [unix/es_systems.xml](resources/syst
 
 Here is the snippet from the unix/es_systems.xml file:
 
-```
+```xml
 <system>
-  <name>nes</name>
-  <fullname>Nintendo Entertainment System</fullname>
-  <path>%ROMPATH%/nes</path>
-  <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-  <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
-  <platform>nes</platform>
-  <theme>nes</theme>
+    <name>nes</name>
+    <fullname>Nintendo Entertainment System</fullname>
+    <path>%ROMPATH%/nes</path>
+    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+    <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
+    <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.so %ROM%</command>
+    <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.so %ROM%</command>
+    <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quicknes_libretro.so %ROM%</command>
+    <platform>nes</platform>
+    <theme>nes</theme>
 </system>
 ```
 
@@ -344,7 +404,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 information and media for the games, and assuming you've setup RetroArch correctly with the Nestopia UE core, you can launch the games.
+That's it, start ES-DE and the NES game system should be populated. You can now scrape information and media for the games, and assuming you've setup RetroArch correctly with the Nestopia UE core, you can launch the games. If you instead prefer to use any of the three alternative emulators listed above (FCEUmm, Mesen or QuickNES) you can install one of these cores instead and change your emulator preference using the _Alternative emulators_ interface in the _Other settings_ menu. Note that alternative emulators are only available for some game systems.
 
 ### Multiple game files installation
 
@@ -366,7 +426,8 @@ The platform name for the Commodore 64 is `c64`, so the following structure woul
 ~/ROMs/c64/Multidisk/Pirates/Pirates!.m3u
 ```
 
-It's highly recommended to create `.m3u` playlist files for multi-disk images as this normally automates disk swapping in the emulator. It's then this .m3u file that should be selected for launching the game.
+It's highly recommended to create `.m3u` playlist files for multi-disc images as this normally automates disk swapping
+in the emulator. It's then this .m3u file that should be selected for launching the game.
 
 The .m3u file simply contains a list of the game files, for example in the case of Last Ninja 2.m3u:
 
@@ -419,9 +480,13 @@ Apart from the potential difficulty in locating the emulator binary, there are s
 
 #### Commodore Amiga
 
-There are multiple ways to run Amiga games, but the recommended approach is to use WHDLoad. The best way is to use hard disk images in `.hdf` or `.hdz` format, meaning there will be a single file per game. This makes it just as easy to play Amiga games as any console with game ROMs.
+There are multiple ways to run Amiga games, but the recommended approach is to use WHDLoad. The best way is to use hard
+disk images in `.hdf` or `.hdz` format, meaning there will be a single file per game. This makes it just as easy to play
+Amiga games as any console with game ROMs.
 
-An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can either put single-disk images in the root folder or in a dedicated adf directory, or multiple-disk games in separate folders. It's highly recommended to create `.m3u` playlist files for multi-disk images as described earlier.
+An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can
+either put single-disc images in the root folder or in a dedicated adf directory, or multiple-disk games in separate
+folders. It's highly recommended to create `.m3u` playlist files for multi-disc images as described earlier.
 
 Here's an example of what the file structure could look like:
 
@@ -618,7 +683,7 @@ The **Multi-language** support includes translated game genres and game descript
 
 There are two approaches to scraping, either for a single game from the metadata editor, or for many games and systems using the multi-scraper.
 
-![alt text](images/current/es-de_scraper_running.png "ES-DE Scraper Running")
+![alt text](images/es-de_scraper_running.png "ES-DE Scraper Running")
 _Here's an example of the multi-scraper running in interactive mode, asking the user to make a selection from the multiple matching games returned by the scraper service._
 
 ### Single-game scraper
@@ -699,7 +764,7 @@ It's possible to change the game media directory location from within ES-DE, for
 
 This menu can be accessed from both the system view and gamelist view. It contains the scraper, application settings and various tools such as the input configurator and the miximage generator. Settings are saved when navigating back from any menu screen, assuming at least one setting was changed. Pressing the application exit key (F4 by default) will also save any pending changes.
 
-![alt text](images/current/es-de_main_menu.png "ES-DE Main Menu")
+![alt text](images/es-de_main_menu.png "ES-DE Main Menu")
 _The ES-DE main menu._
 
 Following is a breakdown of the main menu entries.
@@ -708,7 +773,7 @@ Following is a breakdown of the main menu entries.
 
 Contains the various options for the scraper, which is used to download metadata, images and videos for your games.
 
-![alt text](images/current/es-de_scraper_settings.png "ES-DE Scraper Settings")
+![alt text](images/es-de_scraper_settings.png "ES-DE Scraper Settings")
 _Some of the scraper settings._
 
 **Scrape from**
@@ -861,7 +926,8 @@ If this setting is enabled and a folder has its flag set to be excluded from the
 
 **Scrape actual folders** _(Multi-scraper only)_
 
-Enabling this option causes folders themselves to be included by the scraper. This is useful for DOS games or any multi-disk games where there is a folder for each individual game.
+Enabling this option causes folders themselves to be included by the scraper. This is useful for DOS games or any
+multi-disc games where there is a folder for each individual game.
 
 **Auto-retry on peer verification errors** _(ScreenScraper only)_
 
@@ -903,6 +969,14 @@ Animation to play when opening the main menu or the game options menu. Also sets
 
 This configures for how long to display the game launch screen when starting a game. The options are _Normal_, _Brief_, _Long_ and _Disabled_. If set to _Disabled_, a simple notification popup will be displayed instead.
 
+**Media viewer settings**
+
+Submenu containing all the settings for the media viewer. These are described in detail below.
+
+**Screensaver settings**
+
+Submenu containing all the settings for the screensaver. These are described in detailed below.
+
 **Blur background when menu is open** _(OpenGL renderer only)_
 
 This option will blur the background behind the menu slightly. Normally this can be left enabled, but if you have a really slow GPU, disabling this option may make the application feel a bit more responsive.
@@ -925,23 +999,50 @@ Whether to sort your favorite games above your other games in the gamelists.
 
 **Add star markings to favorite games**
 
-With this setting enabled, there is a star symbol added at the beginning of the game name in the gamelist views. It's strongly recommended to keep this setting enabled if the option to sort favorite games above non-favorites has been enabled. If not, favorite games would be sorted on top of the gamelist with no visual indication that they are favorites, which would be quite confusing.
+With this setting enabled, there is a star symbol added at the beginning of the game name in the gamelist views. It's
+strongly recommended to keep this setting enabled if the option to sort favorite games above non-favorites has been
+enabled. If not, favorite games would be sorted on top of the gamelist with no visual indication that they are
+favorites, which would be quite confusing.
 
 **Use plain ASCII for special gamelist characters**
 
-There are some special characters in ES-DE such as the favorites star, the folder icon and the tickmark (seen when editing custom collections) that are displayed using symbols from the bundled Font Awesome. This normally looks perfectly fine, but on some specific theme sets with very pixelated fonts such as [es-themes-snes-mini](https://github.com/ruckage/es-theme-snes-mini) and [es-themes-workbench](https://github.com/ehettervik/es-theme-workbench) these symbols look terrible. For such themes, this option is available, which will use plain ASCII characters instead of the Font Awesome symbols. For the favorites an asterisk `*` will be used, for folders a hash sign `#` will be used and for the tickmark an exclamation mark `!` will be used. This only applies to the gamelist view, in all other places in the application the Font Awesome symbols are retained. Make sure to disable this option if not using such a pixelated theme as it looks equally terrible to enable this option on themes where it's not supposed to be used.
+There are some special characters in ES-DE such as the favorites star, the folder icon and the tickmark (seen when
+editing custom collections) that are displayed using symbols from the bundled Font Awesome. This normally looks
+perfectly fine, but on some specific theme sets with very pixelated fonts such
+as [es-themes-snes-mini](https://github.com/ruckage/es-theme-snes-mini)
+and [es-themes-workbench](https://github.com/ehettervik/es-theme-workbench) these symbols look terrible. For such
+themes, this option is available, which will use plain ASCII characters instead of the Font Awesome symbols. For the
+favorites an asterisk `*` will be used, for folders a hash sign `#` will be used and for the tickmark an exclamation
+mark `!` will be used. This only applies to the gamelist view, in all other places in the application the Font Awesome
+symbols are retained. Make sure to disable this option if not using such a pixelated theme as it looks equally terrible
+to enable this option on themes where it's not supposed to be used.
 
 **Enable quick list scrolling overlay**
 
-With this option enabled, there will be an overlay displayed when scrolling the gamelists quickly, i.e. when holding down the _Up_, _Down_, _Left shoulder_ or _Right shoulder_ buttons for some time. The overlay will darken the background slightly and display the first two characters of the game names. If the game is a favorite and the setting to sort favorites above non-favorites has been enabled, a star will be shown instead.
+With this option enabled, there will be an overlay displayed when scrolling the gamelists quickly, i.e. when holding
+down the _Up_, _Down_, _Left shoulder_ or _Right shoulder_ buttons for some time. The overlay will darken the background
+slightly and display the first two characters of the game names. If the game is a favorite and the setting to sort
+favorites above non-favorites has been enabled, a star will be shown instead.
+
+**Enable virtual keyboard**
+
+This enables a virtual (on-screen) keyboard that can be used at various places throughout the application to input text
+and numbers using a controller. The Shift and Alt keys can be toggled individually or combined together to access many
+special characters. The general use of the virtual keyboard should hopefully be self-explanatory.
 
 **Enable toggle favorites button**
 
-This setting enables the _Y_ button for quickly toggling a game as favorite. Although this may be convenient at times, it's also quite easy to accidentally remove a favorite tagging of a game when using the application more casually. As such it could sometimes make sense to disable this functionality. It's of course still possible to mark a game as favorite using the metadata editor when this setting is disabled. The option does not affect the use of the _Y_ button to add or remove games when editing custom collections.
+This setting enables the _Y_ button for quickly toggling a game as favorite. Although this may be convenient at times,
+it's also quite easy to accidentally remove a favorite tagging of a game when using the application more casually. As
+such it could sometimes make sense to disable this functionality. It's of course still possible to mark a game as
+favorite using the metadata editor when this setting is disabled. The option does not affect the use of the _Y_ button
+to add or remove games when editing custom collections.
 
 **Enable random system or game button**
 
-This enables or disables the ability to jump to a random system or game. It's mapped to the thumbstick click button, either the left or right thumbstick will work. The help prompts will also visually indicate whether this option is enabled or not.
+This enables or disables the ability to jump to a random system or game. It's mapped to the thumbstick click button,
+either the left or right thumbstick will work. The help prompts will also visually indicate whether this option is
+enabled or not.
 
 **Enable gamelist filters**
 
@@ -1154,6 +1255,17 @@ Enables the system name to be shown in square brackets after the game name, for
 
 These are mostly technical settings.
 
+**Alternative emulators**
+
+Using this interface it's possible to select alternative emulators to use per game system, which requires that these alternatives have been defined in the es_systems.xml file. Note that only systems that you have currently populated will be listed. To change to an alternative emulator, you simply select a system from the list and choose which alternative to use from the presented options. If you select an alternative emulator and later remove its corresponding entry from the es_systems.xml file, an error message will be shown on application startup telling you to review your invalid emulator selection. Games will still launch, but the default emulator will be used in this case. How to clear an invalid entry should be self-explanatory once you access the interface. It's also possible to set alternative emulators per game using the metadata editor. If this is done, it will take precedence and override the system-wide emulator selection for the specific game.
+
+![alt text](images/es-de_alternative_emulators.png "ES-DE Scraper Settings")
+_The alternative emulators interface._
+
+**Game media directory**
+
+This setting defines the directory for the game media, i.e. game images and videos. The default location is _~/.emulationstation/downloaded_media_
+
 **VRAM limit**
 
 The amount of video RAM to use for the application. Defaults to 256 MiB (80 MiB on the Raspberry Pi) which works fine most of the time when running at 1080p resolution and with a moderate amount of game systems. If running at 4K resolution or similar and with lots of game systems enabled, it's recommended to increase this number to 512 MiB or possibly more to avoid stuttering transition animations caused by unloading and loading of textures from the cache. Enabling the GPU statistics overlay gives some indications regarding the amount of texture memory currently used by ES-DE, which is helpful to determine a reasonable value for this option. The allowed range for the settings is 80 to 1024 MiB. If you try to set it lower or higher than this by passing such values as command line parameters or by editing the es_settings.xml file manually, ES-DE will log a warning and automatically adjust the value within the allowable range.
@@ -1176,11 +1288,7 @@ This gives the choice of which key combination to use to close the application.
 
 **When to save game metadata**
 
-The metadata for a game is updated by scraping or by manual editing using the metadata editor, but also when launching it as this updates the _Times played_ counter and the _Last played_ timestamp. This setting enables you to define when to write such metadata changes to the gamelist.xml files. Setting the option to _Never_ will disable writing to these files altogether, except for some special conditions such as when a game is manually deleted using the metadata editor, or when scraping using the multi-scraper (the multi-scraper will always save any updates immediately to the gamelist.xml files). In theory _On exit_ will give some performance gains, but it's normally recommended to leave the setting at its default value which is _Always_. Note that with the settings set to _Never_, any updates such as the _Last played_ date will still be shown on screen, but during the next application startup, any values previously saved to the gamelist.xml files will be read in again. As well, when changing this setting to _Always_ from either of the two other options, any pending changes will be immediately written to the gamelist.xml files.
-
-**Game media directory**
-
-This setting defines the directory for the game media, i.e. game images and videos. The default location is _~/.emulationstation/downloaded_media_
+The metadata for a game is updated by scraping or by manual editing using the metadata editor, but also when launching it as this updates the _Times played_ counter and the _Last played_ timestamp. This setting enables you to define when to write such metadata changes to the gamelist.xml files. Setting the option to _Never_ will disable writing to these files altogether, except for some special conditions such as when a game is manually deleted using the metadata editor, when scraping using the multi-scraper (the multi-scraper will always save any updates immediately to the gamelist.xml files) or when changing the alternative emulator for the system. In theory _On exit_ will give some small performance gains, but it's normally recommended to leave the setting at its default value which is _Always_. Note that with the settings set to _Never_, any updates such as the _Last played_ date will still be shown on screen, but during the next application startup, any values previously saved to the gamelist.xml files will be read in again. As well, when changing this setting to _Always_ from either of the two other options, any pending changes will be immediately written to the gamelist.xml files.
 
 **Hide taskbar (requires restart)** _(Windows only)_
 
@@ -1202,9 +1310,9 @@ Enabling this option offloads video decoding to the GPU. Whether this actually i
 
 With this option enabled, videos with lower frame rates than 60 FPS, such as 24 and 30 will get upscaled to 60 FPS. This results in slightly smoother playback for some videos. There is a small performance hit from this option, so on weaker machines it may be necessary to disable it for fluent video playback. This setting has no effect when using the VLC video player. If the VLC video player is not included in the ES-DE build, the "(FFmpeg)" text is omitted from the setting name.
 
-**Per game launch command override**
+**Enable alternative emulators per game**
 
-If enabled, you can override the launch command defined in es_systems.xml on a per-game basis using the metadata editor. 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.
+If enabled, you will be able to select alternative emulators per game using the metadata editor. It's only recommended to disable this option for testing purposes.
 
 **Show hidden files and folders (requires restart)**
 
@@ -1212,7 +1320,11 @@ If this option is disabled, hidden files and folders within the ROMs directory t
 
 **Show hidden games (requires restart)**
 
-You can mark games as hidden in the metadata editor, which is useful for instance for DOS games where you may not want to see some batch files and executables inside ES-DE, or for multi-disk games where you may only want to show the .m3u playlists and not the individual game files. By disabling this option these files will not be processed at all when ES-DE starts up. If you enable the option you will see the files, but their name entries will be almost transparent in the gamelist view to visually indicate that they are hidden.
+You can mark games as hidden in the metadata editor, which is useful for instance for DOS games where you may not want
+to see some batch files and executables inside ES-DE, or for multi-disc games where you may only want to show the .m3u
+playlists and not the individual game files. By disabling this option these files will not be processed at all when
+ES-DE starts up. If you enable the option you will see the files, but their name entries will be almost transparent in
+the gamelist view to visually indicate that they are hidden.
 
 **Enable custom event scripts**
 
@@ -1263,7 +1375,7 @@ This menu is opened from the gamelist view, and can't be accessed from the syste
 
 You open the menu using the **Back** button, and by pressing **B** or selecting the **Apply** button any settings such as letter jumping using the quick selector or sorting changes are applied. If you instead press the Back button again or select the **Cancel** button, the menu is closed without applying any changes.
 
-![alt text](images/current/es-de_game_options_menu.png "ES-DE Game Options Menu")
+![alt text](images/es-de_game_options_menu.png "ES-DE Game Options Menu")
 _The game options menu as laid out when opening it from within a custom collection, which adds the menu entry to add or remove games from the collection._
 
 Here's a summary of the menu entries:
@@ -1295,12 +1407,12 @@ The secondary sorting is always in ascending filename order.
 
 Choosing this entry opens a separate screen where it's possible to apply a filter to the gamelist. The filter is persistent throughout the program session, or until it's manually reset. The option to reset all filters is shown on the same screen.
 
-![alt text](images/current/es-de_gamelist_filters.png "ES-DE Gamelist Filters")
+![alt text](images/es-de_gamelist_filters.png "ES-DE Gamelist Filters")
 _The gamelist filter screen, accessed from the game options menu._
 
 The following filters can be applied:
 
-**Text Filter (game name)**
+**Game name**
 
 **Favorites**
 
@@ -1320,9 +1432,14 @@ The following filters can be applied:
 
 **Hidden**
 
-With the exception of the text filter, all available filter values are assembled from metadata from the actual gamelist, so if there for instance are no games marked as completed, the Completed filter will only have the selectable option False, i.e. True will be missing.
+With the exception of the game name text filter, all available filter values are assembled from metadata from the actual
+gamelist, so if there for instance are no games marked as completed, the Completed filter will only have the selectable
+option False, i.e. True will be missing.
 
-Be aware that although folders can have most of the metadata values set, the filters are only applied to files (this is also true for the text/game name filter). So if you for example set a filter to only display your favorite games, any folder that contains a favorite game will be displayed, and other folders which are themselves marked as favorites but that do not contain any favorite games will be hidden.
+Be aware that although folders can have most of the metadata values set, the filters are only applied to files (this is
+also true for the game name text filter). So if you for example set a filter to only display your favorite games, any
+folder that contains a favorite game will be displayed, and other folders which are themselves marked as favorites but
+that do not contain any favorite games will be hidden.
 
 The filters are always applied for the complete game system, including all folder content.
 
@@ -1343,7 +1460,7 @@ This opens the metadata editor for the currently selected game file or folder.
 
 In the metadata editor, you can modify the metadata, scrape for game info and media files, clear the entry which will delete all metadata and game media files, or delete the entire game which also removes its file on the filesystem. When manually modifying a value, it will change color from gray to blue, and if the scraper has changed a value, it will change to red. When leaving the metadata editor you will be asked whether you want to save any settings done manually or by the scraper.
 
-![alt text](images/current/es-de_metadata_editor.png "ES-DE Metadata Editor")
+![alt text](images/es-de_metadata_editor.png "ES-DE Metadata Editor")
 _The metadata editor._
 
 ### Metadata entries
@@ -1400,7 +1517,11 @@ A flag to mark whether the game is suitable for children. This will be applied a
 
 **Hidden**
 
-A flag to indicate that the game is hidden. If the corresponding option has been set in the main menu, the game will not be shown. Useful for example for DOS games to hide batch scripts and unnecessary binaries or to hide the actual game files for multi-disk games. If a file or folder is flagged as hidden but the corresponding option to hide hidden games has not been enabled, then the opacity of the text will be lowered significantly to make it clear that it's a hidden entry.
+A flag to indicate that the game is hidden. If the corresponding option has been set in the main menu, the game will not
+be shown. Useful for example for DOS games to hide batch scripts and unnecessary binaries or to hide the actual game
+files for multi-disc games. If a file or folder is flagged as hidden but the corresponding option to hide hidden games
+has not been enabled, then the opacity of the text will be lowered significantly to make it clear that it's a hidden
+entry.
 
 **Broken/not working**
 
@@ -1408,24 +1529,36 @@ A flag to indicate whether the game is broken. Useful for MAME games for instanc
 
 **Exclude from game counter** _(files only)_
 
-A flag to indicate whether the game should be excluded from being counted. If this is set for a game, it will not be included in the game counter shown per system on the system view, and it will not be included in the system information field in the gamelist view. As well, it will be excluded from all automatic and custom collections. This option is quite useful for multi-file games such as multi-disk Amiga or Commodore 64 games, or for DOS games where you want to exclude setup programs and similar but still need them available in ES-DE and therefore can't hide them. Files that have this flag set will have a lower opacity in the gamelists, making them easy to spot.
+A flag to indicate whether the game should be excluded from being counted. If this is set for a game, it will not be
+included in the game counter shown per system on the system view, and it will not be included in the system information
+field in the gamelist view. As well, it will be excluded from all automatic and custom collections. This option is quite
+useful for multi-file games such as multi-disc Amiga or Commodore 64 games, or for DOS games where you want to exclude
+setup programs and similar but still need them available in ES-DE and therefore can't hide them. Files that have this
+flag set will have a lower opacity in the gamelists, making them easy to spot.
 
 **Exclude from multi-scraper**
 
-Whether to exclude the file from the multi-scraper. This is quite useful in order to avoid scraping all the disks for multi-disk games for example. There is an option in the scraper settings to ignore this flag, but by default the multi-scraper will respect it.
+Whether to exclude the file from the multi-scraper. This is quite useful in order to avoid scraping all the disks for
+multi-disc games for example. There is an option in the scraper settings to ignore this flag, but by default the
+multi-scraper will respect it.
 
 **Hide metadata fields**
 
-This option will hide most metadata fields in the gamelist view. The intention is to be able to hide the fields for situations such as general folders (Multi-disk, Cartridges etc.) and for setup programs and similar (e.g. SETUP.EXE or INSTALL.BAT for DOS games). It could also be used on the game files for multi-disk games where perhaps only the .m3u playlist should have any metadata values. The only fields shown with this option enabled are the game name and description. Using the description it's possible to write some comments regarding the file or folder, should you want to. It's also possible to display game images and videos with this setting enabled.
-
-**Launch command** _(files only)_
-
-Here you can override the launch command for the game, for example to use a different emulator than the default one defined for the game system. Very useful for MAME/arcade games.
+This option will hide most metadata fields in the gamelist view. The intention is to be able to hide the fields for
+situations such as general folders (Multi-disc, Cartridges etc.) and for setup programs and similar (e.g. SETUP.EXE or
+INSTALL.BAT for DOS games). It could also be used on the game files for multi-disc games where perhaps only the .m3u
+playlist should have any metadata values. The only fields shown with this option enabled are the game name and
+description. Using the description it's possible to write some comments regarding the file or folder, should you want
+to. It's also possible to display game images and videos with this setting enabled.
 
 **Times played** _(files only)_
 
 A statistics counter that tracks how many times you have played the game. You normally don't need to touch this, but if you want to, the possibility is there.
 
+**Alternative emulator** _(files only)_
+
+If the option _Enable alternative emulators per game_ has been enabled, there will be an entry shown where you can select between alternative emulators for the specific game. There is a similar _Alternative emulators_ entry under the _Other settings_ menu, but that will apply the selection to the entire game system. If you select an alternative for a specific game using the metadata editor, that will take precedence and override any system-wide emulator selection (the currently selected system-wide emulator will be clearly marked on the selection screen). The alternative emulators need to be defined in the es_systems.xml file, and if there are no alternatives available for the current system, this row in the metadata editor will be grayed out. If you select an alternative emulator and later remove its corresponding entry from the es_systems.xml file, an error notice will be shown on this row. In this case you have the option to remove the invalid entry. But even if there is an invalid entry, games will still launch using the default emulator while logging a warning message to the es_log.txt file. Apart from this, the emulator selection should hopefully be self-explanatory.
+
 ### Buttons
 
 For game files, there will be five buttons displayed on the bottom of the metadata editor window, and for folders there will be four. These are their functions:
@@ -1474,7 +1607,7 @@ For the video and slideshow screensavers, an overlay can be enabled via the scre
 
 If the Video screensaver has been selected and there are no videos available, a fallback to the Dim screensaver will take place. The same is true for the Slideshow screensaver if no game images are available.
 
-![alt text](images/current/es-de_screensaver.png "ES-DE Screensaver")
+![alt text](images/es-de_screensaver.png "ES-DE Screensaver")
 _An example of what the video screensaver looks like._
 
 ## Game collections
@@ -1515,10 +1648,10 @@ When you are done adding games, you can either open the main menu and go to **Ga
 
 You can later add additional games to the collection by navigating to it, bringing up the game options menu and choosing **Add/remove games to this game collection**.
 
-![alt text](images/current/es-de_custom_collections.png "ES-DE Custom Collections")
+![alt text](images/es-de_custom_collections.png "ES-DE Custom Collections")
 _Example of custom collections, here configured as genres._
 
-![alt text](images/current/es-de_custom_collections_editing.png "ES-DE Custom Collections")
+![alt text](images/es-de_custom_collections_editing.png "ES-DE Custom Collections")
 _When editing a custom collection, a tick symbol will be displayed for any game that is already part of the collection._
 
 
@@ -1578,7 +1711,7 @@ https://gitlab.com/recalbox/recalbox-themes
 
 https://wiki.batocera.org/themes
 
-![alt text](images/current/es-de_ui_theme_support.png "ES-DE Theme Support")
+![alt text](images/es-de_ui_theme_support.png "ES-DE Theme Support")
 _An example of a modified version of the [Fundamental](https://github.com/G-rila/es-theme-fundamental) theme applied to ES-DE._
 
 
@@ -1602,168 +1735,232 @@ Refer to the [INSTALL-DEV.md](INSTALL-DEV.md#command-line-options) document for
 
 ## Supported game systems
 
-**Note:** The following list is what the default es_systems.xml files and the rbsimple-DE theme supports. This theme set is very comprehensive, so if you're using another theme, it may be that some or many of these systems are not supported. ES-DE will still work but the game system will unthemed which looks very ugly.
+**Note:** The following list is what the default es_systems.xml files and the rbsimple-DE theme supports. This theme set
+is very comprehensive, so if you're using another theme, it may be that some or many of these systems are not supported.
+ES-DE will still work but the game system will unthemed which looks very ugly.
 
-Note as well that the list and corresponding es_systems.xml templates may not reflect what is readily available for all supported operating system. This is especially true on Unix/Linux if installing RetroArch via the OS repository instead of using the Snap or Flatpak distributions (or compiling from source code) as the repository versions are normally quite crippled.
+Note as well that the list and corresponding es_systems.xml templates may not reflect what is readily available for all
+supported operating system. This is especially true on Unix/Linux if installing RetroArch via the OS repository instead
+of using the Snap or Flatpak distributions (or compiling from source code) as the repository versions are normally quite
+crippled.
 
-The column **Game system name** corresponds to the directory where you should put your game files, e.g. `~/ROMs/c64` or `~/ROMs/megadrive`.
+The column **System name** corresponds to the directory where you should put your game files, e.g. `~/ROMs/c64`
+or `~/ROMs/megadrive`.
 
-Regional differences are handled by simply using the game system name corresponding to your region. For example for Sega Mega Drive, _megadrive_ would be used by most people in the world, although persons from North America would use _genesis_ instead. The same is true for _pcengine_ vs _tg16_ etc. This only affects the theme selection and the corresponding theme graphics, the same emulator and scraper settings are still used for the regional variants although that can of course be modified in the es_systems.xml file if you wish.
+Regional differences are handled by simply using the game system name corresponding to your region. For example for Sega
+Mega Drive, _megadrive_ would be used by most people in the world, although persons from North America would use _
+genesis_ instead. The same is true for _pcengine_ vs _tg16_ etc. This only affects the theme selection and the
+corresponding theme graphics, the same emulator and scraper settings are still used for the regional variants although
+that can of course be customized in the es_systems.xml file if you wish.
 
-Sometimes the name of the console is (more or less) the same for multiple regions, and in those cases the region has been added as a suffix to the game system name. For instance `na` for North America has been added to `snes` (Super Nintendo) giving the system name `snesna`. The same goes for Japan, as in `megacd` and `megacdjp`. Again, this only affects the theme and theme graphics.
+Sometimes the name of the console is (more or less) the same for multiple regions, and in those cases the region has
+been added as a suffix to the game system name. For instance `na` for North America has been added to `snes` (Super
+Nintendo) giving the system name `snesna`. The same goes for Japan, as in `megacd` and `megacdjp`. Again, this only
+affects the theme and theme graphics.
 
-For the **Full name** column, text inside square brackets [] are comments and not part of the actual game system name.
+For the **Full name** column, text inside square brackets [] are comments and not part of the actual system name.
 
-The **Default emulator** column shows the emulator configured in es_systems.xml, and for emulators that support multiple cores, the configured core is shown inside brackets. Any system marked with an asterisk (*) in this column requires additional system/BIOS ROMs to run, as should be explained in the emulator documentation.
+The **Default emulator** column lists the primary emulator as configured in es_systems.xml. If this differs between
+Unix, macOS and Windows then it's specified in square brackets, such as [UW] for Unix and Windows and [M] for macOS. If
+not all of the three platforms are specified it means that the system is not available on the missing platforms. For
+example Lutris which is only avaialable on Unix is marked with only a _[U]_. Unless explicitly marked as **(
+Standalone)**, each emulator is a RetroArch core.
 
-For additional details regarding which game file extensions are supported per system, refer to the es_systems.xml files [unix/es_systems.xml](resources/systems/unix/es_systems.xml), [macos/es_systems.xml](resources/systems/macos/es_systems.xml) and [windows/es_systems.xml](resources/systems/windows/es_systems.xml). Normally the extensions setup in these files should cover everything that the emulators support.
+The **Alternative emulators** column lists additional emulators configured in es_systems.xml that can be selected per
+system and per game, as explained earlier in this guide. This does not necessarily include everything in existence, as
+for some platforms there are a lot of emulators to choose from. In those cases the included emulators is a curated
+selection. In the same manner as the _Default emulator_ column, differences between Unix, macOS and Windows are marked
+using square brackets. Unless explicitly marked as **(Standalone)**, echo emulator is a RetroArch core.
 
-If you generated the ROMs directory structure when first starting ES-DE, the systeminfo.txt files located in each game system directory will also contain the information about the emulator core and supported file extensions.
+The **Needs BIOS** column indicates if additional BIOS/system ROMs are required, as should be explained by the emulator
+documentation. Good starting points for such documentation are [https://docs.libretro.com](https://docs.libretro.com)
+and [https://docs.libretro.com/library/bios](https://docs.libretro.com/library/bios)
 
-MAME emulation is a bit special as the choice of emulator or core depends on which ROM set you're using. It's recommended to go for the latest available set, as MAME is constantly improved with more complete and accurate emulation. Therefore the default `arcade` system is preconfigured to use the RetroArch core _MAME - Current_ which as the name implies will be the latest available MAME version. For really slow computers though, the 0.78 ROM set is a popular choice. To use this you either need to make a customized es_systems.xml file, or you can use the `mame` system which comes preconfigured for the RetroArch core _MAME 2003-Plus_ that is compatible with the 0.78 ROM set. There are other alternatives as well such as _MAME 2010_ that uses the 0.139 ROM set but this is generally not recommended.
+For additional details regarding which game file extensions are supported per system, refer to the es_systems.xml
+files [unix/es_systems.xml](resources/systems/unix/es_systems.xml)
+, [macos/es_systems.xml](resources/systems/macos/es_systems.xml)
+and [windows/es_systems.xml](resources/systems/windows/es_systems.xml). Normally the extensions setup in these files
+should cover everything that the emulators support. Note that for systems that have alternative emulators defined, the
+list of extensions is a combination of what is supported by all the emulators. This approach is necessary as you want to
+be able to see all games for each system while potentially testing and switching between different emulators, either
+system-wide or on a per game basis.
 
-There are other MAME versions and derivates available as well such as MAME4ALL, AdvanceMAME, FinalBurn Alpha and FinalBurn Neo but it's beyond the scope of this document to describe those in detail. For more information, refer to the [RetroPie arcade documentation](https://retropie.org.uk/docs/Arcade) which has a good overview of the various MAME alternatives.
+If you generated the ROMs directory structure when first starting ES-DE, the systeminfo.txt files located in each game
+system directory will also contain the information about the emulator core and supported file extensions.
+
+For CD-based systems it's generally recommended to use CHD files (extension .chd) as this saves space due to compression
+compared to BIN/CUE, IMG, ISO etc. The CHD format is also supported by most emulators. You can convert to CHD from
+various formats using the MAME `chdman` utility, for example `chdman createcd -i mygame.iso -o mygame.chd`. Sometimes
+chdman has issues converting from the IMG and BIN formats, and in this case it's possible to first convert to ISO
+using `ccd2iso`, such as `ccd2iso mygame.img mygame.iso`.
+
+MAME emulation is a bit special as the choice of emulator depends on which ROM set you're using. It's recommended to go
+for the latest available set, as MAME is constantly improved with more complete and accurate emulation. Therefore
+the `arcade` system is configured to use _MAME - Current_ by default, which as the name implies will be the latest
+available MAME version. But if you have a really slow computer you may want to use another ROM set such as the popular
+0.78. In this case, you can either select _MAME 2003-Plus_ as an alternative emulator, or you can use the `mame` system
+which comes configured with this emulator as the default. There are more MAME versions available as alternative
+emulators, as you can see in the table below.
+
+There are also other MAME forks and derivates available such as MAME4ALL, AdvanceMAME, FinalBurn Alpha and FinalBurn Neo
+but it's beyond the scope of this document to describe those in detail. For more information, refer to
+the [RetroPie arcade documentation](https://retropie.org.uk/docs/Arcade) which has a good overview of the various MAME
+alternatives.
+
+In general .zip or .7z files are recommended for smaller-sized games like those from older systems (assuming the
+emulator supports it). But for CD-based systems it's not a good approach as uncompressing the larger CD images takes
+quite some time, leading to slow game launches. As explained above, converting CD images to CHD files is a better
+solution for achieving file compression while still enjoying fast game launches.
 
 Consider the table below a work in progress as it's obvioulsy not fully populated yet!
 
-| Game system name      | Full name                                      | Default emulator                  | Recommended game setup               |
-| :-------------------- | :--------------------------------------------- | :-------------------------------- | :----------------------------------- |
-| 3do                   | 3DO                                            |                                   |                                      |
-| 64dd                  | Nintendo 64DD                                  | RetroArch (Mupen64Plus-Next on Unix and Windows, ParaLLEl N64 on macOS) |                                      |
-| ags                   | Adventure Game Studio game engine              |                                   |                                      |
-| amiga                 | Commodore Amiga                                | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disk |
-| amiga600              | Commodore Amiga 600                            | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disk |
-| amiga1200             | Commodore Amiga 1200                           | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disk |
-| amigacd32             | Commodore Amiga CD32                           |                                   |                                      |
-| amstradcpc            | Amstrad CPC                                    |                                   |                                      |
-| apple2                | Apple II                                       |                                   |                                      |
-| apple2gs              | Apple IIGS                                     |                                   |                                      |
-| arcade                | Arcade                                         | RetroArch (MAME - Current)*       | Single archive file following MAME name standard in root folder |
-| astrocade             | Bally Astrocade                                |                                   |                                      |
-| atari2600             | Atari 2600                                     | RetroArch (Stella on macOS and Windows, Stella 2014 on Unix) | Single archive or ROM file in root folder |
-| atari5200             | Atari 5200                                     |                                   |                                      |
-| atari7800             | Atari 7800 ProSystem                           |                                   |                                      |
-| atari800              | Atari 800                                      |                                   |                                      |
-| atarijaguar           | Atari Jaguar                                   |                                   |                                      |
-| atarijaguarcd         | Atari Jaguar CD                                |                                   |                                      |
-| atarilynx             | Atari Lynx                                     |                                   |                                      |
-| atarist               | Atari ST [also STE and Falcon]                 |                                   |                                      |
-| atarixe               | Atari XE                                       |                                   |                                      |
-| atomiswave            | Atomiswave                                     |                                   |                                      |
-| bbcmicro              | BBC Micro                                      |                                   |                                      |
-| c64                   | Commodore 64                                   | RetroArch (VICE x64sc, accurate)  | Single disk, tape or cartridge image in root folder and/or multi-disk images in separate folder |
-| cavestory             | Cave Story (NXEngine)                          |                                   |                                      |
-| cdtv                  | Commodore CDTV                                 |                                   |                                      |
-| chailove              | ChaiLove game engine                           |                                   |                                      |
-| channelf              | Fairchild Channel F                            |                                   |                                      |
-| coco                  | Tandy Color Computer                           |                                   |                                      |
-| colecovision          | ColecoVision                                   |                                   |                                      |
-| daphne                | Daphne Arcade Laserdisc Emulator               |                                   |                                      |
-| desktop               | Desktop applications                           | N/A                               |                                      |
-| doom                  | Doom                                           |                                   |                                      |
-| 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 (Nestopia UE)           | Single archive or ROM file in root folder |
-| fba                   | FinalBurn Alpha                                | RetroArch (FB Alpha 2012)*        | Single archive file following MAME name standard in root folder |
-| fbneo                 | FinalBurn Neo                                  | RetroArch (FinalBurn Neo)*        | Single archive file following MAME name standard in root folder |
-| fds                   | Nintendo Famicom Disk System                   | RetroArch (Nestopia UE)*          | Single archive or ROM file in root folder |
-| gameandwatch          | Nintendo Game and Watch                        |                                   |                                      |
-| gamegear              | Sega Game Gear                                 |                                   |                                      |
-| gb                    | Nintendo Game Boy                              |                                   |                                      |
-| gba                   | Nintendo Game Boy Advance                      |                                   |                                      |
-| gbc                   | Nintendo Game Boy Color                        |                                   |                                      |
-| gc                    | Nintendo GameCube                              |                                   |                                      |
-| genesis               | Sega Genesis                                   | RetroArch (Genesis Plus GX)       | Single archive or ROM file in root folder |
-| gx4000                | Amstrad GX4000                                 |                                   |                                      |
-| intellivision         | Mattel Electronics Intellivision               |                                   |                                      |
-| kodi                  | Kodi home theatre software                     | N/A                               |                                      |
-| lutris                | Lutris open gaming platform                    | Lutris application (Unix only)    | Shell script in root folder          |
-| lutro                 | Lutro game engine                              |                                   |                                      |
-| macintosh             | Apple Macintosh                                |                                   |                                      |
-| mame                  | Multiple Arcade Machine Emulator               | RetroArch (MAME 2003-Plus)*       | Single archive file following MAME name standard in root folder |
-| mame-advmame          | AdvanceMAME                                    |                                   | Single archive file following MAME name standard in root folder |
-| mame-mame4all         | MAME4ALL                                       |                                   | Single archive file following MAME name standard in root folder |
-| mastersystem          | Sega Master System                             | RetroArch (Genesis Plus GX)       | Single archive or ROM file in root folder |
-| megacd                | Sega Mega-CD                                   |                                   |                                      |
-| megacdjp              | Sega Mega-CD [Japan]                           |                                   |                                      |
-| megadrive             | Sega Mega Drive                                | RetroArch (Genesis Plus GX)       | Single archive or ROM file in root folder |
-| mess                  | Multi Emulator Super System                    |                                   |                                      |
-| moonlight             | Moonlight game streaming                       |                                   |                                      |
-| moto                  | Thomson MO/TO series                           | RetroArch (Theodore)              |                                      |
-| msx                   | MSX                                            | RetroArch (blueMSX)               |                                      |
-| msx1                  | MSX1                                           | RetroArch (blueMSX)               |                                      |
-| msx2                  | MSX2                                           | RetroArch (blueMSX)               |                                      |
-| msxturbor             | MSX Turbo R                                    | RetroArch (blueMSX)               |                                      |
-| multivision           | Othello Multivision                            | RetroArch (Gearsystem)            |                                      |
-| naomi                 | Sega NAOMI                                     | RetroArch (Flycast)               |                                      |
-| naomigd               | Sega NAOMI GD-ROM                              | RetroArch (Flycast)               |                                      |
-| n3ds                  | Nintendo 3DS                                   | RetroArch (Citra)                 |                                      |
-| n64                   | Nintendo 64                                    | RetroArch (Mupen64Plus-Next on Unix and Windows, ParaLLEl N64 on macOS) | Single archive or ROM file in root folder |
-| nds                   | Nintendo DS                                    |                                   |                                      |
-| neogeo                | SNK Neo Geo                                    | RetroArch (FinalBurn Neo)*        | Single archive file following MAME name standard in root folder |
-| neogeocd              | SNK Neo Geo CD                                 | RetroArch (NeoCD)*                | Single archive in root folder (which includes the CD image and ripped audio) |
-| neogeocdjp            | SNK Neo Geo CD [Japan]                         | RetroArch (NeoCD)*                | Single archive in root folder (which includes the CD image and ripped audio) |
-| nes                   | Nintendo Entertainment System                  | RetroArch (Nestopia UE)           | Single archive or ROM file in root folder |
-| ngp                   | SNK Neo Geo Pocket                             |                                   |                                      |
-| ngpc                  | SNK Neo Geo Pocket Color                       |                                   |                                      |
-| odyssey2              | Magnavox Odyssey2                              |                                   |                                      |
-| openbor               | OpenBOR game engine                            |                                   |                                      |
-| oric                  | Tangerine Computer Systems Oric                |                                   |                                      |
-| palm                  | Palm OS                                        |                                   |                                      |
-| pc                    | IBM PC                                         | RetroArch (DOSBox-core)           | In separate folder (one folder per game, with complete file structure retained) |
-| pc88                  | NEC PC-8800 series                             | RetroArch (QUASI88)               |                                      |
-| pc98                  | NEC PC-9800 series                             | RetroArch (Neko Project II Kai)   |                                      |
-| pcengine              | NEC PC Engine                                  | RetroArch (Beetle PCE)            | Single archive or ROM file in root folder |
-| pcenginecd            | NEC PC Engine CD                               | RetroArch (Beetle PCE)            |                                      |
-| pcfx                  | NEC PC-FX                                      |                                   |                                      |
-| pokemini              | Nintendo Pokémon Mini                          |                                   |                                      |
-| ports                 | Ports                                          | N/A                               | Shell/batch script in separate folder (possibly combined with game data) |
-| ps2                   | Sony PlayStation 2                             |                                   |                                      |
-| ps3                   | Sony PlayStation 3                             |                                   |                                      |
-| ps4                   | Sony PlayStation 4                             |                                   |                                      |
-| psp                   | Sony PlayStation Portable                      |                                   |                                      |
-| psvita                | Sony PlayStation Vita                          |                                   |                                      |
-| psx                   | Sony PlayStation                               |                                   |                                      |
-| residualvm            | ResidualVM game engine                         |                                   |                                      |
-| samcoupe              | SAM Coupé                                      |                                   |                                      |
-| satellaview           | Nintendo Satellaview                           |                                   |                                      |
-| saturn                | Sega Saturn                                    | RetroArch (Beetle Saturn)         |                                      |
-| saturnjp              | Sega Saturn [Japan]                            | RetroArch (Beetle Saturn)         |                                      |
-| scummvm               | ScummVM game engine                            | RetroArch (ScummVM)               | In separate folder (one folder per game, with complete file structure retained) |
-| sega32x               | Sega Mega Drive 32X                            | RetroArch (PicoDrive)             | Single archive or ROM file in root folder |
-| sega32xjp             | Sega Super 32X [Japan]                         | RetroArch (PicoDrive)             | Single archive or ROM file in root folder |
-| sega32xna             | Sega Genesis 32X [North America]               | RetroArch (PicoDrive)             | Single archive or ROM file in root folder |
-| segacd                | Sega CD                                        |                                   |                                      |
-| sg-1000               | Sega SG-1000                                   |                                   |                                      |
-| snes                  | Nintendo SNES (Super Nintendo)                 | RetroArch (Snes9x - Current)      | Single archive or ROM file in root folder |
-| snesna                | Nintendo SNES (Super Nintendo) [North America] | RetroArch (Snes9x - Current)      | Single archive or ROM file in root folder |
-| solarus               | Solarus game engine                            |                                   |                                      |
-| spectravideo          | Spectravideo                                   |                                   |                                      |
-| steam                 | Valve Steam                                    | Steam application                 | Shell script/batch file in root folder |
-| stratagus             | Stratagus game engine                          |                                   |                                      |
-| sufami                | Bandai SuFami Turbo                            |                                   |                                      |
-| supergrafx            | NEC SuperGrafx                                 |                                   |                                      |
-| switch                | Nintendo Switch                                | Yuzu (Linux and Windows only, not available on macOS) |                                      |
-| tanodragon            | Tano Dragon                                    |                                   |                                      |
-| tg16                  | NEC TurboGrafx-16                              | RetroArch (Beetle PCE)            | Single archive or ROM file in root folder |
-| tg-cd                 | NEC TurboGrafx-CD                              | RetroArch (Beetle PCE)            |                                      |
-| ti99                  | Texas Instruments TI-99                        |                                   |                                      |
-| tic80                 | TIC-80 game engine                             |                                   |                                      |
-| to8                   | Thomson TO8                                    | RetroArch (Theodore)              |                                      |
-| trs-80                | Tandy TRS-80                                   |                                   |                                      |
-| uzebox                | Uzebox                                         |                                   |                                      |
-| vectrex               | Vectrex                                        |                                   |                                      |
-| videopac              | Philips Videopac G7000 (Magnavox Odyssey2)     |                                   |                                      |
-| virtualboy            | Nintendo Virtual Boy                           |                                   |                                      |
-| wii                   | Nintendo Wii                                   |                                   |                                      |
-| wiiu                  | Nintendo Wii U                                 |                                   |                                      |
-| wonderswan            | Bandai WonderSwan                              |                                   |                                      |
-| wonderswancolor       | Bandai WonderSwan Color                        |                                   |                                      |
-| x1                    | Sharp X1                                       | RetroArch (x1)                    | Single archive or ROM file in root folder |
-| x68000                | Sharp X68000                                   |                                   |                                      |
-| xbox                  | Microsoft Xbox                                 |                                   |                                      |
-| xbox360               | Microsoft Xbox 360                             |                                   |                                      |
-| zmachine              | Infocom Z-machine                              |                                   |                                      |
-| zx81                  | Sinclair ZX81                                  |                                   |                                      |
-| zxspectrum            | Sinclair ZX Spectrum                           |                                   |                                      |
+Default emulator/Alternative emulators columns: \
+**[U]**: Unix, **[M]**: macOS, **[W]**: Windows
+
+All emulators are RetroArch cores unless marked as **(Standalone**)
+
+| System name           | Full name                                      | Default emulator                  | Alternative emulators             | Needs BIOS   | Recommended game setup               |
+| :-------------------- | :--------------------------------------------- | :-------------------------------- | :-------------------------------- | :----------- | :----------------------------------- |
+| 3do                   | 3DO                                            | 4DO                               |                                   |              |                                      |
+| 64dd                  | Nintendo 64DD                                  | Mupen64Plus-Next [UW],<br>ParaLLEl N64 [M] | ParaLLEl N64 [UW]         |              |                                      |
+| ags                   | Adventure Game Studio game engine              |                                   |                                   |              |                                      |
+| amiga                 | Commodore Amiga                                | PUAE                              |                                   | Yes          | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disc, or in separate folder with .m3u playlist if multi-disc |
+| amiga600              | Commodore Amiga 600                            | PUAE                              |                                   | Yes          | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disc, or in separate folder with .m3u playlist if multi-disc |
+| amiga1200             | Commodore Amiga 1200                           | PUAE                              |                                   | Yes          | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disc, or in separate folder with .m3u playlist if multi-disc |
+| amigacd32             | Commodore Amiga CD32                           | PUAE                              |                                   |              |                                      |
+| amstradcpc            | Amstrad CPC                                    | Caprice32                         |                                   |              |                                      |
+| apple2                | Apple II                                       |                                   |                                   |              |                                      |
+| apple2gs              | Apple IIGS                                     |                                   |                                   |              |                                      |
+| arcade                | Arcade                                         | MAME - Current                    | MAME 2000,<br>MAME 2003-Plus,<br>MAME 2010,<br>FinalBurn Neo,<br>FB Alpha 2012 | Depends      | Single archive file following MAME name standard in root folder |
+| astrocade             | Bally Astrocade                                |                                   |                                   |              |                                      |
+| atari2600             | Atari 2600                                     | Stella                            | Stella 2014                       | No           | Single archive or ROM file in root folder |
+| atari5200             | Atari 5200                                     | Atari800                          |                                   |              |                                      |
+| atari7800             | Atari 7800 ProSystem                           | ProSystem                         |                                   |              |                                      |
+| atari800              | Atari 800                                      | Atari800                          |                                   |              |                                      |
+| atarijaguar           | Atari Jaguar                                   | Virtual Jaguar                    |                                   |              |                                      |
+| atarijaguarcd         | Atari Jaguar CD                                | Virtual Jaguar                    |                                   |              |                                      |
+| atarilynx             | Atari Lynx                                     | Beetle Lynx                       |                                   |              |                                      |
+| atarist               | Atari ST [also STE and Falcon]                 | Hatari                            |                                   |              |                                      |
+| atarixe               | Atari XE                                       | Atari800                          |                                   |              |                                      |
+| atomiswave            | Atomiswave                                     | Flycast                           |                                   |              |                                      |
+| bbcmicro              | BBC Micro                                      |                                   |                                   |              |                                      |
+| c64                   | Commodore 64                                   | VICE x64sc Accurate               | VICE x64 Fast,<br>VICE x64 SuperCPU,<br>VICE x128,<br>Frodo | No           | Single disk, tape r cartridge image in root folder and/or multi-disc images in separate folder |
+| cavestory             | Cave Story (NXEngine)                          | NXEngine                          |                                   |              |                                      |
+| cdtv                  | Commodore CDTV                                 |                                   |                                   |              |                                      |
+| chailove              | ChaiLove game engine                           | ChaiLove                          |                                   |              |                                      |
+| channelf              | Fairchild Channel F                            | FreeChaF                          |                                   |              |                                      |
+| coco                  | Tandy Color Computer                           |                                   |                                   |              |                                      |
+| colecovision          | ColecoVision                                   | blueMSX                           |                                   |              |                                      |
+| daphne                | Daphne Arcade Laserdisc Emulator               |                                   |                                   |              |                                      |
+| desktop               | Desktop applications                           | N/A                               |                                   | No           |                                      |
+| doom                  | Doom                                           | PrBoom                            |                                   |              |                                      |
+| dos                   | DOS (PC)                                       | DOSBox-Core                       | DOSBox-Pure,<br>DOSBox-SVN | No           | In separate folder (one folder per game, with complete file structure retained) |
+| dragon32              | Dragon 32                                      |                                   |                                   |              |                                      |
+| dreamcast             | Sega Dreamcast                                 | Flycast                           |                                   |              |                                      |
+| famicom               | Nintendo Family Computer                       | Nestopia UE                       | FCEUmm,<br>Mesen,<br>QuickNES | No           | Single archive or ROM file in root folder |
+| fba                   | FinalBurn Alpha                                | FB Alpha 2012                     | FB Alpha 2012 Neo Geo,<br>FB Alpha 2012 CPS-1,<br>FB Alpha 2012 CPS-2,<br>FB Alpha 2012 CPS-3 | Yes          | Single archive file following MAME name standard in root folder |
+| fbneo                 | FinalBurn Neo                                  | FinalBurn Neo                     |                                   | Yes          | Single archive file following MAME name standard in root folder |
+| fds                   | Nintendo Famicom Disk System                   | Nestopia UE                       |                                   | Yes          | Single archive or ROM file in root folder |
+| gameandwatch          | Nintendo Game and Watch                        | GW                                |                                   |              |                                      |
+| gamegear              | Sega Game Gear                                 | Genesis Plus GX                   |                                   |              |                                      |
+| gb                    | Nintendo Game Boy                              | bsnes                             |                                   |              |                                      |
+| gba                   | Nintendo Game Boy Advance                      | Beetle GBA                        |                                   |              |                                      |
+| gbc                   | Nintendo Game Boy Color                        | bsnes                             |                                   |              |                                      |
+| gc                    | Nintendo GameCube                              | Dolphin                           |                                   |              |                                      |
+| genesis               | Sega Genesis                                   | Genesis Plus GX                   | Genesis Plus GX Wide,<br>PicoDrive,<br>BlastEm | No           | Single archive or ROM file in root folder |
+| gx4000                | Amstrad GX4000                                 |                                   |                                   |              |                                      |
+| intellivision         | Mattel Electronics Intellivision               | FreeIntv                          |                                   |              |                                      |
+| kodi                  | Kodi home theatre software                     | N/A                               |                                   | No           |                                      |
+| lutris                | Lutris open gaming platform                    | Lutris application **(
+Standalone)** [U] |                                   | No           | Shell script in root folder          |
+| lutro                 | Lutro game engine                              | Lutro                             |                                   |              |                                      |
+| macintosh             | Apple Macintosh                                |                                   |                                   |              |                                      |
+| mame                  | Multiple Arcade Machine Emulator               | MAME 2003-Plus                    | MAME 2000,<br>MAME 2010,<br>MAME - Current,<br>FinalBurn Neo,<br>FB Alpha 2012 | Depends      | Single archive file following MAME name standard in root folder |
+| mame-advmame          | AdvanceMAME                                    |                                   |                                   | Depends      | Single archive file following MAME name standard in root folder |
+| mame-mame4all         | MAME4ALL                                       |                                   |                                   | Depends      | Single archive file following MAME name standard in root folder |
+| mastersystem          | Sega Master System                             | Genesis Plus GX                   | Genesis Plus GX Wide,<br>SMS Plus GX,<br>Gearsystem,<br>PicoDrive | No           | Single archive or ROM file in root folder |
+| megacd                | Sega Mega-CD                                   | Genesis Plus GX                   |                                   |              |                                      |
+| megacdjp              | Sega Mega-CD [Japan]                           | Genesis Plus GX                   |                                   |              |                                      |
+| megadrive             | Sega Mega Drive                                | Genesis Plus GX                   | Genesis Plus GX Wide,<br>PicoDrive,<br>BlastEm | No           | Single archive or ROM file in root folder |
+| mess                  | Multi Emulator Super System                    | MESS 2015                         |                                   |              |                                      |
+| moonlight             | Moonlight game streaming                       |                                   |                                   |              |                                      |
+| moto                  | Thomson MO/TO series                           | Theodore                          |                                   |              |                                      |
+| msx                   | MSX                                            | blueMSX                           |                                   |              |                                      |
+| msx1                  | MSX1                                           | blueMSX                           |                                   |              |                                      |
+| msx2                  | MSX2                                           | blueMSX                           |                                   |              |                                      |
+| msxturbor             | MSX Turbo R                                    | blueMSX                           |                                   |              |                                      |
+| multivision           | Othello Multivision                            | Gearsystem                        |                                   |              |                                      |
+| naomi                 | Sega NAOMI                                     | Flycast                           |                                   |              |                                      |
+| naomigd               | Sega NAOMI GD-ROM                              | Flycast                           |                                   |              |                                      |
+| n3ds                  | Nintendo 3DS                                   | Citra                             |                                   |              |                                      |
+| n64                   | Nintendo 64                                    | Mupen64Plus-Next [UW],<br>ParaLLEl N64 [M] | ParaLLEl N64 [UW] | No           | Single archive or ROM file in root folder |
+| nds                   | Nintendo DS                                    | melonDS                           |                                   |              |                                      |
+| neogeo                | SNK Neo Geo                                    | FinalBurn Neo                     |                                   | Yes          | Single archive file following MAME name standard in root folder |
+| neogeocd              | SNK Neo Geo CD                                 | NeoCD                             |                                   | Yes          | Single archive in root folder (which includes the CD image and ripped audio) |
+| neogeocdjp            | SNK Neo Geo CD [Japan]                         | NeoCD                             |                                   | Yes          | Single archive in root folder (which includes the CD image and ripped audio) |
+| nes                   | Nintendo Entertainment System                  | Nestopia UE                       | FCEUmm,<br>Mesen,<br>QuickNES       | No           | Single archive or ROM file in root folder |
+| ngp                   | SNK Neo Geo Pocket                             | Beetle NeoPop                     |                                   |              |                                      |
+| ngpc                  | SNK Neo Geo Pocket Color                       | Beetle NeoPop                     |                                   |              |                                      |
+| odyssey2              | Magnavox Odyssey2                              | O2EM                              |                                   |              |                                      |
+| openbor               | OpenBOR game engine                            |                                   |                                   |              |                                      |
+| oric                  | Tangerine Computer Systems Oric                |                                   |                                   |              |                                      |
+| palm                  | Palm OS                                        | Mu                                |                                   |              |                                      |
+| pc                    | IBM PC                                         | DOSBox-Core                       | DOSBox-Pure,<br>DOSBox-SVN         | No           | In separate folder (one folder per game, with complete file structure retained) |
+| pc88                  | NEC PC-8800 series                             | QUASI88                           |                                   |              |                                      |
+| pc98                  | NEC PC-9800 series                             | Neko Project II Kai               |                                   |              |                                      |
+| pcengine              | NEC PC Engine                                  | Beetle PCE                        | Beetle PCE FAST                   | No           | Single archive or ROM file in root folder |
+| pcenginecd            | NEC PC Engine CD                               | Beetle PCE                        | Beetle PCE FAST                   | Yes          |                                      |
+| pcfx                  | NEC PC-FX                                      | Beetle PC-FX                      |                                   |              |                                      |
+| pokemini              | Nintendo Pokémon Mini                          | PokeMini                          |                                   | No           |                                      |
+| ports                 | Ports                                          | N/A                               |                                   | No           | Shell/batch script in separate folder (possibly combined with game data) |
+| ps2                   | Sony PlayStation 2                             | PCSX2 [UW]                        |                                   |              |                                      |
+| ps3                   | Sony PlayStation 3                             |                                   |                                   |              |                                      |
+| ps4                   | Sony PlayStation 4                             |                                   |                                   |              |                                      |
+| psp                   | Sony PlayStation Portable                      | PPSSPP                            |                                   |              |                                      |
+| psvita                | Sony PlayStation Vita                          |                                   |                                   |              |                                      |
+| psx                   | Sony PlayStation                               | Beetle PSX                        | Beetle PSX HW,<br>PCSX ReARMed,<br>DuckStation | Yes          | .chd file in root folder for single-disc games, .m3u playlist in root folder for multi-disc games |
+| residualvm            | ResidualVM game engine                         |                                   |                                   |              |                                      |
+| samcoupe              | SAM Coupé                                      | SimCoupe                          |                                   |              |                                      |
+| satellaview           | Nintendo Satellaview                           | Snes9x - Current                  |                                   |              |                                      |
+| saturn                | Sega Saturn                                    | Beetle Saturn                     |                                   |              |                                      |
+| saturnjp              | Sega Saturn [Japan]                            | Beetle Saturn                     |                                   |              |                                      |
+| scummvm               | ScummVM game engine                            | ScummVM                           |                                   | No           | In separate folder (one folder per game, with complete file structure retained) |
+| sega32x               | Sega Mega Drive 32X                            | PicoDrive                         |                                   | No           | Single archive or ROM file in root folder |
+| sega32xjp             | Sega Super 32X [Japan]                         | PicoDrive                         |                                   | No           | Single archive or ROM file in root folder |
+| sega32xna             | Sega Genesis 32X [North America]               | PicoDrive                         |                                   | No           | Single archive or ROM file in root folder |
+| segacd                | Sega CD                                        | Genesis Plus GX                   |                                   |              |                                      |
+| sg-1000               | Sega SG-1000                                   | Genesis Plus GX                   |                                   |              |                                      |
+| snes                  | Nintendo SNES (Super Nintendo)                 | Snes9x - Current                  | Snes9x 2010,<br>bsnes,<br>bsnes-mercury Accuracy,<br>Beetle Supafaust [UW],<br>Mesen-S | No           | Single archive or ROM file in root folder |
+| snesna                | Nintendo SNES (Super Nintendo) [North America] | Snes9x - Current                  | Snes9x 2010,<br>bsnes,<br>bsnes-mercury Accuracy,<br>Beetle Supafaust [UW],<br>Mesen-S | No           | Single archive or ROM file in root folder |
+| solarus               | Solarus game engine                            |                                   |                                   |              |                                      |
+| spectravideo          | Spectravideo                                   | blueMSX                           |                                   |              |                                      |
+| steam                 | Valve Steam                                    | Steam application **(
+Standalone)** |                                   | No           | Shell script/batch file in root folder |
+| stratagus             | Stratagus game engine                          |                                   |                                   |              |                                      |
+| sufami                | Bandai SuFami Turbo                            | Snes9x - Current                  |                                   |              |                                      |
+| supergrafx            | NEC SuperGrafx                                 | Beetle SuperGrafx                 | Beetle PCE                        |              |                                      |
+| switch                | Nintendo Switch                                | Yuzu **(
+Standalone)** [UW]        |                                   | Yes          |                                      |
+| tanodragon            | Tano Dragon                                    |                                   |                                   |              |                                      |
+| tg16                  | NEC TurboGrafx-16                              | Beetle PCE                        | Beetle PCE FAST                   | No           | Single archive or ROM file in root folder |
+| tg-cd                 | NEC TurboGrafx-CD                              | Beetle PCE                        | Beetle PCE FAST                   | Yes          |                                      |
+| ti99                  | Texas Instruments TI-99                        |                                   |                                   |              |                                      |
+| tic80                 | TIC-80 game engine                             |                                   |                                   |              |                                      |
+| to8                   | Thomson TO8                                    | Theodore                          |                                   |              |                                      |
+| trs-80                | Tandy TRS-80                                   |                                   |                                   |              |                                      |
+| uzebox                | Uzebox                                         | Uzem                              |                                   |              |                                      |
+| vectrex               | Vectrex                                        | vecx                              |                                   |              |                                      |
+| videopac              | Philips Videopac G7000 (Magnavox Odyssey2)     | O2EM                              |                                   |              |                                      |
+| virtualboy            | Nintendo Virtual Boy                           | Beetle VB                         |                                   |              |                                      |
+| wii                   | Nintendo Wii                                   | Dolphin                           |                                   |              |                                      |
+| wiiu                  | Nintendo Wii U                                 |                                   |                                   |              |                                      |
+| wonderswan            | Bandai WonderSwan                              | Beetle Cygne                      |                                   |              |                                      |
+| wonderswancolor       | Bandai WonderSwan Color                        | Beetle Cygne                      |                                   |              |                                      |
+| x1                    | Sharp X1                                       | x1                                |                                   |              | Single archive or ROM file in root folder |
+| x68000                | Sharp X68000                                   | PX68k                             |                                   |              |                                      |
+| xbox                  | Microsoft Xbox                                 |                                   |                                   |              |                                      |
+| xbox360               | Microsoft Xbox 360                             |                                   |                                   |              |                                      |
+| zmachine              | Infocom Z-machine                              |                                   |                                   |              |                                      |
+| zx81                  | Sinclair ZX81                                  | EightyOne                         |                                   |              |                                      |
+| zxspectrum            | Sinclair ZX Spectrum                           | Fuse                              |                                   |              |                                      |              | Amstrad GX4000                                 |                                   |                                   |              |                                      |
+
diff --git a/USERGUIDE.md b/USERGUIDE.md
index 5593209ff..0599b0741 100644
--- a/USERGUIDE.md
+++ b/USERGUIDE.md
@@ -120,7 +120,7 @@ Note that neither the systeminfo.txt files or the systems.txt file are needed to
 
 There will be a lot of directories created if using the es_systems.xml file bundled with the installation, so it may be a good idea to remove the ones you don't need. It's recommended to move them to another location to be able to use them later if more systems should be added. For example a directory named _DISABLED could be created inside the ROMs folder (i.e. ~/ROMs/_DISABLED) and all game system directories you don't need could be moved there. Doing this reduces the application startup time as ES-DE would otherwise need to scan for game files for all these systems.
 
-![alt text](images/current/es-de_ui_easy_setup.png "ES-DE Easy Setup")
+![alt text](images/es-de_ui_easy_setup.png "ES-DE Easy Setup")
 _This is the dialog shown if no game files were found. It lets you configure the ROM directory if you don't want to use the default one, and you can also generate the game systems directory structure. Note that the directory is the physical path, and that your operating system may present this as a localized path if you are using a language other than English._
 
 
@@ -173,7 +173,7 @@ Depending on the theme, the system navigation carousel can be either horizontal
 
 The game systems are sorted by their full names, as defined in the es_systems.xml file.
 
-![alt text](images/current/es-de_system_view.png "ES-DE System View")
+![alt text](images/es-de_system_view.png "ES-DE System View")
 _The **System view** is the default starting point for the application, it's here that you browse through your game systems._
 
 
@@ -191,10 +191,10 @@ In addition to the styles just described, there is a **Grid** view style as well
 
 If the theme supports it, there's a gamelist information field displayed in the gamelist view, showing the number of games for the system (total and favorites) as well as a folder icon if a folder has been entered. When applying any filters to the gamelist, the game counter is replaced with the amount of games filtered, as in 'filtered / total games', e.g. '19 / 77'. If there are game entries in the filter result that are marked not to be counted as games, the number of such files will be indicated as 'filtered + filtered non-games / total games', for example '23 + 4 / 77' indicating 23 normal games, 4 non-games out of a total of 77. Due to this approach it's theoretically possible that the combined filtered game amount exceeds the number of counted games in the collection, for instance '69 + 11 / 77'. This is not considered a bug and is so by design. This gamelist information field functionality is specific to EmulationStation Desktop Edition so older themes will not support this.
 
-![alt text](images/current/es-de_gamelist_view.png "ES-DE Gamelist View")
+![alt text](images/es-de_gamelist_view.png "ES-DE Gamelist View")
 _The **Gamelist view** is where you browse the games for a specific system._
 
-![alt text](images/current/es-de_basic_view_style.png "ES-DE Basic View Style")
+![alt text](images/es-de_basic_view_style.png "ES-DE Basic View Style")
 _Here's an example of what the Basic view style looks like. Needless to say, ES-DE is not intended to be used like this. After scraping some game media for the system, the view style will automatically change to Detailed or Video (assuming the Automatic view style option has been selected)._
 
 
@@ -217,7 +217,7 @@ The application can also be forced into any of the three modes via the command l
 
 There is a help system available throughout the application that provides an overview of the possible actions and buttons that can be used. But some general actions are never shown, such as the ability to quick jump in gamelists, menus and text input fields using the shoulder and trigger buttons. It's also possible to disable the help system using a menu option for a somewhat cleaner look.
 
-![alt text](images/current/es-de_folder_support.png "ES-DE Help System")
+![alt text](images/es-de_folder_support.png "ES-DE Help System")
 _The help system is displayed at the bottom of the screen, showing the various actions currently available._
 
 
@@ -364,7 +364,8 @@ The platform name for the Commodore 64 is `c64`, so the following structure woul
 ~/ROMs/c64/Multidisk/Pirates/Pirates!.m3u
 ```
 
-It's highly recommended to create `.m3u` playlist files for multi-disk images as this normally automates disk swapping in the emulator. It's then this .m3u file that should be selected for launching the game.
+It's highly recommended to create `.m3u` playlist files for multi-disc images as this normally automates disk swapping
+in the emulator. It's then this .m3u file that should be selected for launching the game.
 
 The .m3u file simply contains a list of the game files, for example in the case of Last Ninja 2.m3u:
 
@@ -417,9 +418,13 @@ Apart from the potential difficulty in locating the emulator binary, there are s
 
 #### Commodore Amiga
 
-There are multiple ways to run Amiga games, but the recommended approach is to use WHDLoad. The best way is to use hard disk images in `.hdf` or `.hdz` format, meaning there will be a single file per game. This makes it just as easy to play Amiga games as any console with game ROMs.
+There are multiple ways to run Amiga games, but the recommended approach is to use WHDLoad. The best way is to use hard
+disk images in `.hdf` or `.hdz` format, meaning there will be a single file per game. This makes it just as easy to play
+Amiga games as any console with game ROMs.
 
-An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can either put single-disk images in the root folder or in a dedicated adf directory, or multiple-disk games in separate folders. It's highly recommended to create `.m3u` playlist files for multi-disk images as described earlier.
+An alternative would be to use `.adf` images as not all games may be available with WHDLoad support. For this, you can
+either put single-disk images in the root folder or in a dedicated adf directory, or multiple-disk games in separate
+folders. It's highly recommended to create `.m3u` playlist files for multi-disc images as described earlier.
 
 Here's an example of what the file structure could look like:
 
@@ -616,7 +621,7 @@ The **Multi-language** support includes translated game genres and game descript
 
 There are two approaches to scraping, either for a single game from the metadata editor, or for many games and systems using the multi-scraper.
 
-![alt text](images/current/es-de_scraper_running.png "ES-DE Scraper Running")
+![alt text](images/es-de_scraper_running.png "ES-DE Scraper Running")
 _Here's an example of the multi-scraper running in interactive mode, asking the user to make a selection from the multiple matching games returned by the scraper service._
 
 ### Single-game scraper
@@ -697,7 +702,7 @@ It's possible to change the game media directory location from within ES-DE, for
 
 This menu can be accessed from both the system view and gamelist view. It contains the scraper, application settings and various tools such as the input configurator and the miximage generator. Settings are saved when navigating back from any menu screen, assuming at least one setting was changed. Pressing the application exit key (F4) will also save any pending changes.
 
-![alt text](images/current/es-de_main_menu.png "ES-DE Main Menu")
+![alt text](images/es-de_main_menu.png "ES-DE Main Menu")
 _The ES-DE main menu._
 
 Following is a breakdown of the main menu entries.
@@ -706,7 +711,7 @@ Following is a breakdown of the main menu entries.
 
 Contains the various options for the scraper, which is used to download metadata, images and videos for your games.
 
-![alt text](images/current/es-de_scraper_settings.png "ES-DE Scraper Settings")
+![alt text](images/es-de_scraper_settings.png "ES-DE Scraper Settings")
 _Some of the scraper settings._
 
 **Scrape from**
@@ -859,7 +864,8 @@ If this setting is enabled and a folder has its flag set to be excluded from the
 
 **Scrape actual folders** _(Multi-scraper only)_
 
-Enabling this option causes folders themselves to be included by the scraper. This is useful for DOS games or any multi-disk games where there is a folder for each individual game.
+Enabling this option causes folders themselves to be included by the scraper. This is useful for DOS games or any
+multi-disc games where there is a folder for each individual game.
 
 **Auto-retry on peer verification errors** _(ScreenScraper only)_
 
@@ -1206,7 +1212,11 @@ If this option is disabled, hidden files and folders within the ROMs directory t
 
 **Show hidden games (requires restart)**
 
-You can mark games as hidden in the metadata editor, which is useful for instance for DOS games where you may not want to see some batch files and executables inside ES-DE, or for multi-disk games where you may only want to show the .m3u playlists and not the individual game files. By disabling this option these files will not be processed at all when ES-DE starts up. If you enable the option you will see the files, but their name entries will be almost transparent in the gamelist view to visually indicate that they are hidden.
+You can mark games as hidden in the metadata editor, which is useful for instance for DOS games where you may not want
+to see some batch files and executables inside ES-DE, or for multi-disc games where you may only want to show the .m3u
+playlists and not the individual game files. By disabling this option these files will not be processed at all when
+ES-DE starts up. If you enable the option you will see the files, but their name entries will be almost transparent in
+the gamelist view to visually indicate that they are hidden.
 
 **Enable custom event scripts**
 
@@ -1257,7 +1267,7 @@ This menu is opened from the gamelist view, and can't be accessed from the syste
 
 You open the menu using the **Back** button, and by pressing **B** or selecting the **Apply** button any settings such as letter jumping using the quick selector or sorting changes are applied. If you instead press the Back button again or select the **Cancel** button, the menu is closed without applying any changes.
 
-![alt text](images/current/es-de_game_options_menu.png "ES-DE Game Options Menu")
+![alt text](images/es-de_game_options_menu.png "ES-DE Game Options Menu")
 _The game options menu as laid out when opening it from within a custom collection, which adds the menu entry to add or remove games from the collection._
 
 Here's a summary of the menu entries:
@@ -1289,7 +1299,7 @@ The secondary sorting is always in ascending filename order.
 
 Choosing this entry opens a separate screen where it's possible to apply a filter to the gamelist. The filter is persistent throughout the program session, or until it's manually reset. The option to reset all filters is shown on the same screen.
 
-![alt text](images/current/es-de_gamelist_filters.png "ES-DE Gamelist Filters")
+![alt text](images/es-de_gamelist_filters.png "ES-DE Gamelist Filters")
 _The gamelist filter screen, accessed from the game options menu._
 
 The following filters can be applied:
@@ -1337,7 +1347,7 @@ This opens the metadata editor for the currently selected game file or folder.
 
 In the metadata editor, you can modify the metadata, scrape for game info and media files, clear the entry which will delete all metadata and game media files, or delete the entire game which also removes its file on the filesystem. When manually modifying a value, it will change color from gray to blue, and if the scraper has changed a value, it will change to red. When leaving the metadata editor you will be asked whether you want to save any settings done manually or by the scraper.
 
-![alt text](images/current/es-de_metadata_editor.png "ES-DE Metadata Editor")
+![alt text](images/es-de_metadata_editor.png "ES-DE Metadata Editor")
 _The metadata editor._
 
 ### Metadata entries
@@ -1394,7 +1404,11 @@ A flag to mark whether the game is suitable for children. This will be applied a
 
 **Hidden**
 
-A flag to indicate that the game is hidden. If the corresponding option has been set in the main menu, the game will not be shown. Useful for example for DOS games to hide batch scripts and unnecessary binaries or to hide the actual game files for multi-disk games. If a file or folder is flagged as hidden but the corresponding option to hide hidden games has not been enabled, then the opacity of the text will be lowered significantly to make it clear that it's a hidden entry.
+A flag to indicate that the game is hidden. If the corresponding option has been set in the main menu, the game will not
+be shown. Useful for example for DOS games to hide batch scripts and unnecessary binaries or to hide the actual game
+files for multi-disc games. If a file or folder is flagged as hidden but the corresponding option to hide hidden games
+has not been enabled, then the opacity of the text will be lowered significantly to make it clear that it's a hidden
+entry.
 
 **Broken/not working**
 
@@ -1402,15 +1416,27 @@ A flag to indicate whether the game is broken. Useful for MAME games for instanc
 
 **Exclude from game counter** _(files only)_
 
-A flag to indicate whether the game should be excluded from being counted. If this is set for a game, it will not be included in the game counter shown per system on the system view, and it will not be included in the system information field in the gamelist view. As well, it will be excluded from all automatic and custom collections. This option is quite useful for multi-file games such as multi-disk Amiga or Commodore 64 games, or for DOS games where you want to exclude setup programs and similar but still need them available in ES-DE and therefore can't hide them. Files that have this flag set will have a lower opacity in the gamelists, making them easy to spot.
+A flag to indicate whether the game should be excluded from being counted. If this is set for a game, it will not be
+included in the game counter shown per system on the system view, and it will not be included in the system information
+field in the gamelist view. As well, it will be excluded from all automatic and custom collections. This option is quite
+useful for multi-file games such as multi-disc Amiga or Commodore 64 games, or for DOS games where you want to exclude
+setup programs and similar but still need them available in ES-DE and therefore can't hide them. Files that have this
+flag set will have a lower opacity in the gamelists, making them easy to spot.
 
 **Exclude from multi-scraper**
 
-Whether to exclude the file from the multi-scraper. This is quite useful in order to avoid scraping all the disks for multi-disk games for example. There is an option in the scraper settings to ignore this flag, but by default the multi-scraper will respect it.
+Whether to exclude the file from the multi-scraper. This is quite useful in order to avoid scraping all the disks for
+multi-disc games for example. There is an option in the scraper settings to ignore this flag, but by default the
+multi-scraper will respect it.
 
 **Hide metadata fields**
 
-This option will hide most metadata fields in the gamelist view. The intention is to be able to hide the fields for situations such as general folders (Multi-disk, Cartridges etc.) and for setup programs and similar (e.g. SETUP.EXE or INSTALL.BAT for DOS games). It could also be used on the game files for multi-disk games where perhaps only the .m3u playlist should have any metadata values. The only fields shown with this option enabled are the game name and description. Using the description it's possible to write some comments regarding the file or folder, should you want to. It's also possible to display game images and videos with this setting enabled.
+This option will hide most metadata fields in the gamelist view. The intention is to be able to hide the fields for
+situations such as general folders (Multi-disc, Cartridges etc.) and for setup programs and similar (e.g. SETUP.EXE or
+INSTALL.BAT for DOS games). It could also be used on the game files for multi-disc games where perhaps only the .m3u
+playlist should have any metadata values. The only fields shown with this option enabled are the game name and
+description. Using the description it's possible to write some comments regarding the file or folder, should you want
+to. It's also possible to display game images and videos with this setting enabled.
 
 **Launch command** _(files only)_
 
@@ -1468,7 +1494,7 @@ For the video and slideshow screensavers, an overlay can be enabled via the scre
 
 If the Video screensaver has been selected and there are no videos available, a fallback to the Dim screensaver will take place. The same is true for the Slideshow screensaver if no game images are available.
 
-![alt text](images/current/es-de_screensaver.png "ES-DE Screensaver")
+![alt text](images/es-de_screensaver.png "ES-DE Screensaver")
 _An example of what the video screensaver looks like._
 
 ## Game collections
@@ -1509,10 +1535,10 @@ When you are done adding games, you can either open the main menu and go to **Ga
 
 You can later add additional games to the collection by navigating to it, bringing up the game options menu and choosing **Add/remove games to this game collection**.
 
-![alt text](images/current/es-de_custom_collections.png "ES-DE Custom Collections")
+![alt text](images/es-de_custom_collections.png "ES-DE Custom Collections")
 _Example of custom collections, here configured as genres._
 
-![alt text](images/current/es-de_custom_collections_editing.png "ES-DE Custom Collections")
+![alt text](images/es-de_custom_collections_editing.png "ES-DE Custom Collections")
 _When editing a custom collection, a tick symbol will be displayed for any game that is already part of the collection._
 
 
@@ -1572,7 +1598,7 @@ https://gitlab.com/recalbox/recalbox-themes
 
 https://wiki.batocera.org/themes
 
-![alt text](images/current/es-de_ui_theme_support.png "ES-DE Theme Support")
+![alt text](images/es-de_ui_theme_support.png "ES-DE Theme Support")
 _An example of a modified version of the [Fundamental](https://github.com/G-rila/es-theme-fundamental) theme applied to ES-DE._
 
 
@@ -1625,9 +1651,9 @@ Consider the table below a work in progress as it's obvioulsy not fully populate
 | 3do                   | 3DO                                            |                                   |                                      |
 | 64dd                  | Nintendo 64DD                                  | RetroArch (Mupen64Plus-Next on Unix and Windows, ParaLLEl N64 on macOS) |                                      |
 | ags                   | Adventure Game Studio game engine              |                                   |                                      |
-| amiga                 | Commodore Amiga                                | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disk |
-| amiga600              | Commodore Amiga 600                            | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disk |
-| amiga1200             | Commodore Amiga 1200                           | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disk |
+| amiga                 | Commodore Amiga                                | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disc |
+| amiga600              | Commodore Amiga 600                            | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disc |
+| amiga1200             | Commodore Amiga 1200                           | RetroArch (P-UAE)*                | WHDLoad hard disk image in .hdf or .hdz format in root folder, or diskette image in .adf format in root folder if single-disk, or in separate folder with .m3u playlist if multi-disc |
 | amigacd32             | Commodore Amiga CD32                           |                                   |                                      |
 | amstradcpc            | Amstrad CPC                                    |                                   |                                      |
 | apple2                | Apple II                                       |                                   |                                      |
@@ -1645,7 +1671,7 @@ Consider the table below a work in progress as it's obvioulsy not fully populate
 | atarixe               | Atari XE                                       |                                   |                                      |
 | atomiswave            | Atomiswave                                     |                                   |                                      |
 | bbcmicro              | BBC Micro                                      |                                   |                                      |
-| c64                   | Commodore 64                                   | RetroArch (VICE x64sc, accurate)  | Single disk, tape or cartridge image in root folder and/or multi-disk images in separate folder |
+| c64                   | Commodore 64                                   | RetroArch (VICE x64sc, accurate)  | Single disk, tape or cartridge image in root folder and/or multi-disc images in separate folder |
 | cavestory             | Cave Story (NXEngine)                          |                                   |                                      |
 | cdtv                  | Commodore CDTV                                 |                                   |                                      |
 | chailove              | ChaiLove game engine                           |                                   |                                      |
diff --git a/es-app/CMakeLists.txt b/es-app/CMakeLists.txt
index 1d7804aa1..9dbb9681e 100644
--- a/es-app/CMakeLists.txt
+++ b/es-app/CMakeLists.txt
@@ -1,3 +1,12 @@
+#  SPDX-License-Identifier: MIT
+#
+#  EmulationStation Desktop Edition
+#  CMakeLists.txt (es-app)
+#
+#  CMake configuration for es-app.
+#  Also contains the application packaging configuration.
+#
+
 project("emulationstation-de")
 
 set(ES_HEADERS
@@ -49,7 +58,7 @@ set(ES_HEADERS
         ${CMAKE_CURRENT_SOURCE_DIR}/src/views/SystemView.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/views/UIModeController.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/views/ViewController.h
-)
+        )
 
 set(ES_SOURCES
         ${CMAKE_CURRENT_SOURCE_DIR}/src/CollectionSystemsManager.cpp
@@ -100,7 +109,7 @@ set(ES_SOURCES
         ${CMAKE_CURRENT_SOURCE_DIR}/src/views/SystemView.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/views/UIModeController.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/views/ViewController.cpp
-)
+        )
 
 if(WIN32)
     LIST(APPEND ES_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation.rc)
@@ -125,27 +134,55 @@ endif()
 # Setup for installation and package generation.
 if(WIN32)
     install(TARGETS EmulationStation RUNTIME DESTINATION .)
-    if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
-        install(FILES ../avcodec-58.dll ../avfilter-7.dll ../avformat-58.dll ../avutil-56.dll
-                ../postproc-55.dll ../swresample-3.dll ../swscale-5.dll ../FreeImage.dll
-                ../glew32.dll ../libcrypto-1_1-x64.dll ../libcurl-x64.dll ../freetype.dll
-                ../pugixml.dll ../libssl-1_1-x64.dll ../SDL2.dll ../MSVCP140.dll ../VCOMP140.DLL
-                ../VCRUNTIME140.dll ../VCRUNTIME140_1.dll DESTINATION .)
-        if(VLC_PLAYER)
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+        install(FILES ../avcodec-58.dll
+                ../avfilter-7.dll
+                ../avformat-58.dll
+                ../avutil-56.dll
+                ../postproc-55.dll
+                ../swresample-3.dll
+                ../swscale-5.dll
+                ../FreeImage.dll
+                ../freetype.dll
+                ../glew32.dll
+                ../libcrypto-1_1-x64.dll
+                ../libcurl-x64.dll
+                ../libssl-1_1-x64.dll
+                ../MSVCP140.dll
+                ../pugixml.dll
+                ../SDL2.dll
+                ../VCOMP140.DLL
+                ../VCRUNTIME140.dll
+                ../VCRUNTIME140_1.dll
+                DESTINATION .)
+        if (VLC_PLAYER)
             install(FILES ../libvlc.dll ../libvlccore.dll DESTINATION .)
-        endif()
-    else()
-        install(FILES ../avcodec-58.dll ../avfilter-7.dll ../avformat-58.dll ../avutil-56.dll
-                ../postproc-55.dll ../swresample-3.dll ../swscale-5.dll ../FreeImage.dll
-                ../glew32.dll ../libcrypto-1_1-x64.dll ../libcurl-x64.dll ../libfreetype.dll
-                ../libpugixml.dll ../libssl-1_1-x64.dll ../SDL2.dll ../vcomp140.dll DESTINATION .)
-        if(VLC_PLAYER)
+        endif ()
+    else ()
+        install(FILES ../avcodec-58.dll
+                ../avfilter-7.dll
+                ../avformat-58.dll
+                ../avutil-56.dll
+                ../postproc-55.dll
+                ../swresample-3.dll
+                ../swscale-5.dll
+                ../FreeImage.dll
+                ../glew32.dll
+                ../libcrypto-1_1-x64.dll
+                ../libcurl-x64.dll
+                ../libfreetype.dll
+                ../libpugixml.dll
+                ../libssl-1_1-x64.dll
+                ../SDL2.dll
+                ../vcomp140.dll
+                DESTINATION .)
+        if (VLC_PLAYER)
             install(FILES ../libvlc.dll ../libvlccore.dll DESTINATION .)
-        endif()
-    endif()
-    if(VLC_PLAYER)
+        endif ()
+    endif ()
+    if (VLC_PLAYER)
         install(DIRECTORY ${CMAKE_SOURCE_DIR}/plugins DESTINATION .)
-    endif()
+    endif ()
     install(FILES ../LICENSE DESTINATION .)
     install(DIRECTORY ${CMAKE_SOURCE_DIR}/licenses DESTINATION .)
     install(DIRECTORY ${CMAKE_SOURCE_DIR}/themes DESTINATION .)
@@ -157,12 +194,9 @@ elseif(APPLE)
     # So an extra 'Resources' directory was added to the CMAKE_INSTALL_PREFIX variable as well
     # to compensate for this. It's a bad solution to the problem and there must surely be a
     # better way to fix this.
-    install(TARGETS EmulationStation RUNTIME
-            DESTINATION ../MacOS)
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE.icns
-            DESTINATION ../Resources)
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE_Info.plist
-            DESTINATION .. RENAME Info.plist)
+    install(TARGETS EmulationStation RUNTIME DESTINATION ../MacOS)
+    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE.icns DESTINATION ../Resources)
+    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE_Info.plist DESTINATION .. RENAME Info.plist)
 
     # Another hack/workaround. I have not been able to find any way whatsover to force the
     # linker to use rpaths for all shared libraries instead of absolute paths. So instead
@@ -183,8 +217,8 @@ elseif(APPLE)
             -change /usr/local/opt/libpng/lib/libpng16.16.dylib @rpath/libpng16.16.dylib
             -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib @rpath/libSDL2-2.0.0.dylib
             $<TARGET_FILE:EmulationStation>)
-    set(APPLE_DYLIB_PERMISSIONS
-            OWNER_WRITE OWNER_READ OWNER_EXECUTE
+
+    set(APPLE_DYLIB_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE
             GROUP_READ GROUP_EXECUTE
             WORLD_READ WORLD_EXECUTE)
 
@@ -212,32 +246,29 @@ elseif(APPLE)
             PERMISSIONS ${APPLE_DYLIB_PERMISSIONS} DESTINATION ../MacOS)
     install(FILES ${CMAKE_SOURCE_DIR}/libSDL2-2.0.0.dylib
             PERMISSIONS ${APPLE_DYLIB_PERMISSIONS} DESTINATION ../MacOS)
-    if(VLC_PLAYER)
+
+    if (VLC_PLAYER)
         install(FILES ${CMAKE_SOURCE_DIR}/libvlc.dylib
                 PERMISSIONS ${APPLE_DYLIB_PERMISSIONS} DESTINATION ../MacOS)
         install(FILES ${CMAKE_SOURCE_DIR}/libvlccore.dylib
                 PERMISSIONS ${APPLE_DYLIB_PERMISSIONS} DESTINATION ../MacOS)
         install(DIRECTORY ${CMAKE_SOURCE_DIR}/plugins
                 DESTINATION ../MacOS)
-    endif()
-    install(FILES ${CMAKE_SOURCE_DIR}/LICENSE
-            DESTINATION ../Resources)
-    install(DIRECTORY ${CMAKE_SOURCE_DIR}/resources
-            DESTINATION ../Resources)
-    install(DIRECTORY ${CMAKE_SOURCE_DIR}/themes
-                   DESTINATION ../Resources)
-    install(DIRECTORY ${CMAKE_SOURCE_DIR}/licenses
-            DESTINATION ../Resources)
-else()
-    install(TARGETS emulationstation RUNTIME
-            DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
-    if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+    endif ()
+
+    install(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION ../Resources)
+    install(DIRECTORY ${CMAKE_SOURCE_DIR}/resources DESTINATION ../Resources)
+    install(DIRECTORY ${CMAKE_SOURCE_DIR}/themes DESTINATION ../Resources)
+    install(DIRECTORY ${CMAKE_SOURCE_DIR}/licenses DESTINATION ../Resources)
+else ()
+    install(TARGETS emulationstation RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
+    if (CMAKE_SYSTEM_NAME MATCHES "Linux")
         install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/emulationstation.6.gz
                 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man6)
-    else()
+    else ()
         install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/emulationstation.6.gz
                 DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man6)
-    endif()
+    endif ()
     install(FILES ${CMAKE_SOURCE_DIR}/LICENSE
             DESTINATION ${CMAKE_INSTALL_PREFIX}/share/emulationstation)
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/emulationstation.desktop
@@ -286,13 +317,13 @@ endif()
 # Settings per operating system and generator type.
 if(APPLE)
     set(CPACK_GENERATOR "Bundle")
-    if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.14)
+    if (CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS 10.14)
         set(CPACK_PACKAGE_FILE_NAME "EmulationStation-DE-${CPACK_PACKAGE_VERSION}-${CPU_ARCHITECTURE}_legacy")
         set(CPACK_DMG_VOLUME_NAME "EmulationStation Desktop Edition ${CPACK_PACKAGE_VERSION}_legacy")
-    else()
+    else ()
         set(CPACK_PACKAGE_FILE_NAME "EmulationStation-DE-${CPACK_PACKAGE_VERSION}-${CPU_ARCHITECTURE}")
         set(CPACK_DMG_VOLUME_NAME "EmulationStation Desktop Edition ${CPACK_PACKAGE_VERSION}")
-    endif()
+    endif ()
     set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE.icns")
     set(CPACK_DMG_DS_STORE "${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE_DS_Store")
     set(CPACK_BUNDLE_NAME "EmulationStation Desktop Edition")
@@ -300,9 +331,9 @@ if(APPLE)
     set(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/assets/EmulationStation-DE_Info.plist")
     if(MACOS_CODESIGN_IDENTITY)
         set(CPACK_BUNDLE_APPLE_CERT_APP "Developer ID Application: ${MACOS_CODESIGN_IDENTITY}")
-        if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_GREATER 10.13)
+        if (CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER 10.13)
             set(CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER "--deep --force --options runtime")
-        endif()
+        endif ()
     endif()
 elseif(WIN32)
     set(CPACK_GENERATOR "NSIS")
@@ -323,9 +354,9 @@ elseif(WIN32)
 else()
     set(CPACK_PACKAGE_INSTALL_DIRECTORY "emulationstation_${CMAKE_PACKAGE_VERSION}")
     set(CPACK_PACKAGE_EXECUTABLES "emulationstation" "emulationstation")
-    if("${LINUX_CPACK_GENERATOR}" STREQUAL "DEB")
+    if (LINUX_CPACK_GENERATOR STREQUAL "DEB")
         set(CPACK_GENERATOR "DEB")
-    endif()
+    endif ()
     set(CPACK_DEBIAN_FILE_NAME "emulationstation-de-${CPACK_PACKAGE_VERSION}-${CPU_ARCHITECTURE}.deb")
     set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Leon Styhre <leon@leonstyhre.com>")
     set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://es-de.org")
@@ -335,9 +366,9 @@ else()
         set(CPACK_DEBIAN_PACKAGE_DEPENDS "vlc")
     endif()
     set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
-    if("${LINUX_CPACK_GENERATOR}" STREQUAL "RPM")
+    if (LINUX_CPACK_GENERATOR STREQUAL "RPM")
         set(CPACK_GENERATOR "RPM")
-    endif()
+    endif ()
     set(CPACK_RPM_FILE_NAME "emulationstation-de-${CPACK_PACKAGE_VERSION}-${CPU_ARCHITECTURE}.rpm")
     set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
     set(CPACK_RPM_PACKAGE_LICENSE "MIT")
diff --git a/es-app/src/CollectionSystemsManager.cpp b/es-app/src/CollectionSystemsManager.cpp
index 6685db3ca..f4b7823d4 100644
--- a/es-app/src/CollectionSystemsManager.cpp
+++ b/es-app/src/CollectionSystemsManager.cpp
@@ -52,7 +52,7 @@ CollectionSystemsManager::CollectionSystemsManager(Window* window)
 {
     // clang-format off
     CollectionSystemDecl systemDecls[] = {
-    //  Type                 Name               Long name      Theme folder          isCustom
+    //  Type                 Name                Long name       Theme folder           isCustom
         {AUTO_ALL_GAMES,     "all",              "all games",    "auto-allgames",       false},
         {AUTO_LAST_PLAYED,   "recent",           "last played",  "auto-lastplayed",     false},
         {AUTO_FAVORITES,     "favorites",        "favorites",    "auto-favorites",      false},
@@ -377,14 +377,22 @@ void CollectionSystemsManager::updateCollectionSystem(FileData* file, Collection
                 // If the countasgame flag has been set to false, then remove the game.
                 if (curSys->isGroupedCustomCollection()) {
                     ViewController::get()
-                        ->getGameListView(curSys->getRootFolder()->getParent()->getSystem())
-                        .get()
-                        ->remove(collectionEntry, false);
-                    FileData* parentRootFolder =
-                        rootFolder->getParent()->getSystem()->getRootFolder();
+                            ->getGameListView(curSys->getRootFolder()->getParent()->getSystem())
+                            .get()
+                            ->remove(collectionEntry, false);
+                    FileData *parentRootFolder =
+                            rootFolder->getParent()->getSystem()->getRootFolder();
                     parentRootFolder->sort(parentRootFolder->getSortTypeFromString(
-                                               parentRootFolder->getSortTypeString()),
+                                                   parentRootFolder->getSortTypeString()),
                                            mFavoritesSorting);
+                    GuiInfoPopup *s = new GuiInfoPopup(
+                            mWindow,
+                            "DISABLED '" +
+                            Utils::String::toUpper(
+                                    Utils::String::removeParenthesis(file->getName())) +
+                            "' IN '" + Utils::String::toUpper(sysData.system->getName()) + "'",
+                            4000);
+                    mWindow->setInfoPopup(s);
                 }
                 else {
                     ViewController::get()->getGameListView(curSys).get()->remove(collectionEntry,
@@ -542,19 +550,26 @@ bool CollectionSystemsManager::isThemeCustomCollectionCompatible(
     return true;
 }
 
-std::string CollectionSystemsManager::getValidNewCollectionName(std::string inName, int index)
-{
+std::string CollectionSystemsManager::getValidNewCollectionName(std::string inName, int index) {
     std::string name = inName;
 
+    // Trim leading and trailing whitespaces.
+    name.erase(name.begin(), std::find_if(name.begin(), name.end(), [](char c) {
+        return !std::isspace(static_cast<unsigned char>(c));
+    }));
+    name.erase(std::find_if(name.rbegin(), name.rend(),
+                            [](char c) { return !std::isspace(static_cast<unsigned char>(c)); })
+                       .base(),
+               name.end());
+
     if (index == 0) {
         size_t remove = std::string::npos;
         // Get valid name.
         while ((remove = name.find_first_not_of(
-                    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-[]()' ")) !=
+                "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-[]()' ")) !=
                std::string::npos)
             name.erase(remove, 1);
-    }
-    else {
+    } else {
         name += " (" + std::to_string(index) + ")";
     }
 
@@ -674,7 +689,6 @@ bool CollectionSystemsManager::toggleGameInCollection(FileData* file)
                 rootFolder->getChildrenByFilename();
             bool found = children.find(key) != children.cend();
             FileFilterIndex* fileIndex = sysData->getIndex();
-            std::string name = sysData->getName();
 
             SystemData* systemViewToUpdate = getSystemToView(sysData);
 
@@ -1317,36 +1331,43 @@ void CollectionSystemsManager::addEnabledCollectionsToDisplayedSystems(
     }
 }
 
-std::vector<std::string> CollectionSystemsManager::getSystemsFromConfig()
-{
+std::vector<std::string> CollectionSystemsManager::getSystemsFromConfig() {
     std::vector<std::string> systems;
-    std::string path = SystemData::getConfigPath(false);
+    std::vector<std::string> configPaths = SystemData::getConfigPath(false);
 
-    if (!Utils::FileSystem::exists(path))
-        return systems;
+    // Here we don't honor the <loadExclusive> tag which may be present in the custom es_systems.xml
+    // file under ~/.emulationstation/custom_systems as we really want to include all the themes
+    // supported by ES-DE. Otherwise a user may accidentally create a custom collection that
+    // corresponds to a supported theme.
+    for (auto path: configPaths) {
+        if (!Utils::FileSystem::exists(path))
+            return systems;
 
-    pugi::xml_document doc;
+        pugi::xml_document doc;
 #if defined(_WIN64)
-    pugi::xml_parse_result res = doc.load_file(Utils::String::stringToWideString(path).c_str());
+        pugi::xml_parse_result res = doc.load_file(Utils::String::stringToWideString(path).c_str());
 #else
-    pugi::xml_parse_result res = doc.load_file(path.c_str());
+        pugi::xml_parse_result res = doc.load_file(path.c_str());
 #endif
 
-    if (!res)
-        return systems;
+        if (!res)
+            return systems;
 
-    // Actually read the file.
-    pugi::xml_node systemList = doc.child("systemList");
+        // Actually read the file.
+        pugi::xml_node systemList = doc.child("systemList");
 
-    if (!systemList)
-        return systems;
+        if (!systemList)
+            return systems;
 
-    for (pugi::xml_node system = systemList.child("system"); system;
-         system = system.next_sibling("system")) {
-        // Theme folder.
-        std::string themeFolder = system.child("theme").text().get();
-        systems.push_back(themeFolder);
+        for (pugi::xml_node system = systemList.child("system"); system;
+             system = system.next_sibling("system")) {
+            // Theme folder.
+            std::string themeFolder = system.child("theme").text().get();
+            if (std::find(systems.cbegin(), systems.cend(), themeFolder) == systems.cend())
+                systems.push_back(themeFolder);
+        }
     }
+
     std::sort(systems.begin(), systems.end());
     return systems;
 }
diff --git a/es-app/src/FileData.cpp b/es-app/src/FileData.cpp
index b0e16298f..c3fdf9103 100644
--- a/es-app/src/FileData.cpp
+++ b/es-app/src/FileData.cpp
@@ -30,19 +30,11 @@
 #include <assert.h>
 
 FileData::FileData(FileType type,
-                   const std::string& path,
-                   SystemEnvironmentData* envData,
-                   SystemData* system)
-    : mType(type)
-    , mPath(path)
-    , mSystem(system)
-    , mEnvData(envData)
-    , mSourceFileData(nullptr)
-    , mParent(nullptr)
-    , mOnlyFolders(false)
-    , mDeletionFlag(false)
-    // Metadata is set in the constructor.
-    , metadata(type == GAME ? GAME_METADATA : FOLDER_METADATA)
+                   const std::string &path,
+                   SystemEnvironmentData *envData,
+                   SystemData *system)
+        : metadata(type == GAME ? GAME_METADATA : FOLDER_METADATA), mSourceFileData(nullptr), mParent(nullptr),
+          mType(type), mPath(path), mEnvData(envData), mSystem(system), mOnlyFolders(false), mDeletionFlag(false)
 {
     // Metadata needs at least a name field (since that's what getName() will return).
     if (metadata.get("name").empty()) {
@@ -224,7 +216,7 @@ const std::string FileData::getMediafilePath(std::string subdirectory, std::stri
                                  subFolders + "/" + getDisplayName();
 
     // Look for an image file in the media directory.
-    for (int i = 0; i < extList.size(); i++) {
+    for (size_t i = 0; i < extList.size(); i++) {
         std::string mediaPath = tempPath + extList[i];
         if (Utils::FileSystem::exists(mediaPath))
             return mediaPath;
@@ -299,7 +291,7 @@ const std::string FileData::getVideoPath() const
         getMediaDirectory() + mSystemName + "/videos" + subFolders + "/" + getDisplayName();
 
     // Look for media in the media directory.
-    for (int i = 0; i < extList.size(); i++) {
+    for (size_t i = 0; i < extList.size(); i++) {
         std::string mediaPath = tempPath + extList[i];
         if (Utils::FileSystem::exists(mediaPath))
             return mediaPath;
@@ -347,9 +339,9 @@ std::vector<FileData*> FileData::getFilesRecursive(unsigned int typeMask,
                 out.insert(out.cend(), subChildren.cbegin(), subChildren.cend());
             }
             else {
-                for (auto it = subChildren.cbegin(); it != subChildren.cend(); it++) {
-                    if ((*it)->getCountAsGame())
-                        out.push_back(*it);
+                for (auto it2 = subChildren.cbegin(); it2 != subChildren.cend(); it2++) {
+                    if ((*it2)->getCountAsGame())
+                        out.push_back(*it2);
                 }
             }
         }
@@ -743,37 +735,58 @@ FileData::SortType FileData::getSortTypeFromString(std::string desc)
     return FileSorts::SortTypes.at(0);
 }
 
-void FileData::launchGame(Window* window)
-{
+void FileData::launchGame(Window *window) {
     LOG(LogInfo) << "Launching game \"" << this->metadata.get("name") << "\"...";
 
+    SystemData *gameSystem = nullptr;
     std::string command = "";
+    std::string alternativeEmulator;
 
-    // Check if there is a launch command override for the game
-    // and the corresponding option to use it has been set.
-    if (Settings::getInstance()->getBool("LaunchCommandOverride") &&
-        !metadata.get("launchcommand").empty()) {
-        command = metadata.get("launchcommand");
-    }
-    else {
-        std::string alternativeEmulator = getSystem()->getAlternativeEmulator();
-        for (auto launchCommand : mEnvData->mLaunchCommands) {
-            if (launchCommand.second == alternativeEmulator) {
-                command = launchCommand.first;
-                break;
-            }
-        }
-        if (!alternativeEmulator.empty() && command.empty()) {
-            LOG(LogWarning) << "The alternative emulator configured for system \""
-                            << getSystem()->getName()
-                            << "\" is invalid, falling back to the default command \""
-                            << getSystem()->getSystemEnvData()->mLaunchCommands.front().first << "\"";
-        }
+    if (mSystem->isCollection())
+        gameSystem = SystemData::getSystemByName(mSystemName);
+    else
+        gameSystem = mSystem;
 
-        if (command.empty())
-            command = mEnvData->mLaunchCommands.front().first;
+    // This is just a precaution as getSystemByName() should always return a valid result.
+    if (gameSystem == nullptr)
+        gameSystem = mSystem;
+
+    alternativeEmulator = gameSystem->getAlternativeEmulator();
+
+    // Check if there is a game-specific alternative emulator configured.
+    // This takes precedence over any system-wide alternative emulator configuration.
+    if (Settings::getInstance()->getBool("AlternativeEmulatorPerGame") &&
+        !metadata.get("altemulator").empty()) {
+        command = gameSystem->getLaunchCommandFromLabel(metadata.get("altemulator"));
+        if (command == "") {
+            LOG(LogWarning) << "Invalid alternative emulator \"" << metadata.get("altemulator")
+                            << "\" configured for game";
+        }
+        else {
+            LOG(LogDebug) << "FileData::launchGame(): Using alternative emulator \""
+                          << metadata.get("altemulator")
+                          << "\" as configured for the specific game";
+        }
     }
 
+    // Check if there is a system-wide alternative emulator configured.
+    if (command == "" && alternativeEmulator != "") {
+        command = gameSystem->getLaunchCommandFromLabel(alternativeEmulator);
+        if (command == "") {
+            LOG(LogWarning) << "Invalid alternative emulator \""
+                            << alternativeEmulator.substr(9, alternativeEmulator.length() - 9)
+                            << "\" configured for system \"" << gameSystem->getName() << "\"";
+        }
+        else {
+            LOG(LogDebug) << "FileData::launchGame(): Using alternative emulator \""
+                          << gameSystem->getAlternativeEmulator() << "\""
+                          << " as configured for system \"" << gameSystem->getName() << "\"";
+        }
+    }
+
+    if (command.empty())
+        command = mEnvData->mLaunchCommands.front().first;
+
     std::string commandRaw = command;
 
     const std::string romPath = Utils::FileSystem::getEscapedPath(getPath());
@@ -1332,10 +1345,10 @@ void CollectionFileData::refreshMetadata()
 const std::string& CollectionFileData::getName()
 {
     if (mDirty) {
-        mCollectionFileName =
-            Utils::String::removeParenthesis(mSourceFileData->metadata.get("name"));
-        mCollectionFileName +=
-            " [" + Utils::String::toUpper(mSourceFileData->getSystem()->getName()) + "]";
+        mCollectionFileName = mSourceFileData->metadata.get("name");
+        mCollectionFileName.append(" [")
+                .append(Utils::String::toUpper(mSourceFileData->getSystem()->getName()))
+                .append("]");
         mDirty = false;
     }
 
diff --git a/es-app/src/FileFilterIndex.cpp b/es-app/src/FileFilterIndex.cpp
index cb8afb7e3..4e464b020 100644
--- a/es-app/src/FileFilterIndex.cpp
+++ b/es-app/src/FileFilterIndex.cpp
@@ -20,22 +20,15 @@
 #define INCLUDE_UNKNOWN false;
 
 FileFilterIndex::FileFilterIndex()
-    : mFilterByText(false)
-    , mFilterByFavorites(false)
-    , mFilterByGenre(false)
-    , mFilterByPlayers(false)
-    , mFilterByPubDev(false)
-    , mFilterByRatings(false)
-    , mFilterByKidGame(false)
-    , mFilterByCompleted(false)
-    , mFilterByBroken(false)
-    , mFilterByHidden(false)
+        : mFilterByText(false), mTextRemoveSystem(false), mFilterByFavorites(false), mFilterByGenre(false),
+          mFilterByPlayers(false), mFilterByPubDev(false), mFilterByRatings(false), mFilterByKidGame(false),
+          mFilterByCompleted(false), mFilterByBroken(false), mFilterByHidden(false)
 {
     clearAllFilters();
 
     // clang-format off
     FilterDataDecl filterDecls[] = {
-        //type              //allKeys                //filteredBy         //filteredKeys                //primaryKey    //hasSecondaryKey   //secondaryKey  //menuLabel
+            //type             //allKeys                //filteredBy         //filteredKeys                //primaryKey    //hasSecondaryKey   //secondaryKey  //menuLabel
         {FAVORITES_FILTER, &mFavoritesIndexAllKeys, &mFilterByFavorites, &mFavoritesIndexFilteredKeys, "favorite",     false,              "",             "FAVORITES"},
         {GENRE_FILTER,     &mGenreIndexAllKeys,     &mFilterByGenre,     &mGenreIndexFilteredKeys,     "genre",        true,               "genre",        "GENRE"},
         {PLAYER_FILTER,    &mPlayersIndexAllKeys,   &mFilterByPlayers,   &mPlayersIndexFilteredKeys,   "players",      false,              "",             "PLAYERS"},
@@ -279,7 +272,7 @@ void FileFilterIndex::setTextFilter(std::string textFilter)
         mFilterByText = false;
     else
         mFilterByText = true;
-};
+}
 
 void FileFilterIndex::clearAllFilters()
 {
@@ -359,22 +352,27 @@ bool FileFilterIndex::showFile(FileData* game)
     bool keepGoing = false;
 
     // Name filters take precedence over all other filters, so if there is no match for
-    // the game name, then always return false.
-    if (mTextFilter != "" &&
-        !(Utils::String::toUpper(game->getName()).find(mTextFilter) != std::string::npos)) {
+    // the game name, then always return false. If we're in a collection system and the option
+    // to show the system name has been enabled, then exclude the system name that is encapsulated
+    // in [] from the search string.
+    if (mTextFilter != "" && mTextRemoveSystem &&
+        !(Utils::String::toUpper(game->getName().substr(0, game->getName().find_last_of("[")))
+                  .find(mTextFilter) != std::string::npos)) {
+        return false;
+    } else if (mTextFilter != "" &&
+               !(Utils::String::toUpper(game->getName()).find(mTextFilter) != std::string::npos)) {
         return false;
     }
-    else if (mTextFilter != "") {
+
+    if (mTextFilter != "")
         nameMatch = true;
-    }
 
     for (std::vector<FilterDataDecl>::const_iterator it = filterDataDecl.cbegin();
          it != filterDataDecl.cend(); it++) {
         FilterDataDecl filterData = (*it);
         if (filterData.primaryKey == "kidgame" && UIModeController::getInstance()->isUIModeKid()) {
             return (getIndexableKey(game, filterData.type, false) != "FALSE");
-        }
-        else if (*(filterData.filteredByRef)) {
+        } else if (*(filterData.filteredByRef)) {
             // Try to find a match.
             std::string key = getIndexableKey(game, filterData.type, false);
             keepGoing = isKeyBeingFilteredBy(key, filterData.type);
diff --git a/es-app/src/FileFilterIndex.h b/es-app/src/FileFilterIndex.h
index 4bbcd2832..3e2af831e 100644
--- a/es-app/src/FileFilterIndex.h
+++ b/es-app/src/FileFilterIndex.h
@@ -48,21 +48,37 @@ class FileFilterIndex
 public:
     FileFilterIndex();
     ~FileFilterIndex();
-    void addToIndex(FileData* game);
-    void removeFromIndex(FileData* game);
-    void setFilter(FilterIndexType type, std::vector<std::string>* values);
-    void setTextFilter(std::string textFilter);
-    std::string getTextFilter() { return mTextFilter; }
-    void clearAllFilters();
-    void debugPrintIndexes();
-    bool showFile(FileData* game);
-    bool isFiltered();
-    bool isKeyBeingFilteredBy(std::string key, FilterIndexType type);
-    std::vector<FilterDataDecl>& getFilterDataDecls() { return filterDataDecl; }
 
-    void importIndex(FileFilterIndex* indexToImport);
+    void addToIndex(FileData *game);
+
+    void removeFromIndex(FileData *game);
+
+    void setFilter(FilterIndexType type, std::vector<std::string> *values);
+
+    void setTextFilter(std::string textFilter);
+
+    std::string getTextFilter() { return mTextFilter; }
+
+    void clearAllFilters();
+
+    void debugPrintIndexes();
+
+    bool showFile(FileData *game);
+
+    bool isFiltered();
+
+    bool isKeyBeingFilteredBy(std::string key, FilterIndexType type);
+
+    std::vector<FilterDataDecl> &getFilterDataDecls() { return filterDataDecl; }
+
+    void setTextRemoveSystem(bool status) { mTextRemoveSystem = status; }
+
+    void importIndex(FileFilterIndex *indexToImport);
+
     void resetIndex();
+
     void resetFilters();
+
     void setKidModeFilters();
 
 private:
@@ -85,6 +101,7 @@ private:
 
     std::string mTextFilter;
     bool mFilterByText;
+    bool mTextRemoveSystem;
 
     bool mFilterByFavorites;
     bool mFilterByGenre;
@@ -115,8 +132,6 @@ private:
     std::vector<std::string> mCompletedIndexFilteredKeys;
     std::vector<std::string> mBrokenIndexFilteredKeys;
     std::vector<std::string> mHiddenIndexFilteredKeys;
-
-    FileData* mRootFolder;
 };
 
 #endif // ES_APP_FILE_FILTER_INDEX_H
diff --git a/es-app/src/FileSorts.cpp b/es-app/src/FileSorts.cpp
index 84479b8f3..196244391 100644
--- a/es-app/src/FileSorts.cpp
+++ b/es-app/src/FileSorts.cpp
@@ -227,11 +227,10 @@ namespace FileSorts
         return system1.compare(system2) < 0;
     }
 
-    bool compareSystemDescending(const FileData* file1, const FileData* file2)
-    {
+    bool compareSystemDescending(const FileData *file1, const FileData *file2) {
         std::string system1 = Utils::String::toUpper(file1->getSystemName());
         std::string system2 = Utils::String::toUpper(file2->getSystemName());
         return system1.compare(system2) > 0;
     }
 
-}; // namespace FileSorts
+} // namespace FileSorts
diff --git a/es-app/src/FileSorts.h b/es-app/src/FileSorts.h
index 28b0fcd6a..950878c27 100644
--- a/es-app/src/FileSorts.h
+++ b/es-app/src/FileSorts.h
@@ -18,26 +18,44 @@ namespace FileSorts
 {
     bool compareName(const FileData* file1, const FileData* file2);
     bool compareNameDescending(const FileData* file1, const FileData* file2);
-    bool compareRating(const FileData* file1, const FileData* file2);
-    bool compareRatingDescending(const FileData* file1, const FileData* file2);
-    bool compareReleaseDate(const FileData* file1, const FileData* file2);
-    bool compareReleaseDateDescending(const FileData* file1, const FileData* file2);
-    bool compareDeveloper(const FileData* file1, const FileData* file2);
-    bool compareDeveloperDescending(const FileData* file1, const FileData* file2);
-    bool comparePublisher(const FileData* file1, const FileData* file2);
-    bool comparePublisherDescending(const FileData* file1, const FileData* file2);
-    bool compareGenre(const FileData* file1, const FileData* file2);
-    bool compareGenreDescending(const FileData* file1, const FileData* file2);
-    bool compareNumPlayers(const FileData* file1, const FileData* file2);
-    bool compareNumPlayersDescending(const FileData* file1, const FileData* file2);
-    bool compareLastPlayed(const FileData* file1, const FileData* file2);
-    bool compareLastPlayedDescending(const FileData* file1, const FileData* file2);
-    bool compareTimesPlayed(const FileData* file1, const FileData* fil2);
-    bool compareTimesPlayedDescending(const FileData* file1, const FileData* fil2);
-    bool compareSystem(const FileData* file1, const FileData* file2);
-    bool compareSystemDescending(const FileData* file1, const FileData* file2);
+
+    bool compareRating(const FileData *file1, const FileData *file2);
+
+    bool compareRatingDescending(const FileData *file1, const FileData *file2);
+
+    bool compareReleaseDate(const FileData *file1, const FileData *file2);
+
+    bool compareReleaseDateDescending(const FileData *file1, const FileData *file2);
+
+    bool compareDeveloper(const FileData *file1, const FileData *file2);
+
+    bool compareDeveloperDescending(const FileData *file1, const FileData *file2);
+
+    bool comparePublisher(const FileData *file1, const FileData *file2);
+
+    bool comparePublisherDescending(const FileData *file1, const FileData *file2);
+
+    bool compareGenre(const FileData *file1, const FileData *file2);
+
+    bool compareGenreDescending(const FileData *file1, const FileData *file2);
+
+    bool compareNumPlayers(const FileData *file1, const FileData *file2);
+
+    bool compareNumPlayersDescending(const FileData *file1, const FileData *file2);
+
+    bool compareLastPlayed(const FileData *file1, const FileData *file2);
+
+    bool compareLastPlayedDescending(const FileData *file1, const FileData *file2);
+
+    bool compareTimesPlayed(const FileData *file1, const FileData *fil2);
+
+    bool compareTimesPlayedDescending(const FileData *file1, const FileData *fil2);
+
+    bool compareSystem(const FileData *file1, const FileData *file2);
+
+    bool compareSystemDescending(const FileData *file1, const FileData *file2);
 
     extern const std::vector<FileData::SortType> SortTypes;
-}; // namespace FileSorts
+} // namespace FileSorts
 
 #endif // ES_APP_FILE_SORTS_H
diff --git a/es-app/src/Gamelist.cpp b/es-app/src/Gamelist.cpp
index ac71f8d80..8ec5da384 100644
--- a/es-app/src/Gamelist.cpp
+++ b/es-app/src/Gamelist.cpp
@@ -132,7 +132,7 @@ void parseGamelist(SystemData* system)
                               << "\" has a valid alternativeEmulator entry: \"" << label << "\"";
             }
             else {
-                system->setAlternativeEmulator("<INVALID>");
+                system->setAlternativeEmulator("<INVALID>" + label);
                 LOG(LogWarning) << "System \"" << system->getName()
                                 << "\" has an invalid alternativeEmulator entry that does "
                                    "not match any command tag in es_systems.xml: \""
@@ -258,6 +258,7 @@ void updateGamelist(SystemData* system, bool updateAlternativeEmulator)
     pugi::xml_document doc;
     pugi::xml_node root;
     std::string xmlReadPath = system->getGamelistPath(false);
+    bool hasAlternativeEmulatorTag = false;
 
     if (Utils::FileSystem::exists(xmlReadPath)) {
         // Parse an existing file first.
@@ -283,6 +284,9 @@ void updateGamelist(SystemData* system, bool updateAlternativeEmulator)
         if (updateAlternativeEmulator) {
             pugi::xml_node alternativeEmulator = doc.child("alternativeEmulator");
 
+            if (alternativeEmulator)
+                hasAlternativeEmulatorTag = true;
+
             if (system->getAlternativeEmulator() != "") {
                 if (!alternativeEmulator) {
                     doc.prepend_child("alternativeEmulator");
@@ -373,14 +377,14 @@ void updateGamelist(SystemData* system, bool updateAlternativeEmulator)
             Utils::FileSystem::createDirectory(Utils::FileSystem::getParent(xmlWritePath));
 
             if (updateAlternativeEmulator) {
-                if (system->getAlternativeEmulator() == "") {
+                if (hasAlternativeEmulatorTag && system->getAlternativeEmulator() == "") {
                     LOG(LogDebug) << "Gamelist::updateGamelist(): Removed the "
                                      "alternativeEmulator tag for system \""
                                   << system->getName() << "\" as the default emulator \""
                                   << system->getSystemEnvData()->mLaunchCommands.front().second
                                   << "\" was selected";
                 }
-                else {
+                else if (system->getAlternativeEmulator() != "") {
                     LOG(LogDebug) << "Gamelist::updateGamelist(): "
                                      "Added/updated the alternativeEmulator tag for system \""
                                   << system->getName() << "\" to \""
diff --git a/es-app/src/MediaViewer.cpp b/es-app/src/MediaViewer.cpp
index f79caacf3..06f59e515 100644
--- a/es-app/src/MediaViewer.cpp
+++ b/es-app/src/MediaViewer.cpp
@@ -81,7 +81,7 @@ void MediaViewer::update(int deltaTime)
         mVideo->update(deltaTime);
 }
 
-void MediaViewer::render()
+void MediaViewer::render(const glm::mat4& /*parentTrans*/)
 {
     glm::mat4 trans{Renderer::getIdentity()};
     Renderer::setMatrix(trans);
@@ -184,7 +184,7 @@ void MediaViewer::findMedia()
 
 void MediaViewer::showNext()
 {
-    if (mHasImages && mCurrentImageIndex != mImageFiles.size() - 1)
+    if (mHasImages && mCurrentImageIndex != static_cast<int>(mImageFiles.size()) - 1)
         NavigationSounds::getInstance()->playThemeNavigationSound(SCROLLSOUND);
 
     bool showedVideo = false;
@@ -205,7 +205,7 @@ void MediaViewer::showNext()
 
     if ((mVideo || showedVideo) && !mDisplayingImage)
         mCurrentImageIndex = 0;
-    else if (mImageFiles.size() > mCurrentImageIndex + 1)
+    else if (static_cast<int>(mImageFiles.size()) > mCurrentImageIndex + 1)
         mCurrentImageIndex++;
 
     if (mVideo)
@@ -281,7 +281,7 @@ void MediaViewer::showImage(int index)
 
     mDisplayingImage = true;
 
-    if (!mImageFiles.empty() && mImageFiles.size() >= index) {
+    if (!mImageFiles.empty() && static_cast<int>(mImageFiles.size()) >= index) {
         mImage = new ImageComponent(mWindow, false, false);
         mImage->setImage(mImageFiles[index]);
         mImage->setOrigin(0.5f, 0.5f);
diff --git a/es-app/src/MediaViewer.h b/es-app/src/MediaViewer.h
index 3fecd9c3d..d60481a27 100644
--- a/es-app/src/MediaViewer.h
+++ b/es-app/src/MediaViewer.h
@@ -20,11 +20,11 @@ public:
     MediaViewer(Window* window);
     virtual ~MediaViewer();
 
-    virtual bool startMediaViewer(FileData* game);
-    virtual void stopMediaViewer();
+    virtual bool startMediaViewer(FileData* game) override;
+    virtual void stopMediaViewer() override;
 
-    virtual void update(int deltaTime);
-    virtual void render();
+    virtual void update(int deltaTime) override;
+    virtual void render(const glm::mat4& parentTrans) override;
 
 private:
     void initiateViewer();
@@ -33,8 +33,8 @@ private:
     void playVideo();
     void showImage(int index);
 
-    virtual void showNext();
-    virtual void showPrevious();
+    virtual void showNext() override;
+    virtual void showPrevious() override;
 
     Window* mWindow;
     FileData* mGame;
diff --git a/es-app/src/MetaData.cpp b/es-app/src/MetaData.cpp
index 4b8b97432..18b3557bb 100644
--- a/es-app/src/MetaData.cpp
+++ b/es-app/src/MetaData.cpp
@@ -15,10 +15,12 @@
 #include <pugixml.hpp>
 
 // clang-format off
+// The statistic entries must be placed at the bottom or otherwise there will be problems with
+// saving the values in GuiMetaDataEd.
 MetaDataDecl gameDecls[] = {
 // key,           type,                default,           statistic, name in GuiMetaDataEd,        prompt in GuiMetaDataEd,            shouldScrape
 {"name",          MD_STRING,           "",                false,     "name",                       "enter name",                       true},
-{"sortname",      MD_STRING,           "",                false,     "sortname",                   "enter sort name",                  false},
+{"sortname",      MD_STRING,           "",                false,     "sortname",                   "enter sortname",                   false},
 {"desc",          MD_MULTILINE_STRING, "",                false,     "description",                "enter description",                true},
 {"rating",        MD_RATING,           "0",               false,     "rating",                     "enter rating",                     true},
 {"releasedate",   MD_DATE,             "19700101T010000", false,     "release date",               "enter release date",               true},
@@ -34,9 +36,8 @@ MetaDataDecl gameDecls[] = {
 {"nogamecount",   MD_BOOL,             "false",           false,     "exclude from game counter",  "enter don't count as game off/on", false},
 {"nomultiscrape", MD_BOOL,             "false",           false,     "exclude from multi-scraper", "enter no multi-scrape off/on",     false},
 {"hidemetadata",  MD_BOOL,             "false",           false,     "hide metadata fields",       "enter hide metadata off/on",       false},
-{"launchcommand", MD_LAUNCHCOMMAND,    "",                false,     "launch command",             "enter game launch command "
-                                                                                                   "(emulator override)",              false},
 {"playcount",     MD_INT,              "0",               false,     "times played",               "enter number of times played",     false},
+{"altemulator",   MD_ALT_EMULATOR,     "",                false,     "alternative emulator",       "select alternative emulator",      false},
 {"lastplayed",    MD_TIME,             "0",               true,      "last played",                "enter last played date",           false}
 };
 
diff --git a/es-app/src/MetaData.h b/es-app/src/MetaData.h
index 1342c1d35..8f0ac5964 100644
--- a/es-app/src/MetaData.h
+++ b/es-app/src/MetaData.h
@@ -32,7 +32,7 @@ enum MetaDataType {
 
     // Specialized types.
     MD_MULTILINE_STRING,
-    MD_LAUNCHCOMMAND,
+    MD_ALT_EMULATOR,
     MD_PATH,
     MD_RATING,
     MD_DATE,
diff --git a/es-app/src/SystemData.cpp b/es-app/src/SystemData.cpp
index 630db6fb8..adaa2c9b6 100644
--- a/es-app/src/SystemData.cpp
+++ b/es-app/src/SystemData.cpp
@@ -387,220 +387,246 @@ bool SystemData::loadConfig()
 
     LOG(LogInfo) << "Populating game systems...";
 
-    std::string path = getConfigPath(true);
+    std::vector<std::string> configPaths = getConfigPath(true);
     const std::string rompath = FileData::getROMDirectory();
 
-    LOG(LogInfo) << "Parsing systems configuration file \"" << path << "\"...";
+    bool onlyProcessCustomFile = false;
 
-    pugi::xml_document doc;
+    for (auto configPath : configPaths) {
+        // If the loadExclusive tag is present in the custom es_systems.xml file, then skip
+        // processing of the bundled configuration file.
+        if (onlyProcessCustomFile)
+            break;
+
+        LOG(LogInfo) << "Parsing systems configuration file \"" << configPath << "\"...";
+
+        pugi::xml_document doc;
 #if defined(_WIN64)
-    pugi::xml_parse_result res = doc.load_file(Utils::String::stringToWideString(path).c_str());
+        pugi::xml_parse_result res =
+            doc.load_file(Utils::String::stringToWideString(configPath).c_str());
 #else
-    pugi::xml_parse_result res = doc.load_file(path.c_str());
+        pugi::xml_parse_result res = doc.load_file(configPath.c_str());
 #endif
 
-    if (!res) {
-        LOG(LogError) << "Couldn't parse es_systems.xml: " << res.description();
-        return true;
-    }
+        if (!res) {
+            LOG(LogError) << "Couldn't parse es_systems.xml: " << res.description();
+            return true;
+        }
 
-    // Actually read the file.
-    pugi::xml_node systemList = doc.child("systemList");
-
-    if (!systemList) {
-        LOG(LogError) << "es_systems.xml is missing the <systemList> tag";
-        return true;
-    }
-
-    for (pugi::xml_node system = systemList.child("system"); system;
-         system = system.next_sibling("system")) {
-        std::string name;
-        std::string fullname;
-        std::string path;
-        std::string themeFolder;
-
-        name = system.child("name").text().get();
-        fullname = system.child("fullname").text().get();
-        path = system.child("path").text().get();
-
-        auto nameFindFunc = [&] {
-            for (auto system : sSystemVector) {
-                if (system->mName == name) {
-                    LOG(LogWarning) << "A system with the name \"" << name
-                                    << "\" has already been loaded, skipping duplicate entry";
-                    return true;
-                }
+        pugi::xml_node loadExclusive = doc.child("loadExclusive");
+        if (loadExclusive) {
+            if (configPath == configPaths.front() && configPaths.size() > 1) {
+                LOG(LogInfo) << "Only loading custom file as the <loadExclusive> tag is present";
+                onlyProcessCustomFile = true;
             }
-            return false;
-        };
+            else {
+                LOG(LogWarning) << "A <loadExclusive> tag is present in the bundled es_systems.xml "
+                                   "file, ignoring it as this is only supposed to be used for the "
+                                   "custom es_systems.xml file";
+            }
+        }
 
-        // If the name is matching a system that has already been loaded, then skip the entry.
-        if (nameFindFunc())
-            continue;
+        // Actually read the file.
+        pugi::xml_node systemList = doc.child("systemList");
 
-        // If there is a %ROMPATH% variable set for the system, expand it. By doing this
-        // it's possible to use either absolute ROM paths in es_systems.xml or to utilize
-        // the ROM path configured as ROMDirectory in es_settings.xml. If it's set to ""
-        // in this configuration file, the default hardcoded path $HOME/ROMs/ will be used.
-        path = Utils::String::replace(path, "%ROMPATH%", rompath);
+        if (!systemList) {
+            LOG(LogError) << "es_systems.xml is missing the <systemList> tag";
+            return true;
+        }
+
+        for (pugi::xml_node system = systemList.child("system"); system;
+             system = system.next_sibling("system")) {
+            std::string name;
+            std::string fullname;
+            std::string path;
+            std::string themeFolder;
+
+            name = system.child("name").text().get();
+            fullname = system.child("fullname").text().get();
+            path = system.child("path").text().get();
+
+            auto nameFindFunc = [&] {
+                for (auto system : sSystemVector) {
+                    if (system->mName == name) {
+                        LOG(LogWarning) << "A system with the name \"" << name
+                                        << "\" has already been loaded, skipping duplicate entry";
+                        return true;
+                    }
+                }
+                return false;
+            };
+
+            // If the name is matching a system that has already been loaded, then skip the entry.
+            if (nameFindFunc())
+                continue;
+
+            // If there is a %ROMPATH% variable set for the system, expand it. By doing this
+            // it's possible to use either absolute ROM paths in es_systems.xml or to utilize
+            // the ROM path configured as ROMDirectory in es_settings.xml. If it's set to ""
+            // in this configuration file, the default hardcoded path $HOME/ROMs/ will be used.
+            path = Utils::String::replace(path, "%ROMPATH%", rompath);
 #if defined(_WIN64)
-        path = Utils::String::replace(path, "\\", "/");
+            path = Utils::String::replace(path, "\\", "/");
 #endif
-        path = Utils::String::replace(path, "//", "/");
+            path = Utils::String::replace(path, "//", "/");
 
-        // Check that the ROM directory for the system is valid or otherwise abort the processing.
-        if (!Utils::FileSystem::exists(path)) {
-            LOG(LogDebug) << "SystemData::loadConfig(): Skipping system \"" << name
-                          << "\" as the defined ROM directory \"" << path << "\" does not exist";
-            continue;
-        }
-        if (!Utils::FileSystem::isDirectory(path)) {
-            LOG(LogDebug) << "SystemData::loadConfig(): Skipping system \"" << name
-                          << "\" as the defined ROM directory \"" << path
-                          << "\" is not actually a directory";
-            continue;
-        }
-        if (Utils::FileSystem::isSymlink(path)) {
-            // Make sure that the symlink is not pointing to somewhere higher in the hierarchy
-            // as that would lead to an infite loop, meaning the application would never start.
-            std::string resolvedRompath = Utils::FileSystem::getCanonicalPath(rompath);
-            if (resolvedRompath.find(Utils::FileSystem::getCanonicalPath(path)) == 0) {
-                LOG(LogWarning) << "Skipping system \"" << name
-                                << "\" as the defined ROM directory \"" << path
-                                << "\" is an infinitely recursive symlink";
+            // Check that the ROM directory for the system is valid or otherwise abort the
+            // processing.
+            if (!Utils::FileSystem::exists(path)) {
+                LOG(LogDebug) << "SystemData::loadConfig(): Skipping system \"" << name
+                              << "\" as the defined ROM directory \"" << path
+                              << "\" does not exist";
                 continue;
             }
-        }
-
-        // Convert extensions list from a string into a vector of strings.
-        std::vector<std::string> extensions = readList(system.child("extension").text().get());
-
-        // Load all launch command tags for the system and if there are multiple tags, then
-        // the label attribute needs to be set on all entries as it's a requirement for the
-        // alternative emulator logic.
-        std::vector<std::pair<std::string, std::string>> commands;
-        for (pugi::xml_node entry = system.child("command"); entry;
-             entry = entry.next_sibling("command")) {
-            if (!entry.attribute("label")) {
-                if (commands.size() == 1) {
-                    // The first command tag had a label but the second one doesn't.
-                    LOG(LogError)
-                        << "Missing mandatory label attribute for alternative emulator "
-                           "entry, only the default command tag will be processed for system \""
-                        << name << "\"";
-                    break;
-                }
-                else if (commands.size() > 1) {
-                    // At least two command tags had a label but this one doesn't.
-                    LOG(LogError)
-                        << "Missing mandatory label attribute for alternative emulator "
-                           "entry, no additional command tags will be processed for system \""
-                        << name << "\"";
-                    break;
+            if (!Utils::FileSystem::isDirectory(path)) {
+                LOG(LogDebug) << "SystemData::loadConfig(): Skipping system \"" << name
+                              << "\" as the defined ROM directory \"" << path
+                              << "\" is not actually a directory";
+                continue;
+            }
+            if (Utils::FileSystem::isSymlink(path)) {
+                // Make sure that the symlink is not pointing to somewhere higher in the hierarchy
+                // as that would lead to an infite loop, meaning the application would never start.
+                std::string resolvedRompath = Utils::FileSystem::getCanonicalPath(rompath);
+                if (resolvedRompath.find(Utils::FileSystem::getCanonicalPath(path)) == 0) {
+                    LOG(LogWarning)
+                        << "Skipping system \"" << name << "\" as the defined ROM directory \""
+                        << path << "\" is an infinitely recursive symlink";
+                    continue;
                 }
             }
-            else if (!commands.empty() && commands.back().second == "") {
-                // There are more than one command tags and the first tag did not have a label.
+
+            // Convert extensions list from a string into a vector of strings.
+            std::vector<std::string> extensions = readList(system.child("extension").text().get());
+
+            // Load all launch command tags for the system and if there are multiple tags, then
+            // the label attribute needs to be set on all entries as it's a requirement for the
+            // alternative emulator logic.
+            std::vector<std::pair<std::string, std::string>> commands;
+            for (pugi::xml_node entry = system.child("command"); entry;
+                 entry = entry.next_sibling("command")) {
+                if (!entry.attribute("label")) {
+                    if (commands.size() == 1) {
+                        // The first command tag had a label but the second one doesn't.
+                        LOG(LogError)
+                            << "Missing mandatory label attribute for alternative emulator "
+                               "entry, only the first command tag will be processed for system \""
+                            << name << "\"";
+                        break;
+                    }
+                    else if (commands.size() > 1) {
+                        // At least two command tags had a label but this one doesn't.
+                        LOG(LogError)
+                            << "Missing mandatory label attribute for alternative emulator "
+                               "entry, no additional command tags will be processed for system \""
+                            << name << "\"";
+                        break;
+                    }
+                }
+                else if (!commands.empty() && commands.back().second == "") {
+                    // There are more than one command tags and the first tag did not have a label.
+                    LOG(LogError)
+                        << "Missing mandatory label attribute for alternative emulator "
+                           "entry, only the first command tag will be processed for system \""
+                        << name << "\"";
+                    break;
+                }
+                commands.push_back(
+                    std::make_pair(entry.text().get(), entry.attribute("label").as_string()));
+            }
+
+            // Platform ID list
+            const std::string platformList =
+                Utils::String::toLower(system.child("platform").text().get());
+
+            if (platformList == "") {
+                LOG(LogWarning) << "No platform defined for system \"" << name
+                                << "\", scraper searches will be inaccurate";
+            }
+
+            std::vector<std::string> platformStrs = readList(platformList);
+            std::vector<PlatformIds::PlatformId> platformIds;
+            for (auto it = platformStrs.cbegin(); it != platformStrs.cend(); it++) {
+                std::string str = *it;
+                PlatformIds::PlatformId platformId = PlatformIds::getPlatformId(str);
+
+                if (platformId == PlatformIds::PLATFORM_IGNORE) {
+                    // When platform is PLATFORM_IGNORE, do not allow other platforms.
+                    platformIds.clear();
+                    platformIds.push_back(platformId);
+                    break;
+                }
+
+                // If there's a platform entry defined but it does not match the list of supported
+                // platforms, then generate a warning.
+                if (str != "" && platformId == PlatformIds::PLATFORM_UNKNOWN)
+                    LOG(LogWarning) << "Unknown platform \"" << str << "\" defined for system \""
+                                    << name << "\", scraper searches will be inaccurate";
+                else if (platformId != PlatformIds::PLATFORM_UNKNOWN)
+                    platformIds.push_back(platformId);
+            }
+
+            // Theme folder.
+            themeFolder = system.child("theme").text().as_string(name.c_str());
+
+            // Validate.
+
+            if (name.empty()) {
                 LOG(LogError)
-                    << "Missing mandatory label attribute for alternative emulator "
-                       "entry, only the default command tag will be processed for system \""
-                    << name << "\"";
-                break;
+                    << "A system in the es_systems.xml file has no name defined, skipping entry";
+                continue;
             }
-            commands.push_back(
-                std::make_pair(entry.text().get(), entry.attribute("label").as_string()));
-        }
-
-        // Platform ID list
-        const std::string platformList =
-            Utils::String::toLower(system.child("platform").text().get());
-
-        if (platformList == "") {
-            LOG(LogWarning) << "No platform defined for system \"" << name
-                            << "\", scraper searches will be inaccurate";
-        }
-
-        std::vector<std::string> platformStrs = readList(platformList);
-        std::vector<PlatformIds::PlatformId> platformIds;
-        for (auto it = platformStrs.cbegin(); it != platformStrs.cend(); it++) {
-            std::string str = *it;
-            PlatformIds::PlatformId platformId = PlatformIds::getPlatformId(str);
-
-            if (platformId == PlatformIds::PLATFORM_IGNORE) {
-                // When platform is PLATFORM_IGNORE, do not allow other platforms.
-                platformIds.clear();
-                platformIds.push_back(platformId);
-                break;
+            else if (fullname.empty() || path.empty() || extensions.empty() || commands.empty()) {
+                LOG(LogError) << "System \"" << name
+                              << "\" is missing the fullname, path, "
+                                 "extension, or command tag, skipping entry";
+                continue;
             }
 
-            // If there's a platform entry defined but it does not match the list of supported
-            // platforms, then generate a warning.
-            if (str != "" && platformId == PlatformIds::PLATFORM_UNKNOWN)
-                LOG(LogWarning) << "Unknown platform \"" << str << "\" defined for system \""
-                                << name << "\", scraper searches will be inaccurate";
-            else if (platformId != PlatformIds::PLATFORM_UNKNOWN)
-                platformIds.push_back(platformId);
-        }
-
-        // Theme folder.
-        themeFolder = system.child("theme").text().as_string(name.c_str());
-
-        // Validate.
-
-        if (name.empty()) {
-            LOG(LogError)
-                << "A system in the es_systems.xml file has no name defined, skipping entry";
-            continue;
-        }
-        else if (fullname.empty() || path.empty() || extensions.empty() || commands.empty()) {
-            LOG(LogError) << "System \"" << name
-                          << "\" is missing the fullname, path, "
-                             "extension, or command tag, skipping entry";
-            continue;
-        }
-
-        // Convert path to generic directory seperators.
-        path = Utils::FileSystem::getGenericPath(path);
+            // Convert path to generic directory seperators.
+            path = Utils::FileSystem::getGenericPath(path);
 
 #if defined(_WIN64)
-        if (!Settings::getInstance()->getBool("ShowHiddenFiles") &&
-            Utils::FileSystem::isHidden(path)) {
-            LOG(LogWarning) << "Skipping hidden ROM folder \"" << path << "\"";
-            continue;
-        }
+            if (!Settings::getInstance()->getBool("ShowHiddenFiles") &&
+                Utils::FileSystem::isHidden(path)) {
+                LOG(LogWarning) << "Skipping hidden ROM folder \"" << path << "\"";
+                continue;
+            }
 #endif
 
-        // Create the system runtime environment data.
-        SystemEnvironmentData* envData = new SystemEnvironmentData;
-        envData->mStartPath = path;
-        envData->mSearchExtensions = extensions;
-        envData->mLaunchCommands = commands;
-        envData->mPlatformIds = platformIds;
+            // Create the system runtime environment data.
+            SystemEnvironmentData* envData = new SystemEnvironmentData;
+            envData->mStartPath = path;
+            envData->mSearchExtensions = extensions;
+            envData->mLaunchCommands = commands;
+            envData->mPlatformIds = platformIds;
 
-        SystemData* newSys = new SystemData(name, fullname, envData, themeFolder);
-        bool onlyHidden = false;
+            SystemData* newSys = new SystemData(name, fullname, envData, themeFolder);
+            bool onlyHidden = false;
 
-        // If the option to show hidden games has been disabled, then check whether all
-        // games for the system are hidden. That will flag the system as empty.
-        if (!Settings::getInstance()->getBool("ShowHiddenGames")) {
-            std::vector<FileData*> recursiveGames = newSys->getRootFolder()->getChildrenRecursive();
-            onlyHidden = true;
-            for (auto it = recursiveGames.cbegin(); it != recursiveGames.cend(); it++) {
-                if ((*it)->getType() != FOLDER) {
-                    onlyHidden = (*it)->getHidden();
-                    if (!onlyHidden)
-                        break;
+            // If the option to show hidden games has been disabled, then check whether all
+            // games for the system are hidden. That will flag the system as empty.
+            if (!Settings::getInstance()->getBool("ShowHiddenGames")) {
+                std::vector<FileData*> recursiveGames =
+                    newSys->getRootFolder()->getChildrenRecursive();
+                onlyHidden = true;
+                for (auto it = recursiveGames.cbegin(); it != recursiveGames.cend(); it++) {
+                    if ((*it)->getType() != FOLDER) {
+                        onlyHidden = (*it)->getHidden();
+                        if (!onlyHidden)
+                            break;
+                    }
                 }
             }
-        }
 
-        if (newSys->getRootFolder()->getChildrenByFilename().size() == 0 || onlyHidden) {
-            LOG(LogDebug) << "SystemData::loadConfig(): Skipping system \"" << name
-                          << "\" as no files matched any of the defined file extensions";
-            delete newSys;
-        }
-        else {
-            sSystemVector.push_back(newSys);
+            if (newSys->getRootFolder()->getChildrenByFilename().size() == 0 || onlyHidden) {
+                LOG(LogDebug) << "SystemData::loadConfig(): Skipping system \"" << name
+                              << "\" as no files matched any of the defined file extensions";
+                delete newSys;
+            }
+            else {
+                sSystemVector.push_back(newSys);
+            }
         }
     }
 
@@ -615,6 +641,18 @@ bool SystemData::loadConfig()
     return false;
 }
 
+std::string SystemData::getLaunchCommandFromLabel(const std::string& label)
+{
+    auto commandIter = std::find_if(
+        mEnvData->mLaunchCommands.cbegin(), mEnvData->mLaunchCommands.cend(),
+        [label](std::pair<std::string, std::string> command) { return (command.second == label); });
+
+    if (commandIter != mEnvData->mLaunchCommands.cend())
+        return (*commandIter).first;
+
+    return "";
+}
+
 void SystemData::deleteSystems()
 {
     for (unsigned int i = 0; i < sSystemVector.size(); i++)
@@ -623,8 +661,10 @@ void SystemData::deleteSystems()
     sSystemVector.clear();
 }
 
-std::string SystemData::getConfigPath(bool legacyWarning)
+std::vector<std::string> SystemData::getConfigPath(bool legacyWarning)
 {
+    std::vector<std::string> paths;
+
     if (legacyWarning) {
         std::string legacyConfigFile =
             Utils::FileSystem::getHomePath() + "/.emulationstation/es_systems.cfg";
@@ -651,7 +691,7 @@ std::string SystemData::getConfigPath(bool legacyWarning)
 
     if (Utils::FileSystem::exists(path)) {
         LOG(LogInfo) << "Found custom systems configuration file";
-        return path;
+        paths.push_back(path);
     }
 
 #if defined(_WIN64)
@@ -663,18 +703,16 @@ std::string SystemData::getConfigPath(bool legacyWarning)
     path = ResourceManager::getInstance()->getResourcePath(":/systems/unix/es_systems.xml", true);
 #endif
 
-    return path;
+    paths.push_back(path);
+    return paths;
 }
 
 bool SystemData::createSystemDirectories()
 {
-    std::string path = getConfigPath(false);
+    std::vector<std::string> configPaths = getConfigPath(true);
     const std::string rompath = FileData::getROMDirectory();
 
-    if (!Utils::FileSystem::exists(path)) {
-        LOG(LogInfo) << "Systems configuration file does not exist, aborting";
-        return true;
-    }
+    bool onlyProcessCustomFile = false;
 
     LOG(LogInfo) << "Generating ROM directory structure...";
 
@@ -695,144 +733,187 @@ bool SystemData::createSystemDirectories()
         LOG(LogInfo) << "Base ROM directory \"" << rompath << "\" already exists";
     }
 
-    LOG(LogInfo) << "Parsing systems configuration file \"" << path << "\"...";
-
-    pugi::xml_document doc;
+    if (configPaths.size() > 1) {
+        // If the loadExclusive tag is present in the custom es_systems.xml file, then skip
+        // processing of the bundled configuration file.
+        pugi::xml_document doc;
 #if defined(_WIN64)
-    pugi::xml_parse_result res = doc.load_file(Utils::String::stringToWideString(path).c_str());
+        pugi::xml_parse_result res =
+            doc.load_file(Utils::String::stringToWideString(configPaths.front()).c_str());
 #else
-    pugi::xml_parse_result res = doc.load_file(path.c_str());
+        pugi::xml_parse_result res = doc.load_file(configPaths.front().c_str());
 #endif
-
-    if (!res) {
-        LOG(LogError) << "Couldn't parse es_systems.xml";
-        LOG(LogError) << res.description();
-        return true;
-    }
-
-    // Actually read the file.
-    pugi::xml_node systemList = doc.child("systemList");
-
-    if (!systemList) {
-        LOG(LogError) << "es_systems.xml is missing the <systemList> tag";
-        return true;
-    }
-
-    std::vector<std::string> systemsVector;
-
-    for (pugi::xml_node system = systemList.child("system"); system;
-         system = system.next_sibling("system")) {
-        std::string systemDir;
-        std::string name;
-        std::string fullname;
-        std::string path;
-        std::string extensions;
-        std::vector<std::string> commands;
-        std::string platform;
-        std::string themeFolder;
-        const std::string systemInfoFileName = "/systeminfo.txt";
-        bool replaceInfoFile = false;
-        std::ofstream systemInfoFile;
-
-        name = system.child("name").text().get();
-        fullname = system.child("fullname").text().get();
-        path = system.child("path").text().get();
-        extensions = system.child("extension").text().get();
-        for (pugi::xml_node entry = system.child("command"); entry;
-             entry = entry.next_sibling("command")) {
-            commands.push_back(entry.text().get());
+        if (res) {
+            pugi::xml_node loadExclusive = doc.child("loadExclusive");
+            if (loadExclusive)
+                onlyProcessCustomFile = true;
         }
-        platform = Utils::String::toLower(system.child("platform").text().get());
-        themeFolder = system.child("theme").text().as_string(name.c_str());
+    }
 
-        // Check that the %ROMPATH% variable is actually used for the path element.
-        // If not, skip the system.
-        if (path.find("%ROMPATH%") != 0) {
-            LOG(LogWarning) << "The path element for system \"" << name
-                            << "\" does not "
-                               "utilize the %ROMPATH% variable, skipping entry";
+    // Process the custom es_systems.xml file after the bundled file, as any systems with identical
+    // <path> tags will be overwritten by the last occurrence.
+    std::reverse(configPaths.begin(), configPaths.end());
+
+    std::vector<std::pair<std::string, std::string>> systemsVector;
+
+    for (auto configPath : configPaths) {
+        // If the loadExclusive tag is present.
+        if (onlyProcessCustomFile && configPath == configPaths.front())
             continue;
-        }
-        else {
-            systemDir = path.substr(9, path.size() - 9);
-        }
 
-        // Trim any leading directory separator characters.
-        systemDir.erase(systemDir.begin(),
-                        std::find_if(systemDir.begin(), systemDir.end(),
-                                     [](char c) { return c != '/' && c != '\\'; }));
-
-        if (!Utils::FileSystem::exists(rompath + systemDir)) {
-            if (!Utils::FileSystem::createDirectory(rompath + systemDir)) {
-                LOG(LogError) << "Couldn't create system directory \"" << systemDir
-                              << "\", permission problems or disk full?";
-                return true;
-            }
-            else {
-                LOG(LogInfo) << "Created system directory \"" << systemDir << "\"";
-            }
-        }
-        else {
-            LOG(LogInfo) << "System directory \"" << systemDir << "\" already exists";
-        }
-
-        if (Utils::FileSystem::exists(rompath + systemDir + systemInfoFileName))
-            replaceInfoFile = true;
-        else
-            replaceInfoFile = false;
-
-        if (replaceInfoFile) {
-            if (Utils::FileSystem::removeFile(rompath + systemDir + systemInfoFileName))
-                return true;
-        }
+        LOG(LogInfo) << "Parsing systems configuration file \"" << configPath << "\"...";
 
+        pugi::xml_document doc;
 #if defined(_WIN64)
-        systemInfoFile.open(
-            Utils::String::stringToWideString(rompath + systemDir + systemInfoFileName).c_str());
+        pugi::xml_parse_result res =
+            doc.load_file(Utils::String::stringToWideString(configPath).c_str());
 #else
-        systemInfoFile.open(rompath + systemDir + systemInfoFileName);
+        pugi::xml_parse_result res = doc.load_file(configPath.c_str());
 #endif
 
-        if (systemInfoFile.fail()) {
-            LOG(LogError) << "Couldn't create system information file \""
-                          << rompath + systemDir + systemInfoFileName
-                          << "\", permission problems or disk full?";
-            systemInfoFile.close();
+        if (!res) {
+            LOG(LogError) << "Couldn't parse es_systems.xml";
+            LOG(LogError) << res.description();
             return true;
         }
 
-        systemInfoFile << "System name:" << std::endl;
-        systemInfoFile << name << std::endl << std::endl;
-        systemInfoFile << "Full system name:" << std::endl;
-        systemInfoFile << fullname << std::endl << std::endl;
-        systemInfoFile << "Supported file extensions:" << std::endl;
-        systemInfoFile << extensions << std::endl << std::endl;
-        systemInfoFile << "Launch command:" << std::endl;
-        systemInfoFile << commands.front() << std::endl << std::endl;
-        // Alternative emulator configuration entries.
-        if (commands.size() > 1) {
-            systemInfoFile << (commands.size() == 2 ? "Alternative launch command:" :
-                                                      "Alternative launch commands:")
-                           << std::endl;
-            for (auto it = commands.cbegin() + 1; it != commands.cend(); it++)
-                systemInfoFile << (*it) << std::endl;
-            systemInfoFile << std::endl;
-        }
-        systemInfoFile << "Platform (for scraping):" << std::endl;
-        systemInfoFile << platform << std::endl << std::endl;
-        systemInfoFile << "Theme folder:" << std::endl;
-        systemInfoFile << themeFolder << std::endl;
-        systemInfoFile.close();
+        // Actually read the file.
+        pugi::xml_node systemList = doc.child("systemList");
 
-        systemsVector.push_back(systemDir + ": " + fullname);
-
-        if (replaceInfoFile) {
-            LOG(LogInfo) << "Replaced existing system information file \""
-                         << rompath + systemDir + systemInfoFileName << "\"";
+        if (!systemList) {
+            LOG(LogError) << "es_systems.xml is missing the <systemList> tag";
+            return true;
         }
-        else {
-            LOG(LogInfo) << "Created system information file \""
-                         << rompath + systemDir + systemInfoFileName << "\"";
+
+        for (pugi::xml_node system = systemList.child("system"); system;
+             system = system.next_sibling("system")) {
+            std::string systemDir;
+            std::string name;
+            std::string fullname;
+            std::string path;
+            std::string extensions;
+            std::vector<std::string> commands;
+            std::string platform;
+            std::string themeFolder;
+            const std::string systemInfoFileName = "/systeminfo.txt";
+            bool replaceInfoFile = false;
+            std::ofstream systemInfoFile;
+
+            name = system.child("name").text().get();
+            fullname = system.child("fullname").text().get();
+            path = system.child("path").text().get();
+            extensions = system.child("extension").text().get();
+            for (pugi::xml_node entry = system.child("command"); entry;
+                 entry = entry.next_sibling("command")) {
+                commands.push_back(entry.text().get());
+            }
+            platform = Utils::String::toLower(system.child("platform").text().get());
+            themeFolder = system.child("theme").text().as_string(name.c_str());
+
+            // Check that the %ROMPATH% variable is actually used for the path element.
+            // If not, skip the system.
+            if (path.find("%ROMPATH%") != 0) {
+                LOG(LogWarning) << "The path element for system \"" << name
+                                << "\" does not "
+                                   "utilize the %ROMPATH% variable, skipping entry";
+                continue;
+            }
+            else {
+                systemDir = path.substr(9, path.size() - 9);
+            }
+
+            // Trim any leading directory separator characters.
+            systemDir.erase(systemDir.begin(),
+                            std::find_if(systemDir.begin(), systemDir.end(),
+                                         [](char c) { return c != '/' && c != '\\'; }));
+
+            if (!Utils::FileSystem::exists(rompath + systemDir)) {
+                if (!Utils::FileSystem::createDirectory(rompath + systemDir)) {
+                    LOG(LogError) << "Couldn't create system directory \"" << systemDir
+                                  << "\", permission problems or disk full?";
+                    return true;
+                }
+                else {
+                    LOG(LogInfo) << "Created system directory \"" << systemDir << "\"";
+                }
+            }
+            else {
+                LOG(LogInfo) << "System directory \"" << systemDir << "\" already exists";
+            }
+
+            if (Utils::FileSystem::exists(rompath + systemDir + systemInfoFileName))
+                replaceInfoFile = true;
+            else
+                replaceInfoFile = false;
+
+            if (replaceInfoFile) {
+                if (Utils::FileSystem::removeFile(rompath + systemDir + systemInfoFileName))
+                    return true;
+            }
+
+#if defined(_WIN64)
+            systemInfoFile.open(
+                Utils::String::stringToWideString(rompath + systemDir + systemInfoFileName)
+                    .c_str());
+#else
+            systemInfoFile.open(rompath + systemDir + systemInfoFileName);
+#endif
+
+            if (systemInfoFile.fail()) {
+                LOG(LogError) << "Couldn't create system information file \""
+                              << rompath + systemDir + systemInfoFileName
+                              << "\", permission problems or disk full?";
+                systemInfoFile.close();
+                return true;
+            }
+
+            systemInfoFile << "System name:" << std::endl;
+            if (configPaths.size() != 1 && configPath == configPaths.back())
+                systemInfoFile << name << " (custom system)" << std::endl << std::endl;
+            else
+                systemInfoFile << name << std::endl << std::endl;
+            systemInfoFile << "Full system name:" << std::endl;
+            systemInfoFile << fullname << std::endl << std::endl;
+            systemInfoFile << "Supported file extensions:" << std::endl;
+            systemInfoFile << extensions << std::endl << std::endl;
+            systemInfoFile << "Launch command:" << std::endl;
+            systemInfoFile << commands.front() << std::endl << std::endl;
+            // Alternative emulator configuration entries.
+            if (commands.size() > 1) {
+                systemInfoFile << (commands.size() == 2 ? "Alternative launch command:" :
+                                                          "Alternative launch commands:")
+                               << std::endl;
+                for (auto it = commands.cbegin() + 1; it != commands.cend(); it++)
+                    systemInfoFile << (*it) << std::endl;
+                systemInfoFile << std::endl;
+            }
+            systemInfoFile << "Platform (for scraping):" << std::endl;
+            systemInfoFile << platform << std::endl << std::endl;
+            systemInfoFile << "Theme folder:" << std::endl;
+            systemInfoFile << themeFolder << std::endl;
+            systemInfoFile.close();
+
+            auto systemIter = std::find_if(systemsVector.cbegin(), systemsVector.cend(),
+                                           [systemDir](std::pair<std::string, std::string> system) {
+                                               return system.first == systemDir;
+                                           });
+
+            if (systemIter != systemsVector.cend())
+                systemsVector.erase(systemIter);
+
+            if (configPaths.size() != 1 && configPath == configPaths.back())
+                systemsVector.push_back(std::make_pair(systemDir + " (custom system)", fullname));
+            else
+                systemsVector.push_back(std::make_pair(systemDir, fullname));
+
+            if (replaceInfoFile) {
+                LOG(LogInfo) << "Replaced existing system information file \""
+                             << rompath + systemDir + systemInfoFileName << "\"";
+            }
+            else {
+                LOG(LogInfo) << "Created system information file \""
+                             << rompath + systemDir + systemInfoFileName << "\"";
+            }
         }
     }
 
@@ -859,8 +940,10 @@ bool SystemData::createSystemDirectories()
                 systemsFileSuccess = false;
             }
             else {
-                for (std::string systemEntry : systemsVector) {
-                    systemsFile << systemEntry << std::endl;
+                std::sort(systemsVector.begin(), systemsVector.end());
+                for (auto systemEntry : systemsVector) {
+                    systemsFile << systemEntry.first.append(": ").append(systemEntry.second)
+                                << std::endl;
                 }
                 systemsFile.close();
             }
@@ -886,6 +969,16 @@ bool SystemData::isVisible()
     return true;
 }
 
+SystemData* SystemData::getSystemByName(const std::string& systemName)
+{
+    for (auto it : sSystemVector) {
+        if ((*it).getName() == systemName)
+            return it;
+    }
+
+    return nullptr;
+}
+
 SystemData* SystemData::getNext() const
 {
     std::vector<SystemData*>::const_iterator it = getIterator();
@@ -1152,21 +1245,21 @@ void SystemData::onMetaDataSavePoint()
     writeMetaData();
 }
 
-void SystemData::setupSystemSortType(FileData* mRootFolder)
+void SystemData::setupSystemSortType(FileData* rootFolder)
 {
     // If DefaultSortOrder is set to something, check that it is actually a valid value.
     if (Settings::getInstance()->getString("DefaultSortOrder") != "") {
         for (unsigned int i = 0; i < FileSorts::SortTypes.size(); i++) {
             if (FileSorts::SortTypes.at(i).description ==
                 Settings::getInstance()->getString("DefaultSortOrder")) {
-                mRootFolder->setSortTypeString(
+                rootFolder->setSortTypeString(
                     Settings::getInstance()->getString("DefaultSortOrder"));
                 break;
             }
         }
     }
     // If no valid sort type was defined in the configuration file, set to default sorting.
-    if (mRootFolder->getSortTypeString() == "")
-        mRootFolder->setSortTypeString(
+    if (rootFolder->getSortTypeString() == "")
+        rootFolder->setSortTypeString(
             Settings::getInstance()->getDefaultString("DefaultSortOrder"));
 }
diff --git a/es-app/src/SystemData.h b/es-app/src/SystemData.h
index 5927c2385..8dd7bd4fd 100644
--- a/es-app/src/SystemData.h
+++ b/es-app/src/SystemData.h
@@ -99,11 +99,12 @@ public:
 
     std::string getAlternativeEmulator() { return mAlternativeEmulator; }
     void setAlternativeEmulator(const std::string& command) { mAlternativeEmulator = command; }
+    std::string getLaunchCommandFromLabel(const std::string& label);
 
     static void deleteSystems();
-    // Loads the systems configuration file at getConfigPath() and creates the systems.
+    // Loads the systems configuration file(s) at getConfigPath() and creates the systems.
     static bool loadConfig();
-    static std::string getConfigPath(bool legacyWarning);
+    static std::vector<std::string> getConfigPath(bool legacyWarning);
 
     // Generates the game system directories and information files based on es_systems.xml.
     static bool createSystemDirectories();
@@ -130,6 +131,7 @@ public:
 
     bool isVisible();
 
+    static SystemData* getSystemByName(const std::string& systemName);
     SystemData* getNext() const;
     SystemData* getPrev() const;
     static SystemData* getRandomSystem(const SystemData* currentSystem);
@@ -145,14 +147,9 @@ public:
     void onMetaDataSavePoint();
     void writeMetaData();
 
-    void setupSystemSortType(FileData* mRootFolder);
+    void setupSystemSortType(FileData* rootFolder);
 
 private:
-    bool mIsCollectionSystem;
-    bool mIsCustomCollectionSystem;
-    bool mIsGroupedCustomCollectionSystem;
-    bool mIsGameSystem;
-    bool mScrapeFlag; // Only used by scraper GUI to remember which systems to scrape.
     std::string mName;
     std::string mFullName;
     SystemEnvironmentData* mEnvData;
@@ -160,6 +157,12 @@ private:
     std::string mThemeFolder;
     std::shared_ptr<ThemeData> mTheme;
 
+    bool mIsCollectionSystem;
+    bool mIsCustomCollectionSystem;
+    bool mIsGroupedCustomCollectionSystem;
+    bool mIsGameSystem;
+    bool mScrapeFlag; // Only used by scraper GUI to remember which systems to scrape.
+
     bool populateFolder(FileData* folder);
     void indexAllGameFilters(const FileData* folder);
     void setIsGameSystemStatus();
diff --git a/es-app/src/SystemScreensaver.cpp b/es-app/src/SystemScreensaver.cpp
index 8d7fe8c64..846928af1 100644
--- a/es-app/src/SystemScreensaver.cpp
+++ b/es-app/src/SystemScreensaver.cpp
@@ -440,10 +440,10 @@ void SystemScreensaver::generateImageList()
             continue;
 
         std::vector<FileData*> allFiles = (*it)->getRootFolder()->getFilesRecursive(GAME, true);
-        for (auto it = allFiles.begin(); it != allFiles.end(); it++) {
-            std::string imagePath = (*it)->getImagePath();
+        for (auto it2 = allFiles.begin(); it2 != allFiles.end(); it2++) {
+            std::string imagePath = (*it2)->getImagePath();
             if (imagePath != "")
-                mImageFiles.push_back((*it));
+                mImageFiles.push_back((*it2));
         }
     }
 }
@@ -457,10 +457,10 @@ void SystemScreensaver::generateVideoList()
             continue;
 
         std::vector<FileData*> allFiles = (*it)->getRootFolder()->getFilesRecursive(GAME, true);
-        for (auto it = allFiles.begin(); it != allFiles.end(); it++) {
-            std::string videoPath = (*it)->getVideoPath();
+        for (auto it2 = allFiles.begin(); it2 != allFiles.end(); it2++) {
+            std::string videoPath = (*it2)->getVideoPath();
             if (videoPath != "")
-                mVideoFiles.push_back((*it));
+                mVideoFiles.push_back((*it2));
         }
     }
 }
diff --git a/es-app/src/VolumeControl.cpp b/es-app/src/VolumeControl.cpp
index 18fd01b0d..2d865867d 100644
--- a/es-app/src/VolumeControl.cpp
+++ b/es-app/src/VolumeControl.cpp
@@ -131,9 +131,10 @@ void VolumeControl::init()
                 // Retrieve endpoint volume.
                 defaultDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_INPROC_SERVER,
                                         nullptr, reinterpret_cast<LPVOID*>(&endpointVolume));
-                if (endpointVolume == nullptr)
+                if (endpointVolume == nullptr) {
                     LOG(LogError) << "VolumeControl::init(): "
                                      "Failed to get default audio endpoint volume!";
+                }
                 // Release default device. we don't need it anymore.
                 defaultDevice->Release();
             }
@@ -245,8 +246,9 @@ void VolumeControl::setVolume(int volume)
         float floatVolume = 0.0f; // 0-1
         if (volume > 0)
             floatVolume = static_cast<float>(volume) / 100.0f;
-        if (endpointVolume->SetMasterVolumeLevelScalar(floatVolume, nullptr) != S_OK)
+        if (endpointVolume->SetMasterVolumeLevelScalar(floatVolume, nullptr) != S_OK) {
             LOG(LogError) << "VolumeControl::setVolume(): Failed to set master volume";
+        }
     }
 #endif
 }
diff --git a/es-app/src/guis/GuiAlternativeEmulators.cpp b/es-app/src/guis/GuiAlternativeEmulators.cpp
index ca5bb888e..ccf26c313 100644
--- a/es-app/src/guis/GuiAlternativeEmulators.cpp
+++ b/es-app/src/guis/GuiAlternativeEmulators.cpp
@@ -23,14 +23,17 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
 
     // Horizontal sizes for the system and label entries.
     float systemSizeX = mMenu.getSize().x / 3.27f;
-    float labelSizeX = mMenu.getSize().x / 1.53;
+    float labelSizeX = mMenu.getSize().x / 1.53f;
+
+    if (Renderer::getScreenHeightModifier() > 1.0f)
+        labelSizeX += 8.0f * Renderer::getScreenHeightModifier();
 
     for (auto it = SystemData::sSystemVector.cbegin(); // Line break.
          it != SystemData::sSystemVector.cend(); it++) {
 
         // Only include systems that have at least two command entries, unless the system
         // has an invalid entry.
-        if ((*it)->getAlternativeEmulator() != "<INVALID>" &&
+        if ((*it)->getAlternativeEmulator().substr(0, 9) != "<INVALID>" &&
             (*it)->getSystemEnvData()->mLaunchCommands.size() < 2)
             continue;
 
@@ -68,7 +71,7 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
         bool invalidEntry = false;
 
         if (label.empty()) {
-            label = "<INVALID ENTRY>";
+            label = ViewController::EXCLAMATION_CHAR + " INVALID ENTRY";
             invalidEntry = true;
         }
 
@@ -94,7 +97,11 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
         labelText->setSize(labelSizeX, labelText->getSize().y);
 
         row.addElement(labelText, false);
-        row.makeAcceptInputHandler([this, it] { selectorWindow(*it); });
+        row.makeAcceptInputHandler([this, it, labelText] {
+            if (labelText->getValue() == ViewController::CROSSEDCIRCLE_CHAR + " CLEARED ENTRY")
+                return;
+            selectorWindow(*it);
+        });
 
         mMenu.addRow(row);
         mHasSystems = true;
@@ -104,9 +111,9 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
     // es_systems.xml.
     if (!mHasSystems) {
         ComponentListRow row;
-        std::shared_ptr<TextComponent> systemText =
-            std::make_shared<TextComponent>(mWindow, "<NO ALTERNATIVE EMULATORS DEFINED>",
-                                            Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_CENTER);
+        std::shared_ptr<TextComponent> systemText = std::make_shared<TextComponent>(
+            mWindow, ViewController::EXCLAMATION_CHAR + " NO ALTERNATIVE EMULATORS DEFINED",
+            Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_CENTER);
         row.addElement(systemText, true);
         mMenu.addRow(row);
     }
@@ -150,13 +157,16 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
         ComponentListRow row;
 
         if (entry.second == "")
-            label = "<REMOVE INVALID ENTRY>";
+            label = ViewController::CROSSEDCIRCLE_CHAR + " CLEAR INVALID ENTRY";
         else
             label = entry.second;
 
         std::shared_ptr<TextComponent> labelText = std::make_shared<TextComponent>(
             mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_CENTER);
 
+        if (system->getSystemEnvData()->mLaunchCommands.front().second == label)
+            labelText->setValue(labelText->getValue().append(" [DEFAULT]"));
+
         row.addElement(labelText, true);
         row.makeAcceptInputHandler([this, s, system, labelText, entry, selectedLabel] {
             if (entry.second != selectedLabel) {
@@ -165,9 +175,26 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
                 else
                     system->setAlternativeEmulator(entry.second);
                 updateGamelist(system, true);
-                updateMenu(
-                    system->getName(), labelText->getValue(),
-                    (entry.second == system->getSystemEnvData()->mLaunchCommands.front().second));
+
+                if (entry.second == system->getSystemEnvData()->mLaunchCommands.front().second) {
+                    if (system->getSystemEnvData()->mLaunchCommands.front().second == "") {
+                        updateMenu(system->getName(),
+                                   ViewController::CROSSEDCIRCLE_CHAR + " CLEARED ENTRY",
+                                   (entry.second ==
+                                    system->getSystemEnvData()->mLaunchCommands.front().second));
+                    }
+                    else {
+                        updateMenu(system->getName(),
+                                   system->getSystemEnvData()->mLaunchCommands.front().second,
+                                   (entry.second ==
+                                    system->getSystemEnvData()->mLaunchCommands.front().second));
+                    }
+                }
+                else {
+                    updateMenu(system->getName(), labelText->getValue(),
+                               (entry.second ==
+                                system->getSystemEnvData()->mLaunchCommands.front().second));
+                }
             }
             delete s;
         });
diff --git a/es-app/src/guis/GuiCollectionSystemsOptions.cpp b/es-app/src/guis/GuiCollectionSystemsOptions.cpp
index 73c77b2fa..cf4298c2d 100644
--- a/es-app/src/guis/GuiCollectionSystemsOptions.cpp
+++ b/es-app/src/guis/GuiCollectionSystemsOptions.cpp
@@ -14,6 +14,7 @@
 #include "components/SwitchComponent.h"
 #include "guis/GuiMsgBox.h"
 #include "guis/GuiSettings.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
 #include "guis/GuiTextEditPopup.h"
 #include "utils/StringUtil.h"
 #include "views/ViewController.h"
@@ -199,29 +200,39 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(Window* window, std::st
         glm::vec2{0.0f, Font::get(FONT_SIZE_MEDIUM)->getLetterHeight()});
     row.addElement(newCollection, true);
     row.addElement(bracketNewCollection, false);
-    auto createCollectionCall = [this](const std::string& newVal) {
+    auto createCollectionCall = [this](const std::string &newVal) {
         std::string name = newVal;
         // We need to store the first GUI and remove it, as it'll be deleted
         // by the actual GUI.
-        Window* window = mWindow;
-        GuiComponent* topGui = window->peekGui();
+        Window *window = mWindow;
+        GuiComponent *topGui = window->peekGui();
         window->removeGui(topGui);
         createCustomCollection(name);
     };
-    row.makeAcceptInputHandler([this, createCollectionCall] {
-        mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), "New Collection Name", "",
-                                              createCollectionCall, false, "SAVE"));
-    });
+
+    if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+        row.makeAcceptInputHandler([this, createCollectionCall] {
+            mWindow->pushGui(new GuiTextEditKeyboardPopup(
+                    mWindow, getHelpStyle(), "New Collection Name", "", createCollectionCall, false,
+                    "CREATE", "CREATE COLLECTION?"));
+        });
+    } else {
+        row.makeAcceptInputHandler([this, createCollectionCall] {
+            mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), "New Collection Name",
+                                                  "", createCollectionCall, false, "CREATE",
+                                                  "CREATE COLLECTION?"));
+        });
+    }
     addRow(row);
 
     // Delete custom collection.
     row.elements.clear();
     auto deleteCollection = std::make_shared<TextComponent>(
-        mWindow, "DELETE CUSTOM COLLECTION", Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
+            mWindow, "DELETE CUSTOM COLLECTION", Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
     auto bracketDeleteCollection = std::make_shared<ImageComponent>(mWindow);
     bracketDeleteCollection->setImage(":/graphics/arrow.svg");
     bracketDeleteCollection->setResize(
-        glm::vec2{0.0f, Font::get(FONT_SIZE_MEDIUM)->getLetterHeight()});
+            glm::vec2{0.0f, Font::get(FONT_SIZE_MEDIUM)->getLetterHeight()});
     row.addElement(deleteCollection, true);
     row.addElement(bracketDeleteCollection, false);
     row.makeAcceptInputHandler([this, customSystems] {
@@ -271,7 +282,7 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(Window* window, std::st
                         CollectionSystemsManager::get()->deleteCustomCollection(name);
                         return true;
                     },
-                    "NO", [this] { return false; }));
+                    "NO", [] { return false; }));
             };
             row.makeAcceptInputHandler(deleteCollectionCall);
             auto customCollection = std::make_shared<TextComponent>(
diff --git a/es-app/src/guis/GuiGameScraper.cpp b/es-app/src/guis/GuiGameScraper.cpp
index 9c2a2e59d..3f65554fa 100644
--- a/es-app/src/guis/GuiGameScraper.cpp
+++ b/es-app/src/guis/GuiGameScraper.cpp
@@ -18,14 +18,11 @@
 #include "components/TextComponent.h"
 #include "views/ViewController.h"
 
-GuiGameScraper::GuiGameScraper(Window* window,
+GuiGameScraper::GuiGameScraper(Window *window,
                                ScraperSearchParams params,
-                               std::function<void(const ScraperSearchResult&)> doneFunc)
-    : GuiComponent(window)
-    , mGrid(window, glm::ivec2{1, 7})
-    , mBox(window, ":/graphics/frame.svg")
-    , mSearchParams(params)
-    , mClose(false)
+                               std::function<void(const ScraperSearchResult &)> doneFunc)
+        : GuiComponent(window), mClose(false), mGrid(window, glm::ivec2{1, 7}), mBox(window, ":/graphics/frame.svg"),
+          mSearchParams(params)
 {
     addChild(&mBox);
     addChild(&mGrid);
diff --git a/es-app/src/guis/GuiGamelistFilter.cpp b/es-app/src/guis/GuiGamelistFilter.cpp
index 61a7361c2..8330b4424 100644
--- a/es-app/src/guis/GuiGamelistFilter.cpp
+++ b/es-app/src/guis/GuiGamelistFilter.cpp
@@ -12,6 +12,7 @@
 
 #include "SystemData.h"
 #include "components/OptionListComponent.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
 #include "guis/GuiTextEditPopup.h"
 #include "views/UIModeController.h"
 #include "views/ViewController.h"
@@ -28,13 +29,21 @@ GuiGamelistFilter::GuiGamelistFilter(Window* window,
     initializeMenu();
 }
 
-void GuiGamelistFilter::initializeMenu()
-{
+void GuiGamelistFilter::initializeMenu() {
     addChild(&mMenu);
 
     // Get filters from system.
     mFilterIndex = mSystem->getIndex();
 
+    // If this is a collection and system names are shown per game, then let FileFilterIndex
+    // know about this so the system names will not be included in game name text searches.
+    if (ViewController::get()->getState().getSystem()->isCollection()) {
+        if (Settings::getInstance()->getBool("CollectionShowSystemInfo"))
+            mFilterIndex->setTextRemoveSystem(true);
+        else
+            mFilterIndex->setTextRemoveSystem(false);
+    }
+
     ComponentListRow row;
 
     // Show filtered menu.
@@ -84,13 +93,12 @@ void GuiGamelistFilter::resetAllFilters()
 
 GuiGamelistFilter::~GuiGamelistFilter() { mFilterOptions.clear(); }
 
-void GuiGamelistFilter::addFiltersToMenu()
-{
+void GuiGamelistFilter::addFiltersToMenu() {
     ComponentListRow row;
 
-    auto lbl =
-        std::make_shared<TextComponent>(mWindow, Utils::String::toUpper("TEXT FILTER (GAME NAME)"),
-                                        Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
+    auto lbl = std::make_shared<TextComponent>(
+            mWindow, Utils::String::toUpper(ViewController::KEYBOARD_CHAR + " GAME NAME"),
+            Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
 
     mTextFilterField = std::make_shared<TextComponent>(mWindow, "", Font::get(FONT_SIZE_MEDIUM),
                                                        0x777777FF, ALIGN_RIGHT);
@@ -113,16 +121,24 @@ void GuiGamelistFilter::addFiltersToMenu()
     }
 
     // Callback function.
-    auto updateVal = [this](const std::string& newVal) {
+    auto updateVal = [this](const std::string &newVal) {
         mTextFilterField->setValue(Utils::String::toUpper(newVal));
         mFilterIndex->setTextFilter(Utils::String::toUpper(newVal));
     };
 
-    row.makeAcceptInputHandler([this, updateVal] {
-        mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), "TEXT FILTER (GAME NAME)",
-                                              mTextFilterField->getValue(), updateVal, false, "OK",
-                                              "APPLY CHANGES?"));
-    });
+    if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+        row.makeAcceptInputHandler([this, updateVal] {
+            mWindow->pushGui(new GuiTextEditKeyboardPopup(mWindow, getHelpStyle(), "GAME NAME",
+                                                          mTextFilterField->getValue(), updateVal,
+                                                          false, "OK", "APPLY CHANGES?"));
+        });
+    } else {
+        row.makeAcceptInputHandler([this, updateVal] {
+            mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), "GAME NAME",
+                                                  mTextFilterField->getValue(), updateVal, false,
+                                                  "OK", "APPLY CHANGES?"));
+        });
+    }
 
     mMenu.addRow(row);
 
@@ -137,9 +153,6 @@ void GuiGamelistFilter::addFiltersToMenu()
         std::string menuLabel = (*it).menuLabel; // Text to show in menu.
         std::shared_ptr<OptionListComponent<std::string>> optionList;
 
-        // Add filters (with first one selected).
-        ComponentListRow row;
-
         // Add genres.
         optionList = std::make_shared<OptionListComponent<std::string>>(mWindow, getHelpStyle(),
                                                                         menuLabel, true);
diff --git a/es-app/src/guis/GuiGamelistOptions.cpp b/es-app/src/guis/GuiGamelistOptions.cpp
index 9c6a5f87e..c63e38da0 100644
--- a/es-app/src/guis/GuiGamelistOptions.cpp
+++ b/es-app/src/guis/GuiGamelistOptions.cpp
@@ -25,15 +25,9 @@
 #include "views/ViewController.h"
 #include "views/gamelist/IGameListView.h"
 
-GuiGamelistOptions::GuiGamelistOptions(Window* window, SystemData* system)
-    : GuiComponent(window)
-    , mSystem(system)
-    , mMenu(window, "OPTIONS")
-    , mFiltersChanged(false)
-    , mCancelled(false)
-    , mIsCustomCollection(false)
-    , mIsCustomCollectionGroup(false)
-    , mCustomCollectionSystem(nullptr)
+GuiGamelistOptions::GuiGamelistOptions(Window *window, SystemData *system)
+        : GuiComponent(window), mMenu(window, "OPTIONS"), mSystem(system), mFiltersChanged(false), mCancelled(false),
+          mIsCustomCollection(false), mIsCustomCollectionGroup(false), mCustomCollectionSystem(nullptr)
 {
     addChild(&mMenu);
 
diff --git a/es-app/src/guis/GuiLaunchScreen.cpp b/es-app/src/guis/GuiLaunchScreen.cpp
index 3dbf7089e..ce347b85f 100644
--- a/es-app/src/guis/GuiLaunchScreen.cpp
+++ b/es-app/src/guis/GuiLaunchScreen.cpp
@@ -14,12 +14,9 @@
 #include "components/TextComponent.h"
 #include "utils/StringUtil.h"
 
-GuiLaunchScreen::GuiLaunchScreen(Window* window)
-    : GuiComponent(window)
-    , mBackground(window, ":/graphics/frame.svg")
-    , mGrid(nullptr)
-    , mMarquee(nullptr)
-    , mWindow(window)
+GuiLaunchScreen::GuiLaunchScreen(Window *window)
+        : GuiComponent(window), mWindow(window), mBackground(window, ":/graphics/frame.svg"), mGrid(nullptr),
+          mMarquee(nullptr)
 {
     addChild(&mBackground);
     mWindow->setLaunchScreen(this);
@@ -169,7 +166,6 @@ void GuiLaunchScreen::displayLaunchScreen(FileData* game)
 
         mMarquee->setOrigin(0.5f, 0.5f);
         glm::vec3 currentPos{mMarquee->getPosition()};
-        glm::vec2 currentSize{mMarquee->getSize()};
 
         // Position the image in the middle of row four.
         currentPos.x = mSize.x / 2.0f;
@@ -221,8 +217,7 @@ void GuiLaunchScreen::update(int deltaTime)
         mScaleUp = glm::clamp(mScaleUp + 0.07f, 0.0f, 1.0f);
 }
 
-void GuiLaunchScreen::render()
-{
+void GuiLaunchScreen::render(const glm::mat4 & /*parentTrans*/) {
     // Scale up animation.
     if (mScaleUp < 1.0f)
         setScale(mScaleUp);
diff --git a/es-app/src/guis/GuiLaunchScreen.h b/es-app/src/guis/GuiLaunchScreen.h
index d7572a7e4..352bfa711 100644
--- a/es-app/src/guis/GuiLaunchScreen.h
+++ b/es-app/src/guis/GuiLaunchScreen.h
@@ -21,21 +21,24 @@ class FileData;
 class GuiLaunchScreen : public Window::GuiLaunchScreen, GuiComponent
 {
 public:
-    GuiLaunchScreen(Window* window);
+    GuiLaunchScreen(Window *window);
+
     virtual ~GuiLaunchScreen();
 
-    virtual void displayLaunchScreen(FileData* game) override;
+    virtual void displayLaunchScreen(FileData *game) override;
+
     virtual void closeLaunchScreen() override;
 
     void onSizeChanged() override;
 
     virtual void update(int deltaTime) override;
-    virtual void render() override;
+
+    virtual void render(const glm::mat4 &parentTrans) override;
 
 private:
-    Window* mWindow;
-    ComponentGrid* mGrid;
+    Window *mWindow;
     NinePatchComponent mBackground;
+    ComponentGrid *mGrid;
 
     std::shared_ptr<TextComponent> mTitle;
     std::shared_ptr<TextComponent> mGameName;
diff --git a/es-app/src/guis/GuiMenu.cpp b/es-app/src/guis/GuiMenu.cpp
index e77910616..23b17a8eb 100644
--- a/es-app/src/guis/GuiMenu.cpp
+++ b/es-app/src/guis/GuiMenu.cpp
@@ -22,12 +22,13 @@
 #include "components/SwitchComponent.h"
 #include "guis/GuiAlternativeEmulators.h"
 #include "guis/GuiCollectionSystemsOptions.h"
-#include "guis/GuiComplexTextEditPopup.h"
 #include "guis/GuiDetectDevice.h"
 #include "guis/GuiMediaViewerOptions.h"
 #include "guis/GuiMsgBox.h"
 #include "guis/GuiScraperMenu.h"
 #include "guis/GuiScreensaverOptions.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
+#include "guis/GuiTextEditPopup.h"
 #include "views/UIModeController.h"
 #include "views/ViewController.h"
 #include "views/gamelist/IGameListView.h"
@@ -35,10 +36,8 @@
 #include <SDL2/SDL_events.h>
 #include <algorithm>
 
-GuiMenu::GuiMenu(Window* window)
-    : GuiComponent(window)
-    , mMenu(window, "MAIN MENU")
-    , mVersion(window)
+GuiMenu::GuiMenu(Window *window)
+        : GuiComponent(window), mMenu(window, "MAIN MENU"), mVersion(window)
 {
     bool isFullUI = UIModeController::getInstance()->isUIModeFull();
 
@@ -509,6 +508,18 @@ void GuiMenu::openUIOptions()
         }
     });
 
+    // Enable virtual (on-screen) keyboard.
+    auto virtual_keyboard = std::make_shared<SwitchComponent>(mWindow);
+    virtual_keyboard->setState(Settings::getInstance()->getBool("VirtualKeyboard"));
+    s->addWithLabel("ENABLE VIRTUAL KEYBOARD", virtual_keyboard);
+    s->addSaveFunc([virtual_keyboard, s] {
+        if (virtual_keyboard->getState() != Settings::getInstance()->getBool("VirtualKeyboard")) {
+            Settings::getInstance()->setBool("VirtualKeyboard", virtual_keyboard->getState());
+            s->setNeedsSaving();
+            s->setInvalidateCachedBackground();
+        }
+    });
+
     // Enable the 'Y' button for tagging games as favorites.
     auto favorites_add_button = std::make_shared<SwitchComponent>(mWindow);
     favorites_add_button->setState(Settings::getInstance()->getBool("FavoritesAddButton"));
@@ -809,10 +820,19 @@ void GuiMenu::openOtherOptions()
     rowMediaDir.makeAcceptInputHandler([this, titleMediaDir, mediaDirectoryStaticText,
                                         defaultDirectoryText, initValueMediaDir, updateValMediaDir,
                                         multiLineMediaDir] {
-        mWindow->pushGui(new GuiComplexTextEditPopup(
-            mWindow, getHelpStyle(), titleMediaDir, mediaDirectoryStaticText, defaultDirectoryText,
-            Settings::getInstance()->getString("MediaDirectory"), updateValMediaDir,
-            multiLineMediaDir, "SAVE", "SAVE CHANGES?"));
+        if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+            mWindow->pushGui(new GuiTextEditKeyboardPopup(
+                    mWindow, getHelpStyle(), titleMediaDir,
+                    Settings::getInstance()->getString("MediaDirectory"), updateValMediaDir,
+                    multiLineMediaDir, "SAVE", "SAVE CHANGES?", mediaDirectoryStaticText,
+                    defaultDirectoryText, "load default directory"));
+        } else {
+            mWindow->pushGui(new GuiTextEditPopup(
+                    mWindow, getHelpStyle(), titleMediaDir,
+                    Settings::getInstance()->getString("MediaDirectory"), updateValMediaDir,
+                    multiLineMediaDir, "SAVE", "SAVE CHANGES?", mediaDirectoryStaticText,
+                    defaultDirectoryText, "load default directory"));
+        }
     });
     s->addRow(rowMediaDir);
 
@@ -1021,16 +1041,17 @@ void GuiMenu::openOtherOptions()
         }
     });
 
-    // Allow overriding of the launch command per game (the option to disable this is
-    // intended primarily for testing purposes).
-    auto launchcommand_override = std::make_shared<SwitchComponent>(mWindow);
-    launchcommand_override->setState(Settings::getInstance()->getBool("LaunchCommandOverride"));
-    s->addWithLabel("PER GAME LAUNCH COMMAND OVERRIDE", launchcommand_override);
-    s->addSaveFunc([launchcommand_override, s] {
-        if (launchcommand_override->getState() !=
-            Settings::getInstance()->getBool("LaunchCommandOverride")) {
-            Settings::getInstance()->setBool("LaunchCommandOverride",
-                                             launchcommand_override->getState());
+    // Whether to enable alternative emulators per game (the option to disable this is intended
+    // primarily for testing purposes).
+    auto alternativeEmulatorPerGame = std::make_shared<SwitchComponent>(mWindow);
+    alternativeEmulatorPerGame->setState(
+        Settings::getInstance()->getBool("AlternativeEmulatorPerGame"));
+    s->addWithLabel("ENABLE ALTERNATIVE EMULATORS PER GAME", alternativeEmulatorPerGame);
+    s->addSaveFunc([alternativeEmulatorPerGame, s] {
+        if (alternativeEmulatorPerGame->getState() !=
+            Settings::getInstance()->getBool("AlternativeEmulatorPerGame")) {
+            Settings::getInstance()->setBool("AlternativeEmulatorPerGame",
+                                             alternativeEmulatorPerGame->getState());
             s->setNeedsSaving();
         }
     });
@@ -1307,7 +1328,7 @@ void GuiMenu::close(bool closeAllWindows)
     }
     else {
         Window* window = mWindow;
-        closeFunc = [window, this] {
+        closeFunc = [window] {
             while (window->peekGui() != ViewController::get())
                 delete window->peekGui();
         };
diff --git a/es-app/src/guis/GuiMetaDataEd.cpp b/es-app/src/guis/GuiMetaDataEd.cpp
index 3ce434094..2aa7a5213 100644
--- a/es-app/src/guis/GuiMetaDataEd.cpp
+++ b/es-app/src/guis/GuiMetaDataEd.cpp
@@ -23,32 +23,26 @@
 #include "components/RatingComponent.h"
 #include "components/SwitchComponent.h"
 #include "components/TextComponent.h"
-#include "guis/GuiComplexTextEditPopup.h"
 #include "guis/GuiGameScraper.h"
 #include "guis/GuiMsgBox.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
 #include "guis/GuiTextEditPopup.h"
 #include "resources/Font.h"
 #include "utils/StringUtil.h"
 #include "views/ViewController.h"
 
-GuiMetaDataEd::GuiMetaDataEd(Window* window,
-                             MetaDataList* md,
-                             const std::vector<MetaDataDecl>& mdd,
+GuiMetaDataEd::GuiMetaDataEd(Window *window,
+                             MetaDataList *md,
+                             const std::vector<MetaDataDecl> &mdd,
                              ScraperSearchParams scraperParams,
-                             const std::string& /*header*/,
+                             const std::string & /*header*/,
                              std::function<void()> saveCallback,
                              std::function<void()> clearGameFunc,
                              std::function<void()> deleteGameFunc)
-    : GuiComponent(window)
-    , mScraperParams(scraperParams)
-    , mBackground(window, ":/graphics/frame.svg")
-    , mGrid(window, glm::ivec2{1, 3})
-    , mMetaDataDecl(mdd)
-    , mMetaData(md)
-    , mSavedCallback(saveCallback)
-    , mClearGameFunc(clearGameFunc)
-    , mDeleteGameFunc(deleteGameFunc)
-    , mMediaFilesUpdated(false)
+        : GuiComponent(window), mBackground(window, ":/graphics/frame.svg"), mGrid(window, glm::ivec2{1, 3}),
+          mScraperParams(scraperParams), mMetaDataDecl(mdd), mMetaData(md), mSavedCallback(saveCallback),
+          mClearGameFunc(clearGameFunc), mDeleteGameFunc(deleteGameFunc), mMediaFilesUpdated(false),
+          mInvalidEmulatorEntry(false)
 {
     addChild(&mBackground);
     addChild(&mGrid);
@@ -99,9 +93,9 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
         if (iter->isStatistic)
             continue;
 
-        // Don't show the launch command override entry if this option has been disabled.
-        if (!Settings::getInstance()->getBool("LaunchCommandOverride") &&
-            iter->type == MD_LAUNCHCOMMAND) {
+        // Don't show the alternative emulator entry if the corresponding option has been disabled.
+        if (!Settings::getInstance()->getBool("AlternativeEmulatorPerGame") &&
+            iter->type == MD_ALT_EMULATOR) {
             ed = std::make_shared<TextComponent>(
                 window, "", Font::get(FONT_SIZE_SMALL, FONT_PATH_LIGHT), 0x777777FF, ALIGN_RIGHT);
             assert(ed);
@@ -170,7 +164,9 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
                                               std::placeholders::_2);
                 break;
             }
-            case MD_LAUNCHCOMMAND: {
+            case MD_ALT_EMULATOR: {
+                mInvalidEmulatorEntry = false;
+
                 ed = std::make_shared<TextComponent>(window, "",
                                                      Font::get(FONT_SIZE_SMALL, FONT_PATH_LIGHT),
                                                      0x777777FF, ALIGN_RIGHT);
@@ -185,48 +181,137 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
                 bracket->setResize(glm::vec2{0.0f, lbl->getFont()->getLetterHeight()});
                 row.addElement(bracket, false);
 
-                bool multiLine = false;
                 const std::string title = iter->displayPrompt;
 
                 // OK callback (apply new value to ed).
-                auto updateVal = [ed, originalValue](const std::string& newVal) {
+                auto updateVal = [this, ed, originalValue](const std::string& newVal) {
                     ed->setValue(newVal);
-                    if (newVal == originalValue)
+                    if (newVal == originalValue) {
                         ed->setColor(DEFAULT_TEXTCOLOR);
-                    else
+                    }
+                    else {
                         ed->setColor(TEXTCOLOR_USERMARKED);
+                        mInvalidEmulatorEntry = false;
+                    }
                 };
 
-                std::string staticTextString = "Default value from es_systems.xml:";
-                std::string defaultLaunchCommand;
-
-                std::string alternativeEmulator = scraperParams.system->getAlternativeEmulator();
-                for (auto launchCommand :
-                     scraperParams.system->getSystemEnvData()->mLaunchCommands) {
-                    if (launchCommand.second == alternativeEmulator) {
-                        defaultLaunchCommand = launchCommand.first;
-                        break;
-                    }
-                }
-                if (!alternativeEmulator.empty() && defaultLaunchCommand.empty()) {
+                if (originalValue != "" &&
+                    scraperParams.system->getLaunchCommandFromLabel(originalValue) == "") {
                     LOG(LogWarning)
-                        << "The alternative emulator defined for system \""
-                        << scraperParams.system->getName()
-                        << "\" is invalid, falling back to the default command \""
-                        << scraperParams.system->getSystemEnvData()->mLaunchCommands.front().first
-                        << "\"";
+                        << "GuiMetaDataEd: Invalid alternative emulator \"" << originalValue
+                        << "\" configured for game \"" << mScraperParams.game->getName() << "\"";
+                    mInvalidEmulatorEntry = true;
                 }
 
-                if (defaultLaunchCommand.empty())
-                    defaultLaunchCommand =
-                        scraperParams.system->getSystemEnvData()->mLaunchCommands.front().first;
+                if (scraperParams.system->getSystemEnvData()->mLaunchCommands.size() == 1) {
+                    lbl->setOpacity(DISABLED_OPACITY);
+                    bracket->setOpacity(DISABLED_OPACITY);
+                }
 
-                row.makeAcceptInputHandler([this, title, staticTextString, defaultLaunchCommand, ed,
-                                            updateVal, multiLine] {
-                    mWindow->pushGui(new GuiComplexTextEditPopup(
-                        mWindow, getHelpStyle(), title, staticTextString, defaultLaunchCommand,
-                        ed->getValue(), updateVal, multiLine, "APPLY", "APPLY CHANGES?"));
-                });
+                if (mInvalidEmulatorEntry ||
+                    scraperParams.system->getSystemEnvData()->mLaunchCommands.size() > 1) {
+                    row.makeAcceptInputHandler([this, title, scraperParams, ed, updateVal,
+                                                       originalValue] {
+                        GuiSettings *s = nullptr;
+
+                        bool singleEntry =
+                                scraperParams.system->getSystemEnvData()->mLaunchCommands.size() == 1;
+
+                        if (mInvalidEmulatorEntry && singleEntry)
+                            s = new GuiSettings(mWindow, "CLEAR INVALID ENTRY");
+                        else
+                            s = new GuiSettings(mWindow, title);
+
+                        if (!mInvalidEmulatorEntry && ed->getValue() == "" && singleEntry)
+                            return;
+
+                        std::vector<std::pair<std::string, std::string>> launchCommands =
+                                scraperParams.system->getSystemEnvData()->mLaunchCommands;
+
+                        if (ed->getValue() != "" && mInvalidEmulatorEntry && singleEntry)
+                            launchCommands.push_back(std::make_pair(
+                                    "", ViewController::EXCLAMATION_CHAR + " " + originalValue));
+                        else if (ed->getValue() != "")
+                            launchCommands.push_back(std::make_pair(
+                                    "", ViewController::CROSSEDCIRCLE_CHAR + " CLEAR ENTRY"));
+
+                        for (auto entry: launchCommands) {
+                            std::string selectedLabel = ed->getValue();
+                            std::string label;
+                            ComponentListRow row;
+
+                            if (entry.second == "")
+                                continue;
+                            else
+                                label = entry.second;
+
+                            std::shared_ptr<TextComponent> labelText =
+                                std::make_shared<TextComponent>(mWindow, label,
+                                                                Font::get(FONT_SIZE_MEDIUM),
+                                                                0x777777FF, ALIGN_CENTER);
+
+                            if (scraperParams.system->getAlternativeEmulator() == "" &&
+                                scraperParams.system->getSystemEnvData()
+                                        ->mLaunchCommands.front()
+                                        .second == label)
+                                labelText->setValue(labelText->getValue().append(" [SYSTEM-WIDE]"));
+
+                            if (scraperParams.system->getAlternativeEmulator() == label)
+                                labelText->setValue(labelText->getValue().append(" [SYSTEM-WIDE]"));
+
+                            row.addElement(labelText, true);
+                            row.makeAcceptInputHandler(
+                                [this, s, updateVal, entry, selectedLabel, launchCommands] {
+                                    if (entry.second == launchCommands.back().second &&
+                                        launchCommands.back().first == "") {
+                                        updateVal("");
+                                    }
+                                    else if (entry.second != selectedLabel) {
+                                        updateVal(entry.second);
+                                    }
+                                    mInvalidEmulatorEntry = false;
+                                    delete s;
+                                });
+
+                            // This transparent bracket is only added to generate the correct help
+                            // prompts.
+                            auto bracket = std::make_shared<ImageComponent>(mWindow);
+                            bracket->setImage(":/graphics/arrow.svg");
+                            bracket->setOpacity(0);
+                            bracket->setSize(bracket->getSize() / 3.0f);
+                            row.addElement(bracket, false);
+
+                            // Select the row that corresponds to the selected label.
+                            if (selectedLabel == label)
+                                s->addRow(row, true);
+                            else
+                                s->addRow(row, false);
+                        }
+
+                        // Adjust the width depending on the aspect ratio of the screen, to make the
+                        // screen look somewhat coherent regardless of screen type. The 1.778 aspect
+                        // ratio value is the 16:9 reference.
+                        float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
+
+                        float maxWidthModifier = glm::clamp(0.70f * aspectValue, 0.50f, 0.92f);
+                        float maxWidth =
+                            static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier;
+
+                        s->setMenuSize(glm::vec2{maxWidth, s->getMenuSize().y});
+
+                        auto menuSize = s->getMenuSize();
+                        auto menuPos = s->getMenuPosition();
+
+                        s->setMenuPosition(glm::vec3{(s->getSize().x - menuSize.x) / 2.0f,
+                                                     (s->getSize().y - menuSize.y) / 3.0f,
+                                                     menuPos.z});
+                        mWindow->pushGui(s);
+                    });
+                }
+                else {
+                    lbl->setOpacity(DISABLED_OPACITY);
+                    bracket->setOpacity(DISABLED_OPACITY);
+                }
                 break;
             }
             case MD_MULTILINE_STRING:
@@ -271,8 +356,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
                             ed->setColor(DEFAULT_TEXTCOLOR);
                         else
                             ed->setColor(TEXTCOLOR_USERMARKED);
-                    }
-                    else {
+                    } else {
                         ed->setValue(newVal);
                         if (newVal == originalValue)
                             ed->setColor(DEFAULT_TEXTCOLOR);
@@ -281,18 +365,31 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
                     }
                 };
 
-                row.makeAcceptInputHandler([this, title, ed, updateVal, multiLine] {
-                    mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), title,
-                                                          ed->getValue(), updateVal, multiLine,
-                                                          "APPLY", "APPLY CHANGES?"));
-                });
+                if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+                    row.makeAcceptInputHandler([this, title, ed, updateVal, multiLine] {
+                        mWindow->pushGui(new GuiTextEditKeyboardPopup(
+                                mWindow, getHelpStyle(), title, ed->getValue(), updateVal, multiLine,
+                                "apply", "APPLY CHANGES?", "", ""));
+                    });
+                } else {
+                    row.makeAcceptInputHandler([this, title, ed, updateVal, multiLine] {
+                        mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), title,
+                                                              ed->getValue(), updateVal, multiLine,
+                                                              "APPLY", "APPLY CHANGES?"));
+                    });
+                }
                 break;
             }
         }
 
         assert(ed);
         mList->addRow(row);
-        ed->setValue(mMetaData->get(iter->key));
+
+        if (iter->type == MD_ALT_EMULATOR && mInvalidEmulatorEntry == true)
+            ed->setValue(ViewController::EXCLAMATION_CHAR + " " + originalValue);
+        else
+            ed->setValue(mMetaData->get(iter->key));
+
         mEditors.push_back(ed);
     }
 
@@ -435,6 +532,9 @@ void GuiMetaDataEd::save()
         if (mMetaDataDecl.at(i).isStatistic)
             continue;
 
+        if (mMetaDataDecl.at(i).key == "altemulator" && mInvalidEmulatorEntry == true)
+            continue;
+
         if (!showHiddenGames && mMetaDataDecl.at(i).key == "hidden" &&
             mEditors.at(i)->getValue() != mMetaData->get("hidden"))
             hideGameWhileHidden = true;
@@ -576,6 +676,9 @@ void GuiMetaDataEd::close()
         std::string mMetaDataValue = mMetaData->get(key);
         std::string mEditorsValue = mEditors.at(i)->getValue();
 
+        if (key == "altemulator" && mInvalidEmulatorEntry == true)
+            continue;
+
         if (mMetaDataValue != mEditorsValue) {
             metadataUpdated = true;
             break;
diff --git a/es-app/src/guis/GuiMetaDataEd.h b/es-app/src/guis/GuiMetaDataEd.h
index e770b4501..91d781996 100644
--- a/es-app/src/guis/GuiMetaDataEd.h
+++ b/es-app/src/guis/GuiMetaDataEd.h
@@ -15,6 +15,7 @@
 #include "MetaData.h"
 #include "components/ComponentGrid.h"
 #include "components/NinePatchComponent.h"
+#include "guis/GuiSettings.h"
 #include "scrapers/Scraper.h"
 
 class ComponentList;
@@ -64,6 +65,7 @@ private:
     std::function<void()> mDeleteGameFunc;
 
     bool mMediaFilesUpdated;
+    bool mInvalidEmulatorEntry;
 };
 
 #endif // ES_APP_GUIS_GUI_META_DATA_ED_H
diff --git a/es-app/src/guis/GuiOfflineGenerator.cpp b/es-app/src/guis/GuiOfflineGenerator.cpp
index 4bd6f84b8..2f214f987 100644
--- a/es-app/src/guis/GuiOfflineGenerator.cpp
+++ b/es-app/src/guis/GuiOfflineGenerator.cpp
@@ -13,11 +13,9 @@
 #include "components/MenuComponent.h"
 #include "views/ViewController.h"
 
-GuiOfflineGenerator::GuiOfflineGenerator(Window* window, const std::queue<FileData*>& gameQueue)
-    : GuiComponent(window)
-    , mBackground(window, ":/graphics/frame.svg")
-    , mGrid(window, glm::ivec2{6, 13})
-    , mGameQueue(gameQueue)
+GuiOfflineGenerator::GuiOfflineGenerator(Window *window, const std::queue<FileData *> &gameQueue)
+        : GuiComponent(window), mGameQueue(gameQueue), mBackground(window, ":/graphics/frame.svg"),
+          mGrid(window, glm::ivec2{6, 13})
 {
     addChild(&mBackground);
     addChild(&mGrid);
diff --git a/es-app/src/guis/GuiScraperMenu.cpp b/es-app/src/guis/GuiScraperMenu.cpp
index b85698e59..7507b0a73 100644
--- a/es-app/src/guis/GuiScraperMenu.cpp
+++ b/es-app/src/guis/GuiScraperMenu.cpp
@@ -91,7 +91,8 @@ GuiScraperMenu::GuiScraperMenu(Window* window, std::string title)
         }
         // The filter setting is only retained during the program session i.e. it's not saved
         // to es_settings.xml.
-        if (mFilters->getSelectedId() != Settings::getInstance()->getInt("ScraperFilter"))
+        if (mFilters->getSelectedId() !=
+            static_cast<unsigned int>(Settings::getInstance()->getInt("ScraperFilter")))
             Settings::getInstance()->setInt("ScraperFilter", mFilters->getSelectedId());
     });
 
diff --git a/es-app/src/guis/GuiScraperMulti.cpp b/es-app/src/guis/GuiScraperMulti.cpp
index 441c23353..6f7ec1923 100644
--- a/es-app/src/guis/GuiScraperMulti.cpp
+++ b/es-app/src/guis/GuiScraperMulti.cpp
@@ -79,13 +79,36 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
     if (mApproveResults) {
         buttons.push_back(
             std::make_shared<ButtonComponent>(mWindow, "REFINE SEARCH", "refine search", [&] {
-                // Refine the search, unless the result has already been accepted or we're in
-                // semi-automatic mode and there are less than 2 search results.
-                if (!mSearchComp->getAcceptedResult() &&
-                    !(mSearchComp->getSearchType() == GuiScraperSearch::ACCEPT_SINGLE_MATCHES &&
-                      mSearchComp->getScraperResultsSize() < 2)) {
-                    mSearchComp->openInputScreen(mSearchQueue.front());
-                    mGrid.resetCursor();
+                // Check whether we should allow a refine of the game name.
+                if (!mSearchComp->getAcceptedResult()) {
+                    bool allowRefine = false;
+
+                    // Previously refined.
+                    if (mSearchComp->getRefinedSearch())
+                        allowRefine = true;
+                        // Interactive mode and "Auto-accept single game matches" not enabled.
+                    else if (mSearchComp->getSearchType() !=
+                             GuiScraperSearch::ACCEPT_SINGLE_MATCHES)
+                        allowRefine = true;
+                        // Interactive mode with "Auto-accept single game matches" enabled and more
+                        // than one result.
+                    else if (mSearchComp->getSearchType() ==
+                             GuiScraperSearch::ACCEPT_SINGLE_MATCHES &&
+                             mSearchComp->getScraperResultsSize() > 1)
+                        allowRefine = true;
+                        // Dito but there were no games found, or the search has not been completed.
+                    else if (mSearchComp->getSearchType() ==
+                             GuiScraperSearch::ACCEPT_SINGLE_MATCHES &&
+                             !mSearchComp->getFoundGame())
+                        allowRefine = true;
+
+                    if (allowRefine) {
+                        // Copy any search refine that may have been previously entered by opening
+                        // the input screen using the "Y" button shortcut.
+                        mSearchQueue.front().nameOverride = mSearchComp->getNameOverride();
+                        mSearchComp->openInputScreen(mSearchQueue.front());
+                        mGrid.resetCursor();
+                    }
                 }
             }));
 
@@ -212,6 +235,7 @@ void GuiScraperMulti::skip()
     mSearchQueue.pop();
     mCurrentGame++;
     mTotalSkipped++;
+    mSearchComp->decreaseScrapeCount();
     mSearchComp->unsetRefinedSearch();
     doNextSearch();
 }
diff --git a/es-app/src/guis/GuiScraperSearch.cpp b/es-app/src/guis/GuiScraperSearch.cpp
index e12edd803..1f5b9a1c9 100644
--- a/es-app/src/guis/GuiScraperSearch.cpp
+++ b/es-app/src/guis/GuiScraperSearch.cpp
@@ -29,6 +29,7 @@
 #include "components/ScrollableContainer.h"
 #include "components/TextComponent.h"
 #include "guis/GuiMsgBox.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
 #include "guis/GuiTextEditPopup.h"
 #include "resources/Font.h"
 #include "utils/StringUtil.h"
@@ -36,15 +37,9 @@
 
 #define FAILED_VERIFICATION_RETRIES 8
 
-GuiScraperSearch::GuiScraperSearch(Window* window, SearchType type, unsigned int scrapeCount)
-    : GuiComponent(window)
-    , mGrid(window, glm::ivec2{4, 3})
-    , mBusyAnim(window)
-    , mSearchType(type)
-    , mScrapeCount(scrapeCount)
-    , mScrapeRatings(false)
-    , mRefinedSearch(false)
-    , mFoundGame(false)
+GuiScraperSearch::GuiScraperSearch(Window *window, SearchType type, unsigned int scrapeCount)
+        : GuiComponent(window), mGrid(window, glm::ivec2{4, 3}), mSearchType(type), mScrapeCount(scrapeCount),
+          mRefinedSearch(false), mFoundGame(false), mScrapeRatings(false), mBusyAnim(window)
 {
     addChild(&mGrid);
 
@@ -323,6 +318,7 @@ void GuiScraperSearch::search(const ScraperSearchParams& params)
     mBlockAccept = true;
     mAcceptedResult = false;
     mMiximageResult = false;
+    mFoundGame = false;
     mScrapeResult = {};
 
     mResultList->clear();
@@ -470,15 +466,15 @@ void GuiScraperSearch::updateInfoPane()
     if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT && mScraperResults.size())
         i = 0;
 
-    if (i != -1 && static_cast<int>(mScraperResults.size() > i)) {
-        ScraperSearchResult& res = mScraperResults.at(i);
+    if (i != -1 && static_cast<int>(mScraperResults.size()) > i) {
+        ScraperSearchResult &res = mScraperResults.at(i);
 
         mResultName->setText(Utils::String::toUpper(res.mdl.get("name")));
         mResultDesc->setText(Utils::String::toUpper(res.mdl.get("desc")));
         mDescContainer->reset();
 
         mResultThumbnail->setImage("");
-        const std::string& thumb = res.screenshotUrl.empty() ? res.coverUrl : res.screenshotUrl;
+        const std::string &thumb = res.screenshotUrl.empty() ? res.coverUrl : res.screenshotUrl;
         mScraperResults[i].thumbnailImageUrl = thumb;
 
         // Cache the thumbnail image in mScraperResults so that we don't need to download
@@ -540,21 +536,34 @@ void GuiScraperSearch::updateInfoPane()
 bool GuiScraperSearch::input(InputConfig* config, Input input)
 {
     if (config->isMappedTo("a", input) && input.value != 0) {
-        if (mBlockAccept)
+        if (mBlockAccept || mScraperResults.empty())
             return true;
     }
 
-    // Refine the search, unless the result has already been accepted or we're in semi-automatic
-    // mode and there are less than 2 search results.
+    // Check whether we should allow a refine of the game name.
     if (!mAcceptedResult && config->isMappedTo("y", input) && input.value != 0) {
-        if (mSearchType != ACCEPT_SINGLE_MATCHES ||
-            (mSearchType == ACCEPT_SINGLE_MATCHES && mScraperResults.size() > 1)) {
+        bool allowRefine = false;
+
+        // Previously refined.
+        if (mRefinedSearch)
+            allowRefine = true;
+            // Interactive mode and "Auto-accept single game matches" not enabled.
+        else if (mSearchType != ACCEPT_SINGLE_MATCHES)
+            allowRefine = true;
+            // Interactive mode with "Auto-accept single game matches" enabled and more than one result.
+        else if (mSearchType == ACCEPT_SINGLE_MATCHES && mScraperResults.size() > 1)
+            allowRefine = true;
+            // Dito but there were no games found, or the search has not been completed.
+        else if (mSearchType == ACCEPT_SINGLE_MATCHES && !mFoundGame)
+            allowRefine = true;
+
+        if (allowRefine)
             openInputScreen(mLastSearch);
-        }
     }
 
-    // Skip game, unless the result has already been accepted.
-    if (!mAcceptedResult && mScrapeCount > 1 && config->isMappedTo("x", input) && input.value != 0)
+    // If multi-scraping, skip game unless the result has already been accepted.
+    if (mSkipCallback != nullptr && !mAcceptedResult && // Line break.
+        config->isMappedTo("x", input) && input.value)
         mSkipCallback();
 
     return GuiComponent::input(config, input);
@@ -575,6 +584,7 @@ void GuiScraperSearch::render(const glm::mat4& parentTrans)
 
 void GuiScraperSearch::returnResult(ScraperSearchResult result)
 {
+
     mBlockAccept = true;
     mAcceptedResult = true;
 
@@ -774,9 +784,17 @@ void GuiScraperSearch::updateThumbnail()
     }
 }
 
-void GuiScraperSearch::openInputScreen(ScraperSearchParams& params)
-{
-    auto searchForFunc = [&](const std::string& name) {
+void GuiScraperSearch::openInputScreen(ScraperSearchParams &params) {
+    auto searchForFunc = [&](std::string name) {
+        // Trim leading and trailing whitespaces.
+        name.erase(name.begin(), std::find_if(name.begin(), name.end(), [](char c) {
+            return !std::isspace(static_cast<unsigned char>(c));
+        }));
+        name.erase(std::find_if(name.rbegin(), name.rend(),
+                                [](char c) { return !std::isspace(static_cast<unsigned char>(c)); })
+                           .base(),
+                   name.end());
+
         stop();
         mRefinedSearch = true;
         params.nameOverride = name;
@@ -792,8 +810,7 @@ void GuiScraperSearch::openInputScreen(ScraperSearchParams& params)
         // regardless of whether the entry is an arcade game and TheGamesDB is used.
         if (Settings::getInstance()->getBool("ScraperSearchMetadataName")) {
             searchString = Utils::String::removeParenthesis(params.game->metadata.get("name"));
-        }
-        else {
+        } else {
             // If searching based on the actual file name, then expand to the full game name
             // in case the scraper is set to TheGamesDB and it's an arcade game. This is
             // required as TheGamesDB does not support searches using the short MAME names.
@@ -803,13 +820,19 @@ void GuiScraperSearch::openInputScreen(ScraperSearchParams& params)
             else
                 searchString = params.game->getCleanName();
         }
-    }
-    else {
+    } else {
         searchString = params.nameOverride;
     }
 
-    mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), "REFINE SEARCH", searchString,
-                                          searchForFunc, false, "SEARCH", "APPLY CHANGES?"));
+    if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+        mWindow->pushGui(new GuiTextEditKeyboardPopup(mWindow, getHelpStyle(), "REFINE SEARCH",
+                                                      searchString, searchForFunc, false, "SEARCH",
+                                                      "SEARCH USING REFINED NAME?"));
+    } else {
+        mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), "REFINE SEARCH",
+                                              searchString, searchForFunc, false, "SEARCH",
+                                              "SEARCH USING REFINED NAME?"));
+    }
 }
 
 bool GuiScraperSearch::saveMetadata(const ScraperSearchResult& result,
@@ -895,13 +918,15 @@ bool GuiScraperSearch::saveMetadata(const ScraperSearchResult& result,
     return metadataUpdated;
 }
 
-std::vector<HelpPrompt> GuiScraperSearch::getHelpPrompts()
-{
+std::vector<HelpPrompt> GuiScraperSearch::getHelpPrompts() {
     std::vector<HelpPrompt> prompts;
 
     prompts.push_back(HelpPrompt("y", "refine search"));
-    if (mScrapeCount > 1)
+
+    // Only show the skip prompt during multi-scraping.
+    if (mSkipCallback != nullptr)
         prompts.push_back(HelpPrompt("x", "skip"));
+
     if (mFoundGame && (mRefinedSearch || mSearchType != ACCEPT_SINGLE_MATCHES ||
                        (mSearchType == ACCEPT_SINGLE_MATCHES && mScraperResults.size() > 1)))
         prompts.push_back(HelpPrompt("a", "accept result"));
diff --git a/es-app/src/guis/GuiScraperSearch.h b/es-app/src/guis/GuiScraperSearch.h
index 9b05ed7cc..0cf1dfd3b 100644
--- a/es-app/src/guis/GuiScraperSearch.h
+++ b/es-app/src/guis/GuiScraperSearch.h
@@ -63,31 +63,51 @@ public:
     {
         mAcceptCallback = acceptCallback;
     }
-    void setSkipCallback(const std::function<void()>& skipCallback)
-    {
+
+    void setSkipCallback(const std::function<void()> &skipCallback) {
         mSkipCallback = skipCallback;
     }
-    void setCancelCallback(const std::function<void()>& cancelCallback)
-    {
-        mScrapeCount -= 1;
+
+    void setCancelCallback(const std::function<void()> &cancelCallback) {
         mCancelCallback = cancelCallback;
     }
 
-    bool input(InputConfig* config, Input input) override;
+    bool input(InputConfig *config, Input input) override;
+
     void update(int deltaTime) override;
-    void render(const glm::mat4& parentTrans) override;
+
+    void render(const glm::mat4 &parentTrans) override;
+
     std::vector<HelpPrompt> getHelpPrompts() override;
+
     HelpStyle getHelpStyle() override;
+
     void onSizeChanged() override;
 
+    void decreaseScrapeCount() {
+        if (mScrapeCount > 0)
+            mScrapeCount--;
+    }
+
     void unsetRefinedSearch() { mRefinedSearch = false; }
+
+    bool getRefinedSearch() { return mRefinedSearch; }
+
+    bool getFoundGame() { return mFoundGame; }
+
+    const std::string &getNameOverride() { return mLastSearch.nameOverride; }
+
     void onFocusGained() override { mGrid.onFocusGained(); }
+
     void onFocusLost() override { mGrid.onFocusLost(); }
 
 private:
     void updateViewStyle();
+
     void updateThumbnail();
+
     void updateInfoPane();
+
     void resizeMetadata();
 
     void onSearchError(const std::string& error,
diff --git a/es-app/src/guis/GuiSettings.cpp b/es-app/src/guis/GuiSettings.cpp
index b5827febb..cbfbd2197 100644
--- a/es-app/src/guis/GuiSettings.cpp
+++ b/es-app/src/guis/GuiSettings.cpp
@@ -16,25 +16,16 @@
 #include "SystemData.h"
 #include "Window.h"
 #include "components/HelpComponent.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
 #include "guis/GuiTextEditPopup.h"
 #include "views/ViewController.h"
 #include "views/gamelist/IGameListView.h"
 
-GuiSettings::GuiSettings(Window* window, std::string title)
-    : GuiComponent(window)
-    , mMenu(window, title)
-    , mNeedsSaving(false)
-    , mNeedsReloadHelpPrompts(false)
-    , mNeedsCollectionsUpdate(false)
-    , mNeedsSorting(false)
-    , mNeedsSortingCollections(false)
-    , mNeedsResetFilters(false)
-    , mNeedsReloading(false)
-    , mNeedsGoToStart(false)
-    , mNeedsGoToSystem(false)
-    , mNeedsGoToGroupedCollections(false)
-    , mInvalidateCachedBackground(false)
-    , mGoToSystem(nullptr)
+GuiSettings::GuiSettings(Window *window, std::string title)
+        : GuiComponent(window), mMenu(window, title), mGoToSystem(nullptr), mNeedsSaving(false),
+          mNeedsReloadHelpPrompts(false), mNeedsCollectionsUpdate(false), mNeedsSorting(false),
+          mNeedsSortingCollections(false), mNeedsResetFilters(false), mNeedsReloading(false), mNeedsGoToStart(false),
+          mNeedsGoToSystem(false), mNeedsGoToGroupedCollections(false), mInvalidateCachedBackground(false)
 {
     addChild(&mMenu);
     mMenu.addButton("BACK", "back", [this] { delete this; });
@@ -96,7 +87,7 @@ void GuiSettings::save()
         ViewController::get()->reloadAll();
 
     if (mNeedsGoToStart)
-        ViewController::get()->goToStart();
+        ViewController::get()->goToStart(true);
 
     if (mNeedsGoToSystem)
         ViewController::get()->goToSystem(mGoToSystem, false);
@@ -123,7 +114,7 @@ void GuiSettings::save()
         // the safe side.
         if (state.getSystem()->isCollection() &&
             state.getSystem()->getThemeFolder() != "custom-collections") {
-            ViewController::get()->goToStart();
+            ViewController::get()->goToStart(false);
             ViewController::get()->goToSystem(SystemData::sSystemVector.front(), false);
             // We don't want to invalidate the cached background when there has been a collection
             // systen change as that may show a black screen in some circumstances.
@@ -133,7 +124,7 @@ void GuiSettings::save()
         // system view).
         if (std::find(SystemData::sSystemVector.begin(), SystemData::sSystemVector.end(),
                       state.getSystem()) == SystemData::sSystemVector.end()) {
-            ViewController::get()->goToStart();
+            ViewController::get()->goToStart(false);
             return;
         }
     }
@@ -183,25 +174,37 @@ void GuiSettings::addEditableTextComponent(const std::string label,
         else if (isPassword && newVal == "") {
             ed->setValue("");
             ed->setHiddenValue("");
-        }
-        else if (isPassword) {
+        } else if (isPassword) {
             ed->setValue("********");
             ed->setHiddenValue(newVal);
-        }
-        else {
+        } else {
             ed->setValue(newVal);
         }
     };
 
-    row.makeAcceptInputHandler([this, label, ed, updateVal, isPassword] {
-        // Never display the value if it's a password, instead set it to blank.
-        if (isPassword)
-            mWindow->pushGui(
-                new GuiTextEditPopup(mWindow, getHelpStyle(), label, "", updateVal, false));
-        else
-            mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), label, ed->getValue(),
-                                                  updateVal, false));
-    });
+    if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+        row.makeAcceptInputHandler([this, label, ed, updateVal, isPassword] {
+            // Never display the value if it's a password, instead set it to blank.
+            if (isPassword)
+                mWindow->pushGui(new GuiTextEditKeyboardPopup(
+                        mWindow, getHelpStyle(), label, "", updateVal, false, "SAVE", "SAVE CHANGES?"));
+            else
+                mWindow->pushGui(new GuiTextEditKeyboardPopup(mWindow, getHelpStyle(), label,
+                                                              ed->getValue(), updateVal, false,
+                                                              "SAVE", "SAVE CHANGES?"));
+        });
+    } else {
+        row.makeAcceptInputHandler([this, label, ed, updateVal, isPassword] {
+            if (isPassword)
+                mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), label, "", updateVal,
+                                                      false, "SAVE", "SAVE CHANGES?"));
+            else
+                mWindow->pushGui(new GuiTextEditPopup(mWindow, getHelpStyle(), label,
+                                                      ed->getValue(), updateVal, false, "SAVE",
+                                                      "SAVE CHANGES?"));
+        });
+    }
+
     assert(ed);
     addRow(row);
 
diff --git a/es-app/src/main.cpp b/es-app/src/main.cpp
index d597706f9..46f9d9cea 100644
--- a/es-app/src/main.cpp
+++ b/es-app/src/main.cpp
@@ -29,7 +29,6 @@
 #include "Sound.h"
 #include "SystemData.h"
 #include "SystemScreensaver.h"
-#include "guis/GuiComplexTextEditPopup.h"
 #include "guis/GuiDetectDevice.h"
 #include "guis/GuiLaunchScreen.h"
 #include "guis/GuiMsgBox.h"
@@ -133,7 +132,7 @@ bool parseArgs(int argc, char* argv[])
 #if defined(_WIN64)
     // Print any command line output to the console.
     if (argc > 1)
-        win64ConsoleType consoleType = outputToConsole(false);
+        outputToConsole(false);
 #endif
 
     std::string portableFilePath = Utils::FileSystem::getExePath() + "/portable.txt";
@@ -617,7 +616,7 @@ int main(int argc, char* argv[])
     // which means that a label is present in the gamelist.xml file which is not matching
     // any command tag in es_systems.xml.
     for (auto system : SystemData::sSystemVector) {
-        if (system->getAlternativeEmulator() == "<INVALID>") {
+        if (system->getAlternativeEmulator().substr(0, 9) == "<INVALID>") {
             ViewController::get()->invalidAlternativeEmulatorDialog();
             break;
         }
@@ -637,10 +636,10 @@ int main(int argc, char* argv[])
     if (!loadSystemsStatus) {
         if (forceInputConfig) {
             window.pushGui(new GuiDetectDevice(&window, false, true,
-                                               [] { ViewController::get()->goToStart(); }));
+                                               [] { ViewController::get()->goToStart(true); }));
         }
         else {
-            ViewController::get()->goToStart();
+            ViewController::get()->goToStart(true);
         }
     }
 
diff --git a/es-app/src/scrapers/GamesDBJSONScraper.cpp b/es-app/src/scrapers/GamesDBJSONScraper.cpp
index 69f9052ed..87dedbac7 100644
--- a/es-app/src/scrapers/GamesDBJSONScraper.cpp
+++ b/es-app/src/scrapers/GamesDBJSONScraper.cpp
@@ -147,8 +147,7 @@ void thegamesdb_generate_json_scraper_requests(
             // using this regardless of whether the entry is an arcade game.
             if (Settings::getInstance()->getBool("ScraperSearchMetadataName")) {
                 cleanName = Utils::String::removeParenthesis(params.game->metadata.get("name"));
-            }
-            else {
+            } else {
                 // If not searching based on the metadata name, then check whether it's an
                 // arcade game and if so expand to the full game name. This is required as
                 // TheGamesDB has issues with searching using the short MAME names.
@@ -158,6 +157,18 @@ void thegamesdb_generate_json_scraper_requests(
                     cleanName = params.game->getCleanName();
             }
         }
+
+        // Trim leading and trailing whitespaces.
+        cleanName.erase(cleanName.begin(),
+                        std::find_if(cleanName.begin(), cleanName.end(), [](char c) {
+                            return !std::isspace(static_cast<unsigned char>(c));
+                        }));
+        cleanName.erase(
+                std::find_if(cleanName.rbegin(), cleanName.rend(),
+                             [](char c) { return !std::isspace(static_cast<unsigned char>(c)); })
+                        .base(),
+                cleanName.end());
+
         path += "/Games/ByGameName?" + apiKey +
                 "&fields=players,publishers,genres,overview,last_updated,rating,"
                 "platform,coop,youtube,os,processor,ram,hdd,video,sound,alternates&name=" +
@@ -443,9 +454,9 @@ void TheGamesDBJSONRequest::process(const std::unique_ptr<HttpReq>& req,
         // Find how many more requests we can make before the scraper
         // request allowance counter is reset.
         if (doc.HasMember("remaining_monthly_allowance") && doc.HasMember("extra_allowance")) {
-            for (auto i = 0; i < results.size(); i++) {
+            for (size_t i = 0; i < results.size(); i++) {
                 results[i].scraperRequestAllowance =
-                    doc["remaining_monthly_allowance"].GetInt() + doc["extra_allowance"].GetInt();
+                        doc["remaining_monthly_allowance"].GetInt() + doc["extra_allowance"].GetInt();
             }
             LOG(LogDebug) << "TheGamesDBJSONRequest::process(): "
                              "Remaining monthly scraping allowance: "
diff --git a/es-app/src/scrapers/Scraper.cpp b/es-app/src/scrapers/Scraper.cpp
index c768843a8..c889f54b2 100644
--- a/es-app/src/scrapers/Scraper.cpp
+++ b/es-app/src/scrapers/Scraper.cpp
@@ -327,7 +327,7 @@ MDResolveHandle::MDResolveHandle(const ScraperSearchResult& result,
             mFuncs.push_back(ResolvePair(downloadMediaAsync(it->fileURL, filePath,
                                                             it->existingMediaFile, it->subDirectory,
                                                             it->resizeFile, mResult.savedNewMedia),
-                                         [this, filePath] {}));
+                                         [filePath] {}));
         }
     }
 }
@@ -373,11 +373,11 @@ MediaDownloadHandle::MediaDownloadHandle(const std::string& url,
                                          const std::string& mediaType,
                                          const bool resizeFile,
                                          bool& savedNewMedia)
-    : mSavePath(path)
+    : mReq(new HttpReq(url))
+    , mSavePath(path)
     , mExistingMediaFile(existingMediaPath)
     , mMediaType(mediaType)
     , mResizeFile(resizeFile)
-    , mReq(new HttpReq(url))
 {
     mSavedNewMediaPtr = &savedNewMedia;
 }
diff --git a/es-app/src/views/SystemView.cpp b/es-app/src/views/SystemView.cpp
index 0a4ecd850..8159bacbd 100644
--- a/es-app/src/views/SystemView.cpp
+++ b/es-app/src/views/SystemView.cpp
@@ -28,10 +28,10 @@ const int logoBuffersRight[] = {1, 2, 5};
 
 SystemView::SystemView(Window* window)
     : IList<SystemViewData, SystemData*>(window, LIST_SCROLL_STYLE_SLOW, LIST_ALWAYS_LOOP)
+    , mSystemInfo(window, "SYSTEM INFO", Font::get(FONT_SIZE_SMALL), 0x33333300, ALIGN_CENTER)
     , mPreviousScrollVelocity(0)
     , mUpdatedGameCount(false)
     , mViewNeedsReload(true)
-    , mSystemInfo(window, "SYSTEM INFO", Font::get(FONT_SIZE_SMALL), 0x33333300, ALIGN_CENTER)
 {
     mCamOffset = 0;
     mExtrasCamOffset = 0;
@@ -181,9 +181,6 @@ void SystemView::goToSystem(SystemData* system, bool animate)
 
 bool SystemView::input(InputConfig* config, Input input)
 {
-    auto it = SystemData::sSystemVector.cbegin();
-    const std::shared_ptr<ThemeData>& theme = (*it)->getTheme();
-
     if (input.value != 0) {
         if (config->getDeviceId() == DEVICE_KEYBOARD && input.value && input.id == SDLK_r &&
             SDL_GetModState() & KMOD_LCTRL && Settings::getInstance()->getBool("Debug")) {
diff --git a/es-app/src/views/ViewController.cpp b/es-app/src/views/ViewController.cpp
index 577554d3c..21e5c355d 100644
--- a/es-app/src/views/ViewController.cpp
+++ b/es-app/src/views/ViewController.cpp
@@ -26,6 +26,8 @@
 #include "animations/MoveCameraAnimation.h"
 #include "guis/GuiInfoPopup.h"
 #include "guis/GuiMenu.h"
+#include "guis/GuiTextEditKeyboardPopup.h"
+#include "guis/GuiTextEditPopup.h"
 #include "views/SystemView.h"
 #include "views/UIModeController.h"
 #include "views/gamelist/DetailedGameListView.h"
@@ -36,19 +38,25 @@
 ViewController* ViewController::sInstance = nullptr;
 
 #if defined(_MSC_VER) // MSVC compiler.
-const std::string ViewController::FAVORITE_CHAR = Utils::String::wideStringToString(L"\uF005");
-const std::string ViewController::FOLDER_CHAR = Utils::String::wideStringToString(L"\uF07C");
-const std::string ViewController::TICKMARK_CHAR = Utils::String::wideStringToString(L"\uF14A");
-const std::string ViewController::CONTROLLER_CHAR = Utils::String::wideStringToString(L"\uF11b");
-const std::string ViewController::FILTER_CHAR = Utils::String::wideStringToString(L"\uF0b0");
-const std::string ViewController::GEAR_CHAR = Utils::String::wideStringToString(L"\uF013");
+const std::string ViewController::CONTROLLER_CHAR = Utils::String::wideStringToString(L"\uf11b");
+const std::string ViewController::CROSSEDCIRCLE_CHAR = Utils::String::wideStringToString(L"\uf05e");
+const std::string ViewController::EXCLAMATION_CHAR = Utils::String::wideStringToString(L"\uf06a");
+const std::string ViewController::FAVORITE_CHAR = Utils::String::wideStringToString(L"\uf005");
+const std::string ViewController::FILTER_CHAR = Utils::String::wideStringToString(L"\uf0b0");
+const std::string ViewController::FOLDER_CHAR = Utils::String::wideStringToString(L"\uf07C");
+const std::string ViewController::GEAR_CHAR = Utils::String::wideStringToString(L"\uf013");
+const std::string ViewController::KEYBOARD_CHAR = Utils::String::wideStringToString(L"\uf11c");
+const std::string ViewController::TICKMARK_CHAR = Utils::String::wideStringToString(L"\uf14A");
 #else
-const std::string ViewController::FAVORITE_CHAR = "\uF005";
-const std::string ViewController::FOLDER_CHAR = "\uF07C";
-const std::string ViewController::TICKMARK_CHAR = "\uF14A";
-const std::string ViewController::CONTROLLER_CHAR = "\uF11b";
-const std::string ViewController::FILTER_CHAR = "\uF0b0";
-const std::string ViewController::GEAR_CHAR = "\uF013";
+const std::string ViewController::CONTROLLER_CHAR = "\uf11b";
+const std::string ViewController::CROSSEDCIRCLE_CHAR = "\uf05e";
+const std::string ViewController::EXCLAMATION_CHAR = "\uf06a";
+const std::string ViewController::FAVORITE_CHAR = "\uf005";
+const std::string ViewController::FILTER_CHAR = "\uf0b0";
+const std::string ViewController::FOLDER_CHAR = "\uf07C";
+const std::string ViewController::GEAR_CHAR = "\uf013";
+const std::string ViewController::KEYBOARD_CHAR = "\uf11c";
+const std::string ViewController::TICKMARK_CHAR = "\uf14a";
 #endif
 
 ViewController* ViewController::get()
@@ -65,9 +73,11 @@ void ViewController::init(Window* window)
 
 ViewController::ViewController(Window* window)
     : GuiComponent(window)
+    , mNoGamesMessageBox(nullptr)
     , mCurrentView(nullptr)
     , mPreviousView(nullptr)
     , mSkipView(nullptr)
+    , mGameToLaunch(nullptr)
     , mCamera(Renderer::getIdentity())
     , mSystemViewTransition(false)
     , mWrappedViews(false)
@@ -75,8 +85,6 @@ ViewController::ViewController(Window* window)
     , mCancelledTransition(false)
     , mLockInput(false)
     , mNextSystem(false)
-    , mGameToLaunch(nullptr)
-    , mNoGamesMessageBox(nullptr)
 {
     mState.viewing = NOTHING;
     mState.viewstyle = AUTOMATIC;
@@ -133,26 +141,52 @@ void ViewController::noGamesDialog()
 #else
             currentROMDirectory = FileData::getROMDirectory();
 #endif
-
-            mWindow->pushGui(new GuiComplexTextEditPopup(
-                mWindow, HelpStyle(), "ENTER ROM DIRECTORY PATH",
-                "Currently configured path:", currentROMDirectory, currentROMDirectory,
-                [this](const std::string& newROMDirectory) {
-                    Settings::getInstance()->setString("ROMDirectory", newROMDirectory);
-                    Settings::getInstance()->saveFile();
+            if (Settings::getInstance()->getBool("VirtualKeyboard")) {
+                mWindow->pushGui(new GuiTextEditKeyboardPopup(
+                    mWindow, HelpStyle(), "ENTER ROM DIRECTORY PATH", currentROMDirectory,
+                    [this](const std::string& newROMDirectory) {
+                        Settings::getInstance()->setString("ROMDirectory", newROMDirectory);
+                        Settings::getInstance()->saveFile();
 #if defined(_WIN64)
-                    mRomDirectory = Utils::String::replace(FileData::getROMDirectory(), "/", "\\");
+                        mRomDirectory =
+                            Utils::String::replace(FileData::getROMDirectory(), "/", "\\");
 #else
-                    mRomDirectory = FileData::getROMDirectory();
+                        mRomDirectory = FileData::getROMDirectory();
 #endif
-                    mNoGamesMessageBox->changeText(mNoGamesErrorMessage + mRomDirectory);
-                    mWindow->pushGui(new GuiMsgBox(mWindow, HelpStyle(),
-                                                   "ROM DIRECTORY SETTING SAVED, RESTART\n"
-                                                   "THE APPLICATION TO RESCAN THE SYSTEMS",
-                                                   "OK", nullptr, "", nullptr, "", nullptr, true));
-                },
-                false, "SAVE", "SAVE CHANGES?", "LOAD CURRENT", "LOAD CURRENTLY CONFIGURED VALUE",
-                "CLEAR", "CLEAR (LEAVE BLANK TO RESET TO DEFAULT DIRECTORY)", false));
+                        mNoGamesMessageBox->changeText(mNoGamesErrorMessage + mRomDirectory);
+                        mWindow->pushGui(new GuiMsgBox(mWindow, HelpStyle(),
+                                                       "ROM DIRECTORY SETTING SAVED, RESTART\n"
+                                                       "THE APPLICATION TO RESCAN THE SYSTEMS",
+                                                       "OK", nullptr, "", nullptr, "", nullptr,
+                                                       true));
+                    },
+                    false, "SAVE", "SAVE CHANGES?", "Currently configured path:",
+                    currentROMDirectory, "LOAD CURRENTLY CONFIGURED PATH",
+                    "CLEAR (LEAVE BLANK TO RESET TO DEFAULT PATH)"));
+            }
+            else {
+                mWindow->pushGui(new GuiTextEditPopup(
+                    mWindow, HelpStyle(), "ENTER ROM DIRECTORY PATH", currentROMDirectory,
+                    [this](const std::string& newROMDirectory) {
+                        Settings::getInstance()->setString("ROMDirectory", newROMDirectory);
+                        Settings::getInstance()->saveFile();
+#if defined(_WIN64)
+                        mRomDirectory =
+                            Utils::String::replace(FileData::getROMDirectory(), "/", "\\");
+#else
+                        mRomDirectory = FileData::getROMDirectory();
+#endif
+                        mNoGamesMessageBox->changeText(mNoGamesErrorMessage + mRomDirectory);
+                        mWindow->pushGui(new GuiMsgBox(mWindow, HelpStyle(),
+                                                       "ROM DIRECTORY SETTING SAVED, RESTART\n"
+                                                       "THE APPLICATION TO RESCAN THE SYSTEMS",
+                                                       "OK", nullptr, "", nullptr, "", nullptr,
+                                                       true));
+                    },
+                    false, "SAVE", "SAVE CHANGES?", "Currently configured path:",
+                    currentROMDirectory, "LOAD CURRENTLY CONFIGURED PATH",
+                    "CLEAR (LEAVE BLANK TO RESET TO DEFAULT PATH)"));
+            }
         },
         "CREATE DIRECTORIES",
         [this] {
@@ -203,10 +237,10 @@ void ViewController::invalidAlternativeEmulatorDialog()
                                    "WITH NO MATCHING ENTRY IN THE SYSTEMS\n"
                                    "CONFIGURATION FILE, PLEASE REVIEW YOUR\n"
                                    "SETUP USING THE 'ALTERNATIVE EMULATORS'\n"
-                                   "ENTRY UNDER THE 'OTHER SETTINGS' MENU"));
+                                   "INTERFACE IN THE 'OTHER SETTINGS' MENU"));
 }
 
-void ViewController::goToStart()
+void ViewController::goToStart(bool playTransition)
 {
     // If the system view does not exist, then create it. We do this here as it would
     // otherwise not be done if jumping directly into a specific game system on startup.
@@ -220,6 +254,8 @@ void ViewController::goToStart()
              it != SystemData::sSystemVector.cend(); it++) {
             if ((*it)->getName() == requestedSystem) {
                 goToGameList(*it);
+                if (!playTransition)
+                    cancelViewTransitions();
                 return;
             }
         }
@@ -594,7 +630,7 @@ void ViewController::playViewTransition(bool instant)
                                       fadeCallback, true);
                      });
 
-        // Fast-forward animation if we're partway faded.
+        // Fast-forward animation if we're partially faded.
         if (target == static_cast<glm::vec3>(-mCamera[3])) {
             // Not changing screens, so cancel the first half entirely.
             advanceAnimation(0, FADE_DURATION);
diff --git a/es-app/src/views/ViewController.h b/es-app/src/views/ViewController.h
index 243558947..d2ea58c57 100644
--- a/es-app/src/views/ViewController.h
+++ b/es-app/src/views/ViewController.h
@@ -15,7 +15,6 @@
 
 #include "FileData.h"
 #include "GuiComponent.h"
-#include "guis/GuiComplexTextEditPopup.h"
 #include "guis/GuiMsgBox.h"
 #include "renderers/Renderer.h"
 
@@ -61,7 +60,7 @@ public:
     void goToGameList(SystemData* system);
     void goToSystemView(SystemData* system, bool playTransition);
     void goToSystem(SystemData* system, bool animate);
-    void goToStart();
+    void goToStart(bool playTransition);
     void ReloadAndGoToStart();
 
     // Functions to make the GUI behave properly.
@@ -123,12 +122,16 @@ public:
     // Whether to run in the background while a game is launched.
     bool runInBackground(SystemData* system);
 
-    static const std::string FAVORITE_CHAR;
-    static const std::string FOLDER_CHAR;
-    static const std::string TICKMARK_CHAR;
+    // Font Awesome symbols.
     static const std::string CONTROLLER_CHAR;
+    static const std::string CROSSEDCIRCLE_CHAR;
+    static const std::string EXCLAMATION_CHAR;
+    static const std::string FAVORITE_CHAR;
     static const std::string FILTER_CHAR;
+    static const std::string FOLDER_CHAR;
     static const std::string GEAR_CHAR;
+    static const std::string KEYBOARD_CHAR;
+    static const std::string TICKMARK_CHAR;
 
 private:
     ViewController(Window* window);
diff --git a/es-app/src/views/gamelist/DetailedGameListView.cpp b/es-app/src/views/gamelist/DetailedGameListView.cpp
index 00bb64fed..fac4d92db 100644
--- a/es-app/src/views/gamelist/DetailedGameListView.cpp
+++ b/es-app/src/views/gamelist/DetailedGameListView.cpp
@@ -17,31 +17,12 @@
 #define FADE_IN_TIME 650
 
 DetailedGameListView::DetailedGameListView(Window* window, FileData* root)
-    : BasicGameListView(window, root)
-    , mDescContainer(window)
-    , mDescription(window)
-    , mGamelistInfo(window)
-    , mThumbnail(window)
-    , mMarquee(window)
-    , mImage(window)
-    , mLblRating(window)
-    , mLblReleaseDate(window)
-    , mLblDeveloper(window)
-    , mLblPublisher(window)
-    , mLblGenre(window)
-    , mLblPlayers(window)
-    , mLblLastPlayed(window)
-    , mLblPlayCount(window)
-    , mRating(window)
-    , mReleaseDate(window)
-    , mDeveloper(window)
-    , mPublisher(window)
-    , mGenre(window)
-    , mPlayers(window)
-    , mLastPlayed(window)
-    , mPlayCount(window)
-    , mName(window)
-    , mLastUpdated(nullptr)
+    : BasicGameListView(window, root), mThumbnail(window), mMarquee(window), mImage(window), mLblRating(window),
+      mLblReleaseDate(window), mLblDeveloper(window), mLblPublisher(window), mLblGenre(window), mLblPlayers(window),
+      mLblLastPlayed(window), mLblPlayCount(window), mBadges(window), mRating(window), mReleaseDate(window),
+      mDeveloper(window),
+      mPublisher(window), mGenre(window), mPlayers(window), mLastPlayed(window), mPlayCount(window), mName(window),
+      mDescContainer(window), mDescription(window), mGamelistInfo(window), mLastUpdated(nullptr)
 {
     const float padding = 0.01f;
 
@@ -93,6 +74,7 @@ DetailedGameListView::DetailedGameListView(Window* window, FileData* root)
     mLblPlayers.setText("Players: ");
     addChild(&mLblPlayers);
     addChild(&mPlayers);
+    addChild(&mBadges);
     mLblLastPlayed.setText("Last played: ");
     addChild(&mLblLastPlayed);
     mLastPlayed.setDisplayRelative(true);
@@ -129,8 +111,7 @@ DetailedGameListView::DetailedGameListView(Window* window, FileData* root)
     initMDValues();
 }
 
-void DetailedGameListView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
-{
+void DetailedGameListView::onThemeChanged(const std::shared_ptr<ThemeData>& theme) {
     BasicGameListView::onThemeChanged(theme);
 
     using namespace ThemeFlags;
@@ -140,24 +121,26 @@ void DetailedGameListView::onThemeChanged(const std::shared_ptr<ThemeData>& them
                         POSITION | ThemeFlags::SIZE | Z_INDEX | ROTATION | VISIBLE);
     mImage.applyTheme(theme, getName(), "md_image",
                       POSITION | ThemeFlags::SIZE | Z_INDEX | ROTATION | VISIBLE);
+    mBadges.applyTheme(theme, getName(), "md_badges",
+                       POSITION | ThemeFlags::SIZE | Z_INDEX | DIRECTION | VISIBLE);
     mName.applyTheme(theme, getName(), "md_name", ALL);
 
     initMDLabels();
-    std::vector<TextComponent*> labels = getMDLabels();
+    std::vector<TextComponent *> labels = getMDLabels();
     assert(labels.size() == 8);
     std::vector<std::string> lblElements = {
-        "md_lbl_rating", "md_lbl_releasedate", "md_lbl_developer",  "md_lbl_publisher",
-        "md_lbl_genre",  "md_lbl_players",     "md_lbl_lastplayed", "md_lbl_playcount"};
+            "md_lbl_rating", "md_lbl_releasedate", "md_lbl_developer", "md_lbl_publisher",
+            "md_lbl_genre", "md_lbl_players", "md_lbl_lastplayed", "md_lbl_playcount"};
 
     for (unsigned int i = 0; i < labels.size(); i++)
         labels[i]->applyTheme(theme, getName(), lblElements[i], ALL);
 
     initMDValues();
-    std::vector<GuiComponent*> values = getMDValues();
-    assert(values.size() == 8);
-    std::vector<std::string> valElements = {"md_rating",     "md_releasedate", "md_developer",
-                                            "md_publisher",  "md_genre",       "md_players",
-                                            "md_lastplayed", "md_playcount"};
+    std::vector<GuiComponent *> values = getMDValues();
+    assert(values.size() == 9);
+    std::vector<std::string> valElements = {"md_rating", "md_releasedate", "md_developer",
+                                            "md_publisher", "md_genre", "md_players",
+                                            "md_badges", "md_lastplayed", "md_playcount"};
 
     for (unsigned int i = 0; i < values.size(); i++)
         values[i]->applyTheme(theme, getName(), valElements[i], ALL ^ ThemeFlags::TEXT);
@@ -224,6 +207,8 @@ void DetailedGameListView::initMDValues()
     mLastPlayed.setFont(defaultFont);
     mPlayCount.setFont(defaultFont);
 
+    mBadges.setSize(defaultFont->getHeight() * 5.0f, static_cast<float>(defaultFont->getHeight()));
+
     float bottom = 0.0f;
 
     const float colSize = (mSize.x * 0.48f) / 2.0f;
@@ -293,6 +278,7 @@ void DetailedGameListView::updateInfoPanel()
         mGenre.setVisible(false);
         mLblPlayers.setVisible(false);
         mPlayers.setVisible(false);
+        mBadges.setVisible(false);
         mLblLastPlayed.setVisible(false);
         mLastPlayed.setVisible(false);
         mLblPlayCount.setVisible(false);
@@ -311,6 +297,7 @@ void DetailedGameListView::updateInfoPanel()
         mGenre.setVisible(true);
         mLblPlayers.setVisible(true);
         mPlayers.setVisible(true);
+        mBadges.setVisible(true);
         mLblLastPlayed.setVisible(true);
         mLastPlayed.setVisible(true);
         mLblPlayCount.setVisible(true);
@@ -397,6 +384,18 @@ void DetailedGameListView::updateInfoPanel()
         mPublisher.setValue(file->metadata.get("publisher"));
         mGenre.setValue(file->metadata.get("genre"));
         mPlayers.setValue(file->metadata.get("players"));
+
+        // Generate badges slots value based on the game metadata.
+        std::stringstream ss;
+        ss << (file->metadata.get("favorite").compare("true") ? "" : "favorite ");
+        ss << (file->metadata.get("completed").compare("true") ? "" : "completed ");
+        ss << (file->metadata.get("kidgame").compare("true") ? "" : "kidgame ");
+        ss << (file->metadata.get("broken").compare("true") ? "" : "broken ");
+        std::string slots = ss.str();
+        if (!slots.empty())
+            slots.pop_back();
+        mBadges.setValue(slots);
+
         mName.setValue(file->metadata.get("name"));
 
         if (file->getType() == GAME) {
@@ -404,8 +403,7 @@ void DetailedGameListView::updateInfoPanel()
                 mLastPlayed.setValue(file->metadata.get("lastplayed"));
                 mPlayCount.setValue(file->metadata.get("playcount"));
             }
-        }
-        else if (file->getType() == FOLDER) {
+        } else if (file->getType() == FOLDER) {
             if (!hideMetaDataFields) {
                 mLastPlayed.setValue(file->metadata.get("lastplayed"));
                 mLblPlayCount.setVisible(false);
@@ -467,6 +465,7 @@ std::vector<GuiComponent*> DetailedGameListView::getMDValues()
     ret.push_back(&mPublisher);
     ret.push_back(&mGenre);
     ret.push_back(&mPlayers);
+    ret.push_back(&mBadges);
     ret.push_back(&mLastPlayed);
     ret.push_back(&mPlayCount);
     return ret;
diff --git a/es-app/src/views/gamelist/DetailedGameListView.h b/es-app/src/views/gamelist/DetailedGameListView.h
index f0b0202a9..356d86179 100644
--- a/es-app/src/views/gamelist/DetailedGameListView.h
+++ b/es-app/src/views/gamelist/DetailedGameListView.h
@@ -9,6 +9,7 @@
 #ifndef ES_APP_VIEWS_GAME_LIST_DETAILED_GAME_LIST_VIEW_H
 #define ES_APP_VIEWS_GAME_LIST_DETAILED_GAME_LIST_VIEW_H
 
+#include "components/BadgesComponent.h"
 #include "components/DateTimeComponent.h"
 #include "components/RatingComponent.h"
 #include "components/ScrollableContainer.h"
@@ -46,6 +47,7 @@ private:
     TextComponent mLblLastPlayed;
     TextComponent mLblPlayCount;
 
+    BadgesComponent mBadges;
     RatingComponent mRating;
     DateTimeComponent mReleaseDate;
     TextComponent mDeveloper;
diff --git a/es-app/src/views/gamelist/GridGameListView.cpp b/es-app/src/views/gamelist/GridGameListView.cpp
index ae7eae6ee..319029bce 100644
--- a/es-app/src/views/gamelist/GridGameListView.cpp
+++ b/es-app/src/views/gamelist/GridGameListView.cpp
@@ -20,30 +20,12 @@
 #define FADE_IN_TIME 650
 
 GridGameListView::GridGameListView(Window* window, FileData* root)
-    : ISimpleGameListView(window, root)
-    , mGrid(window)
-    , mMarquee(window)
-    , mImage(window)
-    , mDescContainer(window)
-    , mDescription(window)
-    , mGamelistInfo(window)
-    , mLblRating(window)
-    , mLblReleaseDate(window)
-    , mLblDeveloper(window)
-    , mLblPublisher(window)
-    , mLblGenre(window)
-    , mLblPlayers(window)
-    , mLblLastPlayed(window)
-    , mLblPlayCount(window)
-    , mRating(window)
-    , mReleaseDate(window)
-    , mDeveloper(window)
-    , mPublisher(window)
-    , mGenre(window)
-    , mPlayers(window)
-    , mLastPlayed(window)
-    , mPlayCount(window)
-    , mName(window)
+    : ISimpleGameListView(window, root), mGrid(window), mMarquee(window), mImage(window), mLblRating(window),
+      mLblReleaseDate(window), mLblDeveloper(window), mLblPublisher(window), mLblGenre(window), mLblPlayers(window),
+      mLblLastPlayed(window), mLblPlayCount(window), mBadges(window), mRating(window), mReleaseDate(window),
+      mDeveloper(window),
+      mPublisher(window), mGenre(window), mPlayers(window), mLastPlayed(window), mPlayCount(window), mName(window),
+      mDescContainer(window), mDescription(window), mGamelistInfo(window)
 {
     const float padding = 0.01f;
 
@@ -55,6 +37,7 @@ GridGameListView::GridGameListView(Window* window, FileData* root)
     populateList(root->getChildrenListToDisplay(), root);
 
     // Metadata labels + values.
+    addChild(&mBadges);
     mLblRating.setText("Rating: ");
     addChild(&mLblRating);
     addChild(&mRating);
@@ -490,9 +473,11 @@ void GridGameListView::updateInfoPanel()
         // An animation is not playing, then animate if opacity != our target opacity.
         if ((comp->isAnimationPlaying(0) && comp->isAnimationReversed(0) != fadingOut) ||
             (!comp->isAnimationPlaying(0) && comp->getOpacity() != (fadingOut ? 0 : 255))) {
-            auto func = [comp](float t) {
-                // TEMPORARY - This does not seem to work, needs to be reviewed later.
-                //    comp->setOpacity(static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
+
+            // TEMPORARY - This does not seem to work, needs to be reviewed later.
+            // auto func = [comp](float t) {
+            auto func = [](float t) {
+                // comp->setOpacity(static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
             };
             comp->setAnimation(new LambdaAnimation(func, 150), 0, nullptr, fadingOut);
         }
diff --git a/es-app/src/views/gamelist/GridGameListView.h b/es-app/src/views/gamelist/GridGameListView.h
index f7a46ea6a..7fa25bce0 100644
--- a/es-app/src/views/gamelist/GridGameListView.h
+++ b/es-app/src/views/gamelist/GridGameListView.h
@@ -9,6 +9,7 @@
 #ifndef ES_APP_VIEWS_GAME_LIST_GRID_GAME_LIST_VIEW_H
 #define ES_APP_VIEWS_GAME_LIST_GRID_GAME_LIST_VIEW_H
 
+#include "components/BadgesComponent.h"
 #include "components/DateTimeComponent.h"
 #include "components/ImageGridComponent.h"
 #include "components/RatingComponent.h"
@@ -67,15 +68,20 @@ protected:
 
     ImageGridComponent<FileData*> mGrid;
     // Points to the first game in the list, i.e. the first entry which is of the type 'GAME'.
-    FileData* firstGameEntry;
+    FileData *firstGameEntry;
 
 private:
     void updateInfoPanel();
-    const std::string getImagePath(FileData* file);
+
+    const std::string getImagePath(FileData *file);
 
     void initMDLabels();
+
     void initMDValues();
 
+    ImageComponent mMarquee;
+    ImageComponent mImage;
+
     TextComponent mLblRating;
     TextComponent mLblReleaseDate;
     TextComponent mLblDeveloper;
@@ -85,8 +91,7 @@ private:
     TextComponent mLblLastPlayed;
     TextComponent mLblPlayCount;
 
-    ImageComponent mMarquee;
-    ImageComponent mImage;
+    BadgesComponent mBadges;
     RatingComponent mRating;
     DateTimeComponent mReleaseDate;
     TextComponent mDeveloper;
diff --git a/es-app/src/views/gamelist/VideoGameListView.cpp b/es-app/src/views/gamelist/VideoGameListView.cpp
index 669a3f868..bb260ae51 100644
--- a/es-app/src/views/gamelist/VideoGameListView.cpp
+++ b/es-app/src/views/gamelist/VideoGameListView.cpp
@@ -24,14 +24,10 @@
 
 VideoGameListView::VideoGameListView(Window* window, FileData* root)
     : BasicGameListView(window, root)
-    , mDescContainer(window)
-    , mDescription(window)
-    , mGamelistInfo(window)
     , mThumbnail(window)
     , mMarquee(window)
     , mImage(window)
     , mVideo(nullptr)
-    , mVideoPlaying(false)
     , mLblRating(window)
     , mLblReleaseDate(window)
     , mLblDeveloper(window)
@@ -46,9 +42,14 @@ VideoGameListView::VideoGameListView(Window* window, FileData* root)
     , mPublisher(window)
     , mGenre(window)
     , mPlayers(window)
+    , mBadges(window)
     , mLastPlayed(window)
     , mPlayCount(window)
     , mName(window)
+    , mDescContainer(window)
+    , mDescription(window)
+    , mGamelistInfo(window)
+    , mVideoPlaying(false)
     , mLastUpdated(nullptr)
 {
     const float padding = 0.01f;
@@ -110,6 +111,7 @@ VideoGameListView::VideoGameListView(Window* window, FileData* root)
     mLblPlayers.setText("Players: ");
     addChild(&mLblPlayers);
     addChild(&mPlayers);
+    addChild(&mBadges);
     mLblLastPlayed.setText("Last played: ");
     addChild(&mLblLastPlayed);
     mLastPlayed.setDisplayRelative(true);
@@ -162,6 +164,8 @@ void VideoGameListView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
     mVideo->applyTheme(theme, getName(), "md_video",
                        POSITION | ThemeFlags::SIZE | ThemeFlags::DELAY | Z_INDEX | ROTATION |
                            VISIBLE);
+    mBadges.applyTheme(theme, getName(), "md_badges",
+                       POSITION | ThemeFlags::SIZE | Z_INDEX | DIRECTION | VISIBLE);
     mName.applyTheme(theme, getName(), "md_name", ALL);
 
     initMDLabels();
@@ -176,10 +180,10 @@ void VideoGameListView::onThemeChanged(const std::shared_ptr<ThemeData>& theme)
 
     initMDValues();
     std::vector<GuiComponent*> values = getMDValues();
-    assert(values.size() == 8);
-    std::vector<std::string> valElements = {"md_rating",     "md_releasedate", "md_developer",
-                                            "md_publisher",  "md_genre",       "md_players",
-                                            "md_lastplayed", "md_playcount"};
+    assert(values.size() == 9);
+    std::vector<std::string> valElements = {"md_rating",    "md_releasedate", "md_developer",
+                                            "md_publisher", "md_genre",       "md_players",
+                                            "md_badges",    "md_lastplayed",  "md_playcount"};
 
     for (unsigned int i = 0; i < values.size(); i++)
         values[i]->applyTheme(theme, getName(), valElements[i], ALL ^ ThemeFlags::TEXT);
@@ -243,6 +247,9 @@ void VideoGameListView::initMDValues()
     mPublisher.setFont(defaultFont);
     mGenre.setFont(defaultFont);
     mPlayers.setFont(defaultFont);
+
+    mBadges.setSize(defaultFont->getHeight() * 5.0f, static_cast<float>(defaultFont->getHeight()));
+
     mLastPlayed.setFont(defaultFont);
     mPlayCount.setFont(defaultFont);
 
@@ -315,6 +322,7 @@ void VideoGameListView::updateInfoPanel()
         mGenre.setVisible(false);
         mLblPlayers.setVisible(false);
         mPlayers.setVisible(false);
+        mBadges.setVisible(false);
         mLblLastPlayed.setVisible(false);
         mLastPlayed.setVisible(false);
         mLblPlayCount.setVisible(false);
@@ -333,6 +341,7 @@ void VideoGameListView::updateInfoPanel()
         mGenre.setVisible(true);
         mLblPlayers.setVisible(true);
         mPlayers.setVisible(true);
+        mBadges.setVisible(true);
         mLblLastPlayed.setVisible(true);
         mLastPlayed.setVisible(true);
         mLblPlayCount.setVisible(true);
@@ -437,6 +446,18 @@ void VideoGameListView::updateInfoPanel()
         mPublisher.setValue(file->metadata.get("publisher"));
         mGenre.setValue(file->metadata.get("genre"));
         mPlayers.setValue(file->metadata.get("players"));
+
+        // Generate badges slots value based on the game metadata.
+        std::stringstream ss;
+        ss << (file->metadata.get("favorite").compare("true") ? "" : "favorite ");
+        ss << (file->metadata.get("completed").compare("true") ? "" : "completed ");
+        ss << (file->metadata.get("kidgame").compare("true") ? "" : "kidgame ");
+        ss << (file->metadata.get("broken").compare("true") ? "" : "broken ");
+        std::string slots = ss.str();
+        if (!slots.empty())
+            slots.pop_back();
+        mBadges.setValue(slots);
+
         mName.setValue(file->metadata.get("name"));
 
         if (file->getType() == GAME) {
@@ -504,6 +525,7 @@ std::vector<GuiComponent*> VideoGameListView::getMDValues()
     ret.push_back(&mPublisher);
     ret.push_back(&mGenre);
     ret.push_back(&mPlayers);
+    ret.push_back(&mBadges);
     ret.push_back(&mLastPlayed);
     ret.push_back(&mPlayCount);
     return ret;
diff --git a/es-app/src/views/gamelist/VideoGameListView.h b/es-app/src/views/gamelist/VideoGameListView.h
index 4f6988d1f..23d181389 100644
--- a/es-app/src/views/gamelist/VideoGameListView.h
+++ b/es-app/src/views/gamelist/VideoGameListView.h
@@ -9,6 +9,7 @@
 #ifndef ES_APP_VIEWS_GAME_LIST_VIDEO_GAME_LIST_VIEW_H
 #define ES_APP_VIEWS_GAME_LIST_VIDEO_GAME_LIST_VIEW_H
 
+#include "components/BadgesComponent.h"
 #include "components/DateTimeComponent.h"
 #include "components/RatingComponent.h"
 #include "components/ScrollableContainer.h"
@@ -38,8 +39,8 @@ private:
 
     ImageComponent mThumbnail;
     ImageComponent mMarquee;
-    VideoComponent* mVideo;
     ImageComponent mImage;
+    VideoComponent* mVideo;
 
     TextComponent mLblRating;
     TextComponent mLblReleaseDate;
@@ -50,6 +51,7 @@ private:
     TextComponent mLblLastPlayed;
     TextComponent mLblPlayCount;
 
+    BadgesComponent mBadges;
     RatingComponent mRating;
     DateTimeComponent mReleaseDate;
     TextComponent mDeveloper;
diff --git a/es-core/CMakeLists.txt b/es-core/CMakeLists.txt
index c28cadc36..d906217a7 100644
--- a/es-core/CMakeLists.txt
+++ b/es-core/CMakeLists.txt
@@ -1,3 +1,11 @@
+#  SPDX-License-Identifier: MIT
+#
+#  EmulationStation Desktop Edition
+#  CMakeLists.txt (es-core)
+#
+#  CMake configuration for es-core.
+#
+
 project("core")
 
 set(CORE_HEADERS
@@ -26,12 +34,14 @@ set(CORE_HEADERS
 
         # GUI components
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/AnimatedImageComponent.h
+        ${CMAKE_CURRENT_SOURCE_DIR}/src/components/BadgesComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/BusyComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ButtonComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentGrid.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentList.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/DateTimeComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/DateTimeEditComponent.h
+        ${CMAKE_CURRENT_SOURCE_DIR}/src/components/FlexboxComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/GridTileComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/HelpComponent.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/IList.h
@@ -52,10 +62,10 @@ set(CORE_HEADERS
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/VideoVlcComponent.h
 
         # GUIs
-        ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiComplexTextEditPopup.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiDetectDevice.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiInputConfig.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiMsgBox.h
+        ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiTextEditKeyboardPopup.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiTextEditPopup.h
 
         # Renderers
@@ -75,7 +85,7 @@ set(CORE_HEADERS
         ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/MathUtil.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/StringUtil.h
         ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/TimeUtil.h
-)
+        )
 
 set(CORE_SOURCES
         ${CMAKE_CURRENT_SOURCE_DIR}/src/AudioManager.cpp
@@ -100,12 +110,14 @@ set(CORE_SOURCES
 
         # GUI components
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/AnimatedImageComponent.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/src/components/BadgesComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/BusyComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ButtonComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentGrid.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentList.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/DateTimeComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/DateTimeEditComponent.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/src/components/FlexboxComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/GridTileComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/HelpComponent.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/ImageComponent.cpp
@@ -122,10 +134,10 @@ set(CORE_SOURCES
         ${CMAKE_CURRENT_SOURCE_DIR}/src/components/VideoVlcComponent.cpp
 
         # GUIs
-        ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiComplexTextEditPopup.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiDetectDevice.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiInputConfig.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiMsgBox.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiTextEditKeyboardPopup.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/guis/GuiTextEditPopup.cpp
 
         # Renderer
@@ -147,7 +159,7 @@ set(CORE_SOURCES
         ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/MathUtil.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/StringUtil.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/TimeUtil.cpp
-)
+        )
 
 include_directories(${COMMON_INCLUDE_DIRS})
 add_library(es-core STATIC ${CORE_SOURCES} ${CORE_HEADERS})
diff --git a/es-core/src/CECInput.cpp b/es-core/src/CECInput.cpp
index dfd8caa49..e794118bd 100644
--- a/es-core/src/CECInput.cpp
+++ b/es-core/src/CECInput.cpp
@@ -147,6 +147,9 @@ CECInput::CECInput()
         mlibCEC = nullptr;
         return;
     }
+#else
+    // This is simply to get rid of a Clang -Wunused-private-field compiler warning.
+    mlibCEC = nullptr;
 #endif // HAVE_LIBCEC
 }
 
diff --git a/es-core/src/GuiComponent.cpp b/es-core/src/GuiComponent.cpp
index d2e55030b..5790a3cb0 100644
--- a/es-core/src/GuiComponent.cpp
+++ b/es-core/src/GuiComponent.cpp
@@ -16,22 +16,11 @@
 
 #include <algorithm>
 
-GuiComponent::GuiComponent(Window* window)
-    : mWindow(window)
-    , mParent(nullptr)
-    , mColor(0)
-    , mColorShift(0)
-    , mColorShiftEnd(0)
-    , mOpacity(255)
-    , mSaturation(1.0f)
-    , mPosition({})
-    , mOrigin({})
-    , mRotationOrigin(0.5f, 0.5f)
-    , mSize({})
-    , mTransform(Renderer::getIdentity())
-    , mIsProcessing(false)
-    , mVisible(true)
-    , mEnabled(true)
+GuiComponent::GuiComponent(Window *window)
+        : mWindow(window), mParent(nullptr), mOpacity(255), mColor(0), mSaturation(1.0f), mColorShift(0),
+          mColorShiftEnd(0),
+          mPosition({}), mOrigin({}), mRotationOrigin(0.5f, 0.5f), mSize({}), mIsProcessing(false), mVisible(true),
+          mEnabled(true), mTransform(Renderer::getIdentity())
 {
     for (unsigned char i = 0; i < MAX_ANIMATIONS; i++)
         mAnimationMap[i] = nullptr;
diff --git a/es-core/src/GuiComponent.h b/es-core/src/GuiComponent.h
index 543ed901a..386b78ef0 100644
--- a/es-core/src/GuiComponent.h
+++ b/es-core/src/GuiComponent.h
@@ -230,10 +230,16 @@ public:
     const static unsigned char MAX_ANIMATIONS = 4;
 
 protected:
-    void renderChildren(const glm::mat4& transform) const;
+    void renderChildren(const glm::mat4 &transform) const;
+
     void updateSelf(int deltaTime); // Updates animations.
     void updateChildren(int deltaTime); // Updates animations.
 
+    Window *mWindow;
+
+    GuiComponent *mParent;
+    std::vector<GuiComponent *> mChildren;
+
     unsigned char mOpacity;
     unsigned int mColor;
     float mSaturation;
@@ -243,11 +249,6 @@ protected:
     unsigned int mColorOriginalValue;
     unsigned int mColorChangedValue;
 
-    Window* mWindow;
-
-    GuiComponent* mParent;
-    std::vector<GuiComponent*> mChildren;
-
     glm::vec3 mPosition;
     glm::vec2 mOrigin;
     glm::vec2 mRotationOrigin;
diff --git a/es-core/src/HelpStyle.cpp b/es-core/src/HelpStyle.cpp
index b351906f7..3d979a48f 100644
--- a/es-core/src/HelpStyle.cpp
+++ b/es-core/src/HelpStyle.cpp
@@ -49,12 +49,16 @@ void HelpStyle::applyTheme(const std::shared_ptr<ThemeData>& theme, const std::s
 
     if (elem->has("textColorDimmed"))
         textColorDimmed = elem->get<unsigned int>("textColorDimmed");
+    else
+        textColorDimmed = textColor;
 
     if (elem->has("iconColor"))
         iconColor = elem->get<unsigned int>("iconColor");
 
     if (elem->has("iconColorDimmed"))
         iconColorDimmed = elem->get<unsigned int>("iconColorDimmed");
+    else
+        iconColorDimmed = iconColor;
 
     if (elem->has("fontPath") || elem->has("fontSize"))
         font = Font::getFromTheme(elem, ThemeFlags::ALL, font);
@@ -85,6 +89,10 @@ void HelpStyle::applyTheme(const std::shared_ptr<ThemeData>& theme, const std::s
         mCustomButtons.button_r = elem->get<std::string>("button_r");
     if (elem->has("button_lr"))
         mCustomButtons.button_lr = elem->get<std::string>("button_lr");
+    if (elem->has("button_lt"))
+        mCustomButtons.button_lt = elem->get<std::string>("button_lt");
+    if (elem->has("button_rt"))
+        mCustomButtons.button_rt = elem->get<std::string>("button_rt");
 
     // SNES.
     if (elem->has("button_a_SNES"))
diff --git a/es-core/src/HelpStyle.h b/es-core/src/HelpStyle.h
index 737123ad0..0eee99dbb 100644
--- a/es-core/src/HelpStyle.h
+++ b/es-core/src/HelpStyle.h
@@ -40,6 +40,8 @@ struct HelpStyle {
         std::string button_l;
         std::string button_r;
         std::string button_lr;
+        std::string button_lt;
+        std::string button_rt;
 
         // SNES.
         std::string button_a_SNES;
diff --git a/es-core/src/HttpReq.h b/es-core/src/HttpReq.h
index 28a5ff228..78feb529a 100644
--- a/es-core/src/HttpReq.h
+++ b/es-core/src/HttpReq.h
@@ -79,8 +79,8 @@ private:
 
     static CURLM* s_multi_handle;
 
-    CURL* mHandle;
     Status mStatus;
+    CURL *mHandle;
 
     std::stringstream mContent;
     std::string mErrorMsg;
diff --git a/es-core/src/InputManager.cpp b/es-core/src/InputManager.cpp
index 8a0999efc..d69433ca4 100644
--- a/es-core/src/InputManager.cpp
+++ b/es-core/src/InputManager.cpp
@@ -411,7 +411,7 @@ bool InputManager::parseEvent(const SDL_Event& event, Window* window)
                     return false;
 
             // The event filtering below is required as some controllers send button presses
-            // starting with the state 0 when using the D-pad. I consider this invalid behaviour
+            // starting with the state 0 when using the D-pad. I consider this invalid behavior
             // and the more popular controllers such as those from Microsoft and Sony do not show
             // this strange behavior.
             int buttonState =
diff --git a/es-core/src/Settings.cpp b/es-core/src/Settings.cpp
index 845fac177..49926b01b 100644
--- a/es-core/src/Settings.cpp
+++ b/es-core/src/Settings.cpp
@@ -180,6 +180,7 @@ void Settings::setDefaults()
     mBoolMap["FavoritesStar"] = {true, true};
     mBoolMap["SpecialCharsASCII"] = {false, false};
     mBoolMap["ListScrollOverlay"] = {false, false};
+    mBoolMap["VirtualKeyboard"] = {true, true};
     mBoolMap["FavoritesAddButton"] = {true, true};
     mBoolMap["RandomAddButton"] = {false, false};
     mBoolMap["GamelistFilters"] = {true, true};
@@ -240,7 +241,7 @@ void Settings::setDefaults()
     mBoolMap["VideoHardwareDecoding"] = {false, false};
 #endif
     mBoolMap["VideoUpscaleFrameRate"] = {false, false};
-    mBoolMap["LaunchCommandOverride"] = {true, true};
+    mBoolMap["AlternativeEmulatorPerGame"] = {true, true};
     mBoolMap["ShowHiddenFiles"] = {true, true};
     mBoolMap["ShowHiddenGames"] = {true, true};
     mBoolMap["CustomEventScripts"] = {false, false};
@@ -413,7 +414,7 @@ void Settings::loadFile()
     }
 
 // Parameters for the macro defined above.
-SETTINGS_GETSET(bool, mBoolMap, getBool, getDefaultBool, setBool);
-SETTINGS_GETSET(int, mIntMap, getInt, getDefaultInt, setInt);
-SETTINGS_GETSET(float, mFloatMap, getFloat, getDefaultFloat, setFloat);
-SETTINGS_GETSET(const std::string&, mStringMap, getString, getDefaultString, setString);
+SETTINGS_GETSET(bool, mBoolMap, getBool, getDefaultBool, setBool)
+SETTINGS_GETSET(int, mIntMap, getInt, getDefaultInt, setInt)
+SETTINGS_GETSET(float, mFloatMap, getFloat, getDefaultFloat, setFloat)
+SETTINGS_GETSET(const std::string&, mStringMap, getString, getDefaultString, setString)
diff --git a/es-core/src/Sound.cpp b/es-core/src/Sound.cpp
index 496d513e3..037c3155b 100644
--- a/es-core/src/Sound.cpp
+++ b/es-core/src/Sound.cpp
@@ -218,13 +218,13 @@ void NavigationSounds::loadThemeNavigationSounds(const std::shared_ptr<ThemeData
                "Theme set does not include navigation sound support, using fallback sounds";
     }
 
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "systembrowse")));
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "quicksysselect")));
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "select")));
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "back")));
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "scroll")));
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "favorite")));
-    navigationSounds.push_back(std::move(Sound::getFromTheme(theme, "all", "launch")));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "systembrowse"));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "quicksysselect"));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "select"));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "back"));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "scroll"));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "favorite"));
+    navigationSounds.push_back(Sound::getFromTheme(theme, "all", "launch"));
 }
 
 void NavigationSounds::playThemeNavigationSound(NavigationSoundsID soundID)
diff --git a/es-core/src/ThemeData.cpp b/es-core/src/ThemeData.cpp
index 5de869eb5..8dd5ae90c 100644
--- a/es-core/src/ThemeData.cpp
+++ b/es-core/src/ThemeData.cpp
@@ -146,6 +146,18 @@ std::map<std::string, std::map<std::string, ThemeData::ElementPropertyType>> The
       {"unfilledPath", PATH},
       {"visible", BOOLEAN},
       {"zIndex", FLOAT}}},
+    {"badges",
+     {{"pos", NORMALIZED_PAIR},
+      {"origin", NORMALIZED_PAIR},
+      {"direction", STRING},
+      {"align", STRING},
+      {"itemsPerLine", FLOAT},
+      {"itemMargin", NORMALIZED_PAIR},
+      {"itemWidth", FLOAT},
+      {"slots", STRING},
+      {"customBadgeIcon", PATH},
+      {"visible", BOOLEAN},
+      {"zIndex", FLOAT}}},
     {"sound", {{"path", PATH}}},
     {"helpsystem",
      {{"pos", NORMALIZED_PAIR},
@@ -503,8 +515,8 @@ void ThemeData::parseElement(const pugi::xml_node& root,
                                                           "");
                 }
 
-                // Special parsing instruction for customButtonIcon -> save node as it's button
-                // attribute to prevent nodes overwriting each other.
+                // Special parsing instruction for recurring options.
+                // Store as it's attribute to prevent nodes overwriting each other.
                 if (strcmp(node.name(), "customButtonIcon") == 0) {
                     const auto btn = node.attribute("button").as_string("");
                     if (strcmp(btn, "") == 0)
@@ -513,6 +525,13 @@ void ThemeData::parseElement(const pugi::xml_node& root,
                     else
                         element.properties[btn] = path;
                 }
+                else if (strcmp(node.name(), "customBadgeIcon") == 0) {
+                    const auto btn = node.attribute("badge").as_string("");
+                    if (strcmp(btn, "") == 0)
+                        LOG(LogError) << "<customBadgeIcon> element requires the `badge` property.";
+                    else
+                        element.properties[btn] = path;
+                }
                 else
                     element.properties[node.name()] = path;
 
diff --git a/es-core/src/ThemeData.h b/es-core/src/ThemeData.h
index 181c215a2..ef5844e33 100644
--- a/es-core/src/ThemeData.h
+++ b/es-core/src/ThemeData.h
@@ -14,6 +14,7 @@
 #include "utils/FileSystemUtil.h"
 #include "utils/MathUtil.h"
 
+#include <any>
 #include <deque>
 #include <map>
 #include <memory>
@@ -53,6 +54,7 @@ namespace ThemeFlags
         Z_INDEX = 8192,
         ROTATION = 16384,
         VISIBLE = 32768,
+        DIRECTION = 65536,
         ALL = 0xFFFFFFFF
     };
 }
@@ -127,17 +129,17 @@ public:
         template <typename T> const T get(const std::string& prop) const
         {
             if (std::is_same<T, glm::vec2>::value)
-                return *(const T*)&properties.at(prop).v;
+                return std::any_cast<const T>(properties.at(prop).v);
             else if (std::is_same<T, std::string>::value)
-                return *(const T*)&properties.at(prop).s;
+                return std::any_cast<const T>(properties.at(prop).s);
             else if (std::is_same<T, unsigned int>::value)
-                return *(const T*)&properties.at(prop).i;
+                return std::any_cast<const T>(properties.at(prop).i);
             else if (std::is_same<T, float>::value)
-                return *(const T*)&properties.at(prop).f;
+                return std::any_cast<const T>(properties.at(prop).f);
             else if (std::is_same<T, bool>::value)
-                return *(const T*)&properties.at(prop).b;
+                return std::any_cast<const T>(properties.at(prop).b);
             else if (std::is_same<T, glm::vec4>::value)
-                return *(const T*)&properties.at(prop).r;
+                return std::any_cast<const T>(properties.at(prop).r);
             return T();
         }
 
diff --git a/es-core/src/Window.cpp b/es-core/src/Window.cpp
index 8b021ed9b..f23d9f96d 100644
--- a/es-core/src/Window.cpp
+++ b/es-core/src/Window.cpp
@@ -30,13 +30,14 @@ Window::Window()
     , mMediaViewer(nullptr)
     , mLaunchScreen(nullptr)
     , mInfoPopup(nullptr)
-    , mNormalizeNextUpdate(false)
+    , mListScrollOpacity(0)
     , mFrameTimeElapsed(0)
     , mFrameCountElapsed(0)
     , mAverageDeltaTime(10)
+    , mTimeSinceLastInput(0)
+    , mNormalizeNextUpdate(false)
     , mAllowSleep(true)
     , mSleeping(false)
-    , mTimeSinceLastInput(0)
     , mRenderScreensaver(false)
     , mRenderMediaViewer(false)
     , mRenderLaunchScreen(false)
@@ -46,11 +47,11 @@ Window::Window()
     , mInvalidatedCachedBackground(false)
     , mVideoPlayerCount(0)
     , mTopScale(0.5)
-    , mListScrollOpacity(0)
     , mChangedThemeSet(false)
 {
     mHelp = new HelpComponent(this);
     mBackgroundOverlay = new ImageComponent(this);
+    mBackgroundOverlayOpacity = 0;
 }
 
 Window::~Window()
@@ -561,10 +562,10 @@ void Window::render()
     }
 
     if (mRenderMediaViewer)
-        mMediaViewer->render();
+        mMediaViewer->render(trans);
 
     if (mRenderLaunchScreen)
-        mLaunchScreen->render();
+        mLaunchScreen->render(trans);
 
     if (Settings::getInstance()->getBool("DisplayGPUStatistics") && mFrameDataText) {
         Renderer::setMatrix(Renderer::getIdentity());
@@ -657,14 +658,16 @@ void Window::setHelpPrompts(const std::vector<HelpPrompt>& prompts, const HelpSt
                                                                "b",
                                                                "x",
                                                                "y",
-                                                               "l",
                                                                "r",
+                                                               "l",
+                                                               "rt",
+                                                               "lt",
                                                                "start",
                                                                "back"};
                   int i = 0;
                   int aVal = 0;
                   int bVal = 0;
-                  while (i < map.size()) {
+                  while (i < static_cast<int>(map.size())) {
                       if (a.first == map[i])
                           aVal = i;
                       if (b.first == map[i])
@@ -790,7 +793,7 @@ int Window::getVideoPlayerCount()
     videoPlayerCount = mVideoPlayerCount;
     mVideoCountMutex.unlock();
     return videoPlayerCount;
-};
+}
 
 void Window::setLaunchedGame()
 {
diff --git a/es-core/src/Window.h b/es-core/src/Window.h
index 193053c43..5b65a1801 100644
--- a/es-core/src/Window.h
+++ b/es-core/src/Window.h
@@ -61,7 +61,7 @@ public:
         virtual void showPrevious() = 0;
 
         virtual void update(int deltaTime) = 0;
-        virtual void render() = 0;
+        virtual void render(const glm::mat4& parentTrans) = 0;
     };
 
     class GuiLaunchScreen
@@ -70,7 +70,7 @@ public:
         virtual void displayLaunchScreen(FileData* game) = 0;
         virtual void closeLaunchScreen() = 0;
         virtual void update(int deltaTime) = 0;
-        virtual void render() = 0;
+        virtual void render(const glm::mat4& parentTrans) = 0;
     };
 
     class InfoPopup
@@ -158,31 +158,31 @@ private:
     HelpComponent* mHelp;
     ImageComponent* mBackgroundOverlay;
     unsigned char mBackgroundOverlayOpacity;
-    Screensaver* mScreensaver;
-    InfoPopup* mInfoPopup;
     std::vector<GuiComponent*> mGuiStack;
     std::vector<std::shared_ptr<Font>> mDefaultFonts;
     std::unique_ptr<TextCache> mFrameDataText;
 
+    Screensaver* mScreensaver;
     MediaViewer* mMediaViewer;
-    bool mRenderMediaViewer;
-
     GuiLaunchScreen* mLaunchScreen;
-    bool mRenderLaunchScreen;
+    InfoPopup* mInfoPopup;
 
     std::string mListScrollText;
     std::shared_ptr<Font> mListScrollFont;
     unsigned char mListScrollOpacity;
 
-    bool mNormalizeNextUpdate;
     int mFrameTimeElapsed;
     int mFrameCountElapsed;
     int mAverageDeltaTime;
-    bool mAllowSleep;
-    bool mSleeping;
     unsigned int mTimeSinceLastInput;
 
+    bool mNormalizeNextUpdate;
+    bool mAllowSleep;
+    bool mSleeping;
+
     bool mRenderScreensaver;
+    bool mRenderMediaViewer;
+    bool mRenderLaunchScreen;
     bool mGameLaunchedState;
     bool mAllowTextScrolling;
     bool mCachedBackground;
diff --git a/es-core/src/animations/MoveCameraAnimation.h b/es-core/src/animations/MoveCameraAnimation.h
index b84964ad4..7c4bc7f08 100644
--- a/es-core/src/animations/MoveCameraAnimation.h
+++ b/es-core/src/animations/MoveCameraAnimation.h
@@ -17,8 +17,8 @@ class MoveCameraAnimation : public Animation
 public:
     MoveCameraAnimation(glm::mat4& camera, const glm::vec3& target)
         : mCameraStart(camera)
-        , mTarget(target)
         , cameraPosition(camera)
+        , mTarget(target)
     {
     }
 
diff --git a/es-core/src/components/BadgesComponent.cpp b/es-core/src/components/BadgesComponent.cpp
new file mode 100644
index 000000000..a7a6adc50
--- /dev/null
+++ b/es-core/src/components/BadgesComponent.cpp
@@ -0,0 +1,106 @@
+//  SPDX-License-Identifier: MIT
+//
+//  EmulationStation Desktop Edition
+//  BadgesComponent.cpp
+//
+//  Game badges icons.
+//  Used by gamelist views.
+//
+
+#include "components/BadgesComponent.h"
+
+#include "Settings.h"
+#include "ThemeData.h"
+#include "resources/TextureResource.h"
+
+BadgesComponent::BadgesComponent(Window* window)
+    : FlexboxComponent(window)
+{
+    // Define the slots.
+    mSlots = {SLOT_FAVORITE, SLOT_COMPLETED, SLOT_KIDS, SLOT_BROKEN};
+
+    mBadgeIcons = std::map<std::string, std::string>();
+    mBadgeIcons[SLOT_FAVORITE] = ":/graphics/badge_favorite.svg";
+    mBadgeIcons[SLOT_COMPLETED] = ":/graphics/badge_completed.svg";
+    mBadgeIcons[SLOT_KIDS] = ":/graphics/badge_kidgame.svg";
+    mBadgeIcons[SLOT_BROKEN] = ":/graphics/badge_broken.svg";
+
+    // Create the child ImageComponent for every badge.
+    mImageComponents = std::map<std::string, ImageComponent>();
+    ImageComponent mImageFavorite = ImageComponent(window);
+    mImageFavorite.setImage(mBadgeIcons[SLOT_FAVORITE], false, false);
+    mImageComponents.insert({SLOT_FAVORITE, mImageFavorite});
+    ImageComponent mImageCompleted = ImageComponent(window);
+    mImageCompleted.setImage(mBadgeIcons[SLOT_COMPLETED], false, false);
+    mImageComponents.insert({SLOT_COMPLETED, mImageCompleted});
+    ImageComponent mImageKids = ImageComponent(window);
+    mImageKids.setImage(mBadgeIcons[SLOT_KIDS], false, false);
+    mImageComponents.insert({SLOT_KIDS, mImageKids});
+    ImageComponent mImageBroken = ImageComponent(window);
+    mImageBroken.setImage(mBadgeIcons[SLOT_BROKEN], false, false);
+    mImageComponents.insert({SLOT_BROKEN, mImageBroken});
+}
+
+void BadgesComponent::setValue(const std::string& value)
+{
+    mChildren.clear();
+    if (!value.empty()) {
+        std::string temp;
+        std::istringstream ss(value);
+        while (std::getline(ss, temp, ' ')) {
+            if (!(temp == SLOT_FAVORITE || temp == SLOT_COMPLETED || temp == SLOT_KIDS ||
+                  temp == SLOT_BROKEN))
+                LOG(LogError) << "Badge slot '" << temp << "' is invalid.";
+            else
+                mChildren.push_back(&mImageComponents.find(temp)->second);
+        }
+    }
+
+    onSizeChanged();
+}
+
+std::string BadgesComponent::getValue() const
+{
+    std::stringstream ss;
+    for (auto& slot : mSlots)
+        ss << slot << ' ';
+    std::string r = ss.str();
+    r.pop_back();
+    return r;
+}
+
+void BadgesComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
+                                 const std::string& view,
+                                 const std::string& element,
+                                 unsigned int properties)
+{
+    using namespace ThemeFlags;
+
+    const ThemeData::ThemeElement* elem = theme->getElement(view, element, "badges");
+    if (!elem)
+        return;
+
+    bool imgChanged = false;
+    for (auto& slot : mSlots) {
+        if (properties & PATH && elem->has(slot)) {
+            mBadgeIcons[slot] = elem->get<std::string>(slot);
+            mImageComponents.find(slot)->second.setImage(mBadgeIcons[slot]);
+            imgChanged = true;
+        }
+    }
+
+    if (elem->has("slots"))
+        setValue(elem->get<std::string>("slots"));
+
+    // Apply theme on the flexbox component parent.
+    FlexboxComponent::applyTheme(theme, view, element, properties);
+
+    if (imgChanged)
+        onSizeChanged();
+}
+
+std::vector<HelpPrompt> BadgesComponent::getHelpPrompts()
+{
+    std::vector<HelpPrompt> prompts;
+    return prompts;
+}
diff --git a/es-core/src/components/BadgesComponent.h b/es-core/src/components/BadgesComponent.h
new file mode 100644
index 000000000..badaa57c7
--- /dev/null
+++ b/es-core/src/components/BadgesComponent.h
@@ -0,0 +1,48 @@
+//  SPDX-License-Identifier: MIT
+//
+//  EmulationStation Desktop Edition
+//  BadgesComponent.h
+//
+//  Game badges icons.
+//  Used by gamelist views.
+//
+
+#ifndef ES_APP_COMPONENTS_BADGES_COMPONENT_H
+#define ES_APP_COMPONENTS_BADGES_COMPONENT_H
+
+#include "FlexboxComponent.h"
+#include "GuiComponent.h"
+#include "ImageComponent.h"
+#include "renderers/Renderer.h"
+
+#define NUM_SLOTS 4
+#define SLOT_FAVORITE "favorite"
+#define SLOT_COMPLETED "completed"
+#define SLOT_KIDS "kidgame"
+#define SLOT_BROKEN "broken"
+
+class TextureResource;
+
+class BadgesComponent : public FlexboxComponent
+{
+public:
+    BadgesComponent(Window* window);
+
+    std::string getValue() const override;
+    // Should be a list of strings.
+    void setValue(const std::string& value) override;
+
+    virtual void applyTheme(const std::shared_ptr<ThemeData>& theme,
+                            const std::string& view,
+                            const std::string& element,
+                            unsigned int properties) override;
+
+    virtual std::vector<HelpPrompt> getHelpPrompts() override;
+
+private:
+    std::vector<std::string> mSlots;
+    std::map<std::string, std::string> mBadgeIcons;
+    std::map<std::string, ImageComponent> mImageComponents;
+};
+
+#endif // ES_APP_COMPONENTS_BADGES_COMPONENT_H
diff --git a/es-core/src/components/ButtonComponent.cpp b/es-core/src/components/ButtonComponent.cpp
index 6ba641495..94734a0b7 100644
--- a/es-core/src/components/ButtonComponent.cpp
+++ b/es-core/src/components/ButtonComponent.cpp
@@ -12,46 +12,51 @@
 #include "resources/Font.h"
 #include "utils/StringUtil.h"
 
-ButtonComponent::ButtonComponent(Window* window,
-                                 const std::string& text,
-                                 const std::string& helpText,
-                                 const std::function<void()>& func)
-    : GuiComponent(window)
-    , mBox(window, ":/graphics/button.svg")
-    , mFont(Font::get(FONT_SIZE_MEDIUM))
-    , mFocused(false)
-    , mEnabled(true)
-    , mTextColorFocused(0xFFFFFFFF)
-    , mTextColorUnfocused(0x777777FF)
-{
+ButtonComponent::ButtonComponent(Window *window,
+                                 const std::string &text,
+                                 const std::string &helpText,
+                                 const std::function<void()> &func,
+                                 bool upperCase,
+                                 bool flatStyle)
+        : GuiComponent{window}, mBox{window, ":/graphics/button.svg"}, mFont{Font::get(FONT_SIZE_MEDIUM)}, mPadding{{}},
+          mFocused{false}, mEnabled{true}, mFlatStyle{flatStyle}, mTextColorFocused{0xFFFFFFFF},
+          mTextColorUnfocused{0x777777FF}, mFlatColorFocused{0x878787FF}, mFlatColorUnfocused{0x60606025} {
     setPressedFunc(func);
-    setText(text, helpText);
-    updateImage();
+    setText(text, helpText, upperCase);
+
+    if (!mFlatStyle)
+        updateImage();
 }
 
-void ButtonComponent::onSizeChanged()
-{
-    // Fit to mBox.
-    mBox.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
+void ButtonComponent::onSizeChanged() {
+    if (mFlatStyle)
+        return;
+
+    auto cornerSize = mBox.getCornerSize();
+
+    mBox.fitTo(glm::vec2{mSize.x - mPadding.x - mPadding.z, mSize.y - mPadding.y - mPadding.w},
+               glm::vec3{mPadding.x, mPadding.y, 0.0f},
+               glm::vec2{-cornerSize.x * 2.0f, -cornerSize.y * 2.0f});
 }
 
-bool ButtonComponent::input(InputConfig* config, Input input)
-{
-    if (config->isMappedTo("a", input) && input.value != 0) {
-        if (mPressedFunc && mEnabled)
-            mPressedFunc();
-        return true;
-    }
-
-    return GuiComponent::input(config, input);
+void ButtonComponent::onFocusGained() {
+    mFocused = true;
+    if (!mFlatStyle)
+        updateImage();
 }
 
-void ButtonComponent::setText(const std::string& text, const std::string& helpText)
-{
-    mText = Utils::String::toUpper(text);
+void ButtonComponent::onFocusLost() {
+    mFocused = false;
+    if (!mFlatStyle)
+        updateImage();
+}
+
+void ButtonComponent::setText(const std::string &text, const std::string &helpText, bool upperCase) {
+    mText = upperCase ? Utils::String::toUpper(text) : text;
     mHelpText = helpText;
 
-    mTextCache = std::unique_ptr<TextCache>(mFont->buildTextCache(mText, 0, 0, getCurTextColor()));
+    mTextCache =
+            std::unique_ptr<TextCache>(mFont->buildTextCache(mText, 0.0f, 0.0f, getCurTextColor()));
 
     float minWidth = mFont->sizeText("DELETE").x + (12.0f * Renderer::getScreenWidthModifier());
     setSize(std::max(mTextCache->metrics.size.x + (12.0f * Renderer::getScreenWidthModifier()),
@@ -61,43 +66,48 @@ void ButtonComponent::setText(const std::string& text, const std::string& helpTe
     updateHelpPrompts();
 }
 
-void ButtonComponent::onFocusGained()
-{
-    mFocused = true;
-    updateImage();
-}
-
-void ButtonComponent::onFocusLost()
-{
-    mFocused = false;
-    updateImage();
-}
-
-void ButtonComponent::setEnabled(bool state)
-{
+void ButtonComponent::setEnabled(bool state) {
     mEnabled = state;
-    updateImage();
+    if (!mFlatStyle)
+        updateImage();
 }
 
-void ButtonComponent::updateImage()
-{
-    if (!mEnabled || !mPressedFunc) {
-        mBox.setImagePath(":/graphics/button_filled.svg");
-        mBox.setCenterColor(0x770000FF);
-        mBox.setEdgeColor(0x770000FF);
+void ButtonComponent::setPadding(const glm::vec4 padding) {
+    if (mPadding == padding)
         return;
+
+    mPadding = padding;
+    onSizeChanged();
+}
+
+bool ButtonComponent::input(InputConfig *config, Input input) {
+    if (config->isMappedTo("a", input) && input.value != 0) {
+        if (mPressedFunc && mEnabled)
+            mPressedFunc();
+        return true;
     }
 
-    mBox.setCenterColor(0xFFFFFFFF);
-    mBox.setEdgeColor(0xFFFFFFFF);
-    mBox.setImagePath(mFocused ? ":/graphics/button_filled.svg" : ":/graphics/button.svg");
+    return GuiComponent::input(config, input);
 }
 
-void ButtonComponent::render(const glm::mat4& parentTrans)
-{
+void ButtonComponent::render(const glm::mat4 &parentTrans) {
     glm::mat4 trans{parentTrans * getTransform()};
 
-    mBox.render(trans);
+    if (mFlatStyle) {
+        if (mFocused) {
+            Renderer::setMatrix(trans);
+            Renderer::drawRect(mPadding.x, mPadding.y, mSize.x - mPadding.x - mPadding.z,
+                               mSize.y - mPadding.y - mPadding.w, mFlatColorFocused,
+                               mFlatColorFocused);
+        } else {
+            Renderer::setMatrix(trans);
+            Renderer::drawRect(mPadding.x, mPadding.y, mSize.x - mPadding.x - mPadding.z,
+                               mSize.y - mPadding.y - mPadding.w, mFlatColorUnfocused,
+                               mFlatColorUnfocused);
+        }
+    } else {
+        mBox.render(trans);
+    }
 
     if (mTextCache) {
         glm::vec3 centerOffset{(mSize.x - mTextCache->metrics.size.x) / 2.0f,
@@ -121,17 +131,28 @@ void ButtonComponent::render(const glm::mat4& parentTrans)
     renderChildren(trans);
 }
 
-unsigned int ButtonComponent::getCurTextColor() const
-{
+std::vector<HelpPrompt> ButtonComponent::getHelpPrompts() {
+    std::vector<HelpPrompt> prompts;
+    prompts.push_back(HelpPrompt("a", mHelpText.empty() ? mText.c_str() : mHelpText.c_str()));
+    return prompts;
+}
+
+unsigned int ButtonComponent::getCurTextColor() const {
     if (!mFocused)
         return mTextColorUnfocused;
     else
         return mTextColorFocused;
 }
 
-std::vector<HelpPrompt> ButtonComponent::getHelpPrompts()
-{
-    std::vector<HelpPrompt> prompts;
-    prompts.push_back(HelpPrompt("a", mHelpText.empty() ? mText.c_str() : mHelpText.c_str()));
-    return prompts;
+void ButtonComponent::updateImage() {
+    if (!mEnabled || !mPressedFunc) {
+        mBox.setImagePath(":/graphics/button_filled.svg");
+        mBox.setCenterColor(0x770000FF);
+        mBox.setEdgeColor(0x770000FF);
+        return;
+    }
+
+    mBox.setCenterColor(0xFFFFFFFF);
+    mBox.setEdgeColor(0xFFFFFFFF);
+    mBox.setImagePath(mFocused ? ":/graphics/button_filled.svg" : ":/graphics/button.svg");
 }
diff --git a/es-core/src/components/ButtonComponent.h b/es-core/src/components/ButtonComponent.h
index 75f3c4660..7b1dad9a3 100644
--- a/es-core/src/components/ButtonComponent.h
+++ b/es-core/src/components/ButtonComponent.h
@@ -14,47 +14,69 @@
 
 class TextCache;
 
-class ButtonComponent : public GuiComponent
-{
+class ButtonComponent : public GuiComponent {
 public:
-    ButtonComponent(Window* window,
-                    const std::string& text = "",
-                    const std::string& helpText = "",
-                    const std::function<void()>& func = nullptr);
-
-    void setPressedFunc(std::function<void()> f) { mPressedFunc = f; }
-    void setEnabled(bool state) override;
-
-    bool input(InputConfig* config, Input input) override;
-    void render(const glm::mat4& parentTrans) override;
-
-    void setText(const std::string& text, const std::string& helpText);
-
-    const std::string& getText() const { return mText; }
-    const std::function<void()>& getPressedFunc() const { return mPressedFunc; }
+    ButtonComponent(Window *window,
+                    const std::string &text = "",
+                    const std::string &helpText = "",
+                    const std::function<void()> &func = nullptr,
+                    bool upperCase = true,
+                    bool flatStyle = false);
 
     void onSizeChanged() override;
+
     void onFocusGained() override;
+
     void onFocusLost() override;
 
+    void setText(const std::string &text, const std::string &helpText, bool upperCase = true);
+
+    const std::string &getText() const { return mText; }
+
+    void setPressedFunc(std::function<void()> f) { mPressedFunc = f; }
+
+    void setEnabled(bool state) override;
+
+    void setPadding(const glm::vec4 padding);
+
+    glm::vec4 getPadding() { return mPadding; }
+
+    void setFlatColorFocused(unsigned int color) { mFlatColorFocused = color; }
+
+    void setFlatColorUnfocused(unsigned int color) { mFlatColorUnfocused = color; }
+
+    const std::function<void()> &getPressedFunc() const { return mPressedFunc; }
+
+    bool input(InputConfig *config, Input input) override;
+
+    void render(const glm::mat4 &parentTrans) override;
+
     virtual std::vector<HelpPrompt> getHelpPrompts() override;
 
 private:
+    unsigned int getCurTextColor() const;
+
+    void updateImage();
+
+    NinePatchComponent mBox;
+
     std::shared_ptr<Font> mFont;
+    std::unique_ptr<TextCache> mTextCache;
     std::function<void()> mPressedFunc;
 
-    bool mFocused;
-    bool mEnabled;
-    unsigned int mTextColorFocused;
-    unsigned int mTextColorUnfocused;
-
-    unsigned int getCurTextColor() const;
-    void updateImage();
+    glm::vec4 mPadding;
 
     std::string mText;
     std::string mHelpText;
-    std::unique_ptr<TextCache> mTextCache;
-    NinePatchComponent mBox;
+
+    bool mFocused;
+    bool mEnabled;
+    bool mFlatStyle;
+
+    unsigned int mTextColorFocused;
+    unsigned int mTextColorUnfocused;
+    unsigned int mFlatColorFocused;
+    unsigned int mFlatColorUnfocused;
 };
 
 #endif // ES_CORE_COMPONENTS_BUTTON_COMPONENT_H
diff --git a/es-core/src/components/ComponentGrid.cpp b/es-core/src/components/ComponentGrid.cpp
index 496cda1fd..3f73e93c0 100644
--- a/es-core/src/components/ComponentGrid.cpp
+++ b/es-core/src/components/ComponentGrid.cpp
@@ -245,26 +245,31 @@ const ComponentGrid::GridEntry* ComponentGrid::getCellAt(int x, int y) const
 
 bool ComponentGrid::input(InputConfig* config, Input input)
 {
-    const GridEntry* cursorEntry = getCellAt(mCursor);
+    const GridEntry *cursorEntry = getCellAt(mCursor);
     if (cursorEntry && cursorEntry->component->input(config, input))
         return true;
 
     if (!input.value)
         return false;
 
+    bool withinBoundary = false;
+
     if (config->isMappedLike("down", input))
-        return moveCursor(glm::ivec2{0, 1});
+        withinBoundary = moveCursor(glm::ivec2{0, 1});
 
     if (config->isMappedLike("up", input))
-        return moveCursor(glm::ivec2{0, -1});
+        withinBoundary = moveCursor(glm::ivec2{0, -1});
 
     if (config->isMappedLike("left", input))
-        return moveCursor(glm::ivec2{-1, 0});
+        withinBoundary = moveCursor(glm::ivec2{-1, 0});
 
     if (config->isMappedLike("right", input))
-        return moveCursor(glm::ivec2{1, 0});
+        withinBoundary = moveCursor(glm::ivec2{1, 0});
 
-    return false;
+    if (!withinBoundary && mPastBoundaryCallback)
+        return mPastBoundaryCallback(config, input);
+
+    return withinBoundary;
 }
 
 void ComponentGrid::resetCursor()
@@ -282,26 +287,62 @@ void ComponentGrid::resetCursor()
     }
 }
 
-bool ComponentGrid::moveCursor(glm::ivec2 dir)
-{
+bool ComponentGrid::moveCursor(glm::ivec2 dir) {
     assert(dir.x || dir.y);
 
     const glm::ivec2 origCursor{mCursor};
-    const GridEntry* currentCursorEntry = getCellAt(mCursor);
+    const GridEntry *currentCursorEntry = getCellAt(mCursor);
     glm::ivec2 searchAxis(dir.x == 0, dir.y == 0);
 
+    // Logic to handle entries that span several cells.
+    if (currentCursorEntry->dim.x > 1) {
+        if (dir.x < 0 && currentCursorEntry->pos.x == 0 && mCursor.x > currentCursorEntry->pos.x) {
+            onCursorMoved(mCursor, glm::ivec2{0, mCursor.y});
+            mCursor.x = 0;
+            return false;
+        }
+
+        if (dir.x > 0 && currentCursorEntry->pos.x + currentCursorEntry->dim.x == mGridSize.x &&
+            mCursor.x < currentCursorEntry->pos.x + currentCursorEntry->dim.x - 1) {
+            onCursorMoved(mCursor, glm::ivec2{mGridSize.x - 1, mCursor.y});
+            mCursor.x = mGridSize.x - 1;
+            return false;
+        }
+
+        if (dir.x > 0 && mCursor.x != currentCursorEntry->pos.x + currentCursorEntry->dim.x - 1)
+            dir.x = currentCursorEntry->dim.x - (mCursor.x - currentCursorEntry->pos.x);
+        else if (dir.x < 0 && mCursor.x != currentCursorEntry->pos.x)
+            dir.x = -(mCursor.x - currentCursorEntry->pos.x + 1);
+    }
+
+    if (currentCursorEntry->dim.y > 1) {
+        if (dir.y > 0 && mCursor.y != currentCursorEntry->pos.y + currentCursorEntry->dim.y - 1)
+            dir.y = currentCursorEntry->dim.y - (mCursor.y - currentCursorEntry->pos.y);
+        else if (dir.y < 0 && mCursor.y != currentCursorEntry->pos.y)
+            dir.y = -(mCursor.y - currentCursorEntry->pos.y + 1);
+    }
+
     while (mCursor.x >= 0 && mCursor.y >= 0 && mCursor.x < mGridSize.x && mCursor.y < mGridSize.y) {
         mCursor = mCursor + dir;
         glm::ivec2 curDirPos{mCursor};
-        const GridEntry* cursorEntry;
+        const GridEntry *cursorEntry;
 
         // Spread out on search axis+
         while (mCursor.x < mGridSize.x && mCursor.y < mGridSize.y && mCursor.x >= 0 &&
                mCursor.y >= 0) {
             cursorEntry = getCellAt(mCursor);
-            if (cursorEntry && cursorEntry->canFocus && cursorEntry != currentCursorEntry) {
-                onCursorMoved(origCursor, mCursor);
-                return true;
+
+            // Multi-cell entries.
+            if (cursorEntry != nullptr) {
+                if (dir.x < 0 && cursorEntry->dim.x > 1)
+                    mCursor.x = getCellAt(origCursor)->pos.x - cursorEntry->dim.x;
+                if (dir.y < 0 && cursorEntry->dim.y > 1)
+                    mCursor.y = getCellAt(origCursor)->pos.y - cursorEntry->dim.y;
+
+                if (cursorEntry->canFocus && cursorEntry != currentCursorEntry) {
+                    onCursorMoved(origCursor, mCursor);
+                    return true;
+                }
             }
             mCursor += searchAxis;
         }
@@ -326,16 +367,31 @@ bool ComponentGrid::moveCursor(glm::ivec2 dir)
     return false;
 }
 
-void ComponentGrid::onFocusLost()
-{
-    const GridEntry* cursorEntry = getCellAt(mCursor);
+void ComponentGrid::moveCursorTo(int xPos, int yPos, bool selectLeftCell) {
+    const glm::ivec2 origCursor{mCursor};
+
+    if (xPos != -1)
+        mCursor.x = xPos;
+    if (yPos != -1)
+        mCursor.y = yPos;
+
+    const GridEntry *currentCursorEntry = getCellAt(mCursor);
+
+    // If requested, select the leftmost cell of entries wider than 1 cell.
+    if (selectLeftCell && mCursor.x > currentCursorEntry->pos.x)
+        mCursor.x = currentCursorEntry->pos.x;
+
+    onCursorMoved(origCursor, mCursor);
+}
+
+void ComponentGrid::onFocusLost() {
+    const GridEntry *cursorEntry = getCellAt(mCursor);
     if (cursorEntry)
         cursorEntry->component->onFocusLost();
 }
 
-void ComponentGrid::onFocusGained()
-{
-    const GridEntry* cursorEntry = getCellAt(mCursor);
+void ComponentGrid::onFocusGained() {
+    const GridEntry *cursorEntry = getCellAt(mCursor);
     if (cursorEntry)
         cursorEntry->component->onFocusGained();
 }
diff --git a/es-core/src/components/ComponentGrid.h b/es-core/src/components/ComponentGrid.h
index c52e8271a..59f1ca852 100644
--- a/es-core/src/components/ComponentGrid.h
+++ b/es-core/src/components/ComponentGrid.h
@@ -27,49 +27,63 @@ namespace GridFlags
         BORDER_LEFT = 4,
         BORDER_RIGHT = 8
     };
-}; // namespace GridFlags
+} // namespace GridFlags
 
 // Provides basic layout of components in an X*Y grid.
-class ComponentGrid : public GuiComponent
-{
+class ComponentGrid : public GuiComponent {
 public:
-    ComponentGrid(Window* window, const glm::ivec2& gridDimensions);
+    ComponentGrid(Window *window, const glm::ivec2 &gridDimensions);
+
     virtual ~ComponentGrid();
 
-    bool removeEntry(const std::shared_ptr<GuiComponent>& comp);
+    bool removeEntry(const std::shared_ptr<GuiComponent> &comp);
 
-    void setEntry(const std::shared_ptr<GuiComponent>& comp,
-                  const glm::ivec2& pos,
+    void setEntry(const std::shared_ptr<GuiComponent> &comp,
+                  const glm::ivec2 &pos,
                   bool canFocus,
                   bool resize = true,
-                  const glm::ivec2& size = glm::ivec2{1, 1},
+                  const glm::ivec2 &size = glm::ivec2{1, 1},
                   unsigned int border = GridFlags::BORDER_NONE,
                   GridFlags::UpdateType updateType = GridFlags::UPDATE_ALWAYS);
 
-    void textInput(const std::string& text) override;
-    bool input(InputConfig* config, Input input) override;
+    void setPastBoundaryCallback(const std::function<bool(InputConfig *config, Input input)> &func) {
+        mPastBoundaryCallback = func;
+    }
+
+    void textInput(const std::string &text) override;
+
+    bool input(InputConfig *config, Input input) override;
+
     void update(int deltaTime) override;
-    void render(const glm::mat4& parentTrans) override;
+
+    void render(const glm::mat4 &parentTrans) override;
+
     void onSizeChanged() override;
 
     void resetCursor();
+
     bool cursorValid();
 
     float getColWidth(int col);
+
     float getRowHeight(int row);
 
     // If update is false, will not call an onSizeChanged() which triggers
     // a (potentially costly) repositioning + resizing of every element.
     void setColWidthPerc(int col, float width, bool update = true);
+
     // Dito.
     void setRowHeightPerc(int row, float height, bool update = true);
 
     bool moveCursor(glm::ivec2 dir);
-    void setCursorTo(const std::shared_ptr<GuiComponent>& comp);
 
-    std::shared_ptr<GuiComponent> getSelectedComponent()
-    {
-        const GridEntry* e = getCellAt(mCursor);
+    // Pass -1 for xPos or yPos to keep its axis cursor position.
+    void moveCursorTo(int xPos, int yPos, bool selectLeftCell = false);
+
+    void setCursorTo(const std::shared_ptr<GuiComponent> &comp);
+
+    std::shared_ptr<GuiComponent> getSelectedComponent() {
+        const GridEntry *e = getCellAt(mCursor);
         if (e)
             return e->component;
         else
@@ -77,6 +91,7 @@ public:
     }
 
     void onFocusLost() override;
+
     void onFocusGained() override;
 
     virtual std::vector<HelpPrompt> getHelpPrompts() override;
@@ -114,20 +129,25 @@ private:
     };
 
     // Update position and size.
-    void updateCellComponent(const GridEntry& cell);
+    void updateCellComponent(const GridEntry &cell);
+
     void updateSeparators();
 
     void onCursorMoved(glm::ivec2 from, glm::ivec2 to);
-    const GridEntry* getCellAt(int x, int y) const;
-    const GridEntry* getCellAt(const glm::ivec2& pos) const { return getCellAt(pos.x, pos.y); }
+
+    const GridEntry *getCellAt(int x, int y) const;
+
+    const GridEntry *getCellAt(const glm::ivec2 &pos) const { return getCellAt(pos.x, pos.y); }
 
     std::vector<std::vector<float>> mSeparators;
     glm::ivec2 mGridSize;
     std::vector<GridEntry> mCells;
     glm::ivec2 mCursor;
 
-    float* mRowHeights;
-    float* mColWidths;
+    std::function<bool(InputConfig *config, Input input)> mPastBoundaryCallback;
+
+    float *mRowHeights;
+    float *mColWidths;
 };
 
 #endif // ES_CORE_COMPONENTS_COMPONENT_GRID_H
diff --git a/es-core/src/components/ComponentList.cpp b/es-core/src/components/ComponentList.cpp
index 135b3df7b..230e66500 100644
--- a/es-core/src/components/ComponentList.cpp
+++ b/es-core/src/components/ComponentList.cpp
@@ -61,15 +61,20 @@ bool ComponentList::input(InputConfig* config, Input input)
     if (size() == 0)
         return false;
 
+    if (input.value &&
+        (config->isMappedTo("a", input) || config->isMappedLike("lefttrigger", input) ||
+         config->isMappedLike("righttrigger", input))) {
+        stopScrolling();
+    }
+
     // Give it to the current row's input handler.
     if (mEntries.at(mCursor).data.input_handler) {
         if (mEntries.at(mCursor).data.input_handler(config, input))
             return true;
-    }
-    else {
+    } else {
         // No input handler assigned, do the default, which is to give it
         // to the rightmost element in the row.
-        auto& row = mEntries.at(mCursor).data;
+        auto &row = mEntries.at(mCursor).data;
         if (row.elements.size()) {
             if (row.elements.back().component->input(config, input))
                 return true;
@@ -190,15 +195,16 @@ void ComponentList::render(const glm::mat4& parentTrans)
     // Draw our entries.
     std::vector<GuiComponent*> drawAfterCursor;
     bool drawAll;
-    for (unsigned int i = 0; i < mEntries.size(); i++) {
-        auto& entry = mEntries.at(i);
+    for (size_t i = 0; i < mEntries.size(); i++) {
+        auto &entry = mEntries.at(i);
         drawAll = !mFocused || i != static_cast<unsigned int>(mCursor);
         for (auto it = entry.data.elements.cbegin(); it != entry.data.elements.cend(); it++) {
             if (drawAll || it->invert_when_selected) {
                 // For the row where the cursor is at, we want to remove any hue from the
                 // font or image before inverting, as it would otherwise lead to an ugly
                 // inverted color (e.g. red inverting to a green hue).
-                if (i == mCursor && it->component->getValue() != "") {
+                if (mFocused && i == static_cast<size_t>(mCursor) &&
+                    it->component->getValue() != "") {
                     // Check if we're dealing with text or an image component.
                     bool isTextComponent = true;
                     unsigned int origColor = it->component->getColor();
diff --git a/es-core/src/components/DateTimeEditComponent.cpp b/es-core/src/components/DateTimeEditComponent.cpp
index 5796f7621..b1d6b3664 100644
--- a/es-core/src/components/DateTimeEditComponent.cpp
+++ b/es-core/src/components/DateTimeEditComponent.cpp
@@ -12,17 +12,10 @@
 #include "resources/Font.h"
 #include "utils/StringUtil.h"
 
-DateTimeEditComponent::DateTimeEditComponent(Window* window, bool alignRight, DisplayMode dispMode)
-    : GuiComponent(window)
-    , mEditing(false)
-    , mEditIndex(0)
-    , mDisplayMode(dispMode)
-    , mRelativeUpdateAccumulator(0)
-    , mColor(0x777777FF)
-    , mFont(Font::get(FONT_SIZE_SMALL, FONT_PATH_LIGHT))
-    , mUppercase(false)
-    , mAutoSize(true)
-    , mAlignRight(alignRight)
+DateTimeEditComponent::DateTimeEditComponent(Window *window, bool alignRight, DisplayMode dispMode)
+        : GuiComponent(window), mEditing(false), mEditIndex(0), mDisplayMode(dispMode), mRelativeUpdateAccumulator(0),
+          mColor(0x777777FF), mFont(Font::get(FONT_SIZE_SMALL, FONT_PATH_LIGHT)), mAlignRight(alignRight),
+          mUppercase(false), mAutoSize(true)
 {
     updateTextCache();
 }
diff --git a/es-core/src/components/FlexboxComponent.cpp b/es-core/src/components/FlexboxComponent.cpp
new file mode 100644
index 000000000..8569ea358
--- /dev/null
+++ b/es-core/src/components/FlexboxComponent.cpp
@@ -0,0 +1,219 @@
+//  SPDX-License-Identifier: MIT
+//
+//  EmulationStation Desktop Edition
+//  FlexboxComponent.cpp
+//
+//  Flexbox layout component.
+//  Used by gamelist views.
+//
+
+#include "components/FlexboxComponent.h"
+#include <numeric>
+
+#include "Settings.h"
+#include "ThemeData.h"
+#include "resources/TextureResource.h"
+
+FlexboxComponent::FlexboxComponent(Window* window)
+    : GuiComponent(window)
+    , mDirection(DEFAULT_DIRECTION)
+    , mAlign(DEFAULT_ALIGN)
+    , mItemsPerLine(DEFAULT_ITEMS_PER_LINE)
+    , mItemWidth(DEFAULT_ITEM_SIZE_X)
+{
+    // Initialize item margins.
+    mItemMargin = glm::vec2{DEFAULT_MARGIN_X, DEFAULT_MARGIN_Y};
+
+    // Layout validity
+    mLayoutValid = false;
+}
+
+// Getters/Setters for rendering options.
+void FlexboxComponent::setDirection(std::string value)
+{
+    mDirection = value;
+    mLayoutValid = false;
+}
+std::string FlexboxComponent::getDirection() { return mDirection; }
+void FlexboxComponent::setAlign(std::string value)
+{
+    mAlign = value;
+    mLayoutValid = false;
+}
+std::string FlexboxComponent::getAlign() { return mAlign; }
+void FlexboxComponent::setItemsPerLine(unsigned int value)
+{
+    mItemsPerLine = value;
+    mLayoutValid = false;
+}
+unsigned int FlexboxComponent::getItemsPerLine() { return mItemsPerLine; }
+void FlexboxComponent::setItemMargin(glm::vec2 value)
+{
+    mItemMargin = value;
+    mLayoutValid = false;
+}
+glm::vec2 FlexboxComponent::getItemMargin() { return mItemMargin; }
+void FlexboxComponent::setItemWidth(float value)
+{
+    mItemWidth = value;
+    mLayoutValid = false;
+}
+float FlexboxComponent::getItemWidth() { return mItemWidth; }
+
+void FlexboxComponent::onSizeChanged() {
+    mLayoutValid = false;
+}
+
+void FlexboxComponent::computeLayout()
+{
+    // Start placing items in the top-left.
+    float anchorX = 0;
+    float anchorY = 0;
+    float anchorOriginX = 0;
+    float anchorOriginY = 0;
+
+    // Translation directions when placing items.
+    glm::vec2 directionLine = {1, 0};
+    glm::vec2 directionRow = {0, 1};
+
+    // Change direction.
+    if (mDirection == DIRECTION_COLUMN) {
+        directionLine = {0, 1};
+        directionRow = {1, 0};
+    }
+
+    // Set children sizes.
+    glm::vec2 maxItemSize = {0.0f, 0.0f};
+    for (auto i : mChildren) {
+        auto oldSize = i->getSize();
+        if (oldSize.x == 0)
+            oldSize.x = DEFAULT_ITEM_SIZE_X;
+        glm::vec2 newSize = {mItemWidth, oldSize.y * (mItemWidth / oldSize.x)};
+        i->setSize(newSize);
+        maxItemSize = {std::max(maxItemSize.x, newSize.x), std::max(maxItemSize.y, newSize.y)};
+    }
+
+    // Pre-compute layout parameters.
+    int n = mChildren.size();
+    int nLines = std::max(1, (int) std::ceil(n / std::max(1, (int) mItemsPerLine)));
+    float lineWidth =
+            (mDirection == "row" ? (maxItemSize.y + mItemMargin.y) : (maxItemSize.x + mItemMargin.x));
+    float anchorXStart = anchorX;
+    float anchorYStart = anchorY;
+
+    // Compute total container size.
+    glm::vec2 totalSize = {mItemMargin.x, mItemMargin.y};
+    if (mDirection == "row") {
+        totalSize.x += (mItemMargin.x + mItemWidth) * mItemsPerLine;
+        totalSize.y += (mItemMargin.y + maxItemSize.y) * nLines;
+    } else {
+        totalSize.x += (mItemMargin.x + mItemWidth) * nLines;
+        totalSize.y += (mItemMargin.y + maxItemSize.y) * mItemsPerLine;
+    }
+
+    // Iterate through the children.
+    for (int i = 0; i < n; i++) {
+        GuiComponent *child = mChildren[i];
+        auto size = child->getSize();
+
+        // Top-left anchor position.
+        float x = anchorX - anchorOriginX * size.x;
+        float y = anchorY - anchorOriginY * size.y;
+
+        // Apply item margin.
+        x += mItemMargin.x * (directionLine.x >= 0.0f ? 1.0f : -1.0f);
+        y += mItemMargin.y * (directionLine.y >= 0.0f ? 1.0f : -1.0f);
+
+        // Apply alignment
+        if (mAlign == ITEM_ALIGN_END) {
+            x += directionLine.x == 0 ? (maxItemSize.x - size.x) : 0;
+            y += directionLine.y == 0 ? (maxItemSize.y - size.y) : 0;
+        } else if (mAlign == ITEM_ALIGN_CENTER) {
+            x += directionLine.x == 0 ? (maxItemSize.x - size.x) / 2 : 0;
+            y += directionLine.y == 0 ? (maxItemSize.y - size.y) / 2 : 0;
+        } else if (mAlign == ITEM_ALIGN_STRETCH && mDirection == "row") {
+            child->setSize(child->getSize().x, maxItemSize.y);
+        }
+
+        // Apply origin.
+        if (mOrigin.x > 0 && mOrigin.x <= 1)
+            x -= mOrigin.x * totalSize.x;
+        if (mOrigin.y > 0 && mOrigin.y <= 1)
+            y -= mOrigin.y * totalSize.y;
+
+        // Store final item position.
+        child->setPosition(getPosition().x + x, getPosition().y + y);
+
+        // Translate anchor.
+        if ((i + 1) % std::max(1, (int) mItemsPerLine) != 0) {
+            // Translate on same line.
+            anchorX += (size.x + mItemMargin.x) * directionLine.x;
+            anchorY += (size.y + mItemMargin.y) * directionLine.y;
+        }
+        else {
+            // Translate to first position of next line.
+            if (directionRow.x == 0) {
+                anchorY += lineWidth * directionRow.y;
+                anchorX = anchorXStart;
+            } else {
+                anchorX += lineWidth * directionRow.x;
+                anchorY = anchorYStart;
+            }
+        }
+    }
+
+    mLayoutValid = true;
+}
+
+void FlexboxComponent::render(const glm::mat4& parentTrans) {
+    if (!isVisible())
+        return;
+
+    if (!mLayoutValid)
+        computeLayout();
+
+    renderChildren(parentTrans);
+}
+
+void FlexboxComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
+                                  const std::string& view,
+                                  const std::string& element,
+                                  unsigned int properties)
+{
+    using namespace ThemeFlags;
+
+    glm::vec2 scale{getParent() ? getParent()->getSize() :
+                                  glm::vec2{static_cast<float>(Renderer::getScreenWidth()),
+                                            static_cast<float>(Renderer::getScreenHeight())}};
+
+    // TODO: How to do this without explicit 'badges' property?
+    const ThemeData::ThemeElement* elem = theme->getElement(view, element, "badges");
+    if (!elem)
+        return;
+
+    if (properties & DIRECTION && elem->has("direction"))
+        mDirection = elem->get<std::string>("direction");
+
+    if (elem->has("align"))
+        mAlign = elem->get<std::string>("align");
+
+    if (elem->has("itemsPerLine"))
+        mItemsPerLine = elem->get<float>("itemsPerLine");
+
+    if (elem->has("itemMargin"))
+        mItemMargin = elem->get<glm::vec2>("itemMargin");
+
+    if (elem->has("itemWidth"))
+        mItemWidth = elem->get<float>("itemWidth") * scale.x;
+
+    GuiComponent::applyTheme(theme, view, element, properties);
+
+    // Layout no longer valid.
+    mLayoutValid = false;
+}
+
+std::vector<HelpPrompt> FlexboxComponent::getHelpPrompts()
+{
+    std::vector<HelpPrompt> prompts;
+    return prompts;
+}
diff --git a/es-core/src/components/FlexboxComponent.h b/es-core/src/components/FlexboxComponent.h
new file mode 100644
index 000000000..731a00c8e
--- /dev/null
+++ b/es-core/src/components/FlexboxComponent.h
@@ -0,0 +1,72 @@
+//  SPDX-License-Identifier: MIT
+//
+//  EmulationStation Desktop Edition
+//  FlexboxComponent.h
+//
+//  Flexbox layout component.
+//  Used by gamelist views.
+//
+
+#ifndef ES_APP_COMPONENTS_FLEXBOX_COMPONENT_H
+#define ES_APP_COMPONENTS_FLEXBOX_COMPONENT_H
+
+#include "GuiComponent.h"
+#include "renderers/Renderer.h"
+
+// Definitions for the option values.
+#define DIRECTION_ROW "row"
+#define DIRECTION_COLUMN "column"
+#define ITEM_ALIGN_START "start"
+#define ITEM_ALIGN_END "end"
+#define ITEM_ALIGN_CENTER "center"
+#define ITEM_ALIGN_STRETCH "stretch"
+
+// Default values.
+#define DEFAULT_DIRECTION DIRECTION_ROW
+#define DEFAULT_ALIGN ITEM_ALIGN_CENTER
+#define DEFAULT_ITEMS_PER_LINE 4
+#define DEFAULT_MARGIN_X 10.0f
+#define DEFAULT_MARGIN_Y 10.0f
+#define DEFAULT_ITEM_SIZE_X 64.0f
+
+class TextureResource;
+
+class FlexboxComponent : public GuiComponent
+{
+public:
+    FlexboxComponent(Window* window);
+
+    // Getters/Setters for rendering options.
+    void setDirection(std::string value);
+    std::string getDirection();
+    void setAlign(std::string value);
+    std::string getAlign();
+    void setItemsPerLine(unsigned int value);
+    unsigned int getItemsPerLine();
+    void setItemMargin(glm::vec2 value);
+    glm::vec2 getItemMargin();
+    void setItemWidth(float value);
+    float getItemWidth();
+
+    void onSizeChanged() override;
+    void render(const glm::mat4& parentTrans) override;
+    virtual void applyTheme(const std::shared_ptr<ThemeData>& theme,
+                            const std::string& view,
+                            const std::string& element,
+                            unsigned int properties) override;
+    virtual std::vector<HelpPrompt> getHelpPrompts() override;
+
+private:
+    // Calculate flexbox layout.
+    void computeLayout();
+
+    // Rendering options.
+    std::string mDirection;
+    std::string mAlign;
+    unsigned int mItemsPerLine;
+    glm::vec2 mItemMargin;
+    float mItemWidth;
+    bool mLayoutValid;
+};
+
+#endif // ES_APP_COMPONENTS_FLEXBOX_COMPONENT_H
diff --git a/es-core/src/components/GridTileComponent.cpp b/es-core/src/components/GridTileComponent.cpp
index dbe914da5..99cb9794d 100644
--- a/es-core/src/components/GridTileComponent.cpp
+++ b/es-core/src/components/GridTileComponent.cpp
@@ -315,7 +315,7 @@ std::shared_ptr<TextureResource> GridTileComponent::getTexture()
         return mImage->getTexture();
 
     return nullptr;
-};
+}
 
 void GridTileComponent::forceSize(glm::vec2 size, float selectedZoom)
 {
diff --git a/es-core/src/components/HelpComponent.cpp b/es-core/src/components/HelpComponent.cpp
index 4a6bfb28b..3729f5a32 100644
--- a/es-core/src/components/HelpComponent.cpp
+++ b/es-core/src/components/HelpComponent.cpp
@@ -37,32 +37,36 @@ void HelpComponent::assignIcons()
                                   ":/help/dpad_updown.svg" :
                                   mStyle.mCustomButtons.dpad_updown;
     sIconPathMap["left/right"] = mStyle.mCustomButtons.dpad_leftright.empty() ?
-                                     ":/help/dpad_leftright.svg" :
-                                     mStyle.mCustomButtons.dpad_leftright;
+                                 ":/help/dpad_leftright.svg" :
+                                 mStyle.mCustomButtons.dpad_leftright;
     sIconPathMap["up/down/left/right"] = mStyle.mCustomButtons.dpad_all.empty() ?
-                                             ":/help/dpad_all.svg" :
-                                             mStyle.mCustomButtons.dpad_all;
+                                         ":/help/dpad_all.svg" :
+                                         mStyle.mCustomButtons.dpad_all;
     sIconPathMap["thumbstickclick"] = mStyle.mCustomButtons.thumbstick_click.empty() ?
-                                          ":/help/thumbstick_click.svg" :
-                                          mStyle.mCustomButtons.thumbstick_click;
+                                      ":/help/thumbstick_click.svg" :
+                                      mStyle.mCustomButtons.thumbstick_click;
     sIconPathMap["l"] = mStyle.mCustomButtons.button_l.empty() ? ":/help/button_l.svg" :
-                                                                 mStyle.mCustomButtons.button_l;
+                        mStyle.mCustomButtons.button_l;
     sIconPathMap["r"] = mStyle.mCustomButtons.button_r.empty() ? ":/help/button_r.svg" :
-                                                                 mStyle.mCustomButtons.button_r;
+                        mStyle.mCustomButtons.button_r;
     sIconPathMap["lr"] = mStyle.mCustomButtons.button_lr.empty() ? ":/help/button_lr.svg" :
-                                                                   mStyle.mCustomButtons.button_lr;
+                         mStyle.mCustomButtons.button_lr;
+    sIconPathMap["lt"] = mStyle.mCustomButtons.button_lt.empty() ? ":/help/button_lt.svg" :
+                         mStyle.mCustomButtons.button_lt;
+    sIconPathMap["rt"] = mStyle.mCustomButtons.button_rt.empty() ? ":/help/button_rt.svg" :
+                         mStyle.mCustomButtons.button_rt;
 
     // These graphics files are custom per controller type.
     if (controllerType == "snes") {
         sIconPathMap["a"] = mStyle.mCustomButtons.button_a_SNES.empty() ?
-                                ":/help/button_a_SNES.svg" :
-                                mStyle.mCustomButtons.button_a_SNES;
+                            ":/help/button_a_SNES.svg" :
+                            mStyle.mCustomButtons.button_a_SNES;
         sIconPathMap["b"] = mStyle.mCustomButtons.button_b_SNES.empty() ?
-                                ":/help/button_b_SNES.svg" :
-                                mStyle.mCustomButtons.button_b_SNES;
+                            ":/help/button_b_SNES.svg" :
+                            mStyle.mCustomButtons.button_b_SNES;
         sIconPathMap["x"] = mStyle.mCustomButtons.button_x_SNES.empty() ?
-                                ":/help/button_x_SNES.svg" :
-                                mStyle.mCustomButtons.button_x_SNES;
+                            ":/help/button_x_SNES.svg" :
+                            mStyle.mCustomButtons.button_x_SNES;
         sIconPathMap["y"] = mStyle.mCustomButtons.button_y_SNES.empty() ?
                                 ":/help/button_y_SNES.svg" :
                                 mStyle.mCustomButtons.button_y_SNES;
diff --git a/es-core/src/components/IList.h b/es-core/src/components/IList.h
index 566c34137..fcecbcc78 100644
--- a/es-core/src/components/IList.h
+++ b/es-core/src/components/IList.h
@@ -137,7 +137,7 @@ public:
     const UserData& getNext() const
     {
         // If there is a next entry, then return it, otherwise return the current entry.
-        if (mCursor + 1 < mEntries.size())
+        if (mCursor + 1 < static_cast<int>(mEntries.size()))
             return mEntries.at(mCursor + 1).object;
         else
             return mEntries.at(mCursor).object;
diff --git a/es-core/src/components/ImageComponent.cpp b/es-core/src/components/ImageComponent.cpp
index e292f180a..5891074d1 100644
--- a/es-core/src/components/ImageComponent.cpp
+++ b/es-core/src/components/ImageComponent.cpp
@@ -27,23 +27,11 @@ glm::vec2 ImageComponent::getSize() const
     return GuiComponent::getSize() * (mBottomRightCrop - mTopLeftCrop);
 }
 
-ImageComponent::ImageComponent(Window* window, bool forceLoad, bool dynamic)
-    : GuiComponent(window)
-    , mTargetIsMax(false)
-    , mTargetIsMin(false)
-    , mFlipX(false)
-    , mFlipY(false)
-    , mTargetSize(0, 0)
-    , mColorShift(0xFFFFFFFF)
-    , mColorShiftEnd(0xFFFFFFFF)
-    , mColorGradientHorizontal(true)
-    , mForceLoad(forceLoad)
-    , mDynamic(dynamic)
-    , mFadeOpacity(0)
-    , mFading(false)
-    , mRotateByTargetSize(false)
-    , mTopLeftCrop(0.0f, 0.0f)
-    , mBottomRightCrop(1.0f, 1.0f)
+ImageComponent::ImageComponent(Window *window, bool forceLoad, bool dynamic)
+        : GuiComponent(window), mTargetSize({}), mFlipX(false), mFlipY(false), mTargetIsMax(false), mTargetIsMin(false),
+          mColorShift(0xFFFFFFFF), mColorShiftEnd(0xFFFFFFFF), mColorGradientHorizontal(true), mFadeOpacity(0),
+          mFading(false), mForceLoad(forceLoad), mDynamic(dynamic), mRotateByTargetSize(false), mTopLeftCrop({}),
+          mBottomRightCrop(1.0f, 1.0f)
 {
     updateColors();
 }
@@ -77,7 +65,7 @@ void ImageComponent::resize()
                 // This will be mTargetSize.x. We can't exceed it, nor be lower than it.
                 mSize.x *= resizeScale.x;
                 // We need to make sure we're not creating an image larger than max size.
-                mSize.y = std::min(floorf(mSize.y *= resizeScale.x), mTargetSize.y);
+                mSize.y = std::min(floorf(mSize.y * resizeScale.x), mTargetSize.y);
             }
             else {
                 // This will be mTargetSize.y(). We can't exceed it.
diff --git a/es-core/src/components/ImageComponent.h b/es-core/src/components/ImageComponent.h
index 15f2c27f7..ca537c62f 100644
--- a/es-core/src/components/ImageComponent.h
+++ b/es-core/src/components/ImageComponent.h
@@ -101,7 +101,10 @@ public:
 private:
     glm::vec2 mTargetSize;
 
-    bool mFlipX, mFlipY, mTargetIsMax, mTargetIsMin;
+    bool mFlipX;
+    bool mFlipY;
+    bool mTargetIsMax;
+    bool mTargetIsMin;
 
     // Calculates the correct mSize from our resizing information (set by setResize/setMaxSize).
     // Used internally whenever the resizing parameters or texture change.
diff --git a/es-core/src/components/ImageGridComponent.h b/es-core/src/components/ImageGridComponent.h
index 9abbc8531..a7124ad67 100644
--- a/es-core/src/components/ImageGridComponent.h
+++ b/es-core/src/components/ImageGridComponent.h
@@ -394,7 +394,7 @@ template <typename T> void ImageGridComponent<T>::onCursorChanged(const CursorSt
 
     bool direction = mCursor >= mLastCursor;
     int diff = direction ? mCursor - mLastCursor : mLastCursor - mCursor;
-    if (isScrollLoop() && diff == mEntries.size() - 1)
+    if (isScrollLoop() && diff == static_cast<int>(mEntries.size()) - 1)
         direction = !direction;
 
     int oldStart = mStartPosition;
@@ -426,18 +426,18 @@ template <typename T> void ImageGridComponent<T>::onCursorChanged(const CursorSt
         std::shared_ptr<GridTileComponent> newTile = nullptr;
 
         int oldIdx = mLastCursor - mStartPosition + (dimOpposite * EXTRAITEMS);
-        if (oldIdx >= 0 && oldIdx < mTiles.size())
+        if (oldIdx >= 0 && oldIdx < static_cast<int>(mTiles.size()))
             oldTile = mTiles[oldIdx];
 
         int newIdx = mCursor - mStartPosition + (dimOpposite * EXTRAITEMS);
         if (isScrollLoop()) {
             if (newIdx < 0)
                 newIdx += static_cast<int>(mEntries.size());
-            else if (newIdx >= mTiles.size())
+            else if (newIdx >= static_cast<int>(mTiles.size()))
                 newIdx -= static_cast<int>(mEntries.size());
         }
 
-        if (newIdx >= 0 && newIdx < mTiles.size())
+        if (newIdx >= 0 && newIdx < static_cast<int>(mTiles.size()))
             newTile = mTiles[newIdx];
 
         for (auto it = mTiles.begin(); it != mTiles.end(); it++) {
@@ -670,7 +670,7 @@ void ImageGridComponent<T>::updateTileAtPos(int tilePos,
                 int dif = mCursor - tilePos;
                 int idx = mLastCursor - dif;
 
-                if (idx < 0 || idx >= mTiles.size())
+                if (idx < 0 || idx >= static_cast<int>(mTiles.size()))
                     idx = 0;
 
                 glm::vec3 pos{mTiles.at(idx)->getBackgroundPosition()};
@@ -720,8 +720,10 @@ template <typename T> bool ImageGridComponent<T>::isScrollLoop()
     if (!mScrollLoop)
         return false;
     if (isVertical())
-        return (mGridDimension.x * (mGridDimension.y - 2 * EXTRAITEMS)) <= mEntries.size();
-    return (mGridDimension.y * (mGridDimension.x - 2 * EXTRAITEMS)) <= mEntries.size();
+        return (mGridDimension.x * (mGridDimension.y - 2 * EXTRAITEMS)) <=
+               static_cast<int>(mEntries.size());
+    return (mGridDimension.y * (mGridDimension.x - 2 * EXTRAITEMS)) <=
+           static_cast<int>(mEntries.size());
 }
 
 #endif // ES_CORE_COMPONENTS_IMAGE_GRID_COMPONENT_H
diff --git a/es-core/src/components/NinePatchComponent.cpp b/es-core/src/components/NinePatchComponent.cpp
index 4de95d9f7..d908499fd 100644
--- a/es-core/src/components/NinePatchComponent.cpp
+++ b/es-core/src/components/NinePatchComponent.cpp
@@ -17,11 +17,11 @@ NinePatchComponent::NinePatchComponent(Window* window,
                                        unsigned int edgeColor,
                                        unsigned int centerColor)
     : GuiComponent(window)
+    , mVertices(nullptr)
+    , mPath(path)
     , mCornerSize(16.0f, 16.0f)
     , mEdgeColor(edgeColor)
     , mCenterColor(centerColor)
-    , mPath(path)
-    , mVertices(nullptr)
 {
     if (!mPath.empty())
         buildVertices();
@@ -95,13 +95,13 @@ void NinePatchComponent::buildVertices()
         const glm::vec2 imgPos{imgPosX[sliceX], imgPosY[sliceY]};
         const glm::vec2 imgSize{imgSizeX[sliceX], imgSizeY[sliceY]};
         const glm::vec2 texPos{texPosX[sliceX], texPosY[sliceY]};
-        const glm::vec2 texSize{texSizeX[sliceX], texSizeY[sliceY]};
+        const glm::vec2 texSizeSlice{texSizeX[sliceX], texSizeY[sliceY]};
 
         // clang-format off
-        mVertices[v + 1] = {{imgPos.x            , imgPos.y            }, {texPos.x,             texPos.y            }, 0};
-        mVertices[v + 2] = {{imgPos.x            , imgPos.y + imgSize.y}, {texPos.x,             texPos.y + texSize.y}, 0};
-        mVertices[v + 3] = {{imgPos.x + imgSize.x, imgPos.y            }, {texPos.x + texSize.x, texPos.y            }, 0};
-        mVertices[v + 4] = {{imgPos.x + imgSize.x, imgPos.y + imgSize.y}, {texPos.x + texSize.x, texPos.y + texSize.y}, 0};
+        mVertices[v + 1] = {{imgPos.x            , imgPos.y            }, {texPos.x,                  texPos.y                 }, 0};
+        mVertices[v + 2] = {{imgPos.x            , imgPos.y + imgSize.y}, {texPos.x,                  texPos.y + texSizeSlice.y}, 0};
+        mVertices[v + 3] = {{imgPos.x + imgSize.x, imgPos.y            }, {texPos.x + texSizeSlice.x, texPos.y                 }, 0};
+        mVertices[v + 4] = {{imgPos.x + imgSize.x, imgPos.y + imgSize.y}, {texPos.x + texSizeSlice.x, texPos.y + texSizeSlice.y}, 0};
         // clang-format on
 
         // Round vertices.
diff --git a/es-core/src/components/OptionListComponent.h b/es-core/src/components/OptionListComponent.h
index fc21ce2f5..1510625a4 100644
--- a/es-core/src/components/OptionListComponent.h
+++ b/es-core/src/components/OptionListComponent.h
@@ -288,9 +288,9 @@ private:
                         OptionListComponent<T>* parent,
                         const std::string& title)
             : GuiComponent(window)
-            , mHelpStyle(helpstyle)
             , mMenu(window, title.c_str())
             , mParent(parent)
+            , mHelpStyle(helpstyle)
         {
             auto font = Font::get(FONT_SIZE_MEDIUM);
             ComponentListRow row;
diff --git a/es-core/src/components/RatingComponent.cpp b/es-core/src/components/RatingComponent.cpp
index 1751d0f46..6c2c22c6f 100644
--- a/es-core/src/components/RatingComponent.cpp
+++ b/es-core/src/components/RatingComponent.cpp
@@ -15,12 +15,12 @@
 
 RatingComponent::RatingComponent(Window* window, bool colorizeChanges)
     : GuiComponent(window)
+    , mColorOriginalValue(DEFAULT_COLORSHIFT)
+    , mColorChangedValue(DEFAULT_COLORSHIFT)
     , mColorShift(DEFAULT_COLORSHIFT)
     , mColorShiftEnd(DEFAULT_COLORSHIFT)
     , mUnfilledColor(DEFAULT_COLORSHIFT)
     , mColorizeChanges(colorizeChanges)
-    , mColorOriginalValue(DEFAULT_COLORSHIFT)
-    , mColorChangedValue(DEFAULT_COLORSHIFT)
 {
     mFilledTexture = TextureResource::get(":/graphics/star_filled.svg", true);
     mUnfilledTexture = TextureResource::get(":/graphics/star_unfilled.svg", true);
diff --git a/es-core/src/components/ScrollableContainer.cpp b/es-core/src/components/ScrollableContainer.cpp
index 8a342a641..a6b39cf7f 100644
--- a/es-core/src/components/ScrollableContainer.cpp
+++ b/es-core/src/components/ScrollableContainer.cpp
@@ -16,13 +16,13 @@
 
 ScrollableContainer::ScrollableContainer(Window* window)
     : GuiComponent(window)
+    , mScrollPos({})
+    , mScrollDir({})
+    , mFontSize(0.0f)
     , mAutoScrollDelay(0)
     , mAutoScrollSpeed(0)
     , mAutoScrollAccumulator(0)
-    , mScrollPos(0, 0)
-    , mScrollDir(0, 0)
     , mAutoScrollResetAccumulator(0)
-    , mFontSize(0.0f)
 {
     // Set the modifier to get equivalent scrolling speed regardless of screen resolution.
     mResolutionModifier = Renderer::getScreenHeightModifier();
diff --git a/es-core/src/components/SliderComponent.cpp b/es-core/src/components/SliderComponent.cpp
index 35c84a26a..bd0c40696 100644
--- a/es-core/src/components/SliderComponent.cpp
+++ b/es-core/src/components/SliderComponent.cpp
@@ -110,8 +110,6 @@ void SliderComponent::setValue(float value)
     onValueChanged();
 }
 
-float SliderComponent::getValue() { return mValue; }
-
 void SliderComponent::onSizeChanged()
 {
     if (!mSuffix.empty())
diff --git a/es-core/src/components/SliderComponent.h b/es-core/src/components/SliderComponent.h
index 13b5d3153..1e6214bc8 100644
--- a/es-core/src/components/SliderComponent.h
+++ b/es-core/src/components/SliderComponent.h
@@ -19,13 +19,16 @@ class TextCache;
 class SliderComponent : public GuiComponent
 {
 public:
+    using GuiComponent::getValue;
+    using GuiComponent::setValue;
+
     // Minimum value (far left of the slider), maximum value (far right of the slider),
     // increment size (how much pressing L/R moves by), unit to display (optional).
     SliderComponent(
         Window* window, float min, float max, float increment, const std::string& suffix = "");
 
-    void setValue(float val);
-    float getValue();
+    void setValue(float value);
+    float getValue() { return mValue; }
 
     bool input(InputConfig* config, Input input) override;
     void update(int deltaTime) override;
diff --git a/es-core/src/components/TextComponent.cpp b/es-core/src/components/TextComponent.cpp
index 3b268955e..2af422b19 100644
--- a/es-core/src/components/TextComponent.cpp
+++ b/es-core/src/components/TextComponent.cpp
@@ -15,16 +15,16 @@
 TextComponent::TextComponent(Window* window)
     : GuiComponent(window)
     , mFont(Font::get(FONT_SIZE_MEDIUM))
-    , mUppercase(false)
     , mColor(0x000000FF)
+    , mBgColor(0)
+    , mMargin(0.0f)
+    , mRenderBackground(false)
+    , mUppercase(false)
     , mAutoCalcExtent(true, true)
     , mHorizontalAlignment(ALIGN_LEFT)
     , mVerticalAlignment(ALIGN_CENTER)
     , mLineSpacing(1.5f)
     , mNoTopMargin(false)
-    , mBgColor(0)
-    , mMargin(0.0f)
-    , mRenderBackground(false)
 {
 }
 
@@ -39,16 +39,16 @@ TextComponent::TextComponent(Window* window,
                              float margin)
     : GuiComponent(window)
     , mFont(nullptr)
-    , mUppercase(false)
     , mColor(0x000000FF)
+    , mBgColor(0)
+    , mMargin(margin)
+    , mRenderBackground(false)
+    , mUppercase(false)
     , mAutoCalcExtent(true, true)
     , mHorizontalAlignment(align)
     , mVerticalAlignment(ALIGN_CENTER)
     , mLineSpacing(1.5f)
     , mNoTopMargin(false)
-    , mBgColor(0)
-    , mMargin(margin)
-    , mRenderBackground(false)
 {
     setFont(font);
     setColor(color);
diff --git a/es-core/src/components/TextEditComponent.cpp b/es-core/src/components/TextEditComponent.cpp
index 7ed097944..e333a96d0 100644
--- a/es-core/src/components/TextEditComponent.cpp
+++ b/es-core/src/components/TextEditComponent.cpp
@@ -10,25 +10,27 @@
 
 #include "utils/StringUtil.h"
 
-#define TEXT_PADDING_HORIZ 10.0f
+#define TEXT_PADDING_HORIZ 12.0f
 #define TEXT_PADDING_VERT 2.0f
 
 #define CURSOR_REPEAT_START_DELAY 500
 #define CURSOR_REPEAT_SPEED 28 // Lower is faster.
 
+#define BLINKTIME 1000
+
 TextEditComponent::TextEditComponent(Window* window)
-    : GuiComponent(window)
-    , mBox(window, ":/graphics/textinput.svg")
-    , mFocused(false)
-    , mScrollOffset(0.0f, 0.0f)
-    , mCursor(0)
-    , mEditing(false)
-    , mFont(Font::get(FONT_SIZE_MEDIUM, FONT_PATH_LIGHT))
-    , mCursorRepeatDir(0)
+    : GuiComponent{window}
+    , mFocused{false}
+    , mEditing{false}
+    , mCursor{0}
+    , mBlinkTime{0}
+    , mCursorRepeatDir{0}
+    , mScrollOffset{0.0f, 0.0f}
+    , mBox{window, ":/graphics/textinput.svg"}
+    , mFont{Font::get(FONT_SIZE_MEDIUM, FONT_PATH_LIGHT)}
 {
     addChild(&mBox);
     onFocusLost();
-    mResolutionAdjustment = -(34.0f * Renderer::getScreenWidthModifier() - 34.0f);
     setSize(4096, mFont->getHeight() + (TEXT_PADDING_VERT * Renderer::getScreenHeightModifier()));
 }
 
@@ -36,6 +38,7 @@ void TextEditComponent::onFocusGained()
 {
     mFocused = true;
     mBox.setImagePath(":/graphics/textinput_focused.svg");
+    startEditing();
 }
 
 void TextEditComponent::onFocusLost()
@@ -46,9 +49,9 @@ void TextEditComponent::onFocusLost()
 
 void TextEditComponent::onSizeChanged()
 {
-    mBox.fitTo(mSize, glm::vec3{},
-               glm::vec2{-34.0f + mResolutionAdjustment,
-                         -32.0f - (TEXT_PADDING_VERT * Renderer::getScreenHeightModifier())});
+    mBox.fitTo(
+        mSize, glm::vec3{},
+        glm::vec2{-34.0f, -32.0f - (TEXT_PADDING_VERT * Renderer::getScreenHeightModifier())});
     onTextChanged(); // Wrap point probably changed.
 }
 
@@ -62,6 +65,7 @@ void TextEditComponent::setValue(const std::string& val)
 void TextEditComponent::textInput(const std::string& text)
 {
     if (mEditing) {
+        mBlinkTime = 0;
         mCursorRepeatDir = 0;
         if (text[0] == '\b') {
             if (mCursor > 0) {
@@ -80,19 +84,35 @@ void TextEditComponent::textInput(const std::string& text)
     onCursorChanged();
 }
 
+std::string TextEditComponent::getValue() const
+{
+    if (mText.empty())
+        return "";
+
+    // If mText only contains whitespace characters, then return an empty string.
+    if (std::find_if(mText.cbegin(), mText.cend(), [](char c) {
+            return !std::isspace(static_cast<unsigned char>(c));
+        }) == mText.cend()) {
+        return "";
+    }
+    else {
+        return mText;
+    }
+}
+
 void TextEditComponent::startEditing()
 {
-    if (!isMultiline())
-        setCursor(mText.size());
     SDL_StartTextInput();
     mEditing = true;
     updateHelpPrompts();
+    mBlinkTime = BLINKTIME / 6;
 }
 
 void TextEditComponent::stopEditing()
 {
     SDL_StopTextInput();
     mEditing = false;
+    mCursorRepeatDir = 0;
     updateHelpPrompts();
 }
 
@@ -141,41 +161,33 @@ bool TextEditComponent::input(InputConfig* config, Input input)
             return true;
         }
 
-        // Done editing (accept changes).
-        if ((config->getDeviceId() == DEVICE_KEYBOARD && input.id == SDLK_ESCAPE) ||
-            (config->getDeviceId() != DEVICE_KEYBOARD &&
-             (config->isMappedTo("a", input) || config->isMappedTo("b", input)))) {
-            mTextOrig = mText;
-            stopEditing();
-            return true;
-        }
-        else if (cursor_left || cursor_right) {
+        if (cursor_left || cursor_right) {
+            mBlinkTime = 0;
             mCursorRepeatDir = cursor_left ? -1 : 1;
             mCursorRepeatTimer = -(CURSOR_REPEAT_START_DELAY - CURSOR_REPEAT_SPEED);
             moveCursor(mCursorRepeatDir);
         }
-        else if (cursor_up) {
-            // TODO
-        }
+        // Stop editing and let the button down event be captured by the parent component.
         else if (cursor_down) {
-            // TODO
+            stopEditing();
+            return false;
         }
         else if (shoulder_left || shoulder_right) {
+            mBlinkTime = 0;
             mCursorRepeatDir = shoulder_left ? -10 : 10;
             mCursorRepeatTimer = -(CURSOR_REPEAT_START_DELAY - CURSOR_REPEAT_SPEED);
             moveCursor(mCursorRepeatDir);
         }
         // Jump to beginning of text.
         else if (trigger_left) {
+            mBlinkTime = 0;
             setCursor(0);
         }
         // Jump to end of text.
         else if (trigger_right) {
+            mBlinkTime = 0;
             setCursor(mText.length());
         }
-        else if (config->getDeviceId() != DEVICE_KEYBOARD && config->isMappedTo("y", input)) {
-            textInput("\b");
-        }
         else if (config->getDeviceId() == DEVICE_KEYBOARD) {
             switch (input.id) {
                 case SDLK_HOME: {
@@ -187,7 +199,7 @@ bool TextEditComponent::input(InputConfig* config, Input input)
                     break;
                 }
                 case SDLK_DELETE: {
-                    if (mCursor < mText.length()) {
+                    if (mCursor < static_cast<int>(mText.length())) {
                         // Fake as Backspace one char to the right.
                         moveCursor(1);
                         textInput("\b");
@@ -207,6 +219,10 @@ void TextEditComponent::update(int deltaTime)
 {
     updateCursorRepeat(deltaTime);
     GuiComponent::update(deltaTime);
+
+    mBlinkTime += deltaTime;
+    if (mBlinkTime >= BLINKTIME)
+        mBlinkTime = 0;
 }
 
 void TextEditComponent::updateCursorRepeat(int deltaTime)
@@ -216,6 +232,7 @@ void TextEditComponent::updateCursorRepeat(int deltaTime)
 
     mCursorRepeatTimer += deltaTime;
     while (mCursorRepeatTimer >= CURSOR_REPEAT_SPEED) {
+        mBlinkTime = 0;
         moveCursor(mCursorRepeatDir);
         mCursorRepeatTimer -= CURSOR_REPEAT_SPEED;
     }
@@ -244,7 +261,7 @@ void TextEditComponent::onTextChanged()
         mFont->buildTextCache(wrappedText, 0.0f, 0.0f, 0x77777700 | getOpacity()));
 
     if (mCursor > static_cast<int>(mText.length()))
-        mCursor = static_cast<unsigned int>(mText.length());
+        mCursor = static_cast<int>(mText.length());
 }
 
 void TextEditComponent::onCursorChanged()
@@ -298,34 +315,39 @@ void TextEditComponent::render(const glm::mat4& parentTrans)
     Renderer::popClipRect();
 
     // Draw cursor.
-    if (mEditing) {
-        glm::vec2 cursorPos;
-        if (isMultiline()) {
-            cursorPos = mFont->getWrappedTextCursorOffset(mText, getTextAreaSize().x, mCursor);
-        }
-        else {
-            cursorPos = mFont->sizeText(mText.substr(0, mCursor));
-            cursorPos[1] = 0;
-        }
+    glm::vec2 cursorPos;
+    if (isMultiline()) {
+        cursorPos = mFont->getWrappedTextCursorOffset(mText, getTextAreaSize().x, mCursor);
+    }
+    else {
+        cursorPos = mFont->sizeText(mText.substr(0, mCursor));
+        cursorPos[1] = 0;
+    }
 
-        float cursorHeight = mFont->getHeight() * 0.8f;
+    float cursorHeight = mFont->getHeight() * 0.8f;
+
+    if (!mEditing) {
         Renderer::drawRect(cursorPos.x, cursorPos.y + (mFont->getHeight() - cursorHeight) / 2.0f,
-                           2.0f * Renderer::getScreenWidthModifier(), cursorHeight, 0x000000FF,
-                           0x000000FF);
+                           2.0f * Renderer::getScreenWidthModifier(), cursorHeight, 0xC7C7C7FF,
+                           0xC7C7C7FF);
+    }
+
+    if (mEditing && mBlinkTime < BLINKTIME / 2) {
+        Renderer::drawRect(cursorPos.x, cursorPos.y + (mFont->getHeight() - cursorHeight) / 2.0f,
+                           2.0f * Renderer::getScreenWidthModifier(), cursorHeight, 0x777777FF,
+                           0x777777FF);
     }
 }
 
 glm::vec2 TextEditComponent::getTextAreaPos() const
 {
-    return glm::vec2{
-        (-mResolutionAdjustment + (TEXT_PADDING_HORIZ * Renderer::getScreenWidthModifier())) / 2.0f,
-        (TEXT_PADDING_VERT * Renderer::getScreenHeightModifier()) / 2.0f};
+    return glm::vec2{(TEXT_PADDING_HORIZ * Renderer::getScreenWidthModifier()) / 2.0f,
+                     (TEXT_PADDING_VERT * Renderer::getScreenHeightModifier()) / 2.0f};
 }
 
 glm::vec2 TextEditComponent::getTextAreaSize() const
 {
-    return glm::vec2{mSize.x + mResolutionAdjustment -
-                         (TEXT_PADDING_HORIZ * Renderer::getScreenWidthModifier()),
+    return glm::vec2{mSize.x - (TEXT_PADDING_HORIZ * Renderer::getScreenWidthModifier()),
                      mSize.y - (TEXT_PADDING_VERT * Renderer::getScreenHeightModifier())};
 }
 
@@ -333,10 +355,10 @@ std::vector<HelpPrompt> TextEditComponent::getHelpPrompts()
 {
     std::vector<HelpPrompt> prompts;
     if (mEditing) {
-        prompts.push_back(HelpPrompt("up/down/left/right", "move cursor"));
-        prompts.push_back(HelpPrompt("y", "backspace"));
-        prompts.push_back(HelpPrompt("a", "accept changes"));
-        prompts.push_back(HelpPrompt("b", "accept changes"));
+        prompts.push_back(HelpPrompt("lt", "first"));
+        prompts.push_back(HelpPrompt("rt", "last"));
+        prompts.push_back(HelpPrompt("left/right", "move cursor"));
+        prompts.push_back(HelpPrompt("b", "back"));
     }
     else {
         prompts.push_back(HelpPrompt("a", "edit"));
diff --git a/es-core/src/components/TextEditComponent.h b/es-core/src/components/TextEditComponent.h
index a350ed306..4967880c8 100644
--- a/es-core/src/components/TextEditComponent.h
+++ b/es-core/src/components/TextEditComponent.h
@@ -33,7 +33,7 @@ public:
     void onSizeChanged() override;
 
     void setValue(const std::string& val) override;
-    std::string getValue() const override { return mText; }
+    std::string getValue() const override;
 
     void startEditing();
     void stopEditing();
@@ -60,7 +60,8 @@ private:
     std::string mTextOrig;
     bool mFocused;
     bool mEditing;
-    unsigned int mCursor; // Cursor position in characters.
+    int mCursor; // Cursor position in characters.
+    int mBlinkTime;
 
     int mCursorRepeatTimer;
     int mCursorRepeatDir;
@@ -68,7 +69,6 @@ private:
     glm::vec2 mScrollOffset;
 
     NinePatchComponent mBox;
-    float mResolutionAdjustment;
 
     std::shared_ptr<Font> mFont;
     std::unique_ptr<TextCache> mTextCache;
diff --git a/es-core/src/components/TextListComponent.h b/es-core/src/components/TextListComponent.h
index 1261b9d05..1af73a9e5 100644
--- a/es-core/src/components/TextListComponent.h
+++ b/es-core/src/components/TextListComponent.h
@@ -42,6 +42,7 @@ public:
     using IList<TextListData, T>::size;
     using IList<TextListData, T>::isScrolling;
     using IList<TextListData, T>::stopScrolling;
+    using GuiComponent::setColor;
 
     TextListComponent(Window* window);
 
@@ -61,7 +62,11 @@ public:
         ALIGN_RIGHT
     };
 
-    void setAlignment(Alignment align) { mAlignment = align; }
+    void setAlignment(Alignment align)
+    {
+        // Set alignment.
+        mAlignment = align;
+    }
 
     void setCursorChangedCallback(const std::function<void(CursorState state)>& func)
     {
diff --git a/es-core/src/components/VideoComponent.cpp b/es-core/src/components/VideoComponent.cpp
index 78f6261dd..27de9c4de 100644
--- a/es-core/src/components/VideoComponent.cpp
+++ b/es-core/src/components/VideoComponent.cpp
@@ -22,8 +22,11 @@ VideoComponent::VideoComponent(Window* window)
     : GuiComponent(window)
     , mWindow(window)
     , mStaticImage(window)
-    , mVideoHeight(0)
     , mVideoWidth(0)
+    , mVideoHeight(0)
+    , mTargetSize(0, 0)
+    , mVideoAreaPos(0, 0)
+    , mVideoAreaSize(0, 0)
     , mStartDelayed(false)
     , mIsPlaying(false)
     , mIsActuallyPlaying(false)
@@ -37,9 +40,6 @@ VideoComponent::VideoComponent(Window* window)
     , mBlockPlayer(false)
     , mTargetIsMax(false)
     , mFadeIn(1.0)
-    , mTargetSize(0, 0)
-    , mVideoAreaPos(0, 0)
-    , mVideoAreaSize(0, 0)
 {
     // Setup the default configuration.
     mConfig.showSnapshotDelay = false;
diff --git a/es-core/src/components/VideoComponent.h b/es-core/src/components/VideoComponent.h
index 7f6ef5099..2c14e0d0d 100644
--- a/es-core/src/components/VideoComponent.h
+++ b/es-core/src/components/VideoComponent.h
@@ -108,6 +108,8 @@ private:
 
 protected:
     Window* mWindow;
+    ImageComponent mStaticImage;
+
     unsigned mVideoWidth;
     unsigned mVideoHeight;
     glm::vec2 mTargetSize;
@@ -115,7 +117,6 @@ protected:
     glm::vec2 mVideoAreaSize;
     std::shared_ptr<TextureResource> mTexture;
     std::string mStaticImagePath;
-    ImageComponent mStaticImage;
 
     std::string mVideoPath;
     std::string mPlayingVideoPath;
diff --git a/es-core/src/components/VideoFFmpegComponent.cpp b/es-core/src/components/VideoFFmpegComponent.cpp
index 923c02528..6772db296 100644
--- a/es-core/src/components/VideoFFmpegComponent.cpp
+++ b/es-core/src/components/VideoFFmpegComponent.cpp
@@ -44,9 +44,9 @@ VideoFFmpegComponent::VideoFFmpegComponent(Window* window)
     , mAFilterGraph(nullptr)
     , mAFilterInputs(nullptr)
     , mAFilterOutputs(nullptr)
-    , mVideoTimeBase(0.0l)
     , mVideoTargetQueueSize(0)
     , mAudioTargetQueueSize(0)
+    , mVideoTimeBase(0.0l)
     , mAccumulatedTime(0)
     , mStartTimeAccumulation(false)
     , mDecodedFrame(false)
@@ -529,8 +529,9 @@ void VideoFFmpegComponent::readFrames()
         return;
 
     if (mVideoCodecContext && mFormatContext) {
-        if (mVideoFrameQueue.size() < mVideoTargetQueueSize ||
-            (mAudioStreamIndex >= 0 && mAudioFrameQueue.size() < mAudioTargetQueueSize)) {
+        if (static_cast<int>(mVideoFrameQueue.size()) < mVideoTargetQueueSize ||
+            (mAudioStreamIndex >= 0 &&
+             static_cast<int>(mAudioFrameQueue.size()) < mAudioTargetQueueSize)) {
             while ((readFrameReturn = av_read_frame(mFormatContext, mPacket)) >= 0) {
                 if (mPacket->stream_index == mVideoStreamIndex) {
                     if (!avcodec_send_packet(mVideoCodecContext, mPacket) &&
diff --git a/es-core/src/components/VideoVlcComponent.cpp b/es-core/src/components/VideoVlcComponent.cpp
index 9c3fc3084..fc2f6507f 100644
--- a/es-core/src/components/VideoVlcComponent.cpp
+++ b/es-core/src/components/VideoVlcComponent.cpp
@@ -34,8 +34,8 @@ libvlc_instance_t* VideoVlcComponent::mVLC = nullptr;
 
 VideoVlcComponent::VideoVlcComponent(Window* window)
     : VideoComponent(window)
-    , mMediaPlayer(nullptr)
     , mMedia(nullptr)
+    , mMediaPlayer(nullptr)
     , mContext({})
     , mHasSetAudioVolume(false)
 {
diff --git a/es-core/src/guis/GuiComplexTextEditPopup.cpp b/es-core/src/guis/GuiComplexTextEditPopup.cpp
deleted file mode 100644
index 802f544ee..000000000
--- a/es-core/src/guis/GuiComplexTextEditPopup.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-//  SPDX-License-Identifier: MIT
-//
-//  EmulationStation Desktop Edition
-//  GuiComplexTextEditPopup.cpp
-//
-//  Text edit popup with a title, two text strings, a text input box and buttons
-//  to load the second text string and to clear the input field.
-//  Intended for updating settings for configuration files and similar.
-//
-
-#include "guis/GuiComplexTextEditPopup.h"
-
-#include "Window.h"
-#include "components/ButtonComponent.h"
-#include "components/MenuComponent.h"
-#include "components/TextEditComponent.h"
-#include "guis/GuiMsgBox.h"
-
-GuiComplexTextEditPopup::GuiComplexTextEditPopup(
-    Window* window,
-    const HelpStyle& helpstyle,
-    const std::string& title,
-    const std::string& infoString1,
-    const std::string& infoString2,
-    const std::string& initValue,
-    const std::function<void(const std::string&)>& okCallback,
-    bool multiLine,
-    const std::string& acceptBtnText,
-    const std::string& saveConfirmationText,
-    const std::string& loadBtnText,
-    const std::string& loadBtnHelpText,
-    const std::string& clearBtnText,
-    const std::string& clearBtnHelpText,
-    bool hideCancelButton)
-    : GuiComponent(window)
-    , mHelpStyle(helpstyle)
-    , mBackground(window, ":/graphics/frame.svg")
-    , mGrid(window, glm::ivec2{1, 5})
-    , mMultiLine(multiLine)
-    , mInitValue(initValue)
-    , mOkCallback(okCallback)
-    , mSaveConfirmationText(saveConfirmationText)
-    , mHideCancelButton(hideCancelButton)
-{
-    addChild(&mBackground);
-    addChild(&mGrid);
-
-    mTitle = std::make_shared<TextComponent>(mWindow, Utils::String::toUpper(title),
-                                             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);
-
-    mText = std::make_shared<TextEditComponent>(mWindow);
-    mText->setValue(initValue);
-
-    std::vector<std::shared_ptr<ButtonComponent>> buttons;
-    buttons.push_back(std::make_shared<ButtonComponent>(mWindow, acceptBtnText, acceptBtnText,
-                                                        [this, okCallback] {
-                                                            okCallback(mText->getValue());
-                                                            delete this;
-                                                        }));
-    buttons.push_back(std::make_shared<ButtonComponent>(mWindow, loadBtnText, loadBtnHelpText,
-                                                        [this, infoString2] {
-                                                            mText->setValue(infoString2);
-                                                            mText->setCursor(0);
-                                                            mText->setCursor(infoString2.size());
-                                                        }));
-    buttons.push_back(std::make_shared<ButtonComponent>(mWindow, clearBtnText, clearBtnHelpText,
-                                                        [this] { mText->setValue(""); }));
-    if (!mHideCancelButton)
-        buttons.push_back(std::make_shared<ButtonComponent>(mWindow, "CANCEL", "discard changes",
-                                                            [this] { delete this; }));
-
-    mButtonGrid = makeButtonGrid(mWindow, buttons);
-
-    mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true);
-    mGrid.setEntry(mInfoString1, glm::ivec2{0, 1}, false, true);
-    mGrid.setEntry(mInfoString2, glm::ivec2{0, 2}, false, false);
-    mGrid.setEntry(mText, glm::ivec2{0, 3}, true, false, glm::ivec2{1, 1},
-                   GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
-    mGrid.setEntry(mButtonGrid, glm::ivec2{0, 4}, true, false);
-    mGrid.setRowHeightPerc(1, 0.15f, true);
-
-    float textHeight = mText->getFont()->getHeight();
-
-    if (multiLine)
-        textHeight *= 6.0f;
-
-    // Adjust the width relative to the aspect ratio of the screen to make the GUI look coherent
-    // regardless of screen type. The 1.778 aspect ratio value is the 16:9 reference.
-    float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
-    float infoWidth = glm::clamp(0.70f * aspectValue, 0.60f, 0.85f) * Renderer::getScreenWidth();
-    float windowWidth = glm::clamp(0.75f * aspectValue, 0.65f, 0.90f) * Renderer::getScreenWidth();
-
-    mText->setSize(0, textHeight);
-    mInfoString2->setSize(infoWidth, mInfoString2->getFont()->getHeight());
-
-    setSize(windowWidth, mTitle->getFont()->getHeight() + textHeight + mButtonGrid->getSize().y +
-                             mButtonGrid->getSize().y * 1.85f);
-    setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
-                (Renderer::getScreenHeight() - mSize.y) / 2.0f);
-    mText->startEditing();
-}
-
-void GuiComplexTextEditPopup::onSizeChanged()
-{
-    mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
-    mText->setSize(mSize.x - 40.0f, mText->getSize().y);
-
-    // Update grid.
-    mGrid.setRowHeightPerc(0, mTitle->getFont()->getHeight() / mSize.y);
-    mGrid.setRowHeightPerc(2, mButtonGrid->getSize().y / mSize.y);
-    mGrid.setSize(mSize);
-}
-
-bool GuiComplexTextEditPopup::input(InputConfig* config, Input input)
-{
-    if (GuiComponent::input(config, input))
-        return true;
-
-    if (!mHideCancelButton) {
-        // Pressing back when not text editing closes us.
-        if (config->isMappedTo("b", input) && input.value) {
-            if (mText->getValue() != mInitValue) {
-                // Changes were made, ask if the user wants to save them.
-                mWindow->pushGui(new GuiMsgBox(
-                    mWindow, mHelpStyle, mSaveConfirmationText, "YES",
-                    [this] {
-                        this->mOkCallback(mText->getValue());
-                        delete this;
-                        return true;
-                    },
-                    "NO",
-                    [this] {
-                        delete this;
-                        return false;
-                    }));
-            }
-            else {
-                delete this;
-            }
-        }
-    }
-    return false;
-}
-
-std::vector<HelpPrompt> GuiComplexTextEditPopup::getHelpPrompts()
-{
-    std::vector<HelpPrompt> prompts = mGrid.getHelpPrompts();
-    if (!mHideCancelButton)
-        prompts.push_back(HelpPrompt("b", "back"));
-    return prompts;
-}
diff --git a/es-core/src/guis/GuiComplexTextEditPopup.h b/es-core/src/guis/GuiComplexTextEditPopup.h
deleted file mode 100644
index a1ffc8e41..000000000
--- a/es-core/src/guis/GuiComplexTextEditPopup.h
+++ /dev/null
@@ -1,64 +0,0 @@
-//  SPDX-License-Identifier: MIT
-//
-//  EmulationStation Desktop Edition
-//  GuiComplexTextEditPopup.h
-//
-//  Text edit popup with a title, two text strings, a text input box and buttons
-//  to load the second text string and to clear the input field.
-//  Intended for updating settings for configuration files and similar.
-//
-
-#ifndef ES_CORE_GUIS_GUI_COMPLEX_TEXT_EDIT_POPUP_H
-#define ES_CORE_GUIS_GUI_COMPLEX_TEXT_EDIT_POPUP_H
-
-#include "GuiComponent.h"
-#include "components/ComponentGrid.h"
-#include "components/NinePatchComponent.h"
-
-class TextComponent;
-class TextEditComponent;
-
-class GuiComplexTextEditPopup : public GuiComponent
-{
-public:
-    GuiComplexTextEditPopup(Window* window,
-                            const HelpStyle& helpstyle,
-                            const std::string& title,
-                            const std::string& infoString1,
-                            const std::string& infoString2,
-                            const std::string& initValue,
-                            const std::function<void(const std::string&)>& okCallback,
-                            bool multiLine,
-                            const std::string& acceptBtnText = "OK",
-                            const std::string& saveConfirmationText = "SAVE CHANGES?",
-                            const std::string& loadBtnText = "LOAD",
-                            const std::string& loadBtnHelpText = "load default",
-                            const std::string& clearBtnText = "CLEAR",
-                            const std::string& clearBtnHelpText = "clear",
-                            bool hideCancelButton = false);
-
-    bool input(InputConfig* config, Input input) override;
-    void onSizeChanged() override;
-
-    std::vector<HelpPrompt> getHelpPrompts() override;
-    HelpStyle getHelpStyle() override { return mHelpStyle; }
-
-private:
-    NinePatchComponent mBackground;
-    ComponentGrid mGrid;
-
-    std::shared_ptr<TextComponent> mTitle;
-    std::shared_ptr<TextComponent> mInfoString1;
-    std::shared_ptr<TextComponent> mInfoString2;
-    std::shared_ptr<TextEditComponent> mText;
-    std::shared_ptr<ComponentGrid> mButtonGrid;
-
-    HelpStyle mHelpStyle;
-    bool mMultiLine;
-    bool mHideCancelButton;
-    std::string mInitValue;
-    std::function<void(const std::string&)> mOkCallback;
-    std::string mSaveConfirmationText;
-};
-
-#endif // ES_CORE_GUIS_GUI_COMPLEX_TEXT_EDIT_POPUP_H
diff --git a/es-core/src/guis/GuiInputConfig.cpp b/es-core/src/guis/GuiInputConfig.cpp
index 78c212051..aa9767459 100644
--- a/es-core/src/guis/GuiInputConfig.cpp
+++ b/es-core/src/guis/GuiInputConfig.cpp
@@ -180,8 +180,8 @@ GuiInputConfig::GuiInputConfig(Window* window,
         delete this;
     };
 
-    buttons.push_back(std::make_shared<ButtonComponent>(mWindow, "OK", "ok",
-                                                        [this, okFunction] { okFunction(); }));
+    buttons.push_back(
+            std::make_shared<ButtonComponent>(mWindow, "OK", "ok", [okFunction] { okFunction(); }));
 
     mButtonGrid = makeButtonGrid(mWindow, buttons);
     mGrid.setEntry(mButtonGrid, glm::ivec2{0, 6}, true, false);
diff --git a/es-core/src/guis/GuiInputConfig.h b/es-core/src/guis/GuiInputConfig.h
index 317c2d3c5..a58524030 100644
--- a/es-core/src/guis/GuiInputConfig.h
+++ b/es-core/src/guis/GuiInputConfig.h
@@ -68,7 +68,6 @@ private:
     Input mHeldInput;
     int mHeldTime;
     int mHeldInputId;
-    bool mSkipAxis;
 };
 
 #endif // ES_CORE_GUIS_GUI_INPUT_CONFIG_H
diff --git a/es-core/src/guis/GuiMsgBox.cpp b/es-core/src/guis/GuiMsgBox.cpp
index 22261cfc4..5e648eb26 100644
--- a/es-core/src/guis/GuiMsgBox.cpp
+++ b/es-core/src/guis/GuiMsgBox.cpp
@@ -15,22 +15,18 @@
 #define HORIZONTAL_PADDING_PX 20.0f
 
 GuiMsgBox::GuiMsgBox(Window* window,
-                     const HelpStyle& helpstyle,
-                     const std::string& text,
-                     const std::string& name1,
-                     const std::function<void()>& func1,
-                     const std::string& name2,
-                     const std::function<void()>& func2,
-                     const std::string& name3,
-                     const std::function<void()>& func3,
+                     const HelpStyle &helpstyle,
+                     const std::string &text,
+                     const std::string &name1,
+                     const std::function<void()> &func1,
+                     const std::string &name2,
+                     const std::function<void()> &func2,
+                     const std::string &name3,
+                     const std::function<void()> &func3,
                      bool disableBackButton,
                      bool deleteOnButtonPress)
-    : GuiComponent(window)
-    , mHelpStyle(helpstyle)
-    , mBackground(window, ":/graphics/frame.svg")
-    , mGrid(window, glm::ivec2{1, 2})
-    , mDisableBackButton(disableBackButton)
-    , mDeleteOnButtonPress(deleteOnButtonPress)
+        : GuiComponent(window), mBackground(window, ":/graphics/frame.svg"), mGrid(window, glm::ivec2{1, 2}),
+          mHelpStyle(helpstyle), mDisableBackButton(disableBackButton), mDeleteOnButtonPress(deleteOnButtonPress)
 {
     // Adjust the width relative to the aspect ratio of the screen to make the GUI look coherent
     // regardless of screen type. The 1.778 aspect ratio value is the 16:9 reference.
diff --git a/es-core/src/guis/GuiTextEditKeyboardPopup.cpp b/es-core/src/guis/GuiTextEditKeyboardPopup.cpp
new file mode 100644
index 000000000..4edd8d95b
--- /dev/null
+++ b/es-core/src/guis/GuiTextEditKeyboardPopup.cpp
@@ -0,0 +1,654 @@
+//  SPDX-License-Identifier: MIT
+//
+//  EmulationStation Desktop Edition
+//  GuiTextEditKeyboardPopup.cpp
+//
+//  Text edit popup with a virtual keyboard.
+//  Has a default mode and a complex mode, both with various options passed as arguments.
+//
+
+#define KEYBOARD_HEIGHT Renderer::getScreenHeight() * 0.60f
+
+#define KEYBOARD_PADDINGX (Renderer::getScreenWidth() * 0.02f)
+#define KEYBOARD_PADDINGY (Renderer::getScreenWidth() * 0.01f)
+
+#define BUTTON_GRID_HORIZ_PADDING (10.0f * Renderer::getScreenHeightModifier())
+
+#define NAVIGATION_REPEAT_START_DELAY 400
+#define NAVIGATION_REPEAT_SPEED 70 // Lower is faster.
+
+#define DELETE_REPEAT_START_DELAY 600
+#define DELETE_REPEAT_SPEED 90 // Lower is faster.
+
+#if defined(_MSC_VER) // MSVC compiler.
+#define DELETE_SYMBOL Utils::String::wideStringToString(L"\uf177")
+#define OK_SYMBOL Utils::String::wideStringToString(L"\uf058")
+#define SHIFT_SYMBOL Utils::String::wideStringToString(L"\uf176")
+#define ALT_SYMBOL Utils::String::wideStringToString(L"\uf141")
+#else
+#define DELETE_SYMBOL "\uf177"
+#define OK_SYMBOL "\uf058"
+#define SHIFT_SYMBOL "\uf176"
+#define ALT_SYMBOL "\uf141"
+#endif
+
+#include "guis/GuiTextEditKeyboardPopup.h"
+
+#include "components/MenuComponent.h"
+#include "guis/GuiMsgBox.h"
+#include "utils/StringUtil.h"
+
+// clang-format off
+std::vector<std::vector<const char *>> kbBaseUS{
+        {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-",  "=",   "DEL"},
+        {"!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_",  "+",   "DEL"},
+        {"¡", "²", "³", "¤", "€", "¼", "½", "¾", "‘", "’", "¥",  "×",   "DEL"},
+        {"¹", "",  "",  "£", "",  "",  "",  "",  "",  "",  "",   "÷",   "DEL"},
+
+        {"q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[",  "]",   "OK"},
+        {"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "{",  "}",   "OK"},
+        {"ä", "å", "é", "®", "þ", "ü", "ú", "í", "ó", "ö", "«",  "»",   "OK"},
+        {"Ä", "Å", "É", "",  "Þ", "Ü", "Ú", "Í", "Ó", "Ö", "",   "",    "OK"},
+
+        {"a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'",  "\\",  "-rowspan-"},
+        {"A", "S", "D", "F", "G", "H", "J", "K", "L", ":", "\"", "|",   "-rowspan-"},
+        {"á", "ß", "ð", "",  "",  "",  "",  "",  "ø", "¶", "´",  "¬",   "-rowspan-"},
+        {"Á", "§", "Ð", "",  "",  "",  "",  "",  "Ø", "°", "¨",  "¦",   "-rowspan-"},
+
+        {"`", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/",  "ALT", "-colspan-"},
+        {"~", "Z", "X", "C", "V", "B", "N", "M", "<", ">", "?",  "ALT", "-colspan-"},
+        {"",  "æ", "",  "©", "",  "",  "ñ", "µ", "ç", "",  "¿",  "ALT", "-colspan-"},
+        {"",  "Æ", "",  "¢", "",  "",  "Ñ", "Μ", "Ç", "",  "",   "ALT", "-colspan-"}};
+
+std::vector<std::vector<const char *>> kbLastRowNormal{
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"},
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"},
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"},
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"}};
+
+std::vector<std::vector<const char *>> kbLastRowLoad{
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "LOAD", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"},
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "LOAD", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"},
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "LOAD", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"},
+        {"SHIFT", "-colspan-", "SPACE", "-colspan-", "-colspan-", "-colspan-", "-colspan-", "LOAD", "-colspan-", "CLEAR", "-colspan-", "CANCEL", "-colspan-"}};
+// clang-format on
+
+GuiTextEditKeyboardPopup::GuiTextEditKeyboardPopup(
+        Window *window,
+        const HelpStyle &helpstyle,
+        const std::string &title,
+        const std::string &initValue,
+        const std::function<void(const std::string &)> &okCallback,
+        bool multiLine,
+        const std::string &acceptBtnHelpText,
+        const std::string &saveConfirmationText,
+        const std::string &infoString,
+        const std::string &defaultValue,
+        const std::string &loadBtnHelpText,
+        const std::string &clearBtnHelpText,
+        const std::string &cancelBtnHelpText)
+        : GuiComponent{window}, mBackground{window, ":/graphics/frame.svg"},
+          mGrid{window, glm::ivec2{1, (infoString != "" && defaultValue != "" ? 8 : 6)}}, mHelpStyle{helpstyle},
+          mInitValue{initValue}, mAcceptBtnHelpText{acceptBtnHelpText}, mSaveConfirmationText{saveConfirmationText},
+          mLoadBtnHelpText{loadBtnHelpText}, mClearBtnHelpText{clearBtnHelpText}, mCancelBtnHelpText{cancelBtnHelpText},
+          mOkCallback{okCallback}, mMultiLine{multiLine}, mComplexMode{(infoString != "" && defaultValue != "")},
+          mDeleteRepeat{false}, mShift{false}, mAlt{false}, mDeleteRepeatTimer{0}, mNavigationRepeatTimer{0},
+          mNavigationRepeatDirX{0}, mNavigationRepeatDirY{0} {
+    addChild(&mBackground);
+    addChild(&mGrid);
+
+    mTitle = std::make_shared<TextComponent>(mWindow, Utils::String::toUpper(title),
+                                             Font::get(FONT_SIZE_LARGE), 0x555555FF, ALIGN_CENTER);
+
+    std::vector<std::vector<const char *>> kbLayout;
+
+    // At the moment there is only the US keyboard layout available.
+    kbLayout.insert(kbLayout.cend(), kbBaseUS.cbegin(), kbBaseUS.cend());
+
+    // In complex mode, the last row of the keyboard contains an additional "LOAD" button.
+    if (mComplexMode)
+        kbLayout.insert(kbLayout.cend(), kbLastRowLoad.cbegin(), kbLastRowLoad.cend());
+    else
+        kbLayout.insert(kbLayout.cend(), kbLastRowNormal.cbegin(), kbLastRowNormal.cend());
+
+    mHorizontalKeyCount = static_cast<int>(kbLayout[0].size());
+
+    mKeyboardGrid = std::make_shared<ComponentGrid>(
+            mWindow, glm::ivec2(mHorizontalKeyCount, static_cast<int>(kbLayout.size()) / 3));
+
+    mText = std::make_shared<TextEditComponent>(mWindow);
+    mText->setValue(initValue);
+
+    if (!multiLine)
+        mText->setCursor(initValue.size());
+
+    // Header.
+    mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true);
+
+    int yPos = 1;
+
+    if (mComplexMode) {
+        mInfoString = std::make_shared<TextComponent>(
+                mWindow, infoString, Font::get(FONT_SIZE_MEDIUM), 0x555555FF, ALIGN_CENTER);
+        mGrid.setEntry(mInfoString, glm::ivec2{0, yPos}, false, true);
+
+        mDefaultValue = std::make_shared<TextComponent>(
+                mWindow, defaultValue, Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
+        mGrid.setEntry(mDefaultValue, glm::ivec2{0, yPos + 1}, false, true);
+        yPos += 2;
+    }
+
+    // Text edit field.
+    mGrid.setEntry(mText, glm::ivec2{0, yPos}, true, false, glm::ivec2{1, 1},
+                   GridFlags::BORDER_TOP);
+
+    std::vector<std::vector<std::shared_ptr<ButtonComponent>>> buttonList;
+
+    // Create keyboard.
+    for (int i = 0; i < static_cast<int>(kbLayout.size()) / 4; i++) {
+        std::vector<std::shared_ptr<ButtonComponent>> buttons;
+
+        for (int j = 0; j < static_cast<int>(kbLayout[i].size()); j++) {
+            std::string lower = kbLayout[4 * i][j];
+            if (lower.empty() || lower == "-rowspan-" || lower == "-colspan-")
+                continue;
+
+            std::string upper = kbLayout[4 * i + 1][j];
+            std::string alted = kbLayout[4 * i + 2][j];
+            std::string altshifted = kbLayout[4 * i + 3][j];
+
+            std::shared_ptr<ButtonComponent> button = nullptr;
+
+            if (lower == "DEL") {
+                lower = DELETE_SYMBOL;
+                upper = DELETE_SYMBOL;
+                alted = DELETE_SYMBOL;
+                altshifted = DELETE_SYMBOL;
+            } else if (lower == "OK") {
+                lower = OK_SYMBOL;
+                upper = OK_SYMBOL;
+                alted = OK_SYMBOL;
+                altshifted = OK_SYMBOL;
+            } else if (lower == "SPACE") {
+                lower = " ";
+                upper = " ";
+                alted = " ";
+                altshifted = " ";
+            } else if (lower != "SHIFT" && lower.length() > 1) {
+                lower = (lower.c_str());
+                upper = (upper.c_str());
+                alted = (alted.c_str());
+                altshifted = (altshifted.c_str());
+            }
+
+            if (lower == "SHIFT") {
+                mShiftButton = std::make_shared<ButtonComponent>(
+                        mWindow, (SHIFT_SYMBOL), ("SHIFT"), [this] { shiftKeys(); }, false, true);
+                button = mShiftButton;
+            } else if (lower == "ALT") {
+                mAltButton = std::make_shared<ButtonComponent>(
+                        mWindow, (ALT_SYMBOL), ("ALT"), [this] { altKeys(); }, false, true);
+                button = mAltButton;
+            } else {
+                button = makeButton(lower, upper, alted, altshifted);
+            }
+
+            button->setPadding(
+                    glm::vec4(BUTTON_GRID_HORIZ_PADDING / 4.0f, BUTTON_GRID_HORIZ_PADDING / 4.0f,
+                              BUTTON_GRID_HORIZ_PADDING / 4.0f, BUTTON_GRID_HORIZ_PADDING / 4.0f));
+            buttons.push_back(button);
+
+            int colSpan = 1;
+            for (int cs = j + 1; cs < static_cast<int>(kbLayout[i].size()); cs++) {
+                if (std::string(kbLayout[4 * i][cs]) == "-colspan-")
+                    colSpan++;
+                else
+                    break;
+            }
+
+            int rowSpan = 1;
+            for (int cs = (4 * i) + 4; cs < static_cast<int>(kbLayout.size()); cs += 4) {
+                if (std::string(kbLayout[cs][j]) == "-rowspan-")
+                    rowSpan++;
+                else
+                    break;
+            }
+
+            mKeyboardGrid->setEntry(button, glm::ivec2{j, i}, true, true,
+                                    glm::ivec2{colSpan, rowSpan});
+
+            buttonList.push_back(buttons);
+        }
+    }
+
+    mGrid.setEntry(mKeyboardGrid, glm::ivec2{0, yPos + 1}, true, true, glm::ivec2{2, 4});
+
+    float textHeight = mText->getFont()->getHeight();
+    // If the multiLine option has been set, then include three lines of text on screen.
+    if (multiLine) {
+        textHeight *= 3.0f;
+        textHeight += 2.0f * Renderer::getScreenHeightModifier();
+    }
+
+    mText->setSize(0.0f, textHeight);
+
+    // If attempting to navigate beyond the edge of the keyboard grid, then wrap around.
+    mGrid.setPastBoundaryCallback([this, kbLayout](InputConfig *config, Input input) -> bool {
+        if (config->isMappedLike("left", input)) {
+            if (mGrid.getSelectedComponent() == mKeyboardGrid) {
+                mKeyboardGrid->moveCursorTo(mHorizontalKeyCount - 1, -1, true);
+                return true;
+            }
+        } else if (config->isMappedLike("right", input)) {
+            if (mGrid.getSelectedComponent() == mKeyboardGrid) {
+                mKeyboardGrid->moveCursorTo(0, -1);
+                return true;
+            }
+        }
+        return false;
+    });
+
+    // Adapt width to the geometry of the display. The 1.778 aspect ratio is the 16:9 reference.
+    float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
+    float width = glm::clamp(0.78f * aspectValue, 0.35f, 0.90f) * Renderer::getScreenWidth();
+
+    // The combination of multiLine and complex mode is not supported as there is currently
+    // no need for that.
+    if (mMultiLine) {
+        setSize(width, KEYBOARD_HEIGHT + textHeight - mText->getFont()->getHeight());
+
+        setPosition((static_cast<float>(Renderer::getScreenWidth()) - mSize.x) / 2.0f,
+                    (static_cast<float>(Renderer::getScreenHeight()) - mSize.y) / 2.0f);
+    } else {
+        if (mComplexMode)
+            setSize(width, KEYBOARD_HEIGHT + mDefaultValue->getSize().y * 3.0f);
+        else
+            setSize(width, KEYBOARD_HEIGHT);
+
+        setPosition((static_cast<float>(Renderer::getScreenWidth()) - mSize.x) / 2.0f,
+                    (static_cast<float>(Renderer::getScreenHeight()) - mSize.y) / 2.0f);
+    }
+}
+
+void GuiTextEditKeyboardPopup::onSizeChanged() {
+    mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
+    mText->setSize(mSize.x - KEYBOARD_PADDINGX - KEYBOARD_PADDINGX, mText->getSize().y);
+
+    // Update grid.
+    mGrid.setRowHeightPerc(0, mTitle->getFont()->getHeight() / mSize.y);
+
+    if (mInfoString && mDefaultValue) {
+        mGrid.setRowHeightPerc(1, (mInfoString->getSize().y * 0.6f) / mSize.y);
+        mGrid.setRowHeightPerc(2, (mDefaultValue->getSize().y * 1.6f) / mSize.y);
+        mGrid.setRowHeightPerc(1, (mText->getSize().y * 1.0f) / mSize.y);
+    } else if (mMultiLine) {
+        mGrid.setRowHeightPerc(1, (mText->getSize().y * 1.15f) / mSize.y);
+    }
+
+    mGrid.setSize(mSize);
+
+    auto pos = mKeyboardGrid->getPosition();
+    auto sz = mKeyboardGrid->getSize();
+
+    // Add a small margin between buttons.
+    mKeyboardGrid->setSize(mSize.x - KEYBOARD_PADDINGX - KEYBOARD_PADDINGX,
+                           sz.y - KEYBOARD_PADDINGY + 70.0f * Renderer::getScreenHeightModifier());
+    mKeyboardGrid->setPosition(KEYBOARD_PADDINGX, pos.y);
+}
+
+bool GuiTextEditKeyboardPopup::input(InputConfig *config, Input input) {
+    // Enter/return key or numpad enter key accepts the changes.
+    if (config->getDeviceId() == DEVICE_KEYBOARD && mText->isEditing() && !mMultiLine &&
+        input.value && (input.id == SDLK_RETURN || input.id == SDLK_KP_ENTER)) {
+        this->mOkCallback(mText->getValue());
+        delete this;
+        return true;
+    }
+        // Dito for the A button if using a controller.
+    else if (config->getDeviceId() != DEVICE_KEYBOARD && mText->isEditing() &&
+             config->isMappedTo("a", input) && input.value) {
+        this->mOkCallback(mText->getValue());
+        delete this;
+        return true;
+    }
+
+    // Pressing a key stops the navigation repeat, i.e. the cursor stops at the selected key.
+    if (config->isMappedTo("a", input) && input.value && !mText->isEditing()) {
+        mNavigationRepeatDirX = 0;
+        mNavigationRepeatDirY = 0;
+    }
+
+    // If the keyboard has been configured with backspace as the back button (which is the default
+    // configuration) then ignore this key if we're currently editing or otherwise it would be
+    // impossible to erase characters using this key.
+    bool keyboardBackspace = (config->getDeviceId() == DEVICE_KEYBOARD && mText->isEditing() &&
+                              input.id == SDLK_BACKSPACE);
+
+    // Pressing back (or the escape key if using keyboard input) closes us.
+    if ((config->getDeviceId() == DEVICE_KEYBOARD && input.value && input.id == SDLK_ESCAPE) ||
+        (!keyboardBackspace && input.value && config->isMappedTo("b", input))) {
+        if (mText->getValue() != mInitValue) {
+            // Changes were made, ask if the user wants to save them.
+            mWindow->pushGui(new GuiMsgBox(
+                    mWindow, mHelpStyle, mSaveConfirmationText, "YES",
+                    [this] {
+                        this->mOkCallback(mText->getValue());
+                        delete this;
+                        return true;
+                    },
+                    "NO",
+                    [this] {
+                        delete this;
+                        return true;
+                    }));
+        } else {
+            delete this;
+            return true;
+        }
+    }
+
+    if (mText->isEditing() && config->isMappedLike("down", input) && input.value) {
+        mText->stopEditing();
+        mGrid.setCursorTo(mGrid.getSelectedComponent());
+    }
+
+    // Left trigger button outside text editing field toggles Shift key.
+    if (!mText->isEditing() && config->isMappedLike("lefttrigger", input) && input.value)
+        shiftKeys();
+
+    // Right trigger button outside text editing field toggles Alt key.
+    if (!mText->isEditing() && config->isMappedLike("righttrigger", input) && input.value)
+        altKeys();
+
+    // Left shoulder button deletes a character (backspace).
+    if (config->isMappedTo("leftshoulder", input)) {
+        if (input.value) {
+            mDeleteRepeat = true;
+            mDeleteRepeatTimer = -(DELETE_REPEAT_START_DELAY - DELETE_REPEAT_SPEED);
+
+            bool editing = mText->isEditing();
+            if (!editing)
+                mText->startEditing();
+
+            mText->textInput("\b");
+
+            if (!editing)
+                mText->stopEditing();
+        } else {
+            mDeleteRepeat = false;
+        }
+        return true;
+    }
+
+    // Right shoulder button inserts a blank space.
+    if (config->isMappedTo("rightshoulder", input) && input.value) {
+        bool editing = mText->isEditing();
+        if (!editing)
+            mText->startEditing();
+
+        mText->textInput(" ");
+
+        if (!editing)
+            mText->stopEditing();
+
+        return true;
+    }
+
+    // Actual navigation of the keyboard grid is done in ComponentGrid, this code only handles
+    // key repeat while holding the left/right/up/down buttons.
+    if (!mText->isEditing() && config->isMappedLike("left", input)) {
+        if (input.value) {
+            mNavigationRepeatDirX = -1;
+            mNavigationRepeatTimer = -(NAVIGATION_REPEAT_START_DELAY - NAVIGATION_REPEAT_SPEED);
+        } else {
+            mNavigationRepeatDirX = 0;
+        }
+    }
+
+    if (!mText->isEditing() && config->isMappedLike("right", input)) {
+        if (input.value) {
+            mNavigationRepeatDirX = 1;
+            mNavigationRepeatTimer = -(NAVIGATION_REPEAT_START_DELAY - NAVIGATION_REPEAT_SPEED);
+        } else {
+            mNavigationRepeatDirX = 0;
+        }
+    }
+
+    if (!mText->isEditing() && config->isMappedLike("up", input)) {
+        if (input.value) {
+            mNavigationRepeatDirY = -1;
+            mNavigationRepeatTimer = -(NAVIGATION_REPEAT_START_DELAY - NAVIGATION_REPEAT_SPEED);
+        } else {
+            mNavigationRepeatDirY = 0;
+        }
+    }
+
+    if (!mText->isEditing() && config->isMappedLike("down", input)) {
+        if (input.value) {
+            mNavigationRepeatDirY = 1;
+            mNavigationRepeatTimer = -(NAVIGATION_REPEAT_START_DELAY - NAVIGATION_REPEAT_SPEED);
+        } else {
+            mNavigationRepeatDirY = 0;
+        }
+    }
+
+    if (GuiComponent::input(config, input))
+        return true;
+
+    return false;
+}
+
+void GuiTextEditKeyboardPopup::update(int deltaTime) {
+    updateNavigationRepeat(deltaTime);
+    updateDeleteRepeat(deltaTime);
+    GuiComponent::update(deltaTime);
+}
+
+std::vector<HelpPrompt> GuiTextEditKeyboardPopup::getHelpPrompts() {
+    std::vector<HelpPrompt> prompts = mGrid.getHelpPrompts();
+
+    if (!mText->isEditing()) {
+        prompts.push_back(HelpPrompt("lt", "shift"));
+        prompts.push_back(HelpPrompt("rt", "alt"));
+    } else {
+        prompts.push_back(HelpPrompt("a", mAcceptBtnHelpText));
+    }
+
+    prompts.push_back(HelpPrompt("l", "backspace"));
+    prompts.push_back(HelpPrompt("r", "space"));
+    prompts.push_back(HelpPrompt("b", "back"));
+
+    if (prompts.size() > 0 && prompts.front().second == OK_SYMBOL)
+        prompts.front().second = mAcceptBtnHelpText;
+
+    if (prompts.size() > 0 && prompts.front().second == " ")
+        prompts.front().second = "SPACE";
+
+    if (prompts.size() > 0 && prompts.front().second == "CLEAR")
+        prompts.front().second = mClearBtnHelpText;
+
+    if (prompts.size() > 0 && prompts.front().second == "LOAD")
+        prompts.front().second = mLoadBtnHelpText;
+
+    if (prompts.size() > 0 && prompts.front().second == "CANCEL")
+        prompts.front().second = mCancelBtnHelpText;
+
+    // If a prompt has no value set, then remove it.
+    if (prompts.size() > 0 && prompts.front().second == "")
+        prompts.erase(prompts.begin(), prompts.begin() + 1);
+
+    return prompts;
+}
+
+void GuiTextEditKeyboardPopup::updateDeleteRepeat(int deltaTime) {
+    if (!mDeleteRepeat)
+        return;
+
+    mDeleteRepeatTimer += deltaTime;
+
+    while (mDeleteRepeatTimer >= DELETE_REPEAT_SPEED) {
+        bool editing = mText->isEditing();
+        if (!editing)
+            mText->startEditing();
+
+        mText->textInput("\b");
+
+        if (!editing)
+            mText->stopEditing();
+
+        mDeleteRepeatTimer -= DELETE_REPEAT_SPEED;
+    }
+}
+
+void GuiTextEditKeyboardPopup::updateNavigationRepeat(int deltaTime) {
+    if (mNavigationRepeatDirX == 0 && mNavigationRepeatDirY == 0)
+        return;
+
+    mNavigationRepeatTimer += deltaTime;
+
+    while (mNavigationRepeatTimer >= NAVIGATION_REPEAT_SPEED) {
+
+        if (mNavigationRepeatDirX != 0) {
+            mKeyboardGrid.get()->moveCursor({mNavigationRepeatDirX, 0});
+            // If replacing the line above with this code, the keyboard will wrap around the
+            // edges also when key repeat is active.
+            //            if (!mKeyboardGrid.get()->moveCursor({mNavigationRepeatDirX, 0})) {
+            //                if (mNavigationRepeatDirX < 0)
+            //                    mKeyboardGrid->moveCursorTo(mHorizontalKeyCount - 1, -1);
+            //                else
+            //                    mKeyboardGrid->moveCursorTo(0, -1);
+            //            }
+        }
+
+        if (mNavigationRepeatDirY != 0)
+            mKeyboardGrid.get()->moveCursor({0, mNavigationRepeatDirY});
+
+        mNavigationRepeatTimer -= NAVIGATION_REPEAT_SPEED;
+    }
+}
+
+void GuiTextEditKeyboardPopup::shiftKeys() {
+    mShift = !mShift;
+
+    if (mShift) {
+        mShiftButton->setFlatColorFocused(0xFF2222FF);
+        mShiftButton->setFlatColorUnfocused(0xFF2222FF);
+    } else {
+        mShiftButton->setFlatColorFocused(0x878787FF);
+        mShiftButton->setFlatColorUnfocused(0x60606025);
+    }
+
+    if (mAlt && mShift) {
+        altShiftKeys();
+        return;
+    }
+
+    // This only happens when Alt was deselected while both Shift and Alt were active.
+    if (mAlt) {
+        altKeys();
+        altKeys();
+    } else {
+        for (auto &kb: mKeyboardButtons) {
+            const std::string &text = mShift ? kb.shiftedKey : kb.key;
+            auto sz = kb.button->getSize();
+            kb.button->setText(text, text, false);
+            kb.button->setSize(sz);
+        }
+    }
+}
+
+void GuiTextEditKeyboardPopup::altKeys() {
+    mAlt = !mAlt;
+
+    if (mAlt) {
+        mAltButton->setFlatColorFocused(0xFF2222FF);
+        mAltButton->setFlatColorUnfocused(0xFF2222FF);
+    } else {
+        mAltButton->setFlatColorFocused(0x878787FF);
+        mAltButton->setFlatColorUnfocused(0x60606025);
+    }
+
+    if (mShift && mAlt) {
+        altShiftKeys();
+        return;
+    }
+
+    // This only happens when Shift was deselected while both Shift and Alt were active.
+    if (mShift) {
+        shiftKeys();
+        shiftKeys();
+    } else {
+        for (auto &kb: mKeyboardButtons) {
+            const std::string &text = mAlt ? kb.altedKey : kb.key;
+            auto sz = kb.button->getSize();
+            kb.button->setText(text, text, false);
+            kb.button->setSize(sz);
+        }
+    }
+}
+
+void GuiTextEditKeyboardPopup::altShiftKeys() {
+    for (auto &kb: mKeyboardButtons) {
+        const std::string &text = kb.altshiftedKey;
+        auto sz = kb.button->getSize();
+        kb.button->setText(text, text, false);
+        kb.button->setSize(sz);
+    }
+}
+
+std::shared_ptr<ButtonComponent> GuiTextEditKeyboardPopup::makeButton(
+        const std::string &key,
+        const std::string &shiftedKey,
+        const std::string &altedKey,
+        const std::string &altshiftedKey) {
+    std::shared_ptr<ButtonComponent> button = std::make_shared<ButtonComponent>(
+            mWindow, key, key,
+            [this, key, shiftedKey, altedKey, altshiftedKey] {
+                if (key == (OK_SYMBOL) || key.find("OK") != std::string::npos) {
+                    mOkCallback(mText->getValue());
+                    delete this;
+                    return;
+                } else if (key == (DELETE_SYMBOL) || key == "DEL") {
+                    mText->startEditing();
+                    mText->textInput("\b");
+                    mText->stopEditing();
+                    return;
+                } else if (key == "SPACE" || key == " ") {
+                    mText->startEditing();
+                    mText->textInput(" ");
+                    mText->stopEditing();
+                    return;
+                } else if (key == "LOAD") {
+                    mText->setValue(mDefaultValue->getValue());
+                    mText->setCursor(mDefaultValue->getValue().size());
+                    return;
+                } else if (key == "CLEAR") {
+                    mText->setValue("");
+                    return;
+                } else if (key == "CANCEL") {
+                    delete this;
+                    return;
+                }
+
+                if (mAlt && altedKey.empty())
+                    return;
+
+                mText->startEditing();
+
+                if (mShift && mAlt)
+                    mText->textInput(altshiftedKey.c_str());
+                else if (mAlt)
+                    mText->textInput(altedKey.c_str());
+                else if (mShift)
+                    mText->textInput(shiftedKey.c_str());
+                else
+                    mText->textInput(key.c_str());
+
+                mText->stopEditing();
+            },
+            false, true);
+
+    KeyboardButton kb(button, key, shiftedKey, altedKey, altshiftedKey);
+    mKeyboardButtons.push_back(kb);
+    return button;
+}
diff --git a/es-core/src/guis/GuiTextEditKeyboardPopup.h b/es-core/src/guis/GuiTextEditKeyboardPopup.h
new file mode 100644
index 000000000..4104cb6cb
--- /dev/null
+++ b/es-core/src/guis/GuiTextEditKeyboardPopup.h
@@ -0,0 +1,113 @@
+//  SPDX-License-Identifier: MIT
+//
+//  EmulationStation Desktop Edition
+//  GuiTextEditKeyboardPopup.h
+//
+//  Text edit popup with a virtual keyboard.
+//  Has a default mode and a complex mode, both with various options passed as arguments.
+//
+
+#ifndef ES_CORE_GUIS_GUI_TEXT_EDIT_KEYBOARD_POPUP_H
+#define ES_CORE_GUIS_GUI_TEXT_EDIT_KEYBOARD_POPUP_H
+
+#include "GuiComponent.h"
+#include "components/ButtonComponent.h"
+#include "components/ComponentGrid.h"
+#include "components/TextEditComponent.h"
+
+class GuiTextEditKeyboardPopup : public GuiComponent {
+public:
+    GuiTextEditKeyboardPopup(Window *window,
+                             const HelpStyle &helpstyle,
+                             const std::string &title,
+                             const std::string &initValue,
+                             const std::function<void(const std::string &)> &okCallback,
+                             bool multiLine,
+                             const std::string &acceptBtnHelpText = "OK",
+                             const std::string &saveConfirmationText = "SAVE CHANGES?",
+                             const std::string &infoString = "",
+                             const std::string &defaultValue = "",
+                             const std::string &loadBtnHelpText = "LOAD DEFAULT",
+                             const std::string &clearBtnHelpText = "CLEAR",
+                             const std::string &cancelBtnHelpText = "DISCARD CHANGES");
+
+    void onSizeChanged() override;
+
+    bool input(InputConfig *config, Input input) override;
+
+    void update(int deltaTime) override;
+
+    std::vector<HelpPrompt> getHelpPrompts() override;
+
+    HelpStyle getHelpStyle() override { return mHelpStyle; }
+
+private:
+    class KeyboardButton {
+    public:
+        std::shared_ptr<ButtonComponent> button;
+        const std::string key;
+        const std::string shiftedKey;
+        const std::string altedKey;
+        const std::string altshiftedKey;
+
+        KeyboardButton(const std::shared_ptr<ButtonComponent> b,
+                       const std::string &k,
+                       const std::string &sk,
+                       const std::string &ak,
+                       const std::string &ask)
+                : button{b}, key{k}, shiftedKey{sk}, altedKey{ak}, altshiftedKey{ask} {};
+    };
+
+    void updateDeleteRepeat(int deltaTime);
+
+    void updateNavigationRepeat(int deltaTime);
+
+    void shiftKeys();
+
+    void altKeys();
+
+    void altShiftKeys();
+
+    std::shared_ptr<ButtonComponent> makeButton(const std::string &key,
+                                                const std::string &shiftedKey,
+                                                const std::string &altedKey,
+                                                const std::string &altshiftedKey);
+
+    std::vector<KeyboardButton> mKeyboardButtons;
+
+    std::shared_ptr<ButtonComponent> mShiftButton;
+    std::shared_ptr<ButtonComponent> mAltButton;
+
+    NinePatchComponent mBackground;
+    ComponentGrid mGrid;
+    HelpStyle mHelpStyle;
+
+    std::shared_ptr<TextComponent> mTitle;
+    std::shared_ptr<TextComponent> mInfoString;
+    std::shared_ptr<TextComponent> mDefaultValue;
+    std::shared_ptr<TextEditComponent> mText;
+    std::shared_ptr<ComponentGrid> mKeyboardGrid;
+
+    std::string mInitValue;
+    std::string mAcceptBtnHelpText;
+    std::string mSaveConfirmationText;
+    std::string mLoadBtnHelpText;
+    std::string mClearBtnHelpText;
+    std::string mCancelBtnHelpText;
+
+    std::function<void(const std::string &)> mOkCallback;
+
+    bool mMultiLine;
+    bool mComplexMode;
+    bool mDeleteRepeat;
+    bool mShift;
+    bool mAlt;
+
+    int mHorizontalKeyCount;
+    int mDeleteRepeatTimer;
+    int mNavigationRepeatTimer;
+    int mNavigationRepeatDirX;
+    int mNavigationRepeatDirY;
+};
+
+#endif // ES_CORE_GUIS_GUI_TEXT_EDIT_KEYBOARD_POPUP_H
diff --git a/es-core/src/guis/GuiTextEditPopup.cpp b/es-core/src/guis/GuiTextEditPopup.cpp
index d5f832a7c..898f4a4a6 100644
--- a/es-core/src/guis/GuiTextEditPopup.cpp
+++ b/es-core/src/guis/GuiTextEditPopup.cpp
@@ -3,40 +3,50 @@
 //  EmulationStation Desktop Edition
 //  GuiTextEditPopup.cpp
 //
-//  Simple text edit popup with a title, a text input box and OK and Cancel buttons.
+//  Text edit popup.
+//  Has a default mode and a complex mode, both with various options passed as arguments.
 //
 
+#define DELETE_REPEAT_START_DELAY 600
+#define DELETE_REPEAT_SPEED 90 // Lower is faster.
+
 #include "guis/GuiTextEditPopup.h"
 
-#include "Window.h"
-#include "components/ButtonComponent.h"
 #include "components/MenuComponent.h"
-#include "components/TextEditComponent.h"
 #include "guis/GuiMsgBox.h"
 
-GuiTextEditPopup::GuiTextEditPopup(Window* window,
-                                   const HelpStyle& helpstyle,
-                                   const std::string& title,
-                                   const std::string& initValue,
-                                   const std::function<void(const std::string&)>& okCallback,
+GuiTextEditPopup::GuiTextEditPopup(Window *window,
+                                   const HelpStyle &helpstyle,
+                                   const std::string &title,
+                                   const std::string &initValue,
+                                   const std::function<void(const std::string &)> &okCallback,
                                    bool multiLine,
-                                   const std::string& acceptBtnText,
-                                   const std::string& saveConfirmationText)
-    : GuiComponent(window)
-    , mHelpStyle(helpstyle)
-    , mBackground(window, ":/graphics/frame.svg")
-    , mGrid(window, glm::ivec2{1, 3})
-    , mMultiLine(multiLine)
-    , mInitValue(initValue)
-    , mOkCallback(okCallback)
-    , mSaveConfirmationText(saveConfirmationText)
-{
+                                   const std::string &acceptBtnText,
+                                   const std::string &saveConfirmationText,
+                                   const std::string &infoString,
+                                   const std::string &defaultValue,
+                                   const std::string &loadBtnHelpText,
+                                   const std::string &clearBtnHelpText,
+                                   const std::string &cancelBtnHelpText)
+        : GuiComponent{window}, mBackground{window, ":/graphics/frame.svg"},
+          mGrid{window, glm::ivec2{1, (infoString != "" && defaultValue != "" ? 5 : 3)}}, mHelpStyle{helpstyle},
+          mInitValue{initValue}, mAcceptBtnText{acceptBtnText}, mSaveConfirmationText{saveConfirmationText},
+          mLoadBtnHelpText{loadBtnHelpText}, mClearBtnHelpText{clearBtnHelpText}, mCancelBtnHelpText{cancelBtnHelpText},
+          mOkCallback{okCallback}, mMultiLine{multiLine}, mComplexMode{(infoString != "" && defaultValue != "")},
+          mDeleteRepeat{false}, mDeleteRepeatTimer{0} {
     addChild(&mBackground);
     addChild(&mGrid);
 
     mTitle = std::make_shared<TextComponent>(mWindow, Utils::String::toUpper(title),
                                              Font::get(FONT_SIZE_MEDIUM), 0x555555FF, ALIGN_CENTER);
 
+    if (mComplexMode) {
+        mInfoString = std::make_shared<TextComponent>(
+                mWindow, infoString, Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
+        mDefaultValue = std::make_shared<TextComponent>(
+                mWindow, defaultValue, Font::get(FONT_SIZE_SMALL), 0x555555FF, ALIGN_CENTER);
+    }
+
     mText = std::make_shared<TextEditComponent>(mWindow);
     mText->setValue(initValue);
 
@@ -46,80 +56,211 @@ GuiTextEditPopup::GuiTextEditPopup(Window* window,
                                                             okCallback(mText->getValue());
                                                             delete this;
                                                         }));
-    buttons.push_back(std::make_shared<ButtonComponent>(mWindow, "CLEAR", "clear",
+    if (mComplexMode) {
+        buttons.push_back(std::make_shared<ButtonComponent>(
+                mWindow, "load", loadBtnHelpText, [this, defaultValue] {
+                    mText->setValue(defaultValue);
+                    mText->setCursor(0);
+                    mText->setCursor(defaultValue.size());
+                }));
+    }
+
+    buttons.push_back(std::make_shared<ButtonComponent>(mWindow, "clear", clearBtnHelpText,
                                                         [this] { mText->setValue(""); }));
+
     buttons.push_back(std::make_shared<ButtonComponent>(mWindow, "CANCEL", "discard changes",
                                                         [this] { delete this; }));
 
     mButtonGrid = makeButtonGrid(mWindow, buttons);
 
     mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true);
-    mGrid.setEntry(mText, glm::ivec2{0, 1}, true, false, glm::ivec2{1, 1},
+
+    int yPos = 1;
+
+    if (mComplexMode) {
+        mGrid.setEntry(mInfoString, glm::ivec2{0, yPos}, false, true);
+        mGrid.setEntry(mDefaultValue, glm::ivec2{0, yPos + 1}, false, false);
+        yPos += 2;
+    }
+
+    mGrid.setEntry(mText, glm::ivec2{0, yPos}, true, false, glm::ivec2{1, 1},
                    GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
-    mGrid.setEntry(mButtonGrid, glm::ivec2{0, 2}, true, false);
+    mGrid.setEntry(mButtonGrid, glm::ivec2{0, yPos + 1}, true, false);
 
     float textHeight = mText->getFont()->getHeight();
 
     if (multiLine)
         textHeight *= 6.0f;
+
     mText->setSize(0, textHeight);
 
-    // Adjust the width relative to the aspect ratio of the screen to make the GUI look coherent
-    // regardless of screen type. The 1.778 aspect ratio value is the 16:9 reference.
+    // Adapt width to the geometry of the display. The 1.778 aspect ratio is the 16:9 reference.
     float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
-    float width = glm::clamp(0.50f * aspectValue, 0.40f, 0.70f) * Renderer::getScreenWidth();
 
-    setSize(width, mTitle->getFont()->getHeight() + textHeight + mButtonGrid->getSize().y +
+    if (mComplexMode) {
+        float infoWidth =
+                glm::clamp(0.70f * aspectValue, 0.34f, 0.85f) * Renderer::getScreenWidth();
+        float windowWidth =
+                glm::clamp(0.75f * aspectValue, 0.40f, 0.90f) * Renderer::getScreenWidth();
+
+        mDefaultValue->setSize(infoWidth, mDefaultValue->getFont()->getHeight());
+
+        setSize(windowWidth, mTitle->getFont()->getHeight() + textHeight +
+                             mButtonGrid->getSize().y + mButtonGrid->getSize().y * 1.85f);
+        setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
+                    (Renderer::getScreenHeight() - mSize.y) / 2.0f);
+    } else {
+        float width = glm::clamp(0.54f * aspectValue, 0.20f, 0.70f) * Renderer::getScreenWidth();
+
+        setSize(width, mTitle->getFont()->getHeight() + textHeight + mButtonGrid->getSize().y +
                        mButtonGrid->getSize().y / 2.0f);
-    setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
-                (Renderer::getScreenHeight() - mSize.y) / 2.0f);
+        setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
+                    (Renderer::getScreenHeight() - mSize.y) / 2.0f);
+    }
+
+    if (!multiLine)
+        mText->setCursor(initValue.size());
+
     mText->startEditing();
 }
 
-void GuiTextEditPopup::onSizeChanged()
-{
+void GuiTextEditPopup::onSizeChanged() {
     mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
-
-    mText->setSize(mSize.x - 40.0f, mText->getSize().y);
+    mText->setSize(mSize.x - 40.0f * Renderer::getScreenHeightModifier(), mText->getSize().y);
 
     // Update grid.
     mGrid.setRowHeightPerc(0, mTitle->getFont()->getHeight() / mSize.y);
+
+    if (mComplexMode)
+        mGrid.setRowHeightPerc(1, 0.15f);
+
     mGrid.setRowHeightPerc(2, mButtonGrid->getSize().y / mSize.y);
     mGrid.setSize(mSize);
 }
 
-bool GuiTextEditPopup::input(InputConfig* config, Input input)
-{
-    if (GuiComponent::input(config, input))
+bool GuiTextEditPopup::input(InputConfig *config, Input input) {
+    // Enter key (main key or via numpad) accepts the changes.
+    if (config->getDeviceId() == DEVICE_KEYBOARD && mText->isEditing() && !mMultiLine &&
+        input.value && (input.id == SDLK_RETURN || input.id == SDLK_KP_ENTER)) {
+        this->mOkCallback(mText->getValue());
+        delete this;
         return true;
+    }
+        // Dito for the A button if using a controller.
+    else if (config->getDeviceId() != DEVICE_KEYBOARD && mText->isEditing() &&
+             config->isMappedTo("a", input) && input.value) {
+        this->mOkCallback(mText->getValue());
+        delete this;
+        return true;
+    }
 
-    // Pressing back when not text editing closes us.
-    if (config->isMappedTo("b", input) && input.value) {
+    // If the keyboard has been configured with backspace as the back button (which is the default
+    // configuration) then ignore this key if we're currently editing or otherwise it would be
+    // impossible to erase characters using this key.
+    bool keyboardBackspace = (config->getDeviceId() == DEVICE_KEYBOARD && mText->isEditing() &&
+                              input.id == SDLK_BACKSPACE);
+
+    // Pressing back (or the escape key if using keyboard input) closes us.
+    if ((config->getDeviceId() == DEVICE_KEYBOARD && input.value && input.id == SDLK_ESCAPE) ||
+        (!keyboardBackspace && input.value && config->isMappedTo("b", input))) {
         if (mText->getValue() != mInitValue) {
             // Changes were made, ask if the user wants to save them.
             mWindow->pushGui(new GuiMsgBox(
-                mWindow, mHelpStyle, mSaveConfirmationText, "YES",
-                [this] {
-                    this->mOkCallback(mText->getValue());
-                    delete this;
-                    return true;
-                },
-                "NO",
-                [this] {
-                    delete this;
-                    return false;
-                }));
-        }
-        else {
+                    mWindow, mHelpStyle, mSaveConfirmationText, "YES",
+                    [this] {
+                        this->mOkCallback(mText->getValue());
+                        delete this;
+                        return true;
+                    },
+                    "NO",
+                    [this] {
+                        delete this;
+                        return true;
+                    }));
+        } else {
             delete this;
+            return true;
         }
     }
+
+    if (mText->isEditing() && config->isMappedLike("down", input) && input.value) {
+        mText->stopEditing();
+        mGrid.setCursorTo(mGrid.getSelectedComponent());
+    }
+
+    // Left shoulder button deletes a character (backspace).
+    if (config->isMappedTo("leftshoulder", input)) {
+        if (input.value) {
+            mDeleteRepeat = true;
+            mDeleteRepeatTimer = -(DELETE_REPEAT_START_DELAY - DELETE_REPEAT_SPEED);
+
+            bool editing = mText->isEditing();
+            if (!editing)
+                mText->startEditing();
+
+            mText->textInput("\b");
+
+            if (!editing)
+                mText->stopEditing();
+        } else {
+            mDeleteRepeat = false;
+        }
+        return true;
+    }
+
+    // Right shoulder button inserts a blank space.
+    if (config->isMappedTo("rightshoulder", input) && input.value) {
+        bool editing = mText->isEditing();
+        if (!editing)
+            mText->startEditing();
+
+        mText->textInput(" ");
+
+        if (!editing)
+            mText->stopEditing();
+
+        return true;
+    }
+
+    if (GuiComponent::input(config, input))
+        return true;
+
     return false;
 }
 
-std::vector<HelpPrompt> GuiTextEditPopup::getHelpPrompts()
-{
+void GuiTextEditPopup::update(int deltaTime) {
+    updateDeleteRepeat(deltaTime);
+    GuiComponent::update(deltaTime);
+}
+
+std::vector<HelpPrompt> GuiTextEditPopup::getHelpPrompts() {
     std::vector<HelpPrompt> prompts = mGrid.getHelpPrompts();
+
+    if (mText->isEditing())
+        prompts.push_back(HelpPrompt("a", mAcceptBtnText));
+
+    prompts.push_back(HelpPrompt("l", "backspace"));
+    prompts.push_back(HelpPrompt("r", "space"));
     prompts.push_back(HelpPrompt("b", "back"));
     return prompts;
 }
+
+void GuiTextEditPopup::updateDeleteRepeat(int deltaTime) {
+    if (!mDeleteRepeat)
+        return;
+
+    mDeleteRepeatTimer += deltaTime;
+
+    while (mDeleteRepeatTimer >= DELETE_REPEAT_SPEED) {
+        bool editing = mText->isEditing();
+        if (!editing)
+            mText->startEditing();
+
+        mText->textInput("\b");
+
+        if (!editing)
+            mText->stopEditing();
+
+        mDeleteRepeatTimer -= DELETE_REPEAT_SPEED;
+    }
+}
diff --git a/es-core/src/guis/GuiTextEditPopup.h b/es-core/src/guis/GuiTextEditPopup.h
index fe07b53a4..4784cecf7 100644
--- a/es-core/src/guis/GuiTextEditPopup.h
+++ b/es-core/src/guis/GuiTextEditPopup.h
@@ -3,50 +3,71 @@
 //  EmulationStation Desktop Edition
 //  GuiTextEditPopup.h
 //
-//  Simple text edit popup with a title, a text input box and OK and Cancel buttons.
+//  Text edit popup.
+//  Has a default mode and a complex mode, both with various options passed as arguments.
 //
 
 #ifndef ES_CORE_GUIS_GUI_TEXT_EDIT_POPUP_H
 #define ES_CORE_GUIS_GUI_TEXT_EDIT_POPUP_H
 
 #include "GuiComponent.h"
+#include "components/ButtonComponent.h"
 #include "components/ComponentGrid.h"
-#include "components/NinePatchComponent.h"
+#include "components/TextEditComponent.h"
 
-class TextComponent;
-class TextEditComponent;
-
-class GuiTextEditPopup : public GuiComponent
-{
+class GuiTextEditPopup : public GuiComponent {
 public:
-    GuiTextEditPopup(Window* window,
-                     const HelpStyle& helpstyle,
-                     const std::string& title,
-                     const std::string& initValue,
-                     const std::function<void(const std::string&)>& okCallback,
+    GuiTextEditPopup(Window *window,
+                     const HelpStyle &helpstyle,
+                     const std::string &title,
+                     const std::string &initValue,
+                     const std::function<void(const std::string &)> &okCallback,
                      bool multiLine,
-                     const std::string& acceptBtnText = "OK",
-                     const std::string& saveConfirmationText = "SAVE CHANGES?");
+                     const std::string &acceptBtnText = "OK",
+                     const std::string &saveConfirmationText = "SAVE CHANGES?",
+                     const std::string &infoString = "",
+                     const std::string &defaultValue = "",
+                     const std::string &loadBtnHelpText = "LOAD DEFAULT",
+                     const std::string &clearBtnHelpText = "CLEAR",
+                     const std::string &cancelBtnHelpText = "DISCARD CHANGES");
 
-    bool input(InputConfig* config, Input input) override;
     void onSizeChanged() override;
 
+    bool input(InputConfig *config, Input input) override;
+
+    void update(int deltaTime) override;
+
     std::vector<HelpPrompt> getHelpPrompts() override;
+
     HelpStyle getHelpStyle() override { return mHelpStyle; }
 
 private:
+    void updateDeleteRepeat(int deltaTime);
+
     NinePatchComponent mBackground;
     ComponentGrid mGrid;
+    HelpStyle mHelpStyle;
 
     std::shared_ptr<TextComponent> mTitle;
+    std::shared_ptr<TextComponent> mInfoString;
+    std::shared_ptr<TextComponent> mDefaultValue;
     std::shared_ptr<TextEditComponent> mText;
     std::shared_ptr<ComponentGrid> mButtonGrid;
 
-    HelpStyle mHelpStyle;
-    bool mMultiLine;
     std::string mInitValue;
-    std::function<void(const std::string&)> mOkCallback;
+    std::string mAcceptBtnText;
     std::string mSaveConfirmationText;
+    std::string mLoadBtnHelpText;
+    std::string mClearBtnHelpText;
+    std::string mCancelBtnHelpText;
+
+    std::function<void(const std::string &)> mOkCallback;
+
+    bool mMultiLine;
+    bool mComplexMode;
+    bool mDeleteRepeat;
+
+    int mDeleteRepeatTimer;
 };
 
 #endif // ES_CORE_GUIS_GUI_TEXT_EDIT_POPUP_H
diff --git a/es-core/src/renderers/Renderer.cpp b/es-core/src/renderers/Renderer.cpp
index be619c006..1af81433c 100644
--- a/es-core/src/renderers/Renderer.cpp
+++ b/es-core/src/renderers/Renderer.cpp
@@ -25,6 +25,7 @@ namespace Renderer
 {
     static std::stack<Rect> clipStack;
     static SDL_Window* sdlWindow = nullptr;
+    static glm::mat4 mProjectionMatrix;
     static int windowWidth = 0;
     static int windowHeight = 0;
     static int screenWidth = 0;
@@ -150,7 +151,7 @@ namespace Renderer
 
 #if defined(__unix__)
         // Disabling desktop composition can lead to better framerates and a more fluid user
-        // interface, but with some drivers it can cause strange behaviours when returning to
+        // interface, but with some drivers it can cause strange behaviors when returning to
         // the desktop.
         if (Settings::getInstance()->getBool("DisableComposition"))
             SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "1");
@@ -539,7 +540,7 @@ namespace Renderer
             return sShaderProgramVector[index - 1];
         else
             return nullptr;
-    };
+    }
 
     const glm::mat4 getProjectionMatrix() { return mProjectionMatrix; }
     SDL_Window* getSDLWindow() { return sdlWindow; }
diff --git a/es-core/src/renderers/Renderer.h b/es-core/src/renderers/Renderer.h
index ed6980c66..eeea8da30 100644
--- a/es-core/src/renderers/Renderer.h
+++ b/es-core/src/renderers/Renderer.h
@@ -48,13 +48,15 @@ namespace Renderer
 
     static std::vector<Shader*> sShaderProgramVector;
     static GLuint shaderFBO;
-    static glm::mat4 mProjectionMatrix;
+    // This is simply to get rid of a GCC false positive -Wunused-variable compiler warning.
+    static GLuint shaderFBODummy = shaderFBO;
+
     static constexpr glm::mat4 getIdentity() { return glm::mat4{1.0f}; }
 
 #if !defined(NDEBUG)
 #define GL_CHECK_ERROR(Function) (Function, _GLCheckError(#Function))
 
-    static void _GLCheckError(const std::string& _funcName)
+    static inline void _GLCheckError(const std::string& _funcName)
     {
         const GLenum errorCode = glGetError();
 
@@ -162,7 +164,7 @@ namespace Renderer
                               const Renderer::shaderParameters& parameters = shaderParameters(),
                               unsigned char* textureRGBA = nullptr);
 
-    static unsigned int getWindowFlags() { return SDL_WINDOW_OPENGL; }
+    static inline unsigned int getWindowFlags() { return SDL_WINDOW_OPENGL; }
 
     void setupWindow();
     bool createContext();
diff --git a/es-core/src/renderers/Renderer_GL21.cpp b/es-core/src/renderers/Renderer_GL21.cpp
index 4957cd436..a4c9ec5c5 100644
--- a/es-core/src/renderers/Renderer_GL21.cpp
+++ b/es-core/src/renderers/Renderer_GL21.cpp
@@ -456,7 +456,7 @@ namespace Renderer
 
         GL_CHECK_ERROR(glBindFramebuffer(GL_READ_FRAMEBUFFER, 0));
 
-        for (int i = 0; i < shaderList.size(); i++) {
+        for (size_t i = 0; i < shaderList.size(); i++) {
             vertices[0].shaders = shaderList[i];
             int shaderPasses = 1;
             // For the blur shaders there is an optional variable to set the number of passes
diff --git a/es-core/src/resources/Font.cpp b/es-core/src/resources/Font.cpp
index e96bf3673..21c15346f 100644
--- a/es-core/src/resources/Font.cpp
+++ b/es-core/src/resources/Font.cpp
@@ -560,18 +560,20 @@ float Font::getNewlineStartOffset(const std::string& text,
         case ALIGN_CENTER: {
             int endChar = 0;
             endChar = static_cast<int>(text.find('\n', charStart));
-            return (xLen - sizeText(text.substr(charStart, endChar != std::string::npos ?
-                                                               endChar - charStart :
-                                                               endChar))
-                               .x) /
+            return (xLen - sizeText(text.substr(charStart,
+                                                static_cast<size_t>(endChar) != std::string::npos ?
+                                                endChar - charStart :
+                                                endChar))
+                    .x) /
                    2.0f;
         }
         case ALIGN_RIGHT: {
             int endChar = static_cast<int>(text.find('\n', charStart));
-            return xLen - (sizeText(text.substr(charStart, endChar != std::string::npos ?
-                                                               endChar - charStart :
-                                                               endChar))
-                               .x);
+            return xLen - (sizeText(text.substr(charStart,
+                                                static_cast<size_t>(endChar) != std::string::npos ?
+                                                endChar - charStart :
+                                                endChar))
+                    .x);
         }
         default:
             return 0;
diff --git a/es-core/src/resources/ResourceManager.cpp b/es-core/src/resources/ResourceManager.cpp
index 0f4072b09..99aab2ae5 100644
--- a/es-core/src/resources/ResourceManager.cpp
+++ b/es-core/src/resources/ResourceManager.cpp
@@ -18,7 +18,6 @@
 #include <fstream>
 
 auto array_deleter = [](unsigned char* p) { delete[] p; };
-auto nop_deleter = [](unsigned char* /*p*/) {};
 
 std::shared_ptr<ResourceManager> ResourceManager::sInstance = nullptr;
 
diff --git a/es-core/src/resources/TextureData.cpp b/es-core/src/resources/TextureData.cpp
index 65e715512..5760111e0 100644
--- a/es-core/src/resources/TextureData.cpp
+++ b/es-core/src/resources/TextureData.cpp
@@ -26,13 +26,13 @@ TextureData::TextureData(bool tile)
     : mTile(tile)
     , mTextureID(0)
     , mDataRGBA({})
-    , mScaleDuringLoad(1.0f)
-    , mScalable(false)
-    , mLinearMagnify(false)
     , mWidth(0)
     , mHeight(0)
     , mSourceWidth(0.0f)
     , mSourceHeight(0.0f)
+    , mScaleDuringLoad(1.0f)
+    , mScalable(false)
+    , mLinearMagnify(false)
 {
 }
 
diff --git a/es-core/src/utils/FileSystemUtil.cpp b/es-core/src/utils/FileSystemUtil.cpp
index 1e6075d62..c96ae9b4f 100644
--- a/es-core/src/utils/FileSystemUtil.cpp
+++ b/es-core/src/utils/FileSystemUtil.cpp
@@ -8,7 +8,9 @@
 //  remove files etc.
 //
 
+#if !defined(__APPLE__)
 #define _FILE_OFFSET_BITS 64
+#endif
 
 #if defined(__APPLE__)
 #define _DARWIN_USE_64_BIT_INODE
@@ -260,8 +262,8 @@ namespace Utils
         std::string getPreferredPath(const std::string& path)
         {
             std::string preferredPath = path;
-            size_t offset = std::string::npos;
 #if defined(_WIN64)
+            size_t offset = std::string::npos;
             // Convert '/' to '\\'
             while ((offset = preferredPath.find('/')) != std::string::npos)
                 preferredPath.replace(offset, 1, "\\");
diff --git a/es-core/src/utils/MathUtil.h b/es-core/src/utils/MathUtil.h
index f2443d313..34fb84131 100644
--- a/es-core/src/utils/MathUtil.h
+++ b/es-core/src/utils/MathUtil.h
@@ -34,7 +34,7 @@ namespace Utils
                      const float scrollLength);
 
         // The MD5 functions are derived from the RSA Data Security, Inc. MD5 Message-Digest
-        // Algorithm. Based on this code: https://github.com/yaoyao-cn/md5/blob/master/md5.cpp
+        // Algorithm.
         std::string md5Hash(const std::string& data);
         void md5Update(const unsigned char* buf,
                        unsigned int length,
diff --git a/es-core/src/utils/TimeUtil.cpp b/es-core/src/utils/TimeUtil.cpp
index ef829d351..40ba11bd3 100644
--- a/es-core/src/utils/TimeUtil.cpp
+++ b/es-core/src/utils/TimeUtil.cpp
@@ -18,7 +18,11 @@ namespace Utils
         DateTime::DateTime()
         {
             mTime = 0;
+#if defined(_WIN64)
             mTimeStruct = {0, 0, 0, 1, 0, 0, 0, 0, -1};
+#else
+            mTimeStruct = {0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0};
+#endif
             mIsoString = "00000000T000000";
         }
 
@@ -83,7 +87,11 @@ namespace Utils
         {
             const char* s = string.c_str();
             const char* f = format.c_str();
+#if defined(_WIN64)
             tm timeStruct = {0, 0, 0, 1, 0, 0, 0, 0, -1};
+#else
+            tm timeStruct = {0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0};
+#endif
             size_t parsedChars = 0;
 
             if (string == "19700101T010000")
@@ -231,7 +239,11 @@ namespace Utils
 
         int daysInMonth(const int year, const int month)
         {
+#if defined(_WIN64)
             tm timeStruct = {0, 0, 0, 0, month, year - 1900, 0, 0, -1};
+#else
+            tm timeStruct = {0, 0, 0, 0, month, year - 1900, 0, 0, -1, 0, 0};
+#endif
             mktime(&timeStruct);
 
             return timeStruct.tm_mday;
@@ -239,7 +251,11 @@ namespace Utils
 
         int daysInYear(const int year)
         {
+#if defined(_WIN64)
             tm timeStruct = {0, 0, 0, 0, 0, year - 1900 + 1, 0, 0, -1};
+#else
+            tm timeStruct = {0, 0, 0, 0, 0, year - 1900 + 1, 0, 0, -1, 0, 0};
+#endif
             mktime(&timeStruct);
 
             return timeStruct.tm_yday + 1;
diff --git a/es-core/src/utils/TimeUtil.h b/es-core/src/utils/TimeUtil.h
index a92d4edd2..3c0d0489a 100644
--- a/es-core/src/utils/TimeUtil.h
+++ b/es-core/src/utils/TimeUtil.h
@@ -20,7 +20,7 @@ namespace Utils
 {
     namespace Time
     {
-        static int DEFAULT_TIMEVALUE = 0;
+        constexpr static int DEFAULT_TIMEVALUE = 0;
 
         class DateTime
         {
diff --git a/images/es-de_alternative_emulators.png b/images/es-de_alternative_emulators.png
new file mode 100644
index 000000000..6fa287923
Binary files /dev/null and b/images/es-de_alternative_emulators.png differ
diff --git a/images/current/es-de_basic_view_style.png b/images/es-de_basic_view_style.png
similarity index 100%
rename from images/current/es-de_basic_view_style.png
rename to images/es-de_basic_view_style.png
diff --git a/images/current/es-de_custom_collections.png b/images/es-de_custom_collections.png
similarity index 100%
rename from images/current/es-de_custom_collections.png
rename to images/es-de_custom_collections.png
diff --git a/images/current/es-de_custom_collections_editing.png b/images/es-de_custom_collections_editing.png
similarity index 100%
rename from images/current/es-de_custom_collections_editing.png
rename to images/es-de_custom_collections_editing.png
diff --git a/images/current/es-de_folder_support.png b/images/es-de_folder_support.png
similarity index 100%
rename from images/current/es-de_folder_support.png
rename to images/es-de_folder_support.png
diff --git a/images/current/es-de_game_options_menu.png b/images/es-de_game_options_menu.png
similarity index 100%
rename from images/current/es-de_game_options_menu.png
rename to images/es-de_game_options_menu.png
diff --git a/images/current/es-de_gamelist_filters.png b/images/es-de_gamelist_filters.png
similarity index 100%
rename from images/current/es-de_gamelist_filters.png
rename to images/es-de_gamelist_filters.png
diff --git a/images/current/es-de_gamelist_view.png b/images/es-de_gamelist_view.png
similarity index 100%
rename from images/current/es-de_gamelist_view.png
rename to images/es-de_gamelist_view.png
diff --git a/images/current/es-de_main_menu.png b/images/es-de_main_menu.png
similarity index 100%
rename from images/current/es-de_main_menu.png
rename to images/es-de_main_menu.png
diff --git a/images/current/es-de_metadata_editor.png b/images/es-de_metadata_editor.png
similarity index 100%
rename from images/current/es-de_metadata_editor.png
rename to images/es-de_metadata_editor.png
diff --git a/images/current/es-de_scraper_running.png b/images/es-de_scraper_running.png
similarity index 100%
rename from images/current/es-de_scraper_running.png
rename to images/es-de_scraper_running.png
diff --git a/images/current/es-de_scraper_settings.png b/images/es-de_scraper_settings.png
similarity index 100%
rename from images/current/es-de_scraper_settings.png
rename to images/es-de_scraper_settings.png
diff --git a/images/current/es-de_screensaver.png b/images/es-de_screensaver.png
similarity index 100%
rename from images/current/es-de_screensaver.png
rename to images/es-de_screensaver.png
diff --git a/images/current/es-de_system_view.png b/images/es-de_system_view.png
similarity index 100%
rename from images/current/es-de_system_view.png
rename to images/es-de_system_view.png
diff --git a/images/current/es-de_ui_easy_setup.png b/images/es-de_ui_easy_setup.png
similarity index 100%
rename from images/current/es-de_ui_easy_setup.png
rename to images/es-de_ui_easy_setup.png
diff --git a/images/current/es-de_ui_theme_support.png b/images/es-de_ui_theme_support.png
similarity index 100%
rename from images/current/es-de_ui_theme_support.png
rename to images/es-de_ui_theme_support.png
diff --git a/resources/graphics/badge_broken.svg b/resources/graphics/badge_broken.svg
new file mode 100644
index 000000000..874679512
--- /dev/null
+++ b/resources/graphics/badge_broken.svg
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+        xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+        xmlns:dc="http://purl.org/dc/elements/1.1/"
+        xmlns:cc="http://creativecommons.org/ns#"
+        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+        xmlns:svg="http://www.w3.org/2000/svg"
+        xmlns="http://www.w3.org/2000/svg"
+        xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+        xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+        width="210mm"
+        height="294.5mm"
+        viewBox="0 0 210 294.5"
+        version="1.1"
+        id="svg8"
+        inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+        sodipodi:docname="badge_broken.svg">
+    <defs
+            id="defs2">
+        <linearGradient
+                id="linearGradient1240"
+                osb:paint="solid">
+            <stop
+                    style="stop-color:#000000;stop-opacity:1;"
+                    offset="0"
+                    id="stop1238"/>
+        </linearGradient>
+    </defs>
+    <sodipodi:namedview
+            id="base"
+            pagecolor="#ffffff"
+            bordercolor="#666666"
+            borderopacity="1.0"
+            inkscape:pageopacity="0.0"
+            inkscape:pageshadow="2"
+            inkscape:zoom="0.49497475"
+            inkscape:cx="183.64905"
+            inkscape:cy="576.16723"
+            inkscape:document-units="mm"
+            inkscape:current-layer="layer6"
+            inkscape:document-rotation="0"
+            showgrid="false"
+            inkscape:window-width="3440"
+            inkscape:window-height="1355"
+            inkscape:window-x="2560"
+            inkscape:window-y="0"
+            inkscape:window-maximized="1"/>
+    <metadata
+            id="metadata5">
+        <rdf:RDF>
+            <cc:Work
+                    rdf:about="">
+                <dc:format>image/svg+xml</dc:format>
+                <dc:type
+                        rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+                <dc:title></dc:title>
+            </cc:Work>
+        </rdf:RDF>
+    </metadata>
+    <g
+            inkscape:groupmode="layer"
+            id="layer2"
+            inkscape:label="border-black"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1018"
+                width="3.0215168"
+                height="294.47311"
+                x="0.0042027417"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1022"
+                width="2.6538153"
+                height="291.60104"
+                x="207.3457"
+                y="2.9028916"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.262673"
+                id="rect1020"
+                width="206.97379"
+                height="2.9009686"
+                x="3.0257196"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1024"
+                width="204.36038"
+                height="2.7575684"
+                x="3.0257196"
+                y="291.71747"/>
+  </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer3"
+            inkscape:label="white-outer-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1090"
+                width="204.36038"
+                height="288.81458"
+                x="3.0257196"
+                y="2.9028914"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer4"
+            inkscape:label="black-inner-bg"
+            style="display:inline;opacity:1">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1093"
+                width="194.90201"
+                height="279.21954"
+                x="7.700757"
+                y="7.7173548"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer5"
+            inkscape:label="white-inner-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1096"
+                width="174.01582"
+                height="172.88167"
+                x="18.183073"
+                y="53.878208"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer6"
+            inkscape:label="content-rated-by"
+            style="display:inline">
+        <g
+                aria-label="CONTENT RATED BY"
+                transform="scale(0.9793571,1.021078)"
+                id="text1101"
+                style="font-size:24.8757px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:-0.259121px;word-spacing:-2.07298px;stroke-width:0.259121">
+            <path
+                    d="m 17.440317,237.05021 c 0,6.21893 2.611948,7.51247 6.791066,7.51247 1.019904,0 1.840802,-0.0746 2.860705,-0.27364 l -0.522389,-3.93036 -2.288565,0.17413 c -1.019903,0.0497 -1.666672,-0.52239 -1.666672,-3.4826 0,-2.9602 0.746271,-3.50747 1.666672,-3.45772 l 2.288565,0.14926 0.547265,-3.90549 c -1.019904,-0.22388 -1.815926,-0.42289 -2.83583,-0.42289 -4.203993,0 -6.840817,1.79105 -6.840817,7.63684 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path43"/>
+            <path
+                    d="m 27.504587,237.05021 c 0,5.77117 2.164186,7.61197 6.915444,7.61197 3.507474,-0.17413 5.721411,-2.71145 5.721411,-7.61197 0,-5.74628 -2.238813,-7.63684 -6.965196,-7.63684 -3.507473,0.17413 -5.671659,2.76121 -5.671659,7.63684 z m 5.174145,0 c 0,-2.9602 0.422887,-3.28359 1.094531,-3.28359 0.671644,0 1.169158,0.32339 1.169158,3.28359 0,2.96021 -0.422887,3.2836 -1.094531,3.2836 -0.671644,0 -1.169158,-0.32339 -1.169158,-3.2836 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path45"/>
+            <path
+                    d="m 41.175834,237.05021 c 0,2.48757 0.04975,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.248757,0.24875 0.796023,0.0498 1.567169,0.0746 2.412943,0.0746 0.820898,0 1.268661,-0.0249 2.064683,-0.0746 l -0.0995,-6.59206 2.587072,6.34331 c 0.04975,0.14925 0.124379,0.24875 0.273633,0.24875 0.796022,0.0498 1.517418,0.0746 2.263689,0.0746 0.820898,0 1.243785,-0.0249 1.940304,-0.0746 0.04975,-2.48757 0.0995,-4.97514 0.0995,-7.46271 0,-2.48757 -0.04975,-4.87563 -0.0995,-7.21395 0,-0.12438 -0.124378,-0.22388 -0.248757,-0.24876 -0.746271,-0.0249 -1.467666,-0.0498 -2.31344,-0.0498 -0.820898,0 -1.393039,0.0249 -2.164186,0.0498 l 0.07463,6.61694 -2.562197,-6.36818 c -0.07463,-0.12438 -0.149254,-0.22388 -0.273632,-0.24876 -0.796023,-0.0249 -1.442791,-0.0498 -2.164186,-0.0498 -0.820898,0 -1.268661,0.0249 -2.039808,0.0498 -0.07463,2.48757 -0.0995,4.97514 -0.0995,7.46271 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path47"/>
+            <path
+                    d="m 53.82718,231.47806 c 0,0.67164 0,1.34329 0.02488,2.0398 0,0.14926 0.0995,0.24876 0.248757,0.24876 0.422886,0.0249 1.61692,0.0498 2.736327,0.0746 0,1.04478 0,2.06468 0,3.20896 0,2.48757 0.04975,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.248757,0.24875 0.820898,0.0498 1.691548,0.0746 2.537322,0.0746 0.820898,0 1.393039,-0.0249 2.189061,-0.0746 0.04975,-2.48757 0.0995,-4.97514 0.0995,-7.46271 0,-1.14428 -0.02488,-2.16418 -0.04975,-3.18409 1.293536,0 2.611948,-0.0249 3.034835,-0.0497 0,-0.62189 0,-1.24378 0,-1.8408 0,-0.72139 0,-1.41791 0,-2.13931 -0.02488,-0.12438 -0.124378,-0.24876 -0.248757,-0.24876 -0.845774,-0.0249 -4.303496,-0.0498 -5.14927,-0.0498 -0.820898,0 -4.97514,0.0249 -5.746286,0.0498 -0.02488,0.67165 -0.02488,1.29354 -0.02488,1.89056 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path49"/>
+            <path
+                    d="m 65.782008,237.05021 c 0,2.48757 0.04975,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.248757,0.24875 0.820898,0.0498 4.427874,0.12438 5.273648,0.12438 0.820898,0 3.482598,-0.0249 4.278621,-0.0746 0,-0.6219 0,-1.21891 0,-1.81593 0,-0.69652 0,-1.39304 0,-2.16419 -0.02488,-0.12437 -0.124379,-0.24875 -0.248757,-0.24875 -0.845774,-0.0249 -3.557225,-0.0497 -4.402999,-0.0497 h -0.323384 c 0,-0.42289 0,-0.84578 0,-1.29354 h 3.233841 c 0,-0.59702 0,-1.11941 0,-1.6418 0,-0.59701 0,-1.19403 0,-1.89055 -0.02488,-0.12438 -0.124379,-0.24876 -0.248757,-0.24876 -0.646769,0 -1.990056,-0.0249 -2.985084,-0.0249 0,-0.44777 0,-0.89553 0,-1.31842 0.422887,0 0.771146,0 0.970152,0 0.820898,0 3.159214,0 3.955236,-0.0497 0,-0.62189 0,-1.21891 0,-1.81592 0,-0.69652 0,-1.39304 0,-2.16419 -0.02487,-0.12438 -0.124378,-0.24876 -0.248757,-0.24876 -0.845774,-0.0249 -3.507473,-0.0498 -4.353247,-0.0498 -0.820898,0 -4.378123,0.0249 -5.14927,0.0498 -0.07463,2.48757 -0.0995,4.97514 -0.0995,7.46271 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path51"/>
+            <path
+                    d="m 76.816417,237.05021 c 0,2.48757 0.04975,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.248757,0.24875 0.796023,0.0498 1.567169,0.0746 2.412943,0.0746 0.820898,0 1.268661,-0.0249 2.064683,-0.0746 l -0.0995,-6.59206 2.587072,6.34331 c 0.04975,0.14925 0.124379,0.24875 0.273633,0.24875 0.796022,0.0498 1.517418,0.0746 2.263689,0.0746 0.820898,0 1.243785,-0.0249 1.940304,-0.0746 0.04975,-2.48757 0.0995,-4.97514 0.0995,-7.46271 0,-2.48757 -0.04975,-4.87563 -0.0995,-7.21395 0,-0.12438 -0.124378,-0.22388 -0.248757,-0.24876 -0.746271,-0.0249 -1.467666,-0.0498 -2.31344,-0.0498 -0.820898,0 -1.393039,0.0249 -2.164186,0.0498 l 0.07463,6.61694 -2.562197,-6.36818 c -0.07463,-0.12438 -0.149254,-0.22388 -0.273632,-0.24876 -0.796023,-0.0249 -1.442791,-0.0498 -2.164186,-0.0498 -0.820898,0 -1.268661,0.0249 -2.039808,0.0498 -0.07463,2.48757 -0.0995,4.97514 -0.0995,7.46271 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path53"/>
+            <path
+                    d="m 89.467763,231.47806 c 0,0.67164 0,1.34329 0.02488,2.0398 0,0.14926 0.0995,0.24876 0.248757,0.24876 0.422886,0.0249 1.61692,0.0498 2.736327,0.0746 0,1.04478 0,2.06468 0,3.20896 0,2.48757 0.04975,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.248757,0.24875 0.820898,0.0498 1.691548,0.0746 2.537322,0.0746 0.820898,0 1.393039,-0.0249 2.189061,-0.0746 0.04975,-2.48757 0.0995,-4.97514 0.0995,-7.46271 0,-1.14428 -0.02488,-2.16418 -0.04975,-3.18409 1.293536,0 2.611953,-0.0249 3.034833,-0.0497 0,-0.62189 0,-1.24378 0,-1.8408 0,-0.72139 0,-1.41791 0,-2.13931 -0.0249,-0.12438 -0.12438,-0.24876 -0.24875,-0.24876 -0.845779,-0.0249 -4.303501,-0.0498 -5.149275,-0.0498 -0.820898,0 -4.97514,0.0249 -5.746286,0.0498 -0.02488,0.67165 -0.02488,1.29354 -0.02488,1.89056 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path55"/>
+            <path
+                    d="m 106.60293,236.72683 c 0,2.48757 0.0498,5.19902 0.0498,7.53734 0,0.14925 0.0995,0.24875 0.24876,0.24875 0.84577,0.0498 1.69155,0.0498 2.53732,0.0498 0.7214,0 1.44279,0 2.18906,-0.0498 -0.0249,-1.9403 -0.0995,-4.07961 -0.12438,-6.11942 0.0995,0 0.22389,0 0.32339,0 0.49751,1.71643 1.19403,3.83086 1.89055,5.94529 0.0497,0.14926 0.24876,0.24876 0.37314,0.24876 0.67164,0.0498 1.34328,0.0746 2.01493,0.0746 0.87065,0 1.76617,-0.0498 2.58707,-0.14926 -0.42289,-1.86567 -0.99503,-3.65672 -1.96518,-5.59703 -0.34826,-0.57214 -0.8209,-0.97015 -1.39304,-1.16916 1.6418,-0.77114 2.6617,-2.16418 2.6617,-4.00498 0,-4.02987 -2.53732,-4.32838 -6.2438,-4.32838 -1.39304,0 -3.45772,0.17413 -5.09952,0.42289 0,2.48757 -0.0498,4.403 -0.0498,6.89057 z m 4.90051,-1.39304 c 0,-0.79602 0,-1.51742 0,-2.23881 0.17413,-0.0249 0.39802,-0.0249 0.59702,-0.0249 0.89553,0 1.14428,0.42289 1.14428,1.19404 0,0.64676 -0.54726,1.06965 -1.31841,1.06965 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path57"/>
+            <path
+                    d="m 118.45826,244.31392 c 0,0.12438 0.0995,0.199 0.22388,0.199 0.8209,0.0498 1.69155,0.0746 2.53732,0.0746 0.8209,0 1.26866,-0.0249 2.06468,-0.0746 0.17413,-0.89552 0.32339,-1.81592 0.47264,-2.73632 h 2.31344 c 0.12438,0.84577 0.27363,1.69154 0.44776,2.48757 0.0249,0.14925 0.14926,0.24875 0.27364,0.24875 0.87065,0.0746 1.59204,0.0746 2.43781,0.0746 0.84578,0 1.39304,-0.0249 2.16419,-0.0746 -0.7214,-4.82588 -1.89055,-9.90052 -2.83583,-14.67666 -0.0249,-0.12438 -0.14925,-0.24876 -0.27363,-0.24876 -1.19404,-0.0249 -2.36319,-0.0498 -3.55723,-0.0498 -1.16916,0 -2.31344,0 -3.43284,0.0498 -0.9204,4.60201 -1.96518,9.40302 -2.71146,13.95527 -0.0497,0.24876 -0.12437,0.7214 -0.12437,0.77115 z m 5.72141,-5.77116 c 0.199,-1.86568 0.39801,-3.73136 0.62189,-5.57216 0.24876,1.86568 0.49751,3.73135 0.77115,5.57216 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path59"/>
+            <path
+                    d="m 130.73642,231.47806 c 0,0.67164 0,1.34329 0.0249,2.0398 0,0.14926 0.0995,0.24876 0.24876,0.24876 0.42289,0.0249 1.61692,0.0498 2.73633,0.0746 0,1.04478 0,2.06468 0,3.20896 0,2.48757 0.0498,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.24876,0.24875 0.82089,0.0498 1.69154,0.0746 2.53732,0.0746 0.8209,0 1.39304,-0.0249 2.18906,-0.0746 0.0497,-2.48757 0.0995,-4.97514 0.0995,-7.46271 0,-1.14428 -0.0249,-2.16418 -0.0498,-3.18409 1.29354,0 2.61195,-0.0249 3.03484,-0.0497 0,-0.62189 0,-1.24378 0,-1.8408 0,-0.72139 0,-1.41791 0,-2.13931 -0.0249,-0.12438 -0.12438,-0.24876 -0.24876,-0.24876 -0.84577,-0.0249 -4.3035,-0.0498 -5.14927,-0.0498 -0.8209,0 -4.97514,0.0249 -5.74629,0.0498 -0.0249,0.67165 -0.0249,1.29354 -0.0249,1.89056 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path61"/>
+            <path
+                    d="m 142.69124,237.05021 c 0,2.48757 0.0498,4.87564 0.0995,7.21396 0,0.14925 0.0995,0.24875 0.24876,0.24875 0.8209,0.0498 4.42788,0.12438 5.27365,0.12438 0.8209,0 3.4826,-0.0249 4.27862,-0.0746 0,-0.6219 0,-1.21891 0,-1.81593 0,-0.69652 0,-1.39304 0,-2.16419 -0.0249,-0.12437 -0.12438,-0.24875 -0.24876,-0.24875 -0.84577,-0.0249 -3.55722,-0.0497 -4.403,-0.0497 h -0.32338 c 0,-0.42289 0,-0.84578 0,-1.29354 h 3.23384 c 0,-0.59702 0,-1.11941 0,-1.6418 0,-0.59701 0,-1.19403 0,-1.89055 -0.0249,-0.12438 -0.12438,-0.24876 -0.24876,-0.24876 -0.64676,0 -1.99005,-0.0249 -2.98508,-0.0249 0,-0.44777 0,-0.89553 0,-1.31842 0.42289,0 0.77115,0 0.97015,0 0.8209,0 3.15922,0 3.95524,-0.0497 0,-0.62189 0,-1.21891 0,-1.81592 0,-0.69652 0,-1.39304 0,-2.16419 -0.0249,-0.12438 -0.12438,-0.24876 -0.24876,-0.24876 -0.84577,-0.0249 -3.50747,-0.0498 -4.35325,-0.0498 -0.82089,0 -4.37812,0.0249 -5.14927,0.0498 -0.0746,2.48757 -0.0995,4.97514 -0.0995,7.46271 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path63"/>
+            <path
+                    d="m 158.7008,237.05021 c 0,-1.19403 0,-2.23881 0.0249,-3.28359 h 0.42289 c 0.67164,0 1.16916,0.32339 1.16916,3.28359 0,2.96021 -0.49752,3.30847 -1.16916,3.30847 h -0.42289 c -0.0249,-1.04478 -0.0249,-2.08956 -0.0249,-3.30847 z m -4.92539,0 c 0,2.48757 0.0498,4.62688 0.0498,6.9652 0,0.14925 0.0995,0.24876 0.24876,0.24876 1.71642,0.17413 3.28359,0.29851 4.65175,0.29851 4.17912,0 6.79107,-1.29354 6.79107,-7.51247 0,-5.84579 -2.63683,-7.63684 -6.84082,-7.63684 -1.39304,0 -3.20896,0.17413 -4.85076,0.42289 0,2.48757 -0.0498,4.72638 -0.0498,7.21395 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path65"/>
+            <path
+                    d="m 176.6071,235.06016 c 0,-0.77115 0,-1.41792 0.0249,-2.03981 0.0497,-0.0249 0.199,-0.0249 0.2985,-0.0249 0.64677,0 1.29354,0.32338 1.29354,0.99502 0,0.69652 -0.67164,1.06966 -1.44279,1.06966 z m 0.0249,3.6816 h 0.62189 c 0.67164,0 1.14428,0.42289 1.14428,0.99503 0,0.64677 -0.37313,1.0199 -1.31841,1.0199 h -0.39801 c -0.0249,-0.67164 -0.0497,-1.34328 -0.0497,-2.01493 z m -4.90052,-2.01493 c 0,2.48757 0.0497,5.00002 0.0497,7.33833 0,0.14926 0.0995,0.27363 0.24876,0.29851 1.71643,0.19901 3.60698,0.27363 5.29853,0.27363 3.35822,0 6.04479,-0.67164 6.04479,-4.62688 0,-1.19403 -0.8209,-2.28856 -2.18906,-3.05971 0.89552,-0.77115 1.44279,-1.89055 1.44279,-3.20896 0,-4.02987 -2.53732,-4.32838 -5.99504,-4.32838 -1.39304,0 -3.20897,0.17413 -4.85077,0.42289 0,2.48757 -0.0497,4.403 -0.0497,6.89057 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path67"/>
+            <path
+                    d="m 183.01462,229.68701 c 0.42289,1.89055 1.09453,4.42787 2.06468,6.3433 0.57214,0.97015 1.26866,1.7413 2.01493,2.33832 -0.0249,2.01493 -0.0249,3.98011 -0.0249,5.89554 0,0.14925 0.0995,0.24875 0.24875,0.24875 0.8209,0.0498 1.7413,0.0746 2.58708,0.0746 0.8209,0 1.44279,-0.0249 2.23881,-0.0746 -0.0249,-2.0398 -0.0498,-4.07961 -0.0746,-6.14429 0.74627,-0.59702 1.44279,-1.36817 2.01493,-2.33832 0.97016,-1.91543 1.6418,-4.45275 2.06469,-6.3433 -0.8209,-0.0995 -1.71643,-0.14926 -2.58707,-0.14926 -0.67165,0 -1.34329,0.0249 -2.01494,0.0746 -0.12438,0 -0.32338,0.0995 -0.37313,0.24876 -0.54727,1.66667 -1.14428,3.73135 -1.59205,5.4229 -0.47264,-1.69155 -1.04478,-3.75623 -1.59204,-5.4229 -0.0497,-0.14926 -0.24876,-0.24876 -0.37314,-0.24876 -0.67164,-0.0497 -1.34328,-0.0746 -2.01493,-0.0746 -0.89552,0 -1.76617,0.0498 -2.58707,0.14926 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.8757px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259121"
+                    id="path69"/>
+        </g>
+        <g
+                aria-label="BROKEN"
+                transform="scale(1.0948358,0.91337896)"
+                id="text41"
+                style="font-size:51.9028px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';stroke-width:0.353882">
+            <path
+                    d="m 27.531279,29.487766 c 0,-1.608987 0,-2.95846 0.0519,-4.25603 0.103806,-0.0519 0.415223,-0.0519 0.622834,-0.0519 1.349473,0 2.698945,0.674736 2.698945,2.076112 0,1.453278 -1.401375,2.23182 -3.010362,2.23182 z m 0.0519,7.681615 h 1.29757 c 1.401376,0 2.387529,0.882347 2.387529,2.076112 0,1.349473 -0.778542,2.128015 -2.750848,2.128015 h -0.830445 c -0.0519,-1.401376 -0.103806,-2.802752 -0.103806,-4.204127 z M 17.35833,32.965254 c 0,5.19028 0.103806,10.432463 0.103806,15.311326 0,0.311417 0.207611,0.570931 0.519028,0.622834 3.581293,0.415222 7.525906,0.570931 11.055297,0.570931 7.006878,0 12.61238,-1.401376 12.61238,-9.653921 0,-2.491335 -1.712792,-4.775058 -4.567446,-6.384045 1.868501,-1.608987 3.010362,-3.944613 3.010362,-6.695461 0,-8.408254 -5.294085,-9.031088 -12.508575,-9.031088 -2.906557,0 -6.695461,0.36332 -10.121046,0.882348 0,5.19028 -0.103806,9.186796 -0.103806,14.377076 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.9028px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.353882"
+                    id="path72"/>
+            <path
+                    d="m 44.140116,32.965254 c 0,5.19028 0.103806,10.847685 0.103806,15.726549 0,0.311416 0.207611,0.519028 0.519028,0.519028 1.764695,0.103805 3.52939,0.103805 5.294086,0.103805 1.505181,0 3.010362,0 4.567446,-0.103805 -0.0519,-4.048419 -0.207611,-8.51206 -0.259514,-12.768089 0.207611,0 0.467125,0 0.674737,0 1.038056,3.581293 2.491334,7.993031 3.944612,12.404769 0.103806,0.311417 0.519028,0.519028 0.778543,0.519028 1.401375,0.103806 2.802751,0.155708 4.204126,0.155708 1.816598,0 3.685099,-0.103805 5.397892,-0.311416 C 68.48253,45.318121 67.288766,41.581119 65.264556,37.5327 64.537917,36.338936 63.551764,35.508491 62.358,35.093269 c 3.425584,-1.608987 5.553599,-4.515544 5.553599,-8.356351 0,-8.408254 -5.294085,-9.031088 -13.027603,-9.031088 -2.906557,0 -7.214489,0.36332 -10.640074,0.882348 0,5.19028 -0.103806,9.186796 -0.103806,14.377076 z m 10.224852,-2.906557 c 0,-1.66089 0,-3.166071 0,-4.671252 0.36332,-0.0519 0.830445,-0.0519 1.245667,-0.0519 1.868501,0 2.387529,0.882348 2.387529,2.491334 0,1.349473 -1.141861,2.231821 -2.750848,2.231821 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.9028px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.353882"
+                    id="path74"/>
+            <path
+                    d="m 70.29908,33.63999 c 0,12.04145 4.515543,15.882257 14.428979,15.882257 7.318295,-0.363319 11.937644,-5.657405 11.937644,-15.882257 0,-11.989547 -4.671252,-15.93416 -14.532785,-15.93416 -7.318295,0.36332 -11.833838,5.761211 -11.833838,15.93416 z m 10.795782,0 c 0,-6.176433 0.882348,-6.85117 2.283724,-6.85117 1.401375,0 2.439431,0.674737 2.439431,6.85117 0,6.176434 -0.882347,6.85117 -2.283723,6.85117 -1.401376,0 -2.439432,-0.674736 -2.439432,-6.85117 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.9028px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.353882"
+                    id="path76"/>
+            <path
+                    d="m 99.364602,33.63999 c 0,5.19028 0.103805,10.172949 0.207611,15.051813 0,0.311416 0.207611,0.519028 0.519027,0.519028 1.71279,0.103805 3.52939,0.155708 5.29409,0.155708 1.71279,0 2.90655,-0.0519 4.56744,-0.155708 0,-0.72664 0,-1.453279 0,-2.179918 0,-3.52939 -0.15571,-7.006878 -0.25951,-10.484366 h 0.98615 c 1.03806,3.633196 2.38753,8.51206 3.6332,12.300964 0.1038,0.311417 0.51903,0.519028 0.77854,0.519028 1.40138,0.103806 2.80275,0.155708 4.20413,0.155708 1.8166,0 3.6851,-0.103805 5.39789,-0.311416 -0.88235,-3.89271 -2.28372,-9.186796 -4.30793,-13.235215 -0.93425,-1.608987 -2.38753,-2.59514 -4.20413,-2.750848 v -0.0519 c 1.8166,-0.103806 3.11417,-1.141862 4.04842,-2.750848 2.02421,-3.996516 3.47749,-8.356352 4.35983,-12.300964 -1.71279,-0.207612 -3.32178,-0.311417 -5.13837,-0.311417 -1.40138,0 -2.80276,0.0519 -4.20413,0.155708 -0.25952,0 -0.67474,0.207611 -0.77854,0.519028 -1.14186,3.477488 -2.49134,7.266392 -3.5813,10.536269 -0.41522,0 -0.77854,0 -1.14186,0 0.10381,-2.906557 0.20761,-5.761211 0.20761,-8.563962 0,-0.622834 0,-1.245668 0,-1.868501 0,-0.259514 -0.25951,-0.519028 -0.51902,-0.519028 -1.7647,-0.0519 -3.5813,-0.103806 -5.34599,-0.103806 -1.7128,0 -2.90656,0.0519 -4.515547,0.103806 -0.155709,5.19028 -0.207611,10.38056 -0.207611,15.57084 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.9028px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.353882"
+                    id="path78"/>
+            <path
+                    d="m 127.02874,33.63999 c 0,5.19028 0.10381,10.172949 0.20761,15.051813 0,0.311416 0.20761,0.519028 0.51903,0.519028 1.71279,0.103805 9.2387,0.259514 11.00339,0.259514 1.7128,0 7.2664,-0.0519 8.92729,-0.155709 0,-1.29757 0,-2.543237 0,-3.788904 0,-1.453279 0,-2.906557 0,-4.515544 -0.0519,-0.259514 -0.25952,-0.519028 -0.51903,-0.519028 -1.7647,-0.0519 -7.4221,-0.103806 -9.1868,-0.103806 h -0.67473 c 0,-0.882347 0,-1.764695 0,-2.698945 h 6.74736 c 0,-1.245667 0,-2.335626 0,-3.425585 0,-1.245667 0,-2.491335 0,-3.944613 -0.0519,-0.259514 -0.25951,-0.519028 -0.51903,-0.519028 -1.34947,0 -4.15222,-0.0519 -6.22833,-0.0519 0,-0.93425 0,-1.868501 0,-2.750848 0.88234,0 1.60898,0 2.0242,0 1.7128,0 6.59166,0 8.25255,-0.103806 0,-1.29757 0,-2.543237 0,-3.788904 0,-1.453279 0,-2.906557 0,-4.515544 -0.0519,-0.259514 -0.25951,-0.519028 -0.51903,-0.519028 -1.76469,-0.0519 -7.31829,-0.103806 -9.08299,-0.103806 -1.71279,0 -9.13489,0.0519 -10.74388,0.103806 -0.15571,5.19028 -0.20761,10.38056 -0.20761,15.57084 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.9028px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.353882"
+                    id="path80"/>
+            <path
+                    d="m 150.59254,33.63999 c 0,5.19028 0.1038,10.172949 0.20761,15.051813 0,0.311416 0.20761,0.519028 0.51903,0.519028 1.66089,0.103805 3.26987,0.155708 5.03457,0.155708 1.71279,0 2.64704,-0.0519 4.30793,-0.155708 l -0.20761,-13.754243 5.39789,13.235215 c 0.10381,0.311416 0.25952,0.519028 0.57093,0.519028 1.66089,0.103805 3.16607,0.155708 4.72316,0.155708 1.71279,0 2.59514,-0.0519 4.04842,-0.155708 0.1038,-5.19028 0.20761,-10.380561 0.20761,-15.570841 0,-5.19028 -0.10381,-10.172949 -0.20761,-15.051812 0,-0.259514 -0.25952,-0.467125 -0.51903,-0.519028 -1.55709,-0.0519 -3.06227,-0.103806 -4.82696,-0.103806 -1.7128,0 -2.90656,0.0519 -4.51555,0.103806 l 0.15571,13.806145 -5.34599,-13.287117 c -0.15571,-0.259514 -0.31141,-0.467125 -0.57093,-0.519028 -1.66089,-0.0519 -3.01036,-0.103806 -4.51554,-0.103806 -1.71279,0 -2.64704,0.0519 -4.25603,0.103806 -0.15571,5.19028 -0.20761,10.38056 -0.20761,15.57084 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.9028px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.353882"
+                    id="path82"/>
+        </g>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer7"
+            inkscape:label="es-de"
+            style="display:inline;opacity:1">
+        <g
+                aria-label="ES-DE"
+                transform="scale(1.3759384,0.72677673)"
+                id="text37"
+                style="font-size:55.3358px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:0px;stroke-width:0.364049">
+            <path
+                    d="m 13.291376,366.5726 c 0,5.53358 0.110671,10.84582 0.221343,16.04738 0,0.33202 0.221343,0.55336 0.553358,0.55336 1.826081,0.11067 9.849772,0.27668 11.731189,0.27668 1.826082,0 7.747012,-0.0553 9.517758,-0.16601 0,-1.38339 0,-2.71145 0,-4.03951 0,-1.5494 0,-3.09881 0,-4.81422 -0.05534,-0.27668 -0.276679,-0.55335 -0.553358,-0.55335 -1.881417,-0.0553 -7.913019,-0.11068 -9.794437,-0.11068 h -0.719365 c 0,-0.9407 0,-1.88141 0,-2.87746 h 7.193654 c 0,-1.32806 0,-2.49011 0,-3.65216 0,-1.32806 0,-2.65612 0,-4.20552 -0.05534,-0.27668 -0.276679,-0.55336 -0.553358,-0.55336 -1.438731,0 -4.426864,-0.0553 -6.640296,-0.0553 0,-0.99604 0,-1.99208 0,-2.93279 0.940709,0 1.71541,0 2.158096,0 1.826082,0 7.027647,0 8.798392,-0.11067 0,-1.3834 0,-2.71146 0,-4.03952 0,-1.5494 0,-3.0988 0,-4.81421 -0.05533,-0.27668 -0.276679,-0.55336 -0.553358,-0.55336 -1.881417,-0.0553 -7.802347,-0.11067 -9.683765,-0.11067 -1.826081,0 -9.7391,0.0553 -11.45451,0.11067 -0.166008,5.53358 -0.221343,11.06716 -0.221343,16.60074 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3358px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364049"
+                    id="path32"/>
+            <path
+                    d="m 37.74972,382.84133 c 3.81817,0.44268 7.913019,0.60869 11.675853,0.60869 7.470333,0 13.557271,-2.04743 13.557271,-10.84582 0,-7.69167 -6.861639,-9.7391 -11.45451,-11.12249 -2.268768,-0.66403 -3.984178,-1.16206 -3.984178,-2.1581 0,-0.99604 1.106716,-1.5494 2.822126,-1.5494 3.43082,0 7.359661,1.10671 9.960444,2.26877 l 1.272723,-9.24108 c -3.707498,-0.71937 -7.470333,-1.21739 -10.679809,-1.21739 -7.581005,0 -13.114585,0.66403 -13.114585,9.62843 0,8.52171 6.142274,10.29246 10.292459,11.45451 2.158096,0.60869 3.762835,1.05138 3.762835,2.1581 0,0.88537 -0.885373,1.99208 -2.988134,1.99208 -2.490111,0 -5.92093,-0.71936 -9.794436,-1.93675 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3358px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364049"
+                    id="path34"/>
+            <path
+                    d="m 64.642842,366.51726 c 0,1.3834 0.05534,2.65612 0.110672,4.03952 0,0.33201 0.221343,0.55336 0.553358,0.55336 1.826081,0.11067 8.9644,0.27667 10.845817,0.27667 1.826081,0 8.30037,-0.0553 9.517758,-0.166 0,-1.16205 0.05533,-2.37944 0.05533,-3.48616 0,-2.76679 -0.05533,-3.37548 -0.05533,-4.70354 -0.05534,-0.27668 -0.276679,-0.55336 -0.553358,-0.55336 -1.881418,-0.0553 -6.252946,-0.11067 -8.134363,-0.11067 -1.826082,0 -10.513802,0.0553 -12.229212,0.11067 -0.05534,1.82608 -0.110672,2.98813 -0.110672,4.03951 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3358px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364049"
+                    id="path36"/>
+            <path
+                    d="m 99.836372,366.5726 c 0,-2.65612 0,-4.98022 0.05534,-7.30433 h 0.940712 c 1.49406,0 2.60078,0.71937 2.60078,7.30433 0,6.58496 -1.10672,7.35966 -2.60078,7.35966 h -0.940712 c -0.05534,-2.3241 -0.05534,-4.64821 -0.05534,-7.35966 z m -10.956488,0 c 0,5.53358 0.110671,10.29246 0.110671,15.49402 0,0.33202 0.221344,0.55336 0.553358,0.55336 3.818171,0.38735 7.304326,0.66403 10.347795,0.66403 9.296412,0 15.106672,-2.87746 15.106672,-16.71141 0,-13.00391 -5.86559,-16.98809 -15.217344,-16.98809 -3.098804,0 -7.138318,0.38735 -10.790481,0.94071 0,5.53358 -0.110671,10.5138 -0.110671,16.04738 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3358px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364049"
+                    id="path38"/>
+            <path
+                    d="m 117.87579,366.5726 c 0,5.53358 0.11067,10.84582 0.22134,16.04738 0,0.33202 0.22134,0.55336 0.55336,0.55336 1.82608,0.11067 9.84977,0.27668 11.73119,0.27668 1.82608,0 7.74701,-0.0553 9.51776,-0.16601 0,-1.38339 0,-2.71145 0,-4.03951 0,-1.5494 0,-3.09881 0,-4.81422 -0.0553,-0.27668 -0.27668,-0.55335 -0.55336,-0.55335 -1.88142,-0.0553 -7.91302,-0.11068 -9.79444,-0.11068 h -0.71936 c 0,-0.9407 0,-1.88141 0,-2.87746 h 7.19365 c 0,-1.32806 0,-2.49011 0,-3.65216 0,-1.32806 0,-2.65612 0,-4.20552 -0.0553,-0.27668 -0.27668,-0.55336 -0.55336,-0.55336 -1.43873,0 -4.42686,-0.0553 -6.64029,-0.0553 0,-0.99604 0,-1.99208 0,-2.93279 0.9407,0 1.71541,0 2.15809,0 1.82608,0 7.02765,0 8.79839,-0.11067 0,-1.3834 0,-2.71146 0,-4.03952 0,-1.5494 0,-3.0988 0,-4.81421 -0.0553,-0.27668 -0.27667,-0.55336 -0.55335,-0.55336 -1.88142,-0.0553 -7.80235,-0.11067 -9.68377,-0.11067 -1.82608,0 -9.7391,0.0553 -11.45451,0.11067 -0.16601,5.53358 -0.22134,11.06716 -0.22134,16.60074 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3358px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364049"
+                    id="path40"/>
+        </g>
+        <path
+                d="m 76.044351,93.247862 c -18.59906,0 -33.711561,15.298348 -33.711561,33.711558 0,6.42031 2.929675,11.92698 5.627286,15.95157 2.697611,4.02475 5.451794,6.72492 5.451794,6.72492 l 51.84921,51.85787 51.84921,-51.85787 c 0,0 11.07925,-9.83281 11.07925,-22.67649 0,-18.41321 -15.11267,-33.711558 -33.71173,-33.711558 -7.05551,0 -13.3637,2.352065 -18.47114,5.16214 l -1.48309,0.817149 -9.24433,25.485709 h 16.27639 l -16.29388,27.93511 V 133.70269 H 89.318861 L 96.2631,99.358982 93.243216,97.804531 C 88.403349,95.31333 82.57186,93.248202 76.044861,93.248202 Z m 0,8.989658 c 3.497262,0 6.726615,1.38797 9.920462,2.70407 l -7.637881,37.74991 h 17.944492 v 26.96932 h 9.481306 l 26.47767,-45.4228 v -8.51585 h -14.1343 l 3.56436,-9.81495 c 3.92657,-1.98987 8.2617,-3.6697 12.81735,-3.6697 13.67442,0 24.72191,11.22145 24.72191,24.7219 0,6.94305 -8.40152,16.27638 -8.40152,16.27638 l -0.008,0.008 -45.52829,45.52828 -45.528281,-45.52828 -0.0087,-0.008 c 0,0 -2.120511,-2.08754 -4.293006,-5.32879 -2.172665,-3.24108 -4.10868,-7.47903 -4.10868,-10.94759 0,-13.50045 11.047652,-24.7219 24.721902,-24.7219 z"
+                id="path1227"
+                style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.495;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"/>
+        <path
+                style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+                d="m 48.267032,136.59563 58.302508,58.21644 58.54875,-65.0366 -14.12764,-27.36802 -23.29316,-2.891399 -13.72849,10.471409 7.58664,14.7254 -0.22789,10.25001 -20.04997,28.15929 -0.63892,-26.43696 -16.171932,-0.96707 3.074771,-34.0458 -26.553404,-2.124668 -14.391333,31.035968 z"
+                id="path1275"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer8"
+            inkscape:label="fill"/>
+    <g
+            inkscape:label="png"
+            inkscape:groupmode="layer"
+            id="layer1"
+            style="display:none"
+            sodipodi:insensitive="true">
+        <image
+                width="210.0139"
+                height="294.48022"
+                preserveAspectRatio="none"
+                xlink:href="data:image/png;base64,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 "
+                id="image1009"
+                x="0.0042027421"
+                y="0.00192308"
+                style="opacity:0.310911"/>
+    </g>
+</svg>
diff --git a/resources/graphics/badge_completed.svg b/resources/graphics/badge_completed.svg
new file mode 100644
index 000000000..0caec97b3
--- /dev/null
+++ b/resources/graphics/badge_completed.svg
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+        xmlns:dc="http://purl.org/dc/elements/1.1/"
+        xmlns:cc="http://creativecommons.org/ns#"
+        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+        xmlns:svg="http://www.w3.org/2000/svg"
+        xmlns="http://www.w3.org/2000/svg"
+        xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+        xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+        width="210mm"
+        height="294.5mm"
+        viewBox="0 0 210 294.5"
+        version="1.1"
+        id="svg8"
+        inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+        sodipodi:docname="badge_completed.svg">
+    <defs
+            id="defs2"/>
+    <sodipodi:namedview
+            id="base"
+            pagecolor="#ffffff"
+            bordercolor="#666666"
+            borderopacity="1.0"
+            inkscape:pageopacity="0.0"
+            inkscape:pageshadow="2"
+            inkscape:zoom="0.49497475"
+            inkscape:cx="-88.262278"
+            inkscape:cy="640.85309"
+            inkscape:document-units="mm"
+            inkscape:current-layer="layer6"
+            inkscape:document-rotation="0"
+            showgrid="false"
+            inkscape:window-width="3440"
+            inkscape:window-height="1355"
+            inkscape:window-x="2560"
+            inkscape:window-y="0"
+            inkscape:window-maximized="1"/>
+    <metadata
+            id="metadata5">
+        <rdf:RDF>
+            <cc:Work
+                    rdf:about="">
+                <dc:format>image/svg+xml</dc:format>
+                <dc:type
+                        rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+                <dc:title></dc:title>
+            </cc:Work>
+        </rdf:RDF>
+    </metadata>
+    <g
+            inkscape:groupmode="layer"
+            id="layer2"
+            inkscape:label="border-black"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1018"
+                width="3.0215168"
+                height="294.47311"
+                x="0.0042027417"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1022"
+                width="2.6538153"
+                height="291.60104"
+                x="207.3457"
+                y="2.9028916"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.262673"
+                id="rect1020"
+                width="206.97379"
+                height="2.9009686"
+                x="3.0257196"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1024"
+                width="204.36038"
+                height="2.7575684"
+                x="3.0257196"
+                y="291.71747"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer3"
+            inkscape:label="white-outer-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1090"
+                width="204.36038"
+                height="288.81458"
+                x="3.0257196"
+                y="2.9028914"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer4"
+            inkscape:label="black-inner-bg"
+            style="display:inline;opacity:1">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1093"
+                width="194.90201"
+                height="279.21954"
+                x="7.700757"
+                y="7.7173548"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer5"
+            inkscape:label="white-inner-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1096"
+                width="174.01582"
+                height="172.88167"
+                x="18.183073"
+                y="53.878208"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer6"
+            inkscape:label="content-rated-by"
+            style="display:inline">
+        <g
+                aria-label="CONTENT RATED BY"
+                transform="scale(0.9821682,1.0181556)"
+                id="text1101"
+                style="font-size:24.9471px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:-0.259865px;word-spacing:-2.07893px;stroke-width:0.259865">
+            <path
+                    d="m 17.3904,237.73062 c 0,6.23678 2.619446,7.53403 6.810558,7.53403 1.022831,0 1.846086,-0.0748 2.868917,-0.27442 l -0.523889,-3.94164 -2.295133,0.17463 c -1.022832,0.0499 -1.671456,-0.52389 -1.671456,-3.4926 0,-2.9687 0.748413,-3.51754 1.671456,-3.46764 l 2.295133,0.14968 0.548836,-3.9167 c -1.022831,-0.22452 -1.821138,-0.4241 -2.843969,-0.4241 -4.21606,0 -6.860453,1.79619 -6.860453,7.65876 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path39"/>
+            <path
+                    d="m 27.483557,237.73062 c 0,5.78773 2.170398,7.63381 6.935294,7.63381 3.517541,-0.17462 5.737833,-2.71923 5.737833,-7.63381 0,-5.76278 -2.245239,-7.65876 -6.985188,-7.65876 -3.517541,0.17463 -5.687939,2.76913 -5.687939,7.65876 z m 5.188997,0 c 0,-2.9687 0.4241,-3.29301 1.097672,-3.29301 0.673572,0 1.172514,0.32431 1.172514,3.29301 0,2.96871 -0.424101,3.29302 -1.097673,3.29302 -0.673571,0 -1.172513,-0.32431 -1.172513,-3.29302 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path41"/>
+            <path
+                    d="m 41.194043,237.73062 c 0,2.49471 0.04989,4.88963 0.09979,7.23466 0,0.14968 0.09979,0.24947 0.249471,0.24947 0.798308,0.0499 1.571668,0.0748 2.419869,0.0748 0.823254,0 1.272302,-0.0249 2.070609,-0.0748 l -0.09979,-6.61098 2.594498,6.36151 c 0.04989,0.14968 0.124736,0.24947 0.274418,0.24947 0.798308,0.0499 1.521773,0.0748 2.270186,0.0748 0.823255,0 1.247355,-0.0249 1.945874,-0.0748 0.04989,-2.49471 0.09979,-4.98942 0.09979,-7.48413 0,-2.49471 -0.04989,-4.88963 -0.09979,-7.23466 0,-0.12473 -0.124735,-0.22452 -0.249471,-0.24947 -0.748413,-0.0249 -1.471879,-0.0499 -2.32008,-0.0499 -0.823254,0 -1.397038,0.025 -2.170398,0.0499 l 0.07484,6.63593 -2.569552,-6.38646 c -0.07484,-0.12473 -0.149682,-0.22452 -0.274418,-0.24947 -0.798307,-0.0249 -1.446932,-0.0499 -2.170397,-0.0499 -0.823255,0 -1.272303,0.025 -2.045663,0.0499 -0.07484,2.49471 -0.09979,4.98942 -0.09979,7.48413 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path43"/>
+            <path
+                    d="m 53.881702,232.14247 c 0,0.67357 0,1.34715 0.02495,2.04566 0,0.14969 0.09979,0.24948 0.249471,0.24948 0.424101,0.0249 1.621562,0.0499 2.744181,0.0748 0,1.04777 0,2.07061 0,3.21817 0,2.49471 0.04989,4.88963 0.09979,7.23466 0,0.14968 0.09979,0.24947 0.249471,0.24947 0.823254,0.0499 1.696403,0.0748 2.544604,0.0748 0.823254,0 1.397038,-0.0249 2.195345,-0.0748 0.04989,-2.49471 0.09979,-4.98942 0.09979,-7.48413 0,-1.14756 -0.02495,-2.1704 -0.04989,-3.19323 1.297249,0 2.619445,-0.0249 3.043546,-0.0499 0,-0.62368 0,-1.24736 0,-1.84609 0,-0.72346 0,-1.42198 0,-2.14545 -0.02495,-0.12473 -0.124735,-0.24947 -0.249471,-0.24947 -0.848201,-0.0249 -4.315848,-0.0499 -5.164049,-0.0499 -0.823255,0 -4.98942,0.025 -5.762781,0.0499 -0.02495,0.67357 -0.02495,1.29725 -0.02495,1.89598 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path45"/>
+            <path
+                    d="m 65.870841,237.73062 c 0,2.49471 0.04989,4.88963 0.09979,7.23466 0,0.14968 0.09979,0.24947 0.249471,0.24947 0.823255,0.0499 4.440584,0.12474 5.288785,0.12474 0.823255,0 3.492594,-0.025 4.290901,-0.0748 0,-0.62368 0,-1.22241 0,-1.82114 0,-0.69852 0,-1.39704 0,-2.1704 -0.02495,-0.12474 -0.124735,-0.24947 -0.249471,-0.24947 -0.848201,-0.0249 -3.567435,-0.0499 -4.415636,-0.0499 h -0.324312 c 0,-0.42411 0,-0.84821 0,-1.29725 h 3.243123 c 0,-0.59873 0,-1.12262 0,-1.64651 0,-0.59873 0,-1.19746 0,-1.89598 -0.02495,-0.12474 -0.124736,-0.24947 -0.249471,-0.24947 -0.648625,0 -1.995768,-0.0249 -2.993652,-0.0249 0,-0.44905 0,-0.8981 0,-1.3222 0.4241,0 0.77336,0 0.972936,0 0.823255,0 3.168282,0 3.966589,-0.0499 0,-0.62368 0,-1.22241 0,-1.82114 0,-0.69852 0,-1.39704 0,-2.1704 -0.02495,-0.12473 -0.124735,-0.24947 -0.249471,-0.24947 -0.848201,-0.0249 -3.517541,-0.0499 -4.365742,-0.0499 -0.823254,0 -4.39069,0.025 -5.16405,0.0499 -0.07484,2.49471 -0.09979,4.98942 -0.09979,7.48413 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path47"/>
+            <path
+                    d="m 76.936927,237.73062 c 0,2.49471 0.04989,4.88963 0.09979,7.23466 0,0.14968 0.09979,0.24947 0.249471,0.24947 0.798307,0.0499 1.571667,0.0748 2.419869,0.0748 0.823254,0 1.272302,-0.0249 2.070609,-0.0748 l -0.09979,-6.61098 2.594498,6.36151 c 0.04989,0.14968 0.124735,0.24947 0.274418,0.24947 0.798307,0.0499 1.521773,0.0748 2.270186,0.0748 0.823254,0 1.247355,-0.0249 1.945874,-0.0748 0.04989,-2.49471 0.09979,-4.98942 0.09979,-7.48413 0,-2.49471 -0.04989,-4.88963 -0.09979,-7.23466 0,-0.12473 -0.124736,-0.22452 -0.249471,-0.24947 -0.748413,-0.0249 -1.471879,-0.0499 -2.32008,-0.0499 -0.823255,0 -1.397038,0.025 -2.170398,0.0499 l 0.07484,6.63593 -2.569551,-6.38646 c -0.07484,-0.12473 -0.149683,-0.22452 -0.274418,-0.24947 -0.798307,-0.0249 -1.446932,-0.0499 -2.170398,-0.0499 -0.823254,0 -1.272302,0.025 -2.045662,0.0499 -0.07484,2.49471 -0.09979,4.98942 -0.09979,7.48413 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path49"/>
+            <path
+                    d="m 89.624588,232.14247 c 0,0.67357 0,1.34715 0.02495,2.04566 0,0.14969 0.09979,0.24948 0.249471,0.24948 0.424101,0.0249 1.621562,0.0499 2.744181,0.0748 0,1.04777 0,2.07061 0,3.21817 0,2.49471 0.04989,4.88963 0.09979,7.23466 0,0.14968 0.09979,0.24947 0.249471,0.24947 0.823255,0.0499 1.696403,0.0748 2.544605,0.0748 0.823254,0 1.397037,-0.0249 2.195344,-0.0748 0.0499,-2.49471 0.09979,-4.98942 0.09979,-7.48413 0,-1.14756 -0.02495,-2.1704 -0.04989,-3.19323 1.297249,0 2.61945,-0.0249 3.04355,-0.0499 0,-0.62368 0,-1.24736 0,-1.84609 0,-0.72346 0,-1.42198 0,-2.14545 -0.025,-0.12473 -0.12474,-0.24947 -0.24948,-0.24947 -0.848197,-0.0249 -4.315844,-0.0499 -5.164045,-0.0499 -0.823254,0 -4.98942,0.025 -5.76278,0.0499 -0.02495,0.67357 -0.02495,1.29725 -0.02495,1.89598 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path51"/>
+            <path
+                    d="m 106.80893,237.40631 c 0,2.49471 0.0499,5.21394 0.0499,7.55897 0,0.14968 0.0998,0.24947 0.24947,0.24947 0.8482,0.0499 1.6964,0.0499 2.5446,0.0499 0.72347,0 1.44694,0 2.19535,-0.0499 -0.0249,-1.94587 -0.0998,-4.09132 -0.12474,-6.13698 0.0998,0 0.22453,0 0.32431,0 0.49895,1.72135 1.19747,3.84185 1.89598,5.96235 0.0499,0.14969 0.24948,0.24947 0.37421,0.24947 0.67357,0.0499 1.34714,0.0748 2.02072,0.0748 0.87314,0 1.77124,-0.0499 2.59449,-0.14968 -0.4241,-1.87103 -0.99788,-3.66722 -1.97082,-5.6131 -0.34926,-0.57378 -0.82325,-0.97293 -1.39703,-1.17251 1.6465,-0.77336 2.66934,-2.1704 2.66934,-4.01648 0,-4.04143 -2.54461,-4.3408 -6.26173,-4.3408 -1.39703,0 -3.46764,0.17463 -5.11415,0.4241 0,2.49471 -0.0499,4.41564 -0.0499,6.91035 z m 4.91458,-1.39704 c 0,-0.7983 0,-1.52177 0,-2.24524 0.17463,-0.0249 0.39916,-0.0249 0.59873,-0.0249 0.8981,0 1.14757,0.4241 1.14757,1.19746 0,0.64862 -0.54884,1.07272 -1.3222,1.07272 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path53"/>
+            <path
+                    d="m 118.69829,245.01518 c 0,0.12473 0.0998,0.19957 0.22452,0.19957 0.82325,0.0499 1.6964,0.0748 2.5446,0.0748 0.82326,0 1.27231,-0.0249 2.07061,-0.0748 0.17463,-0.89809 0.32432,-1.82114 0.474,-2.74418 h 2.32008 c 0.12473,0.8482 0.27442,1.6964 0.44905,2.49471 0.0249,0.14968 0.14968,0.24947 0.27441,0.24947 0.87315,0.0748 1.59662,0.0748 2.44482,0.0748 0.8482,0 1.39704,-0.0249 2.1704,-0.0748 -0.72347,-4.83974 -1.89598,-9.92894 -2.84397,-14.71879 -0.0249,-0.12473 -0.14968,-0.24947 -0.27442,-0.24947 -1.19746,-0.0249 -2.36997,-0.0499 -3.56743,-0.0499 -1.17252,0 -2.32008,0 -3.4427,0.0499 -0.92305,4.61522 -1.97083,9.43001 -2.71924,13.99533 -0.0499,0.24947 -0.12473,0.72346 -0.12473,0.77336 z m 5.73783,-5.78773 c 0.19958,-1.87103 0.39915,-3.74207 0.62368,-5.58815 0.24947,1.87103 0.49894,3.74206 0.77336,5.58815 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path55"/>
+            <path
+                    d="m 131.01169,232.14247 c 0,0.67357 0,1.34715 0.025,2.04566 0,0.14969 0.0998,0.24948 0.24947,0.24948 0.4241,0.0249 1.62156,0.0499 2.74418,0.0748 0,1.04777 0,2.07061 0,3.21817 0,2.49471 0.0499,4.88963 0.0998,7.23466 0,0.14968 0.0998,0.24947 0.24947,0.24947 0.82325,0.0499 1.6964,0.0748 2.5446,0.0748 0.82326,0 1.39704,-0.0249 2.19535,-0.0748 0.0499,-2.49471 0.0998,-4.98942 0.0998,-7.48413 0,-1.14756 -0.0249,-2.1704 -0.0499,-3.19323 1.29725,0 2.61945,-0.0249 3.04355,-0.0499 0,-0.62368 0,-1.24736 0,-1.84609 0,-0.72346 0,-1.42198 0,-2.14545 -0.0249,-0.12473 -0.12474,-0.24947 -0.24948,-0.24947 -0.8482,-0.0249 -4.31584,-0.0499 -5.16404,-0.0499 -0.82326,0 -4.98942,0.025 -5.76278,0.0499 -0.025,0.67357 -0.025,1.29725 -0.025,1.89598 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path57"/>
+            <path
+                    d="m 143.00083,237.73062 c 0,2.49471 0.0499,4.88963 0.0998,7.23466 0,0.14968 0.0998,0.24947 0.24947,0.24947 0.82325,0.0499 4.44058,0.12474 5.28878,0.12474 0.82326,0 3.4926,-0.025 4.29091,-0.0748 0,-0.62368 0,-1.22241 0,-1.82114 0,-0.69852 0,-1.39704 0,-2.1704 -0.0249,-0.12474 -0.12474,-0.24947 -0.24947,-0.24947 -0.84821,-0.0249 -3.56744,-0.0499 -4.41564,-0.0499 h -0.32431 c 0,-0.42411 0,-0.84821 0,-1.29725 h 3.24312 c 0,-0.59873 0,-1.12262 0,-1.64651 0,-0.59873 0,-1.19746 0,-1.89598 -0.0249,-0.12474 -0.12474,-0.24947 -0.24947,-0.24947 -0.64863,0 -1.99577,-0.0249 -2.99365,-0.0249 0,-0.44905 0,-0.8981 0,-1.3222 0.4241,0 0.77336,0 0.97293,0 0.82326,0 3.16828,0 3.96659,-0.0499 0,-0.62368 0,-1.22241 0,-1.82114 0,-0.69852 0,-1.39704 0,-2.1704 -0.025,-0.12473 -0.12473,-0.24947 -0.24947,-0.24947 -0.8482,-0.0249 -3.51754,-0.0499 -4.36574,-0.0499 -0.82326,0 -4.39069,0.025 -5.16405,0.0499 -0.0748,2.49471 -0.0998,4.98942 -0.0998,7.48413 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path59"/>
+            <path
+                    d="m 159.05633,237.73062 c 0,-1.19746 0,-2.24524 0.0249,-3.29301 h 0.4241 c 0.67357,0 1.17251,0.32431 1.17251,3.29301 0,2.96871 -0.49894,3.31797 -1.17251,3.31797 h -0.4241 c -0.0249,-1.04778 -0.0249,-2.09556 -0.0249,-3.31797 z m -4.93953,0 c 0,2.49471 0.0499,4.64016 0.0499,6.98519 0,0.14968 0.0998,0.24947 0.24947,0.24947 1.72135,0.17463 3.29302,0.29937 4.66511,0.29937 4.19111,0 6.81055,-1.29725 6.81055,-7.53403 0,-5.86257 -2.64439,-7.65876 -6.86045,-7.65876 -1.39704,0 -3.21817,0.17463 -4.86468,0.4241 0,2.49471 -0.0499,4.73995 -0.0499,7.23466 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path61"/>
+            <path
+                    d="m 177.01403,235.73485 c 0,-0.77336 0,-1.42198 0.025,-2.04566 0.0499,-0.0249 0.19958,-0.0249 0.29937,-0.0249 0.64862,0 1.29724,0.32431 1.29724,0.99788 0,0.69852 -0.67357,1.07272 -1.44693,1.07272 z m 0.025,3.69218 h 0.62368 c 0.67357,0 1.14756,0.4241 1.14756,0.99788 0,0.64862 -0.3742,1.02283 -1.32219,1.02283 h -0.39916 c -0.0249,-0.67357 -0.0499,-1.34714 -0.0499,-2.02071 z m -4.91458,-2.02072 c 0,2.49471 0.0499,5.01437 0.0499,7.35939 0,0.14969 0.0998,0.27442 0.24947,0.29937 1.72135,0.19958 3.61733,0.27442 5.31373,0.27442 3.36786,0 6.06214,-0.67357 6.06214,-4.64016 0,-1.19746 -0.82325,-2.29514 -2.19534,-3.0685 0.8981,-0.77336 1.44693,-1.89598 1.44693,-3.21817 0,-4.04143 -2.5446,-4.3408 -6.01225,-4.3408 -1.39704,0 -3.21818,0.17463 -4.86468,0.4241 0,2.49471 -0.0499,4.41564 -0.0499,6.91035 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path63"/>
+            <path
+                    d="m 183.43995,230.34628 c 0.4241,1.89598 1.09767,4.44058 2.07061,6.36151 0.57378,0.97294 1.2723,1.7463 2.02071,2.34503 -0.0249,2.02071 -0.0249,3.99153 -0.0249,5.91246 0,0.14968 0.0998,0.24947 0.24947,0.24947 0.82325,0.0499 1.74629,0.0748 2.5945,0.0748 0.82325,0 1.44693,-0.0249 2.24523,-0.0748 -0.0249,-2.04566 -0.0499,-4.09132 -0.0748,-6.16193 0.74842,-0.59873 1.44693,-1.37209 2.02072,-2.34503 0.97293,-1.92093 1.64651,-4.46553 2.07061,-6.36151 -0.82326,-0.0998 -1.72135,-0.14968 -2.5945,-0.14968 -0.67357,0 -1.34714,0.025 -2.02072,0.0748 -0.12473,0 -0.32431,0.0998 -0.3742,0.24947 -0.54884,1.67146 -1.14757,3.74207 -1.59662,5.43847 -0.47399,-1.6964 -1.04778,-3.76701 -1.59661,-5.43847 -0.0499,-0.14968 -0.24947,-0.24947 -0.37421,-0.24947 -0.67357,-0.0499 -1.34714,-0.0748 -2.02071,-0.0748 -0.8981,0 -1.77125,0.0499 -2.5945,0.14968 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9471px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259865"
+                    id="path65"/>
+        </g>
+        <g
+                aria-label="COMPLETED"
+                transform="scale(0.91349924,1.0946917)"
+                id="text41"
+                style="font-size:43.3061px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';stroke-width:0.295269">
+            <path
+                    d="m 19.810704,28.068259 c 0,10.826525 4.547141,13.078442 11.822565,13.078442 1.77555,0 3.204652,-0.129918 4.980202,-0.476367 l -0.909428,-6.842363 -3.984161,0.303142 c -1.77555,0.08661 -2.901509,-0.909428 -2.901509,-6.062854 0,-5.153425 1.299183,-6.10616 2.901509,-6.019547 l 3.984161,0.259836 0.952734,-6.799057 c -1.77555,-0.389755 -3.161345,-0.736204 -4.936895,-0.736204 -7.318731,0 -11.909178,3.118039 -11.909178,13.294972 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path68"/>
+            <path
+                    d="m 37.782693,28.068259 c 0,10.047015 3.767631,13.251667 12.039096,13.251667 6.106159,-0.303143 9.960402,-4.720365 9.960402,-13.251667 0,-10.003708 -3.897549,-13.294972 -12.125707,-13.294972 -6.10616,0.303143 -9.873791,4.806977 -9.873791,13.294972 z m 9.007669,0 c 0,-5.153425 0.736203,-5.716405 1.905468,-5.716405 1.169265,0 2.035387,0.56298 2.035387,5.716405 0,5.153426 -0.736204,5.716405 -1.905469,5.716405 -1.169264,0 -2.035386,-0.562979 -2.035386,-5.716405 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path70"/>
+            <path
+                    d="m 62.034065,28.068259 c 0,4.33061 0.08661,8.487996 0.173225,12.558769 0,0.259837 0.173224,0.433061 0.43306,0.433061 1.429102,0.08661 3.161346,0.129918 4.200692,0.129918 1.429101,0 2.208611,-0.04331 3.594406,-0.129918 l -0.173224,-11.735953 4.720365,9.570648 0.433061,0.08661 0.476367,-0.08661 4.936895,-10.047015 c 0,4.070774 0.173224,7.968322 0.259837,11.779259 0,0.259837 0.173224,0.433061 0.433061,0.433061 1.429101,0.08661 2.944814,0.129918 3.984161,0.129918 1.429101,0 2.121999,-0.04331 3.377875,-0.129918 0.08661,-4.33061 0.173225,-8.66122 0.173225,-12.99183 0,-4.330609 -0.08661,-8.487995 -0.173225,-12.558768 0,-0.216531 -0.21653,-0.389755 -0.433061,-0.433061 -1.21257,-0.04331 -2.555059,-0.08661 -4.027467,-0.08661 -1.212571,0 -2.251917,0.04331 -3.031427,0.129918 -0.21653,0 -0.389755,0.21653 -0.519673,0.389755 L 75.41565,26.639158 70.002387,15.509491 c -0.08661,-0.173225 -0.259836,-0.389755 -0.476367,-0.433061 -1.299183,-0.04331 -2.295223,-0.08661 -3.76763,-0.08661 -1.429102,0 -2.208611,0.04331 -3.5511,0.08661 -0.129919,4.33061 -0.173225,8.66122 -0.173225,12.991829 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path72"/>
+            <path
+                    d="m 92.261684,28.068259 c 0,4.33061 0.08661,8.487996 0.08661,12.558769 0,0.259837 0.173224,0.433061 0.433061,0.433061 1.472407,0.08661 2.944815,0.08661 4.417222,0.08661 1.255877,0 2.511754,0 3.810941,-0.08661 -0.0433,-1.99208 -0.0866,-3.984161 -0.0866,-5.976242 7.23212,0 11.60604,-1.818856 11.60604,-10.047014 0,-9.310812 -4.41722,-10.263546 -11.73595,-10.263546 -2.425146,0 -5.586491,0.303143 -8.444694,0.736204 0,4.243997 -0.08661,8.228159 -0.08661,12.558768 z m 8.574606,-0.04331 V 22.17863 h 0.95274 c 1.73224,0 1.94877,0.303143 1.94877,2.988121 0,2.55506 -1.08265,2.858202 -2.25192,2.858202 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path74"/>
+            <path
+                    d="m 114.52097,28.068259 c 0,4.33061 0.0866,8.487996 0.17323,12.558769 0,0.259837 0.17322,0.433061 0.43306,0.433061 1.4291,0.08661 7.70848,0.216531 9.18089,0.216531 1.4291,0 5.02351,-0.04331 6.4093,-0.129919 0,-1.082652 0,-2.121999 0,-3.161345 0,-1.212571 0,-2.425141 0,-3.767631 -0.0433,-0.21653 -0.21653,-0.433061 -0.43306,-0.433061 -1.4724,-0.04331 -5.15342,-0.08661 -6.62583,-0.08661 h -0.17322 c 0,-1.818856 0.0433,-3.681018 0.0433,-5.629793 0,-4.330609 -0.0866,-8.487995 -0.17322,-12.558768 0,-0.216531 -0.21653,-0.433061 -0.43306,-0.433061 -1.47241,-0.04331 -2.98812,-0.08661 -4.46053,-0.08661 -1.4291,0 -2.42514,0.04331 -3.76763,0.08661 -0.12992,4.33061 -0.17323,8.66122 -0.17323,12.991829 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path76"/>
+            <path
+                    d="m 132.27647,28.068259 c 0,4.33061 0.0866,8.487996 0.17322,12.558769 0,0.259837 0.17323,0.433061 0.43306,0.433061 1.4291,0.08661 7.70849,0.216531 9.18089,0.216531 1.42911,0 6.06286,-0.04331 7.44865,-0.129919 0,-1.082652 0,-2.121999 0,-3.161345 0,-1.212571 0,-2.425141 0,-3.767631 -0.0433,-0.21653 -0.21653,-0.433061 -0.43306,-0.433061 -1.4724,-0.04331 -6.19277,-0.08661 -7.66518,-0.08661 h -0.56298 c 0,-0.736203 0,-1.472407 0,-2.251917 h 5.6298 c 0,-1.039346 0,-1.948774 0,-2.858202 0,-1.039347 0,-2.078693 0,-3.291264 -0.0433,-0.21653 -0.21653,-0.433061 -0.43306,-0.433061 -1.12596,0 -3.46449,-0.04331 -5.19674,-0.04331 0,-0.77951 0,-1.55902 0,-2.295223 0.73621,0 1.34249,0 1.68894,0 1.4291,0 5.49988,0 6.88567,-0.08661 0,-1.082653 0,-2.121999 0,-3.161346 0,-1.21257 0,-2.425141 0,-3.76763 -0.0433,-0.216531 -0.21653,-0.433061 -0.43306,-0.433061 -1.47241,-0.04331 -6.10616,-0.08661 -7.57857,-0.08661 -1.4291,0 -7.62187,0.04331 -8.96436,0.08661 -0.12992,4.33061 -0.17322,8.66122 -0.17322,12.991829 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path78"/>
+            <path
+                    d="m 150.59488,18.367693 c 0,1.169265 0,2.33853 0.0433,3.5511 0,0.259837 0.17322,0.433061 0.43306,0.433061 0.7362,0.04331 2.81489,0.08661 4.76367,0.129919 0,1.818856 0,3.594406 0,5.586486 0,4.33061 0.0866,8.487996 0.17322,12.558769 0,0.259837 0.17323,0.433061 0.43306,0.433061 1.42911,0.08661 2.94482,0.129918 4.41723,0.129918 1.4291,0 2.42514,-0.04331 3.81093,-0.129918 0.0866,-4.33061 0.17323,-8.66122 0.17323,-12.99183 0,-1.99208 -0.0433,-3.76763 -0.0866,-5.54318 2.25191,0 4.54714,-0.04331 5.28334,-0.08661 0,-1.082653 0,-2.165305 0,-3.204652 0,-1.255877 0,-2.468447 0,-3.724324 -0.0433,-0.216531 -0.21653,-0.433061 -0.43306,-0.433061 -1.47241,-0.04331 -7.49196,-0.08661 -8.96436,-0.08661 -1.42911,0 -8.66122,0.04331 -10.00371,0.08661 -0.0433,1.169264 -0.0433,2.251917 -0.0433,3.291263 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path80"/>
+            <path
+                    d="m 171.85813,28.068259 c 0,4.33061 0.0866,8.487996 0.17323,12.558769 0,0.259837 0.17322,0.433061 0.43306,0.433061 1.4291,0.08661 7.70848,0.216531 9.18089,0.216531 1.4291,0 6.06285,-0.04331 7.44865,-0.129919 0,-1.082652 0,-2.121999 0,-3.161345 0,-1.212571 0,-2.425141 0,-3.767631 -0.0433,-0.21653 -0.21653,-0.433061 -0.43306,-0.433061 -1.47241,-0.04331 -6.19277,-0.08661 -7.66518,-0.08661 h -0.56298 c 0,-0.736203 0,-1.472407 0,-2.251917 h 5.62979 c 0,-1.039346 0,-1.948774 0,-2.858202 0,-1.039347 0,-2.078693 0,-3.291264 -0.0433,-0.21653 -0.21653,-0.433061 -0.43306,-0.433061 -1.12596,0 -3.46449,-0.04331 -5.19673,-0.04331 0,-0.77951 0,-1.55902 0,-2.295223 0.7362,0 1.34249,0 1.68894,0 1.4291,0 5.49987,0 6.88567,-0.08661 0,-1.082653 0,-2.121999 0,-3.161346 0,-1.21257 0,-2.425141 0,-3.76763 -0.0433,-0.216531 -0.21653,-0.433061 -0.43306,-0.433061 -1.47241,-0.04331 -6.10616,-0.08661 -7.57857,-0.08661 -1.4291,0 -7.62188,0.04331 -8.96436,0.08661 -0.12992,4.33061 -0.17323,8.66122 -0.17323,12.991829 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path82"/>
+            <path
+                    d="m 200.18027,28.068259 c 0,-2.078692 0,-3.897548 0.0433,-5.716405 h 0.7362 c 1.16926,0 2.03539,0.56298 2.03539,5.716405 0,5.153426 -0.86613,5.759712 -2.03539,5.759712 h -0.7362 c -0.0433,-1.818857 -0.0433,-3.637713 -0.0433,-5.759712 z m -8.57461,0 c 0,4.33061 0.0866,8.054935 0.0866,12.125708 0,0.259837 0.17323,0.433061 0.43307,0.433061 2.98812,0.303143 5.7164,0.519673 8.09824,0.519673 7.27542,0 11.82256,-2.251917 11.82256,-13.078442 0,-10.176933 -4.59045,-13.294972 -11.90918,-13.294972 -2.42514,0 -5.58648,0.303143 -8.44469,0.736204 0,4.33061 -0.0866,8.228159 -0.0866,12.558768 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.3061px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.295269"
+                    id="path84"/>
+        </g>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer7"
+            inkscape:label="es-de">
+        <g
+                aria-label="ES-DE"
+                transform="scale(1.3774734,0.72596685)"
+                id="text37"
+                style="font-size:55.3975px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:0px;stroke-width:0.364455">
+            <path
+                    d="m 13.276563,366.98158 c 0,5.53975 0.110795,10.85791 0.22159,16.06528 0,0.33238 0.22159,0.55397 0.553975,0.55397 1.828118,0.1108 9.860755,0.27699 11.74427,0.27699 1.828117,0 7.75565,-0.0554 9.52837,-0.16619 0,-1.38494 0,-2.71448 0,-4.04402 0,-1.55113 0,-3.10226 0,-4.81958 -0.0554,-0.27699 -0.276988,-0.55398 -0.553975,-0.55398 -1.883515,-0.0554 -7.921843,-0.11079 -9.805358,-0.11079 h -0.720167 c 0,-0.94176 0,-1.88352 0,-2.88067 h 7.201675 c 0,-1.32954 0,-2.49289 0,-3.65624 0,-1.32954 0,-2.65908 0,-4.21021 -0.0554,-0.27699 -0.276988,-0.55397 -0.553975,-0.55397 -1.440335,0 -4.4318,-0.0554 -6.6477,-0.0554 0,-0.99716 0,-1.99431 0,-2.93607 0.941757,0 1.717322,0 2.160502,0 1.828118,0 7.035483,0 8.808203,-0.11079 0,-1.38494 0,-2.71448 0,-4.04402 0,-1.55113 0,-3.10226 0,-4.81958 -0.0554,-0.27699 -0.276988,-0.55398 -0.553975,-0.55398 -1.883515,-0.0554 -7.811048,-0.11079 -9.694563,-0.11079 -1.828117,0 -9.749959,0.0554 -11.467282,0.11079 -0.166192,5.53975 -0.22159,11.0795 -0.22159,16.61925 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3975px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364455"
+                    id="path28"/>
+            <path
+                    d="m 37.762178,383.26845 c 3.822427,0.44318 7.921842,0.60937 11.688872,0.60937 7.478663,0 13.572388,-2.04971 13.572388,-10.85791 0,-7.70025 -6.86929,-9.74996 -11.467283,-11.1349 -2.271297,-0.66477 -3.98862,-1.16335 -3.98862,-2.1605 0,-0.99716 1.10795,-1.55113 2.825273,-1.55113 3.434645,0 7.367867,1.10795 9.97155,2.2713 l 1.274142,-9.25139 c -3.711632,-0.72016 -7.478662,-1.21874 -10.691717,-1.21874 -7.589458,0 -13.129207,0.66477 -13.129207,9.63916 0,8.53122 6.149122,10.30394 10.303934,11.46729 2.160503,0.60937 3.76703,1.05255 3.76703,2.1605 0,0.88636 -0.88636,1.99431 -2.991465,1.99431 -2.492887,0 -5.927532,-0.72017 -9.805357,-1.93891 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3975px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364455"
+                    id="path30"/>
+            <path
+                    d="m 64.685288,366.92618 c 0,1.38494 0.0554,2.65908 0.110795,4.04402 0,0.33239 0.22159,0.55398 0.553975,0.55398 1.828118,0.11079 8.974395,0.27698 10.85791,0.27698 1.828117,0 8.309625,-0.0554 9.52837,-0.16619 0,-1.16335 0.0554,-2.38209 0.0554,-3.49004 0,-2.76988 -0.0554,-3.37925 -0.0554,-4.70879 -0.0554,-0.27699 -0.276988,-0.55397 -0.553975,-0.55397 -1.883515,-0.0554 -6.259918,-0.1108 -8.143433,-0.1108 -1.828117,0 -10.525524,0.0554 -12.242847,0.1108 -0.0554,1.82811 -0.110795,2.99146 -0.110795,4.04401 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3975px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364455"
+                    id="path32"/>
+            <path
+                    d="m 99.918059,366.98158 c 0,-2.65908 0,-4.98577 0.0554,-7.31247 h 0.941753 c 1.49574,0 2.60369,0.72017 2.60369,7.31247 0,6.5923 -1.10795,7.36787 -2.60369,7.36787 h -0.941753 c -0.0554,-2.3267 -0.0554,-4.65339 -0.0554,-7.36787 z m -10.968704,0 c 0,5.53975 0.110795,10.30394 0.110795,15.5113 0,0.33239 0.22159,0.55398 0.553975,0.55398 3.822427,0.38778 7.312469,0.66477 10.359332,0.66477 9.306783,0 15.123513,-2.88067 15.123513,-16.73005 0,-13.01841 -5.87213,-17.00703 -15.234308,-17.00703 -3.10226,0 -7.146277,0.38778 -10.802512,0.94176 0,5.53975 -0.110795,10.52552 -0.110795,16.06527 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3975px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364455"
+                    id="path34"/>
+            <path
+                    d="m 117.97759,366.98158 c 0,5.53975 0.1108,10.85791 0.22159,16.06528 0,0.33238 0.22159,0.55397 0.55398,0.55397 1.82811,0.1108 9.86075,0.27699 11.74426,0.27699 1.82812,0 7.75565,-0.0554 9.52837,-0.16619 0,-1.38494 0,-2.71448 0,-4.04402 0,-1.55113 0,-3.10226 0,-4.81958 -0.0554,-0.27699 -0.27698,-0.55398 -0.55397,-0.55398 -1.88352,-0.0554 -7.92184,-0.11079 -9.80536,-0.11079 h -0.72017 c 0,-0.94176 0,-1.88352 0,-2.88067 h 7.20168 c 0,-1.32954 0,-2.49289 0,-3.65624 0,-1.32954 0,-2.65908 0,-4.21021 -0.0554,-0.27699 -0.27699,-0.55397 -0.55398,-0.55397 -1.44033,0 -4.4318,-0.0554 -6.6477,-0.0554 0,-0.99716 0,-1.99431 0,-2.93607 0.94176,0 1.71733,0 2.16051,0 1.82811,0 7.03548,0 8.8082,-0.11079 0,-1.38494 0,-2.71448 0,-4.04402 0,-1.55113 0,-3.10226 0,-4.81958 -0.0554,-0.27699 -0.27699,-0.55398 -0.55398,-0.55398 -1.88351,-0.0554 -7.81104,-0.11079 -9.69456,-0.11079 -1.82812,0 -9.74996,0.0554 -11.46728,0.11079 -0.16619,5.53975 -0.22159,11.0795 -0.22159,16.61925 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3975px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.364455"
+                    id="path36"/>
+        </g>
+        <path
+                d="m 154.26994,99.809765 -71.062065,71.062065 -29.941204,-29.94121 -5.911154,5.91116 32.896781,32.89678 2.955577,2.82704 2.955577,-2.82704 74.017648,-74.01764 z"
+                id="path1144"
+                style="stroke:#000000;stroke-width:17.7895;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+    </g>
+    <g
+            inkscape:label="png"
+            inkscape:groupmode="layer"
+            id="layer1"
+            style="display:none"
+            sodipodi:insensitive="true">
+        <image
+                width="210.0139"
+                height="294.48022"
+                preserveAspectRatio="none"
+                xlink:href="data:image/png;base64,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 "
+                id="image1009"
+                x="0.0042027421"
+                y="0.00192308"
+                style="opacity:0.310911"/>
+    </g>
+</svg>
diff --git a/resources/graphics/badge_favorite.svg b/resources/graphics/badge_favorite.svg
new file mode 100644
index 000000000..775402871
--- /dev/null
+++ b/resources/graphics/badge_favorite.svg
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+        xmlns:dc="http://purl.org/dc/elements/1.1/"
+        xmlns:cc="http://creativecommons.org/ns#"
+        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+        xmlns:svg="http://www.w3.org/2000/svg"
+        xmlns="http://www.w3.org/2000/svg"
+        xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+        xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+        width="210mm"
+        height="294.5mm"
+        viewBox="0 0 210 294.5"
+        version="1.1"
+        id="svg8"
+        inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+        sodipodi:docname="badge_favorite.svg">
+    <defs
+            id="defs2"/>
+    <sodipodi:namedview
+            id="base"
+            pagecolor="#ffffff"
+            bordercolor="#666666"
+            borderopacity="1.0"
+            inkscape:pageopacity="0.0"
+            inkscape:pageshadow="2"
+            inkscape:zoom="0.49497475"
+            inkscape:cx="-117.37041"
+            inkscape:cy="518.4979"
+            inkscape:document-units="mm"
+            inkscape:current-layer="layer7"
+            inkscape:document-rotation="0"
+            showgrid="false"
+            inkscape:window-width="3440"
+            inkscape:window-height="1355"
+            inkscape:window-x="2560"
+            inkscape:window-y="0"
+            inkscape:window-maximized="1"/>
+    <metadata
+            id="metadata5">
+        <rdf:RDF>
+            <cc:Work
+                    rdf:about="">
+                <dc:format>image/svg+xml</dc:format>
+                <dc:type
+                        rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+                <dc:title></dc:title>
+            </cc:Work>
+        </rdf:RDF>
+    </metadata>
+    <g
+            inkscape:groupmode="layer"
+            id="layer2"
+            inkscape:label="border-black"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1018"
+                width="3.0215168"
+                height="294.47311"
+                x="0.0042027417"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1022"
+                width="2.6538153"
+                height="291.60104"
+                x="207.3457"
+                y="2.9028916"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.262673"
+                id="rect1020"
+                width="206.97379"
+                height="2.9009686"
+                x="3.0257196"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1024"
+                width="204.36038"
+                height="2.7575684"
+                x="3.0257196"
+                y="291.71747"/>
+  </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer3"
+            inkscape:label="white-outer-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1090"
+                width="204.36038"
+                height="288.81458"
+                x="3.0257196"
+                y="2.9028914"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer4"
+            inkscape:label="black-inner-bg"
+            style="display:inline;opacity:1">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1093"
+                width="194.90201"
+                height="279.21954"
+                x="7.700757"
+                y="7.7173548"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer5"
+            inkscape:label="white-inner-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1096"
+                width="174.01582"
+                height="172.88167"
+                x="18.183073"
+                y="53.878208"/>
+        <path
+                d="m 171.84258,125.78543 -46.7263,-4.93461 -19.12835,-42.904214 -19.128364,42.904214 -46.72629,4.93461 34.901169,31.45592 -9.743617,45.95471 40.697102,-23.47082 40.6971,23.47082 -9.74363,-45.95471 z"
+                id="path991"
+                style="stroke-width:4.59367"/>
+  </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer6"
+            inkscape:label="content-rated-by"
+            style="display:inline">
+        <g
+                aria-label="CONTENT RATED BY"
+                transform="scale(0.98196283,1.0183685)"
+                id="text1101"
+                style="font-size:24.9419px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:-0.259811px;word-spacing:-2.07849px;stroke-width:0.259811">
+            <path
+                    d="m 17.394038,237.68091 c 0,6.23548 2.618899,7.53246 6.809138,7.53246 1.022618,0 1.845701,-0.0748 2.868319,-0.27436 l -0.52378,-3.94082 -2.294655,0.17459 c -1.022618,0.0499 -1.671107,-0.52378 -1.671107,-3.49187 0,-2.96808 0.748257,-3.51681 1.671107,-3.46692 l 2.294655,0.14965 0.548722,-3.91588 c -1.022618,-0.22448 -1.820759,-0.42401 -2.843377,-0.42401 -4.215181,0 -6.859022,1.79582 -6.859022,7.65716 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path45"/>
+            <path
+                    d="m 27.48509,237.68091 c 0,5.78652 2.169945,7.63222 6.933848,7.63222 3.516808,-0.17459 5.736637,-2.71866 5.736637,-7.63222 0,-5.76158 -2.244771,-7.65716 -6.983732,-7.65716 -3.516808,0.17459 -5.686753,2.76855 -5.686753,7.65716 z m 5.187915,0 c 0,-2.96808 0.424012,-3.29233 1.097444,-3.29233 0.673431,0 1.172269,0.32425 1.172269,3.29233 0,2.96809 -0.424012,3.29233 -1.097444,3.29233 -0.673431,0 -1.172269,-0.32424 -1.172269,-3.29233 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path47"/>
+            <path
+                    d="m 41.192718,237.68091 c 0,2.49419 0.04988,4.88862 0.09977,7.23315 0,0.14966 0.09977,0.24942 0.249419,0.24942 0.798141,0.0499 1.57134,0.0748 2.419364,0.0748 0.823083,0 1.272037,-0.0249 2.070178,-0.0748 l -0.09977,-6.6096 2.593957,6.36018 c 0.04988,0.14966 0.12471,0.24942 0.274361,0.24942 0.798141,0.0499 1.521456,0.0748 2.269713,0.0748 0.823083,0 1.247095,-0.0249 1.945468,-0.0748 0.04988,-2.49419 0.09977,-4.98838 0.09977,-7.48257 0,-2.49419 -0.04988,-4.88861 -0.09977,-7.23315 0,-0.12471 -0.124709,-0.22448 -0.249419,-0.24942 -0.748257,-0.0249 -1.471572,-0.0499 -2.319597,-0.0499 -0.823082,0 -1.396746,0.0249 -2.169945,0.0499 l 0.07483,6.63455 -2.569016,-6.38513 c -0.07483,-0.12471 -0.149651,-0.22448 -0.274361,-0.24942 -0.798141,-0.0249 -1.44663,-0.0499 -2.169945,-0.0499 -0.823083,0 -1.272037,0.0249 -2.045236,0.0499 -0.07483,2.49419 -0.09977,4.98838 -0.09977,7.48257 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path49"/>
+            <path
+                    d="m 53.877733,232.09393 c 0,0.67343 0,1.34686 0.02494,2.04523 0,0.14965 0.09977,0.24942 0.249419,0.24942 0.424013,0.0249 1.621224,0.0499 2.743609,0.0748 0,1.04756 0,2.07018 0,3.2175 0,2.49419 0.04988,4.88862 0.09977,7.23315 0,0.14966 0.09977,0.24942 0.249419,0.24942 0.823083,0.0499 1.696049,0.0748 2.544074,0.0748 0.823082,0 1.396746,-0.0249 2.194887,-0.0748 0.04988,-2.49419 0.09977,-4.98838 0.09977,-7.48257 0,-1.14732 -0.02494,-2.16994 -0.04988,-3.19256 1.296979,0 2.618899,-0.0249 3.042912,-0.0499 0,-0.62355 0,-1.2471 0,-1.84571 0,-0.72331 0,-1.42168 0,-2.145 -0.02494,-0.12471 -0.12471,-0.24942 -0.249419,-0.24942 -0.848025,-0.0249 -4.314949,-0.0499 -5.162974,-0.0499 -0.823082,0 -4.98838,0.0249 -5.761579,0.0499 -0.02494,0.67343 -0.02494,1.29698 -0.02494,1.89559 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path51"/>
+            <path
+                    d="m 65.864372,237.68091 c 0,2.49419 0.04988,4.88862 0.09977,7.23315 0,0.14966 0.09977,0.24942 0.249419,0.24942 0.823083,0.0499 4.439658,0.12471 5.287683,0.12471 0.823082,0 3.491866,-0.0249 4.290007,-0.0748 0,-0.62355 0,-1.22216 0,-1.82076 0,-0.69838 0,-1.39675 0,-2.16995 -0.02494,-0.12471 -0.12471,-0.24942 -0.249419,-0.24942 -0.848025,-0.0249 -3.566692,-0.0499 -4.414717,-0.0499 h -0.324245 c 0,-0.42401 0,-0.84802 0,-1.29698 h 3.242448 c 0,-0.5986 0,-1.12238 0,-1.64616 0,-0.59861 0,-1.19722 0,-1.89559 -0.02494,-0.12471 -0.12471,-0.24942 -0.249419,-0.24942 -0.64849,0 -1.995352,-0.0249 -2.993029,-0.0249 0,-0.44895 0,-0.89791 0,-1.32192 0.424013,0 0.773199,0 0.972735,0 0.823082,0 3.167621,0 3.965762,-0.0499 0,-0.62355 0,-1.22216 0,-1.82076 0,-0.69838 0,-1.39675 0,-2.16995 -0.02494,-0.12471 -0.12471,-0.24942 -0.249419,-0.24942 -0.848025,-0.0249 -3.516808,-0.0499 -4.364833,-0.0499 -0.823083,0 -4.389774,0.0249 -5.162973,0.0499 -0.07483,2.49419 -0.09977,4.98838 -0.09977,7.48257 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path53"/>
+            <path
+                    d="m 76.92815,237.68091 c 0,2.49419 0.04988,4.88862 0.09977,7.23315 0,0.14966 0.09977,0.24942 0.249419,0.24942 0.798141,0.0499 1.571339,0.0748 2.419364,0.0748 0.823083,0 1.272037,-0.0249 2.070178,-0.0748 l -0.09977,-6.6096 2.593958,6.36018 c 0.04988,0.14966 0.124709,0.24942 0.274361,0.24942 0.798141,0.0499 1.521456,0.0748 2.269713,0.0748 0.823082,0 1.247095,-0.0249 1.945468,-0.0748 0.04988,-2.49419 0.09977,-4.98838 0.09977,-7.48257 0,-2.49419 -0.04988,-4.88861 -0.09977,-7.23315 0,-0.12471 -0.12471,-0.22448 -0.249419,-0.24942 -0.748257,-0.0249 -1.471572,-0.0499 -2.319597,-0.0499 -0.823083,0 -1.396746,0.0249 -2.169945,0.0499 l 0.07483,6.63455 -2.569016,-6.38513 c -0.07483,-0.12471 -0.149652,-0.22448 -0.274361,-0.24942 -0.798141,-0.0249 -1.44663,-0.0499 -2.169945,-0.0499 -0.823083,0 -1.272037,0.0249 -2.045236,0.0499 -0.07483,2.49419 -0.09977,4.98838 -0.09977,7.48257 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path55"/>
+            <path
+                    d="m 89.613169,232.09393 c 0,0.67343 0,1.34686 0.02494,2.04523 0,0.14965 0.09977,0.24942 0.249419,0.24942 0.424012,0.0249 1.621223,0.0499 2.743609,0.0748 0,1.04756 0,2.07018 0,3.2175 0,2.49419 0.04988,4.88862 0.09977,7.23315 0,0.14966 0.09977,0.24942 0.249419,0.24942 0.823083,0.0499 1.69605,0.0748 2.544074,0.0748 0.823083,0 1.396747,-0.0249 2.194887,-0.0748 0.04988,-2.49419 0.09977,-4.98838 0.09977,-7.48257 0,-1.14732 -0.02494,-2.16994 -0.04988,-3.19256 1.296979,0 2.6189,-0.0249 3.04291,-0.0499 0,-0.62355 0,-1.2471 0,-1.84571 0,-0.72331 0,-1.42168 0,-2.145 -0.0249,-0.12471 -0.12471,-0.24942 -0.24942,-0.24942 -0.848022,-0.0249 -4.314946,-0.0499 -5.16297,-0.0499 -0.823083,0 -4.98838,0.0249 -5.761579,0.0499 -0.02494,0.67343 -0.02494,1.29698 -0.02494,1.89559 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path57"/>
+            <path
+                    d="m 106.79394,237.35667 c 0,2.49419 0.0499,5.21286 0.0499,7.55739 0,0.14966 0.0998,0.24942 0.24942,0.24942 0.84803,0.0499 1.69605,0.0499 2.54408,0.0499 0.72331,0 1.44663,0 2.19488,-0.0499 -0.0249,-1.94547 -0.0998,-4.09047 -0.12471,-6.1357 0.0998,0 0.22448,0 0.32425,0 0.49884,1.72099 1.19721,3.84105 1.89558,5.96111 0.0499,0.14965 0.24942,0.24942 0.37413,0.24942 0.67343,0.0499 1.34687,0.0748 2.0203,0.0748 0.87296,0 1.77087,-0.0499 2.59395,-0.14965 -0.42401,-1.87064 -0.99767,-3.66646 -1.97041,-5.61192 -0.34918,-0.57367 -0.82308,-0.97274 -1.39674,-1.17227 1.64616,-0.7732 2.66878,-2.16995 2.66878,-4.01565 0,-4.04059 -2.54407,-4.33989 -6.26042,-4.33989 -1.39674,0 -3.46692,0.17459 -5.11309,0.42401 0,2.49419 -0.0499,4.41472 -0.0499,6.90891 z m 4.91355,-1.39675 c 0,-0.79814 0,-1.52145 0,-2.24477 0.1746,-0.0249 0.39908,-0.0249 0.59861,-0.0249 0.89791,0 1.14733,0.42401 1.14733,1.19721 0,0.64849 -0.54872,1.0725 -1.32192,1.0725 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path59"/>
+            <path
+                    d="m 118.68081,244.96395 c 0,0.12471 0.0998,0.19953 0.22448,0.19953 0.82308,0.0499 1.69605,0.0748 2.54407,0.0748 0.82308,0 1.27204,-0.0249 2.07018,-0.0748 0.17459,-0.89791 0.32424,-1.82076 0.4739,-2.74361 h 2.31959 c 0.12471,0.84803 0.27436,1.69605 0.44896,2.49419 0.0249,0.14966 0.14965,0.24942 0.27436,0.24942 0.87296,0.0748 1.59628,0.0748 2.4443,0.0748 0.84803,0 1.39675,-0.0249 2.16995,-0.0748 -0.72332,-4.83873 -1.89559,-9.92687 -2.84338,-14.71572 -0.0249,-0.12471 -0.14965,-0.24942 -0.27436,-0.24942 -1.19721,-0.0249 -2.36948,-0.0499 -3.56669,-0.0499 -1.17227,0 -2.3196,0 -3.44198,0.0499 -0.92285,4.61425 -1.97041,9.42804 -2.71867,13.99241 -0.0499,0.24942 -0.12471,0.72331 -0.12471,0.7732 z m 5.73664,-5.78652 c 0.19953,-1.87065 0.39907,-3.74129 0.62354,-5.58699 0.24942,1.87064 0.49884,3.74129 0.7732,5.58699 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path61"/>
+            <path
+                    d="m 130.99165,232.09393 c 0,0.67343 0,1.34686 0.0249,2.04523 0,0.14965 0.0998,0.24942 0.24942,0.24942 0.42401,0.0249 1.62122,0.0499 2.74361,0.0748 0,1.04756 0,2.07018 0,3.2175 0,2.49419 0.0499,4.88862 0.0998,7.23315 0,0.14966 0.0998,0.24942 0.24941,0.24942 0.82309,0.0499 1.69605,0.0748 2.54408,0.0748 0.82308,0 1.39674,-0.0249 2.19489,-0.0748 0.0499,-2.49419 0.0998,-4.98838 0.0998,-7.48257 0,-1.14732 -0.0249,-2.16994 -0.0499,-3.19256 1.29698,0 2.6189,-0.0249 3.04291,-0.0499 0,-0.62355 0,-1.2471 0,-1.84571 0,-0.72331 0,-1.42168 0,-2.145 -0.0249,-0.12471 -0.12471,-0.24942 -0.24942,-0.24942 -0.84802,-0.0249 -4.31495,-0.0499 -5.16297,-0.0499 -0.82308,0 -4.98838,0.0249 -5.76158,0.0499 -0.0249,0.67343 -0.0249,1.29698 -0.0249,1.89559 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path63"/>
+            <path
+                    d="m 142.97829,237.68091 c 0,2.49419 0.0499,4.88862 0.0998,7.23315 0,0.14966 0.0998,0.24942 0.24942,0.24942 0.82309,0.0499 4.43966,0.12471 5.28769,0.12471 0.82308,0 3.49186,-0.0249 4.29,-0.0748 0,-0.62355 0,-1.22216 0,-1.82076 0,-0.69838 0,-1.39675 0,-2.16995 -0.0249,-0.12471 -0.12471,-0.24942 -0.24942,-0.24942 -0.84802,-0.0249 -3.56669,-0.0499 -4.41471,-0.0499 h -0.32425 c 0,-0.42401 0,-0.84802 0,-1.29698 h 3.24245 c 0,-0.5986 0,-1.12238 0,-1.64616 0,-0.59861 0,-1.19722 0,-1.89559 -0.0249,-0.12471 -0.12471,-0.24942 -0.24942,-0.24942 -0.64849,0 -1.99535,-0.0249 -2.99303,-0.0249 0,-0.44895 0,-0.89791 0,-1.32192 0.42402,0 0.7732,0 0.97274,0 0.82308,0 3.16762,0 3.96576,-0.0499 0,-0.62355 0,-1.22216 0,-1.82076 0,-0.69838 0,-1.39675 0,-2.16995 -0.0249,-0.12471 -0.12471,-0.24942 -0.24942,-0.24942 -0.84802,-0.0249 -3.51681,-0.0499 -4.36483,-0.0499 -0.82309,0 -4.38978,0.0249 -5.16298,0.0499 -0.0748,2.49419 -0.0998,4.98838 -0.0998,7.48257 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path65"/>
+            <path
+                    d="m 159.03044,237.68091 c 0,-1.19721 0,-2.24477 0.0249,-3.29233 h 0.42402 c 0.67343,0 1.17226,0.32425 1.17226,3.29233 0,2.96809 -0.49883,3.31728 -1.17226,3.31728 h -0.42402 c -0.0249,-1.04756 -0.0249,-2.09512 -0.0249,-3.31728 z m -4.9385,0 c 0,2.49419 0.0499,4.6392 0.0499,6.98373 0,0.14966 0.0998,0.24942 0.24942,0.24942 1.72099,0.1746 3.29233,0.29931 4.66413,0.29931 4.19024,0 6.80914,-1.29698 6.80914,-7.53246 0,-5.86134 -2.64384,-7.65716 -6.85902,-7.65716 -1.39675,0 -3.21751,0.17459 -4.86367,0.42401 0,2.49419 -0.0499,4.73896 -0.0499,7.23315 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path67"/>
+            <path
+                    d="m 176.98442,235.68556 c 0,-0.7732 0,-1.42169 0.0249,-2.04524 0.0499,-0.0249 0.19953,-0.0249 0.2993,-0.0249 0.64849,0 1.29698,0.32425 1.29698,0.99768 0,0.69837 -0.67343,1.0725 -1.44663,1.0725 z m 0.0249,3.6914 h 0.62355 c 0.67343,0 1.14732,0.42401 1.14732,0.99768 0,0.64849 -0.37412,1.02262 -1.32192,1.02262 h -0.39907 c -0.0249,-0.67344 -0.0499,-1.34687 -0.0499,-2.0203 z m -4.91355,-2.02029 c 0,2.49419 0.0499,5.01332 0.0499,7.35786 0,0.14965 0.0998,0.27436 0.24942,0.2993 1.72099,0.19954 3.61657,0.27436 5.31262,0.27436 3.36716,0 6.06088,-0.67343 6.06088,-4.63919 0,-1.19721 -0.82308,-2.29466 -2.19488,-3.06786 0.89791,-0.77319 1.44663,-1.89558 1.44663,-3.2175 0,-4.04059 -2.54408,-4.33989 -6.011,-4.33989 -1.39675,0 -3.21751,0.17459 -4.86367,0.42401 0,2.49419 -0.0499,4.41472 -0.0499,6.90891 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path69"/>
+            <path
+                    d="m 183.40898,230.29811 c 0.42401,1.89558 1.09744,4.43966 2.07018,6.36018 0.57366,0.97274 1.27204,1.74594 2.02029,2.34454 -0.0249,2.0203 -0.0249,3.99071 -0.0249,5.91123 0,0.14966 0.0998,0.24942 0.24942,0.24942 0.82308,0.0499 1.74593,0.0748 2.59396,0.0748 0.82308,0 1.44663,-0.0249 2.24477,-0.0748 -0.0249,-2.04523 -0.0499,-4.09047 -0.0748,-6.16065 0.74826,-0.5986 1.44663,-1.3718 2.0203,-2.34454 0.97273,-1.92052 1.64616,-4.4646 2.07017,-6.36018 -0.82308,-0.0998 -1.72099,-0.14965 -2.59395,-0.14965 -0.67343,0 -1.34687,0.0249 -2.0203,0.0748 -0.12471,0 -0.32424,0.0998 -0.37413,0.24942 -0.54872,1.67111 -1.14732,3.74129 -1.59628,5.43734 -0.47389,-1.69605 -1.04756,-3.76623 -1.59628,-5.43734 -0.0499,-0.14965 -0.24942,-0.24942 -0.37413,-0.24942 -0.67343,-0.0499 -1.34686,-0.0748 -2.02029,-0.0748 -0.89791,0 -1.77088,0.0499 -2.59396,0.14965 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9419px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259811"
+                    id="path71"/>
+        </g>
+        <g
+                aria-label="FAVORITE"
+                transform="scale(1.0032075,0.99680279)"
+                id="text41"
+                style="font-size:47.5589px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';stroke-width:0.324265">
+            <path
+                    d="m 19.020525,30.824638 c 0,4.75589 0.09512,9.321545 0.190235,13.792081 0,0.285353 0.190236,0.475589 0.475589,0.475589 1.569444,0.09512 3.234005,0.142677 4.851008,0.142677 1.569443,0 2.663298,-0.04756 4.185183,-0.142677 0,-2.615739 -0.04756,-5.279038 -0.09512,-7.942336 1.759679,0 4.470537,-0.04756 5.802186,-0.142677 0,-1.188972 0,-2.330386 0,-3.471799 0,-1.33165 0,-2.663299 0,-4.137625 -0.04756,-0.237794 -0.237795,-0.475589 -0.475589,-0.475589 -1.141414,0 -3.519359,-0.04756 -5.326597,-0.04756 0,-1.474326 0,-2.805976 0,-4.137625 0.713384,0.04756 1.28409,0.04756 1.617003,0.04756 1.569443,0 5.421714,-0.04756 6.943599,-0.142676 0,-1.188973 0,-2.330387 0,-3.4718 0,-1.331649 0,-2.663298 0,-4.137624 -0.04756,-0.237795 -0.237795,-0.475589 -0.475589,-0.475589 -1.617003,-0.04756 -6.03998,-0.09512 -7.656983,-0.09512 -1.569443,0 -8.370366,0.04756 -9.844692,0.09512 -0.142677,4.75589 -0.190235,9.511779 -0.190235,14.267669 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path28"/>
+            <path
+                    d="m 37.235497,44.711837 c 0,0.237794 0.190235,0.380471 0.42803,0.380471 1.569443,0.09512 3.234005,0.142677 4.851007,0.142677 1.569444,0 2.425504,-0.04756 3.947389,-0.142677 0.332912,-1.71212 0.618266,-3.4718 0.903619,-5.231479 h 4.422978 c 0.237794,1.617003 0.523148,3.234005 0.85606,4.75589 0.04756,0.285353 0.285353,0.475589 0.523148,0.475589 1.664561,0.142677 3.043769,0.142677 4.660772,0.142677 1.617002,0 2.663298,-0.04756 4.137624,-0.142677 -1.379208,-9.226426 -3.614476,-18.928442 -5.421714,-28.05975 -0.04756,-0.237795 -0.285354,-0.475589 -0.523148,-0.475589 -2.282827,-0.04756 -4.518096,-0.09512 -6.800923,-0.09512 -2.235268,0 -4.422977,0 -6.563128,0.09512 -1.759679,8.798396 -3.757153,17.977263 -5.18392,26.680542 -0.09512,0.475589 -0.237794,1.379208 -0.237794,1.474326 z M 48.174043,33.678172 c 0.380472,-3.566917 0.760943,-7.133835 1.188973,-10.653193 0.475589,3.566917 0.951178,7.133835 1.474326,10.653193 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path30"/>
+            <path
+                    d="m 61.109909,16.556969 c 1.426767,9.273985 3.566917,18.976 5.61195,28.05975 0.09512,0.285353 0.332912,0.475589 0.570707,0.475589 2.187709,0.09512 4.327859,0.142677 6.563128,0.142677 2.092591,0 4.042506,-0.04756 6.03998,-0.142677 2.045032,-8.750837 3.994947,-17.929705 5.421714,-26.632983 0.04756,-0.475589 0.237795,-1.284091 0.237795,-1.474326 0,-0.237795 -0.190236,-0.42803 -0.42803,-0.42803 -1.617003,-0.04756 -3.424241,-0.09512 -5.041244,-0.09512 -1.379208,0 -2.187709,0.04756 -3.709594,0.09512 -1.236531,6.182657 -2.045032,12.365313 -2.853534,18.500411 -0.85606,-6.03998 -1.664561,-12.032401 -2.853534,-18.024822 -0.04756,-0.237795 -0.285353,-0.42803 -0.570706,-0.475589 -1.617003,-0.09512 -3.04377,-0.09512 -4.660773,-0.09512 -1.569443,0 -2.805975,0.04756 -4.327859,0.09512 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path32"/>
+            <path
+                    d="m 85.650249,30.824638 c 0,11.033665 4.137624,14.553023 13.221374,14.553023 6.705807,-0.332912 10.938547,-5.18392 10.938547,-14.553023 0,-10.986105 -4.2803,-14.600582 -13.316492,-14.600582 -6.705805,0.332913 -10.843429,5.279038 -10.843429,14.600582 z m 9.892251,0 c 0,-5.659509 0.808501,-6.277774 2.092591,-6.277774 1.28409,0 2.235268,0.618265 2.235268,6.277774 0,5.659509 -0.808501,6.277775 -2.092591,6.277775 -1.28409,0 -2.235268,-0.618266 -2.235268,-6.277775 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path34"/>
+            <path
+                    d="m 112.37831,30.206373 c 0,4.75589 0.0951,9.93981 0.0951,14.410346 0,0.285353 0.19024,0.475589 0.47559,0.475589 1.61701,0.09512 3.23401,0.09512 4.85101,0.09512 1.37921,0 2.75842,0 4.18518,-0.09512 -0.0476,-3.709594 -0.19023,-7.799659 -0.23779,-11.699489 0.19024,0 0.42803,0 0.61827,0 0.95117,3.281564 2.28282,7.32407 3.61447,11.366577 0.0951,0.285353 0.47559,0.475589 0.71339,0.475589 1.28409,0.09512 2.56818,0.142676 3.85227,0.142676 1.66456,0 3.37668,-0.09512 4.94612,-0.285353 -0.8085,-3.566917 -1.90235,-6.991158 -3.75715,-10.700752 -0.66583,-1.093855 -1.56944,-1.854797 -2.6633,-2.235268 3.13889,-1.474326 5.0888,-4.137625 5.0888,-7.656983 0,-7.704542 -4.851,-8.275249 -11.93728,-8.275249 -2.6633,0 -6.61069,0.332913 -9.74958,0.808502 0,4.75589 -0.0951,8.417925 -0.0951,13.173815 z m 9.3691,-2.663299 c 0,-1.521884 0,-2.901092 0,-4.280301 0.33291,-0.04756 0.76094,-0.04756 1.14141,-0.04756 1.71212,0 2.18771,0.808501 2.18771,2.282827 0,1.236531 -1.04629,2.045032 -2.52062,2.045032 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path36"/>
+            <path
+                    d="m 137.29912,30.824638 c 0,4.75589 0.0951,9.321545 0.19024,13.792081 0,0.285353 0.19023,0.475589 0.47558,0.475589 1.56945,0.09512 3.23401,0.142677 4.85101,0.142677 1.56945,0 2.6633,-0.04756 4.18518,-0.142677 0.0951,-4.75589 0.19024,-9.51178 0.19024,-14.26767 0,-4.75589 -0.0951,-9.321544 -0.19024,-13.79208 0,-0.237795 -0.23779,-0.475589 -0.47558,-0.475589 -1.61701,-0.04756 -3.28157,-0.09512 -4.89857,-0.09512 -1.56944,0 -2.6633,0.04756 -4.13762,0.09512 -0.14268,4.75589 -0.19024,9.511779 -0.19024,14.267669 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path38"/>
+            <path
+                    d="m 149.14123,20.171445 c 0,1.28409 0,2.568181 0.0476,3.89983 0,0.285353 0.19023,0.475589 0.47559,0.475589 0.8085,0.04756 3.09133,0.09512 5.23148,0.142676 0,1.997474 0,3.947389 0,6.135098 0,4.75589 0.0951,9.321545 0.19023,13.792081 0,0.285353 0.19024,0.475589 0.47559,0.475589 1.56945,0.09512 3.23401,0.142677 4.85101,0.142677 1.56944,0 2.6633,-0.04756 4.18518,-0.142677 0.0951,-4.75589 0.19024,-9.51178 0.19024,-14.26767 0,-2.187709 -0.0476,-4.137624 -0.0951,-6.087539 2.47306,0 4.99368,-0.04756 5.80219,-0.09512 0,-1.188973 0,-2.377945 0,-3.519359 0,-1.379208 0,-2.710857 0,-4.090065 -0.0476,-0.237795 -0.2378,-0.475589 -0.47559,-0.475589 -1.61701,-0.04756 -8.22769,-0.09512 -9.8447,-0.09512 -1.56944,0 -9.51177,0.04756 -10.9861,0.09512 -0.0476,1.28409 -0.0476,2.473062 -0.0476,3.614476 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path40"/>
+            <path
+                    d="m 172.4926,30.824638 c 0,4.75589 0.0951,9.321545 0.19024,13.792081 0,0.285353 0.19023,0.475589 0.47559,0.475589 1.56944,0.09512 8.46548,0.237795 10.08248,0.237795 1.56945,0 6.65825,-0.04756 8.18013,-0.142677 0,-1.188973 0,-2.330386 0,-3.4718 0,-1.331649 0,-2.663298 0,-4.137624 -0.0476,-0.237794 -0.23779,-0.475589 -0.47559,-0.475589 -1.617,-0.04756 -6.80092,-0.09512 -8.41792,-0.09512 h -0.61827 c 0,-0.808501 0,-1.617002 0,-2.473063 h 6.18266 c 0,-1.141413 0,-2.14015 0,-3.138887 0,-1.141413 0,-2.282827 0,-3.614476 -0.0476,-0.237795 -0.23779,-0.475589 -0.47559,-0.475589 -1.23653,0 -3.80471,-0.04756 -5.70707,-0.04756 0,-0.85606 0,-1.71212 0,-2.520622 0.8085,0 1.47433,0 1.8548,0 1.56944,0 6.03998,0 7.56186,-0.09512 0,-1.188973 0,-2.330387 0,-3.4718 0,-1.331649 0,-2.663298 0,-4.137624 -0.0476,-0.237795 -0.23779,-0.475589 -0.47558,-0.475589 -1.61701,-0.04756 -6.70581,-0.09512 -8.32281,-0.09512 -1.56945,0 -8.37037,0.04756 -9.84469,0.09512 -0.14268,4.75589 -0.19024,9.511779 -0.19024,14.267669 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.5589px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.324265"
+                    id="path42"/>
+        </g>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer7"
+            inkscape:label="es-de">
+        <g
+                aria-label="ES-DE"
+                transform="scale(1.3757343,0.72688455)"
+                id="text37"
+                style="font-size:55.3275px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:0px;stroke-width:0.363995">
+            <path
+                    d="m 13.293344,366.51827 c 0,5.53275 0.110655,10.84419 0.22131,16.04497 0,0.33197 0.22131,0.55328 0.553275,0.55328 1.825807,0.11065 9.848294,0.27663 11.729429,0.27663 1.825808,0 7.74585,-0.0553 9.51633,-0.16598 0,-1.38319 0,-2.71105 0,-4.03891 0,-1.54917 0,-3.09834 0,-4.81349 -0.05533,-0.27664 -0.276637,-0.55327 -0.553275,-0.55327 -1.881135,-0.0553 -7.911832,-0.11066 -9.792967,-0.11066 h -0.719258 c 0,-0.94057 0,-1.88113 0,-2.87703 h 7.192575 c 0,-1.32786 0,-2.48974 0,-3.65161 0,-1.32786 0,-2.65572 0,-4.20489 -0.05533,-0.27664 -0.276637,-0.55328 -0.553275,-0.55328 -1.438515,0 -4.4262,-0.0553 -6.6393,-0.0553 0,-0.99589 0,-1.99179 0,-2.93235 0.940568,0 1.715153,0 2.157773,0 1.825807,0 7.026592,0 8.797072,-0.11066 0,-1.38319 0,-2.71105 0,-4.03891 0,-1.54917 0,-3.09834 0,-4.81349 -0.05533,-0.27664 -0.276637,-0.55327 -0.553275,-0.55327 -1.881135,-0.0553 -7.801177,-0.11066 -9.682312,-0.11066 -1.825808,0 -9.73764,0.0553 -11.452792,0.11066 -0.165983,5.53275 -0.22131,11.0655 -0.22131,16.59825 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3275px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363995"
+                    id="path74"/>
+            <path
+                    d="m 37.748018,382.78455 c 3.817598,0.44262 7.911833,0.6086 11.674103,0.6086 7.469212,0 13.555237,-2.04711 13.555237,-10.84419 0,-7.69052 -6.86061,-9.73764 -11.452792,-11.12082 -2.268428,-0.66393 -3.98358,-1.16188 -3.98358,-2.15778 0,-0.99589 1.10655,-1.54917 2.821702,-1.54917 3.430305,0 7.358558,1.10655 9.95895,2.26843 l 1.272532,-9.23969 c -3.706942,-0.71926 -7.469212,-1.21721 -10.678207,-1.21721 -7.579867,0 -13.112617,0.66393 -13.112617,9.62699 0,8.52043 6.141352,10.29091 10.290915,11.45279 2.157772,0.6086 3.76227,1.05122 3.76227,2.15777 0,0.88524 -0.88524,1.99179 -2.987685,1.99179 -2.489738,0 -5.920043,-0.71925 -9.792968,-1.93646 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3275px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363995"
+                    id="path76"/>
+            <path
+                    d="m 64.637109,366.46294 c 0,1.38319 0.05533,2.65572 0.110655,4.03891 0,0.33196 0.22131,0.55327 0.553275,0.55327 1.825808,0.11066 8.963055,0.27664 10.84419,0.27664 1.825808,0 8.299125,-0.0553 9.51633,-0.16598 0,-1.16188 0.05533,-2.37909 0.05533,-3.48564 0,-2.76637 -0.05533,-3.37497 -0.05533,-4.70283 -0.05533,-0.27664 -0.276637,-0.55328 -0.553275,-0.55328 -1.881135,-0.0553 -6.252007,-0.11065 -8.133142,-0.11065 -1.825808,0 -10.512225,0.0553 -12.227378,0.11065 -0.05533,1.82581 -0.110655,2.98769 -0.110655,4.03891 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3275px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363995"
+                    id="path78"/>
+            <path
+                    d="m 99.825358,366.51827 c 0,-2.65572 0,-4.97948 0.05533,-7.30323 h 0.940564 c 1.49385,0 2.6004,0.71925 2.6004,7.30323 0,6.58397 -1.10655,7.35855 -2.6004,7.35855 h -0.940564 c -0.05533,-2.32375 -0.05533,-4.64751 -0.05533,-7.35855 z m -10.954845,0 c 0,5.53275 0.110655,10.29091 0.110655,15.4917 0,0.33196 0.22131,0.55327 0.553275,0.55327 3.817598,0.38729 7.30323,0.66393 10.346243,0.66393 9.295024,0 15.104404,-2.87703 15.104404,-16.7089 0,-13.00197 -5.86471,-16.98555 -15.215059,-16.98555 -3.09834,0 -7.137248,0.3873 -10.788863,0.94057 0,5.53275 -0.110655,10.51223 -0.110655,16.04498 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3275px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363995"
+                    id="path80"/>
+            <path
+                    d="m 117.86207,366.51827 c 0,5.53275 0.11065,10.84419 0.22131,16.04497 0,0.33197 0.22131,0.55328 0.55327,0.55328 1.82581,0.11065 9.8483,0.27663 11.72943,0.27663 1.82581,0 7.74585,-0.0553 9.51633,-0.16598 0,-1.38319 0,-2.71105 0,-4.03891 0,-1.54917 0,-3.09834 0,-4.81349 -0.0553,-0.27664 -0.27663,-0.55327 -0.55327,-0.55327 -1.88114,-0.0553 -7.91183,-0.11066 -9.79297,-0.11066 h -0.71926 c 0,-0.94057 0,-1.88113 0,-2.87703 h 7.19258 c 0,-1.32786 0,-2.48974 0,-3.65161 0,-1.32786 0,-2.65572 0,-4.20489 -0.0553,-0.27664 -0.27664,-0.55328 -0.55328,-0.55328 -1.43851,0 -4.4262,-0.0553 -6.6393,-0.0553 0,-0.99589 0,-1.99179 0,-2.93235 0.94057,0 1.71516,0 2.15778,0 1.8258,0 7.02659,0 8.79707,-0.11066 0,-1.38319 0,-2.71105 0,-4.03891 0,-1.54917 0,-3.09834 0,-4.81349 -0.0553,-0.27664 -0.27664,-0.55327 -0.55328,-0.55327 -1.88113,-0.0553 -7.80117,-0.11066 -9.68231,-0.11066 -1.82581,0 -9.73764,0.0553 -11.45279,0.11066 -0.16598,5.53275 -0.22131,11.0655 -0.22131,16.59825 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.3275px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363995"
+                    id="path82"/>
+        </g>
+    </g>
+    <g
+            inkscape:label="png"
+            inkscape:groupmode="layer"
+            id="layer1"
+            style="display:none"
+            sodipodi:insensitive="true">
+        <image
+                width="210.0139"
+                height="294.48022"
+                preserveAspectRatio="none"
+                xlink:href="data:image/png;base64,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 "
+                id="image1009"
+                x="0.0042027421"
+                y="0.00192308"
+                style="opacity:0.310911"/>
+    </g>
+</svg>
diff --git a/resources/graphics/badge_kidgame.svg b/resources/graphics/badge_kidgame.svg
new file mode 100644
index 000000000..25b9a92db
--- /dev/null
+++ b/resources/graphics/badge_kidgame.svg
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+        xmlns:dc="http://purl.org/dc/elements/1.1/"
+        xmlns:cc="http://creativecommons.org/ns#"
+        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+        xmlns:svg="http://www.w3.org/2000/svg"
+        xmlns="http://www.w3.org/2000/svg"
+        xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+        xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+        width="210mm"
+        height="294.5mm"
+        viewBox="0 0 210 294.5"
+        version="1.1"
+        id="svg8"
+        inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+        sodipodi:docname="badge_kidgame.svg">
+    <defs
+            id="defs2"/>
+    <sodipodi:namedview
+            id="base"
+            pagecolor="#ffffff"
+            bordercolor="#666666"
+            borderopacity="1.0"
+            inkscape:pageopacity="0.0"
+            inkscape:pageshadow="2"
+            inkscape:zoom="0.98994949"
+            inkscape:cx="248.82721"
+            inkscape:cy="624.67025"
+            inkscape:document-units="mm"
+            inkscape:current-layer="layer7"
+            inkscape:document-rotation="0"
+            showgrid="false"
+            inkscape:window-width="3440"
+            inkscape:window-height="1355"
+            inkscape:window-x="2560"
+            inkscape:window-y="0"
+            inkscape:window-maximized="1"/>
+    <metadata
+            id="metadata5">
+        <rdf:RDF>
+            <cc:Work
+                    rdf:about="">
+                <dc:format>image/svg+xml</dc:format>
+                <dc:type
+                        rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+                <dc:title></dc:title>
+            </cc:Work>
+        </rdf:RDF>
+    </metadata>
+    <g
+            inkscape:groupmode="layer"
+            id="layer2"
+            inkscape:label="border-black"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1018"
+                width="3.0215168"
+                height="294.47311"
+                x="0.0042027417"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1022"
+                width="2.6538153"
+                height="291.60104"
+                x="207.3457"
+                y="2.9028916"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.262673"
+                id="rect1020"
+                width="206.97379"
+                height="2.9009686"
+                x="3.0257196"
+                y="0.00192308"/>
+        <rect
+                style="display:inline;opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1024"
+                width="204.36038"
+                height="2.7575684"
+                x="3.0257196"
+                y="291.71747"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer3"
+            inkscape:label="white-outer-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1090"
+                width="204.36038"
+                height="288.81458"
+                x="3.0257196"
+                y="2.9028914"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer4"
+            inkscape:label="black-inner-bg"
+            style="display:inline;opacity:1">
+        <rect
+                style="opacity:1;fill:#000000;stroke-width:0.264583"
+                id="rect1093"
+                width="194.90201"
+                height="279.21954"
+                x="7.700757"
+                y="7.7173548"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer5"
+            inkscape:label="white-inner-bg"
+            style="display:inline">
+        <rect
+                style="opacity:1;fill:#ffffff;stroke-width:0.264583"
+                id="rect1096"
+                width="174.01582"
+                height="172.88167"
+                x="18.183073"
+                y="53.878208"/>
+        <path
+                style="fill:#000000;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+                d="m 37.788598,87.122634 38.051086,133.933206 107.833786,-27.42026 -10.04592,-34.76833 -63.50014,16.48097 -4.34044,-15.43258 63.51532,-16.17611 -9.93736,-34.79347 -63.340277,16.35378 -4.303127,-14.67088 63.568204,-15.938894 -9.8031,-34.688771 z"
+                id="path61"/>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer6"
+            inkscape:label="content-rated-by"
+            style="display:inline">
+        <g
+                aria-label="CONTENT RATED BY"
+                transform="scale(0.98159678,1.0187482)"
+                id="text1101"
+                style="font-size:24.9326px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:-0.259714px;word-spacing:-2.07772px;stroke-width:0.259714">
+            <path
+                    d="m 17.400523,237.59232 c 0,6.23315 2.617923,7.52964 6.8066,7.52964 1.022236,0 1.845012,-0.0748 2.867249,-0.27426 l -0.523585,-3.93935 -2.293799,0.17453 c -1.022237,0.0499 -1.670484,-0.52358 -1.670484,-3.49056 0,-2.96698 0.747978,-3.5155 1.670484,-3.46563 l 2.293799,0.14959 0.548517,-3.91442 c -1.022236,-0.22439 -1.820079,-0.42385 -2.842316,-0.42385 -4.213609,0 -6.856465,1.79515 -6.856465,7.65431 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path45"/>
+            <path
+                    d="m 27.487813,237.59232 c 0,5.78436 2.169136,7.62937 6.931263,7.62937 3.515496,-0.17452 5.734498,-2.71765 5.734498,-7.62937 0,-5.75943 -2.243934,-7.65431 -6.981128,-7.65431 -3.515497,0.17453 -5.684633,2.76752 -5.684633,7.65431 z m 5.185981,0 c 0,-2.96698 0.423854,-3.29111 1.097034,-3.29111 0.67318,0 1.171832,0.32413 1.171832,3.29111 0,2.96698 -0.423854,3.2911 -1.097034,3.2911 -0.67318,0 -1.171832,-0.32412 -1.171832,-3.2911 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path47"/>
+            <path
+                    d="m 41.19033,237.59232 c 0,2.49326 0.04986,4.88679 0.09973,7.23045 0,0.1496 0.09973,0.24933 0.249326,0.24933 0.797844,0.0499 1.570754,0.0748 2.418463,0.0748 0.822775,0 1.271562,-0.0249 2.069405,-0.0748 l -0.09973,-6.60714 2.59299,6.35781 c 0.04987,0.1496 0.124663,0.24933 0.274259,0.24933 0.797843,0.0499 1.520889,0.0748 2.268867,0.0748 0.822775,0 1.24663,-0.0249 1.944742,-0.0748 0.04987,-2.49326 0.09973,-4.98652 0.09973,-7.47978 0,-2.49326 -0.04987,-4.88679 -0.09973,-7.23046 0,-0.12466 -0.124663,-0.22439 -0.249326,-0.24932 -0.747978,-0.0249 -1.471023,-0.0499 -2.318731,-0.0499 -0.822776,0 -1.396226,0.0249 -2.169137,0.0499 l 0.0748,6.63207 -2.568058,-6.38275 c -0.0748,-0.12466 -0.149595,-0.22439 -0.274258,-0.24932 -0.797843,-0.0249 -1.446091,-0.0499 -2.169136,-0.0499 -0.822776,0 -1.271563,0.0249 -2.044474,0.0499 -0.0748,2.49326 -0.09973,4.98652 -0.09973,7.47978 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path49"/>
+            <path
+                    d="m 53.870615,232.00742 c 0,0.67318 0,1.34636 0.02493,2.04447 0,0.14959 0.09973,0.24932 0.249326,0.24932 0.423854,0.0249 1.620619,0.0499 2.742586,0.0748 0,1.04717 0,2.06941 0,3.21631 0,2.49326 0.04987,4.88679 0.09973,7.23045 0,0.1496 0.09973,0.24933 0.249326,0.24933 0.822776,0.0499 1.695417,0.0748 2.543125,0.0748 0.822776,0 1.396226,-0.0249 2.194069,-0.0748 0.04987,-2.49326 0.09973,-4.98652 0.09973,-7.47978 0,-1.1469 -0.02493,-2.16914 -0.04986,-3.19138 1.296495,0 2.617923,-0.0249 3.041777,-0.0499 0,-0.62332 0,-1.24663 0,-1.84501 0,-0.72305 0,-1.42116 0,-2.14421 -0.02493,-0.12466 -0.124663,-0.24932 -0.249326,-0.24932 -0.847708,-0.0249 -4.313339,-0.0499 -5.161048,-0.0499 -0.822776,0 -4.98652,0.0249 -5.75943,0.0499 -0.02493,0.67318 -0.02493,1.29649 -0.02493,1.89488 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path51"/>
+            <path
+                    d="m 65.852785,237.59232 c 0,2.49326 0.04986,4.88679 0.09973,7.23045 0,0.1496 0.09973,0.24933 0.249326,0.24933 0.822776,0.0499 4.438003,0.12466 5.285711,0.12466 0.822776,0 3.490564,-0.0249 4.288407,-0.0748 0,-0.62331 0,-1.22169 0,-1.82008 0,-0.69811 0,-1.39622 0,-2.16913 -0.02493,-0.12467 -0.124663,-0.24933 -0.249326,-0.24933 -0.847708,-0.0249 -3.565361,-0.0499 -4.41307,-0.0499 h -0.324124 c 0,-0.42386 0,-0.84771 0,-1.2965 h 3.241238 c 0,-0.59838 0,-1.12197 0,-1.64555 0,-0.59838 0,-1.19677 0,-1.89488 -0.02493,-0.12466 -0.124663,-0.24932 -0.249326,-0.24932 -0.648247,0 -1.994608,-0.0249 -2.991912,-0.0249 0,-0.44878 0,-0.89757 0,-1.32143 0.423855,0 0.772911,0 0.972372,0 0.822776,0 3.16644,0 3.964283,-0.0499 0,-0.62332 0,-1.2217 0,-1.82008 0,-0.69811 0,-1.39623 0,-2.16914 -0.02493,-0.12466 -0.124663,-0.24932 -0.249326,-0.24932 -0.847708,-0.0249 -3.515496,-0.0499 -4.363205,-0.0499 -0.822776,0 -4.388137,0.0249 -5.161048,0.0499 -0.0748,2.49326 -0.09973,4.98652 -0.09973,7.47978 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path53"/>
+            <path
+                    d="m 76.912435,237.59232 c 0,2.49326 0.04986,4.88679 0.09973,7.23045 0,0.1496 0.09973,0.24933 0.249326,0.24933 0.797844,0.0499 1.570754,0.0748 2.418463,0.0748 0.822775,0 1.271562,-0.0249 2.069405,-0.0748 l -0.09973,-6.60714 2.59299,6.35781 c 0.04987,0.1496 0.124663,0.24933 0.274259,0.24933 0.797843,0.0499 1.520889,0.0748 2.268867,0.0748 0.822775,0 1.24663,-0.0249 1.944742,-0.0748 0.04987,-2.49326 0.09973,-4.98652 0.09973,-7.47978 0,-2.49326 -0.04986,-4.88679 -0.09973,-7.23046 0,-0.12466 -0.124663,-0.22439 -0.249326,-0.24932 -0.747978,-0.0249 -1.471023,-0.0499 -2.318731,-0.0499 -0.822776,0 -1.396226,0.0249 -2.169137,0.0499 l 0.0748,6.63207 -2.568058,-6.38275 c -0.0748,-0.12466 -0.149595,-0.22439 -0.274258,-0.24932 -0.797843,-0.0249 -1.446091,-0.0499 -2.169136,-0.0499 -0.822776,0 -1.271563,0.0249 -2.044474,0.0499 -0.0748,2.49326 -0.09973,4.98652 -0.09973,7.47978 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path55"/>
+            <path
+                    d="m 89.592726,232.00742 c 0,0.67318 0,1.34636 0.02493,2.04447 0,0.14959 0.09973,0.24932 0.249326,0.24932 0.423854,0.0249 1.620619,0.0499 2.742586,0.0748 0,1.04717 0,2.06941 0,3.21631 0,2.49326 0.04986,4.88679 0.09973,7.23045 0,0.1496 0.09973,0.24933 0.249326,0.24933 0.822775,0.0499 1.695416,0.0748 2.543125,0.0748 0.822776,0 1.396225,-0.0249 2.194069,-0.0748 0.04987,-2.49326 0.09973,-4.98652 0.09973,-7.47978 0,-1.1469 -0.02493,-2.16914 -0.04986,-3.19138 1.296495,0 2.617924,-0.0249 3.041774,-0.0499 0,-0.62332 0,-1.24663 0,-1.84501 0,-0.72305 0,-1.42116 0,-2.14421 -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.847711,-0.0249 -4.313343,-0.0499 -5.161051,-0.0499 -0.822776,0 -4.98652,0.0249 -5.759431,0.0499 -0.02493,0.67318 -0.02493,1.29649 -0.02493,1.89488 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path57"/>
+            <path
+                    d="m 106.76709,237.26819 c 0,2.49326 0.0499,5.21092 0.0499,7.55458 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.69541,0.0499 2.54312,0.0499 0.72305,0 1.44609,0 2.19407,-0.0499 -0.0249,-1.94475 -0.0997,-4.08895 -0.12466,-6.13342 0.0997,0 0.22439,0 0.32412,0 0.49865,1.72035 1.19677,3.83962 1.89488,5.95889 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.34636,0.0748 2.01954,0.0748 0.87264,0 1.77021,-0.0499 2.59299,-0.14959 -0.42385,-1.86995 -0.9973,-3.66509 -1.96967,-5.60984 -0.34906,-0.57345 -0.82278,-0.97237 -1.39623,-1.17183 1.64555,-0.77291 2.66779,-2.16914 2.66779,-4.01415 0,-4.03908 -2.54313,-4.33827 -6.25808,-4.33827 -1.39623,0 -3.46564,0.17453 -5.11119,0.42385 0,2.49326 -0.0499,4.41307 -0.0499,6.90633 z m 4.91172,-1.39622 c 0,-0.79784 0,-1.52089 0,-2.24394 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.19677 0,0.64824 -0.54852,1.0721 -1.32143,1.0721 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path59"/>
+            <path
+                    d="m 118.64952,244.87264 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.69542,0.0748 2.54313,0.0748 0.82277,0 1.27156,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.82008 0.47372,-2.74259 h 2.31874 c 0.12466,0.84771 0.27425,1.69542 0.44878,2.49326 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.59569,0.0748 2.4434,0.0748 0.8477,0 1.39622,-0.0249 2.16913,-0.0748 -0.72304,-4.83693 -1.89488,-9.92318 -2.84231,-14.71024 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.19677,-0.0249 -2.3686,-0.0499 -3.56536,-0.0499 -1.17184,0 -2.31874,0 -3.4407,0.0499 -0.92251,4.61253 -1.96968,9.42452 -2.71766,13.98719 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.78437 c 0.19946,-1.86994 0.39892,-3.73989 0.62331,-5.5849 0.24933,1.86995 0.49866,3.73989 0.77291,5.5849 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path62"/>
+            <path
+                    d="m 130.95577,232.00742 c 0,0.67318 0,1.34636 0.0249,2.04447 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.62062,0.0499 2.74258,0.0748 0,1.04717 0,2.06941 0,3.21631 0,2.49326 0.0499,4.88679 0.0997,7.23045 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.69542,0.0748 2.54313,0.0748 0.82277,0 1.39622,-0.0249 2.19407,-0.0748 0.0499,-2.49326 0.0997,-4.98652 0.0997,-7.47978 0,-1.1469 -0.0249,-2.16914 -0.0499,-3.19138 1.2965,0 2.61792,-0.0249 3.04178,-0.0499 0,-0.62332 0,-1.24663 0,-1.84501 0,-0.72305 0,-1.42116 0,-2.14421 -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.31334,-0.0499 -5.16105,-0.0499 -0.82277,0 -4.98652,0.0249 -5.75943,0.0499 -0.0249,0.67318 -0.0249,1.29649 -0.0249,1.89488 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path64"/>
+            <path
+                    d="m 142.93794,237.59232 c 0,2.49326 0.0499,4.88679 0.0997,7.23045 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.28571,0.12466 0.82277,0 3.49056,-0.0249 4.2884,-0.0748 0,-0.62331 0,-1.22169 0,-1.82008 0,-0.69811 0,-1.39622 0,-2.16913 -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.56536,-0.0499 -4.41307,-0.0499 h -0.32413 c 0,-0.42386 0,-0.84771 0,-1.2965 h 3.24124 c 0,-0.59838 0,-1.12197 0,-1.64555 0,-0.59838 0,-1.19677 0,-1.89488 -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.99461,-0.0249 -2.99192,-0.0249 0,-0.44878 0,-0.89757 0,-1.32143 0.42386,0 0.77292,0 0.97238,0 0.82277,0 3.16644,0 3.96428,-0.0499 0,-0.62332 0,-1.2217 0,-1.82008 0,-0.69811 0,-1.39623 0,-2.16914 -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.51549,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.38814,0.0249 -5.16105,0.0499 -0.0748,2.49326 -0.0997,4.98652 -0.0997,7.47978 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path66"/>
+            <path
+                    d="m 158.98411,237.59232 c 0,-1.19677 0,-2.24394 0.0249,-3.29111 h 0.42385 c 0.67318,0 1.17183,0.32413 1.17183,3.29111 0,2.96698 -0.49865,3.31603 -1.17183,3.31603 h -0.42385 c -0.0249,-1.04717 -0.0249,-2.09433 -0.0249,-3.31603 z m -4.93665,0 c 0,2.49326 0.0499,4.63746 0.0499,6.98113 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.72035,0.17453 3.2911,0.29919 4.6624,0.29919 4.18867,0 6.8066,-1.29649 6.8066,-7.52964 0,-5.85916 -2.64286,-7.65431 -6.85647,-7.65431 -1.39622,0 -3.2163,0.17453 -4.86186,0.42385 0,2.49326 -0.0499,4.7372 -0.0499,7.23046 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path68"/>
+            <path
+                    d="m 176.93138,235.59771 c 0,-0.77291 0,-1.42116 0.0249,-2.04447 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.44609,1.0721 z m 0.0249,3.69002 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.02224 -1.32143,1.02224 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.34637 -0.0499,-2.01955 z m -4.91172,-2.01954 c 0,2.49326 0.0499,5.01146 0.0499,7.35512 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.72035,0.19946 3.61523,0.27426 5.31065,0.27426 3.3659,0 6.05862,-0.67318 6.05862,-4.63746 0,-1.19677 -0.82278,-2.2938 -2.19407,-3.06671 0.89757,-0.77291 1.44609,-1.89488 1.44609,-3.21631 0,-4.03908 -2.54313,-4.33827 -6.00876,-4.33827 -1.39622,0 -3.2163,0.17453 -4.86185,0.42385 0,2.49326 -0.0499,4.41307 -0.0499,6.90633 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path70"/>
+            <path
+                    d="m 183.35356,230.21227 c 0.42386,1.89488 1.09704,4.438 2.06941,6.35781 0.57345,0.97237 1.27156,1.74528 2.01954,2.34367 -0.0249,2.01954 -0.0249,3.98921 -0.0249,5.90902 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.74528,0.0748 2.59299,0.0748 0.82278,0 1.44609,-0.0249 2.24394,-0.0748 -0.0249,-2.04448 -0.0499,-4.08895 -0.0748,-6.15835 0.74798,-0.59839 1.44609,-1.3713 2.01954,-2.34367 0.97237,-1.91981 1.64555,-4.46293 2.0694,-6.35781 -0.82277,-0.0997 -1.72035,-0.1496 -2.59299,-0.1496 -0.67318,0 -1.34636,0.0249 -2.01954,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.67048 -1.1469,3.73989 -1.59568,5.4353 -0.47372,-1.69541 -1.04717,-3.76482 -1.59569,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.34636,-0.0748 -2.01954,-0.0748 -0.89757,0 -1.77021,0.0499 -2.59299,0.1496 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.9326px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.259714"
+                    id="path72"/>
+        </g>
+        <g
+                aria-label="EVERYONE"
+                transform="scale(0.96570525,1.0355126)"
+                id="text41"
+                style="font-size:45.7811px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';stroke-width:0.312144">
+            <path
+                    d="m 19.75569,29.67232 c 0,4.57811 0.09156,8.973096 0.183124,13.27652 0,0.274686 0.183125,0.457811 0.457811,0.457811 1.510777,0.09156 8.149036,0.228905 9.705594,0.228905 1.510776,0 6.409354,-0.04578 7.874349,-0.137343 0,-1.144528 0,-2.243274 0,-3.342021 0,-1.28187 0,-2.563741 0,-3.982955 -0.04578,-0.228906 -0.228905,-0.457811 -0.457811,-0.457811 -1.556557,-0.04578 -6.546697,-0.09156 -8.103255,-0.09156 h -0.595154 c 0,-0.778278 0,-1.556557 0,-2.380617 h 5.951543 c 0,-1.098746 0,-2.060149 0,-3.021553 0,-1.098746 0,-2.197492 0,-3.479363 -0.04578,-0.228906 -0.228905,-0.457811 -0.457811,-0.457811 -1.190308,0 -3.662488,-0.04578 -5.493732,-0.04578 0,-0.82406 0,-1.64812 0,-2.426399 0.778279,0 1.419214,0 1.785463,0 1.510776,0 5.8142,0 7.279195,-0.09156 0,-1.144528 0,-2.243274 0,-3.34202 0,-1.281871 0,-2.563742 0,-3.982956 -0.04578,-0.228906 -0.228905,-0.457811 -0.457811,-0.457811 -1.556557,-0.04578 -6.455135,-0.09156 -8.011693,-0.09156 -1.510776,0 -8.057474,0.04578 -9.476688,0.09156 -0.137343,4.57811 -0.183124,9.15622 -0.183124,13.73433 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path28"/>
+            <path
+                    d="m 38.663218,15.93799 c 1.373433,8.927315 3.433583,18.266659 5.40217,27.01085 0.09156,0.274686 0.320468,0.457811 0.549373,0.457811 2.105931,0.09156 4.166081,0.137343 6.317792,0.137343 2.014369,0 3.891394,-0.04578 5.8142,-0.137343 1.968588,-8.423723 3.845613,-17.259476 5.219046,-25.637417 0.04578,-0.457811 0.228905,-1.23609 0.228905,-1.419214 0,-0.228906 -0.183124,-0.41203 -0.41203,-0.41203 -1.556557,-0.04578 -3.296239,-0.09156 -4.852796,-0.09156 -1.327652,0 -2.105931,0.04578 -3.570926,0.09156 -1.190309,5.951543 -1.968588,11.903086 -2.746866,17.808848 -0.82406,-5.8142 -1.602339,-11.582618 -2.746866,-17.351037 -0.04578,-0.228906 -0.274687,-0.41203 -0.549374,-0.457811 -1.556557,-0.09156 -2.92999,-0.09156 -4.486547,-0.09156 -1.510777,0 -2.701085,0.04578 -4.166081,0.09156 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path30"/>
+            <path
+                    d="m 63.659659,29.67232 c 0,4.57811 0.09156,8.973096 0.183124,13.27652 0,0.274686 0.183125,0.457811 0.457811,0.457811 1.510777,0.09156 8.149036,0.228905 9.705594,0.228905 1.510776,0 6.409354,-0.04578 7.874349,-0.137343 0,-1.144528 0,-2.243274 0,-3.342021 0,-1.28187 0,-2.563741 0,-3.982955 -0.04578,-0.228906 -0.228905,-0.457811 -0.457811,-0.457811 -1.556557,-0.04578 -6.546697,-0.09156 -8.103255,-0.09156 h -0.595154 c 0,-0.778278 0,-1.556557 0,-2.380617 h 5.951543 c 0,-1.098746 0,-2.060149 0,-3.021553 0,-1.098746 0,-2.197492 0,-3.479363 -0.04578,-0.228906 -0.228906,-0.457811 -0.457811,-0.457811 -1.190309,0 -3.662488,-0.04578 -5.493732,-0.04578 0,-0.82406 0,-1.64812 0,-2.426399 0.778279,0 1.419214,0 1.785463,0 1.510776,0 5.8142,0 7.279195,-0.09156 0,-1.144528 0,-2.243274 0,-3.34202 0,-1.281871 0,-2.563742 0,-3.982956 -0.04578,-0.228906 -0.228906,-0.457811 -0.457811,-0.457811 -1.556558,-0.04578 -6.455135,-0.09156 -8.011693,-0.09156 -1.510776,0 -8.057474,0.04578 -9.476688,0.09156 -0.137343,4.57811 -0.183124,9.15622 -0.183124,13.73433 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path32"/>
+            <path
+                    d="m 84.535774,29.077166 c 0,4.57811 0.09156,9.56825 0.09156,13.871674 0,0.274686 0.183124,0.457811 0.457811,0.457811 1.556557,0.09156 3.113115,0.09156 4.669672,0.09156 1.327652,0 2.655304,0 4.028737,-0.09156 -0.04578,-3.570926 -0.183124,-7.508101 -0.228906,-11.262151 0.183125,0 0.41203,0 0.595155,0 0.915622,3.158896 2.197493,7.050289 3.479363,10.941683 0.09156,0.274686 0.457811,0.457811 0.686717,0.457811 1.23609,0.09156 2.472184,0.137343 3.708274,0.137343 1.60233,0 3.25045,-0.09156 4.76123,-0.274686 -0.77828,-3.433583 -1.83124,-6.729822 -3.61671,-10.300748 -0.64093,-1.052966 -1.51077,-1.785463 -2.56374,-2.151712 3.02155,-1.419214 4.89858,-3.982956 4.89858,-7.370757 0,-7.416539 -4.66967,-7.965912 -11.491058,-7.965912 -2.563741,0 -6.363573,0.320468 -9.385125,0.778279 0,4.57811 -0.09156,8.103255 -0.09156,12.681365 z m 9.018877,-2.563742 c 0,-1.464995 0,-2.792647 0,-4.120299 0.320468,-0.04578 0.732498,-0.04578 1.098747,-0.04578 1.64812,0 2.105931,0.778279 2.105931,2.197493 0,1.190308 -1.007185,1.968587 -2.426399,1.968587 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path34"/>
+            <path
+                    d="m 106.14433,16.121114 c 0.77828,3.479364 2.01437,8.149036 3.79983,11.674181 1.05296,1.785463 2.33483,3.204677 3.70827,4.303424 -0.0458,3.708269 -0.0458,7.324976 -0.0458,10.850121 0,0.274686 0.18312,0.457811 0.45781,0.457811 1.51077,0.09156 3.20467,0.137343 4.76123,0.137343 1.51078,0 2.65531,-0.04578 4.1203,-0.137343 -0.0458,-3.754051 -0.0916,-7.508101 -0.13734,-11.307932 1.37343,-1.098747 2.6553,-2.517961 3.70827,-4.303424 1.78546,-3.525145 3.02155,-8.194817 3.79983,-11.674181 -1.51078,-0.183124 -3.1589,-0.274686 -4.76124,-0.274686 -1.23609,0 -2.47218,0.04578 -3.70827,0.137343 -0.2289,0 -0.59515,0.183124 -0.68671,0.457811 -1.00719,3.067334 -2.10593,6.867165 -2.92999,9.98028 -0.86984,-3.113115 -1.92281,-6.912946 -2.92999,-9.98028 -0.0916,-0.274687 -0.45781,-0.457811 -0.68672,-0.457811 -1.23609,-0.09156 -2.47218,-0.137343 -3.70827,-0.137343 -1.64812,0 -3.25046,0.09156 -4.76123,0.274686 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path36"/>
+            <path
+                    d="m 129.99621,29.67232 c 0,10.621216 3.98296,14.009017 12.72715,14.009017 6.45513,-0.320468 10.52965,-4.99014 10.52965,-14.009017 0,-10.575434 -4.1203,-14.054798 -12.81871,-14.054798 -6.45513,0.320468 -10.43809,5.081702 -10.43809,14.054798 z m 9.52247,0 c 0,-5.447951 0.77828,-6.043105 2.01437,-6.043105 1.23609,0 2.15171,0.595154 2.15171,6.043105 0,5.447951 -0.77828,6.043106 -2.01437,6.043106 -1.23609,0 -2.15171,-0.595155 -2.15171,-6.043106 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path38"/>
+            <path
+                    d="m 155.63357,29.67232 c 0,4.57811 0.0916,8.973096 0.18313,13.27652 0,0.274686 0.18312,0.457811 0.45781,0.457811 1.46499,0.09156 2.88421,0.137343 4.44077,0.137343 1.51077,0 2.33483,-0.04578 3.79983,-0.137343 l -0.18313,-12.131992 4.76124,11.674181 c 0.0916,0.274686 0.2289,0.457811 0.50359,0.457811 1.46499,0.09156 2.79265,0.137343 4.16608,0.137343 1.51078,0 2.28906,-0.04578 3.57093,-0.137343 0.0916,-4.578111 0.18312,-9.156221 0.18312,-13.734331 0,-4.57811 -0.0916,-8.973096 -0.18312,-13.276519 0,-0.228906 -0.22891,-0.41203 -0.45782,-0.457811 -1.37343,-0.04578 -2.70108,-0.09156 -4.25764,-0.09156 -1.51077,0 -2.56374,0.04578 -3.98295,0.09156 l 0.13734,12.177773 -4.71545,-11.719962 c -0.13735,-0.228906 -0.27469,-0.41203 -0.5036,-0.457811 -1.46499,-0.04578 -2.6553,-0.09156 -3.98295,-0.09156 -1.51078,0 -2.33484,0.04578 -3.75405,0.09156 -0.13735,4.57811 -0.18313,9.15622 -0.18313,13.73433 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path40"/>
+            <path
+                    d="m 180.81315,29.67232 c 0,4.57811 0.0916,8.973096 0.18313,13.27652 0,0.274686 0.18312,0.457811 0.45781,0.457811 1.51078,0.09156 8.14904,0.228905 9.70559,0.228905 1.51078,0 6.40936,-0.04578 7.87435,-0.137343 0,-1.144528 0,-2.243274 0,-3.342021 0,-1.28187 0,-2.563741 0,-3.982955 -0.0458,-0.228906 -0.2289,-0.457811 -0.45781,-0.457811 -1.55656,-0.04578 -6.5467,-0.09156 -8.10325,-0.09156 h -0.59516 c 0,-0.778278 0,-1.556557 0,-2.380617 h 5.95155 c 0,-1.098746 0,-2.060149 0,-3.021553 0,-1.098746 0,-2.197492 0,-3.479363 -0.0458,-0.228906 -0.22891,-0.457811 -0.45782,-0.457811 -1.1903,0 -3.66248,-0.04578 -5.49373,-0.04578 0,-0.82406 0,-1.64812 0,-2.426399 0.77828,0 1.41922,0 1.78547,0 1.51077,0 5.8142,0 7.27919,-0.09156 0,-1.144528 0,-2.243274 0,-3.34202 0,-1.281871 0,-2.563742 0,-3.982956 -0.0458,-0.228906 -0.2289,-0.457811 -0.45781,-0.457811 -1.55656,-0.04578 -6.45514,-0.09156 -8.01169,-0.09156 -1.51078,0 -8.05748,0.04578 -9.47669,0.09156 -0.13734,4.57811 -0.18313,9.15622 -0.18313,13.73433 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45.7811px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.312144"
+                    id="path42"/>
+        </g>
+    </g>
+    <g
+            inkscape:groupmode="layer"
+            id="layer7"
+            inkscape:label="es-de">
+        <g
+                aria-label="ES-DE"
+                transform="scale(1.3739785,0.7278134)"
+                id="text37"
+                style="font-size:55.2569px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';letter-spacing:0px;stroke-width:0.363531">
+            <path
+                    d="m 13.310331,366.05049 c 0,5.52569 0.110514,10.83036 0.221028,16.0245 0,0.33155 0.221027,0.55257 0.552569,0.55257 1.823477,0.11052 9.835728,0.27629 11.714463,0.27629 1.823477,0 7.735966,-0.0553 9.504187,-0.16577 0,-1.38143 0,-2.70759 0,-4.03376 0,-1.54719 0,-3.09438 0,-4.80735 -0.05526,-0.27628 -0.276285,-0.55257 -0.552569,-0.55257 -1.878735,-0.0553 -7.901737,-0.11051 -9.780472,-0.11051 h -0.71834 c 0,-0.93937 0,-1.87873 0,-2.87336 h 7.183398 c 0,-1.32616 0,-2.48656 0,-3.64695 0,-1.32617 0,-2.65234 0,-4.19953 -0.05526,-0.27628 -0.276285,-0.55257 -0.552569,-0.55257 -1.43668,0 -4.420552,-0.0553 -6.630829,-0.0553 0,-0.99463 0,-1.98925 0,-2.92862 0.939368,0 1.712964,0 2.15502,0 1.823477,0 7.017626,0 8.785847,-0.11051 0,-1.38143 0,-2.70759 0,-4.03376 0,-1.54719 0,-3.09438 0,-4.80735 -0.05526,-0.27628 -0.276285,-0.55257 -0.552569,-0.55257 -1.878735,-0.0553 -7.791223,-0.11051 -9.669958,-0.11051 -1.823478,0 -9.725214,0.0553 -11.438178,0.11051 -0.165771,5.52569 -0.221028,11.05138 -0.221028,16.57707 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.2569px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363531"
+                    id="path75"/>
+            <path
+                    d="m 37.733802,382.29602 c 3.812726,0.44206 7.901737,0.60783 11.659206,0.60783 7.459682,0 13.537941,-2.04451 13.537941,-10.83035 0,-7.68071 -6.851856,-9.72522 -11.438179,-11.10664 -2.265533,-0.66308 -3.978497,-1.1604 -3.978497,-2.15502 0,-0.99462 1.105138,-1.54719 2.818102,-1.54719 3.425928,0 7.349168,1.10513 9.946242,2.26553 l 1.270909,-9.2279 c -3.702212,-0.71834 -7.459681,-1.21566 -10.664582,-1.21566 -7.570195,0 -13.095885,0.66309 -13.095885,9.61471 0,8.50956 6.133516,10.27778 10.277783,11.43817 2.155019,0.60783 3.75747,1.04989 3.75747,2.15502 0,0.88411 -0.884111,1.98925 -2.983873,1.98925 -2.486561,0 -5.912488,-0.71834 -9.780472,-1.93399 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.2569px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363531"
+                    id="path77"/>
+            <path
+                    d="m 64.58858,365.99524 c 0,1.38142 0.05526,2.65233 0.110514,4.03375 0,0.33154 0.221027,0.55257 0.552569,0.55257 1.823477,0.11051 8.951618,0.27628 10.830352,0.27628 1.823478,0 8.288535,-0.0553 9.504187,-0.16577 0,-1.16039 0.05526,-2.37604 0.05526,-3.48118 0,-2.76285 -0.05526,-3.37067 -0.05526,-4.69684 -0.05526,-0.27628 -0.276284,-0.55257 -0.552569,-0.55257 -1.878735,-0.0553 -6.24403,-0.11051 -8.122764,-0.11051 -1.823478,0 -10.498811,0.0553 -12.211775,0.11051 -0.05526,1.82348 -0.110514,2.98388 -0.110514,4.03376 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.2569px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363531"
+                    id="path79"/>
+            <path
+                    d="m 99.731928,366.05049 c 0,-2.65233 0,-4.97312 0.05526,-7.29391 h 0.939365 c 1.49194,0 2.59708,0.71834 2.59708,7.29391 0,6.57557 -1.10514,7.34917 -2.59708,7.34917 h -0.939365 c -0.05526,-2.32079 -0.05526,-4.64158 -0.05526,-7.34917 z m -10.940867,0 c 0,5.52569 0.110514,10.27779 0.110514,15.47194 0,0.33154 0.221028,0.55256 0.552569,0.55256 3.812726,0.3868 7.293911,0.66309 10.333041,0.66309 9.283155,0 15.085135,-2.87336 15.085135,-16.68759 0,-12.98537 -5.85723,-16.96387 -15.195649,-16.96387 -3.094387,0 -7.12814,0.3868 -10.775096,0.93937 0,5.52569 -0.110514,10.49881 -0.110514,16.0245 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.2569px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363531"
+                    id="path81"/>
+            <path
+                    d="m 117.74563,366.05049 c 0,5.52569 0.11051,10.83036 0.22102,16.0245 0,0.33155 0.22103,0.55257 0.55257,0.55257 1.82348,0.11052 9.83573,0.27629 11.71447,0.27629 1.82347,0 7.73596,-0.0553 9.50418,-0.16577 0,-1.38143 0,-2.70759 0,-4.03376 0,-1.54719 0,-3.09438 0,-4.80735 -0.0553,-0.27628 -0.27628,-0.55257 -0.55257,-0.55257 -1.87873,-0.0553 -7.90173,-0.11051 -9.78047,-0.11051 h -0.71834 c 0,-0.93937 0,-1.87873 0,-2.87336 h 7.1834 c 0,-1.32616 0,-2.48656 0,-3.64695 0,-1.32617 0,-2.65234 0,-4.19953 -0.0553,-0.27628 -0.27628,-0.55257 -0.55257,-0.55257 -1.43668,0 -4.42055,-0.0553 -6.63083,-0.0553 0,-0.99463 0,-1.98925 0,-2.92862 0.93937,0 1.71297,0 2.15502,0 1.82348,0 7.01763,0 8.78585,-0.11051 0,-1.38143 0,-2.70759 0,-4.03376 0,-1.54719 0,-3.09438 0,-4.80735 -0.0553,-0.27628 -0.27629,-0.55257 -0.55257,-0.55257 -1.87873,-0.0553 -7.79122,-0.11051 -9.66996,-0.11051 -1.82348,0 -9.72521,0.0553 -11.43818,0.11051 -0.16577,5.52569 -0.22102,11.05138 -0.22102,16.57707 z"
+                    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.2569px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#ffffff;stroke-width:0.363531"
+                    id="path83"/>
+        </g>
+    </g>
+    <g
+            inkscape:label="png"
+            inkscape:groupmode="layer"
+            id="layer1"
+            style="display:none"
+            sodipodi:insensitive="true">
+        <image
+                width="210.0139"
+                height="294.48022"
+                preserveAspectRatio="none"
+                xlink:href="data:image/png;base64,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 "
+                id="image1009"
+                x="0.0042027421"
+                y="0.00192308"
+                style="opacity:0.310911"/>
+    </g>
+</svg>
diff --git a/resources/systems/macos/es_find_rules.xml b/resources/systems/macos/es_find_rules.xml
index f27fdf361..5003aeea8 100644
--- a/resources/systems/macos/es_find_rules.xml
+++ b/resources/systems/macos/es_find_rules.xml
@@ -1,17 +1,17 @@
 <?xml version="1.0"?>
 <!-- This is the ES-DE find rules configuration file for macOS -->
 <ruleList>
-  <emulator name="RETROARCH">
-    <rule type="staticpath">
-      <entry>/Applications/RetroArch.app/Contents/MacOS/RetroArch</entry>
-    </rule>
-  </emulator>
-  <core name="RETROARCH">
-    <rule type="corepath">
-      <!-- RetroArch >= v1.9.2 -->
-      <entry>~/Library/Application Support/RetroArch/cores</entry>
-      <!-- RetroArch < v1.9.2 -->
-      <entry>/Applications/RetroArch.app/Contents/Resources/cores</entry>
-    </rule>
-  </core>
-</ruleList>
+    <emulator name="RETROARCH">
+        <rule type="staticpath">
+            <entry>/Applications/RetroArch.app/Contents/MacOS/RetroArch</entry>
+        </rule>
+    </emulator>
+    <core name="RETROARCH">
+        <rule type="corepath">
+            <!-- RetroArch >= v1.9.2 -->
+            <entry>~/Library/Application Support/RetroArch/cores</entry>
+            <!-- RetroArch < v1.9.2 -->
+            <entry>/Applications/RetroArch.app/Contents/Resources/cores</entry>
+        </rule>
+    </core>
+</ruleList>
\ No newline at end of file
diff --git a/resources/systems/macos/es_systems.xml b/resources/systems/macos/es_systems.xml
index 6606b52ba..2d6da89f1 100644
--- a/resources/systems/macos/es_systems.xml
+++ b/resources/systems/macos/es_systems.xml
@@ -1,1255 +1,1372 @@
 <?xml version="1.0"?>
 <!-- This is the ES-DE game systems configuration file for macOS -->
 <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/4do_libretro.dylib %ROM%</command>
-    <platform>3do</platform>
-    <theme>3do</theme>
-  </system>
-  <system>
-    <name>64dd</name>
-    <fullname>Nintendo 64DD</fullname>
-    <path>%ROMPATH%/64dd</path>
-    <extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.dylib %ROM%</command>
-    <platform>n64</platform>
-    <theme>64dd</theme>
-  </system>
-  <system>
-    <name>ags</name>
-    <fullname>Adventure Game Studio game engine</fullname>
-    <path>%ROMPATH%/ags</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ags</platform>
-    <theme>ags</theme>
-  </system>
-  <system>
-    <name>amiga</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga</theme>
-  </system>
-  <system>
-    <name>amiga600</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga600</theme>
-  </system>
-  <system>
-    <name>amiga1200</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga1200</theme>
-  </system>
-  <system>
-    <name>amigacd32</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
-    <platform>amigacd32</platform>
-    <theme>amigacd32</theme>
-  </system>
-  <system>
-    <name>amstradcpc</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/cap32_libretro.dylib %ROM%</command>
-    <platform>amstradcpc</platform>
-    <theme>amstradcpc</theme>
-  </system>
-  <system>
-    <name>apple2</name>
-    <fullname>Apple II</fullname>
-    <path>%ROMPATH%/apple2</path>
-    <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>apple2</platform>
-    <theme>apple2</theme>
-  </system>
-  <system>
-    <name>apple2gs</name>
-    <fullname>Apple IIGS</fullname>
-    <path>%ROMPATH%/apple2gs</path>
-    <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>apple2gs</platform>
-    <theme>apple2gs</theme>
-  </system>
-  <system>
-    <name>arcade</name>
-    <fullname>Arcade</fullname>
-    <path>%ROMPATH%/arcade</path>
-    <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.dylib %ROM%</command>
-    <platform>arcade</platform>
-    <theme>arcade</theme>
-  </system>
-  <system>
-    <name>astrocade</name>
-    <fullname>Bally Astrocade</fullname>
-    <path>%ROMPATH%/astrocade</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>astrocade</platform>
-    <theme>astrocade</theme>
-  </system>
-  <system>
-    <name>atari2600</name>
-    <fullname>Atari 2600</fullname>
-    <path>%ROMPATH%/atari2600</path>
-    <extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/stella_libretro.dylib %ROM%</command>
-    <platform>atari2600</platform>
-    <theme>atari2600</theme>
-  </system>
-  <system>
-    <name>atari5200</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.dylib %ROM%</command>
-    <platform>atari5200</platform>
-    <theme>atari5200</theme>
-  </system>
-  <system>
-    <name>atari7800</name>
-    <fullname>Atari 7800 ProSystem</fullname>
-    <path>%ROMPATH%/atari7800</path>
-    <extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prosystem_libretro.dylib %ROM%</command>
-    <platform>atari7800</platform>
-    <theme>atari7800</theme>
-  </system>
-  <system>
-    <name>atari800</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.dylib %ROM%</command>
-    <platform>atari800</platform>
-    <theme>atari800</theme>
-  </system>
-  <system>
-    <name>atarijaguar</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.dylib %ROM%</command>
-    <platform>atarijaguar, atarijaguarcd</platform>
-    <theme>atarijaguar</theme>
-  </system>
-  <system>
-    <name>atarijaguarcd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.dylib %ROM%</command>
-    <platform>atarijaguarcd</platform>
-    <theme>atarijaguarcd</theme>
-  </system>
-  <system>
-    <name>atarilynx</name>
-    <fullname>Atari Lynx</fullname>
-    <path>%ROMPATH%/atarilynx</path>
-    <extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_lynx_libretro.dylib %ROM%</command>
-    <platform>atarilynx</platform>
-    <theme>atarilynx</theme>
-  </system>
-  <system>
-    <name>atarist</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/hatari_libretro.dylib %ROM%</command>
-    <platform>atarist</platform>
-    <theme>atarist</theme>
-  </system>
-  <system>
-    <name>atarixe</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.dylib %ROM%</command>
-    <platform>atarixe</platform>
-    <theme>atarixe</theme>
-  </system>
-  <system>
-    <name>atomiswave</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
-    <platform>atomiswave</platform>
-    <theme>atomiswave</theme>
-  </system>
-  <system>
-    <name>bbcmicro</name>
-    <fullname>BBC Micro</fullname>
-    <path>%ROMPATH%/bbcmicro</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>bbcmicro</platform>
-    <theme>bbcmicro</theme>
-  </system>
-  <system>
-    <name>c64</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x64sc_libretro.dylib %ROM%</command>
-    <platform>c64</platform>
-    <theme>c64</theme>
-  </system>
-  <system>
-    <name>cavestory</name>
-    <fullname>Cave Story (NXEngine)</fullname>
-    <path>%ROMPATH%/cavestory</path>
-    <extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nxengine_libretro.dylib %ROM%</command>
-    <platform>cavestory</platform>
-    <theme>cavestory</theme>
-  </system>
-  <system>
-    <name>cdtv</name>
-    <fullname>Commodore CDTV</fullname>
-    <path>%ROMPATH%/cdtv</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>cdtv</platform>
-    <theme>cdtv</theme>
-  </system>
-  <system>
-    <name>chailove</name>
-    <fullname>ChaiLove game engine</fullname>
-    <path>%ROMPATH%/chailove</path>
-    <extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/chailove_libretro.dylib %ROM%</command>
-    <platform>love</platform>
-    <theme>chailove</theme>
-  </system>
-  <system>
-    <name>channelf</name>
-    <fullname>Fairchild Channel F</fullname>
-    <path>%ROMPATH%/channelf</path>
-    <extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freechaf_libretro.dylib %ROM%</command>
-    <platform>channelf</platform>
-    <theme>channelf</theme>
-  </system>
-  <system>
-    <name>coco</name>
-    <fullname>Tandy Color Computer</fullname>
-    <path>%ROMPATH%/coco</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>coco</platform>
-    <theme>coco</theme>
-  </system>
-  <system>
-    <name>colecovision</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
-    <platform>colecovision</platform>
-    <theme>colecovision</theme>
-  </system>
-  <system>
-    <name>daphne</name>
-    <fullname>Daphne Arcade Laserdisc Emulator</fullname>
-    <path>%ROMPATH%/daphne</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/daphne_libretro.dylib %ROM%</command>
-    <platform>daphne</platform>
-    <theme>daphne</theme>
-  </system>
-  <system>
-    <name>desktop</name>
-    <fullname>Desktop applications</fullname>
-    <path>%ROMPATH%/desktop</path>
-    <extension>.sh</extension>
-    <command>zsh %ROM%</command>
-    <platform>pc</platform>
-    <theme>desktop</theme>
-  </system>
-  <system>
-    <name>doom</name>
-    <fullname>Doom</fullname>
-    <path>%ROMPATH%/doom</path>
-    <extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prboom_libretro.dylib %ROM%</command>
-    <platform>pc</platform>
-    <theme>doom</theme>
-  </system>
-  <system>
-    <name>dos</name>
-    <fullname>DOS (PC)</fullname>
-    <path>%ROMPATH%/dos</path>
-    <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.dylib %ROM%</command>
-    <platform>dos</platform>
-    <theme>dos</theme>
-  </system>
-  <system>
-    <name>dragon32</name>
-    <fullname>Dragon 32</fullname>
-    <path>%ROMPATH%/dragon32</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>dragon32</platform>
-    <theme>dragon32</theme>
-  </system>
-  <system>
-    <name>dreamcast</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
-    <platform>dreamcast</platform>
-    <theme>dreamcast</theme>
-  </system>
-  <system>
-    <name>famicom</name>
-    <fullname>Nintendo Family Computer</fullname>
-    <path>%ROMPATH%/famicom</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
-    <platform>famicom</platform>
-    <theme>famicom</theme>
-  </system>
-  <system>
-    <name>fba</name>
-    <fullname>FinalBurn Alpha</fullname>
-    <path>%ROMPATH%/fba</path>
-    <extension>.iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.dylib %ROM%</command>
-    <platform>arcade</platform>
-    <theme>fba</theme>
-  </system>
-  <system>
-    <name>fbneo</name>
-    <fullname>FinalBurn Neo</fullname>
-    <path>%ROMPATH%/fbneo</path>
-    <extension>.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.dylib %ROM%</command>
-    <platform>arcade</platform>
-    <theme>fbneo</theme>
-  </system>
-  <system>
-    <name>fds</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
-    <platform>fds</platform>
-    <theme>fds</theme>
-  </system>
-  <system>
-    <name>gameandwatch</name>
-    <fullname>Nintendo Game and Watch</fullname>
-    <path>%ROMPATH%/gameandwatch</path>
-    <extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.dylib %ROM%</command>
-    <platform>gameandwatch</platform>
-    <theme>gameandwatch</theme>
-  </system>
-  <system>
-    <name>gamegear</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>gamegear</platform>
-    <theme>gamegear</theme>
-  </system>
-  <system>
-    <name>gb</name>
-    <fullname>Nintendo Game Boy</fullname>
-    <path>%ROMPATH%/gb</path>
-    <extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.dylib %ROM%</command>
-    <platform>gb</platform>
-    <theme>gb</theme>
-  </system>
-  <system>
-    <name>gba</name>
-    <fullname>Nintendo Game Boy Advance</fullname>
-    <path>%ROMPATH%/gba</path>
-    <extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_gba_libretro.dylib %ROM%</command>
-    <platform>gba</platform>
-    <theme>gba</theme>
-  </system>
-  <system>
-    <name>gbc</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.dylib %ROM%</command>
-    <platform>gbc</platform>
-    <theme>gbc</theme>
-  </system>
-  <system>
-    <name>gc</name>
-    <fullname>Nintendo GameCube</fullname>
-    <path>%ROMPATH%/gc</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.dylib %ROM%</command>
-    <platform>gc</platform>
-    <theme>gc</theme>
-  </system>
-  <system>
-    <name>genesis</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>genesis</platform>
-    <theme>genesis</theme>
-  </system>
-  <system>
-    <name>gx4000</name>
-    <fullname>Amstrad GX4000</fullname>
-    <path>%ROMPATH%/gx4000</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>gx4000</platform>
-    <theme>gx4000</theme>
-  </system>
-  <system>
-    <name>intellivision</name>
-    <fullname>Mattel Electronics Intellivision</fullname>
-    <path>%ROMPATH%/intellivision</path>
-    <extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freeintv_libretro.dylib %ROM%</command>
-    <platform>intellivision</platform>
-    <theme>intellivision</theme>
-  </system>
-  <system>
-    <name>kodi</name>
-    <fullname>Kodi home theatre software</fullname>
-    <path>%ROMPATH%/kodi</path>
-    <extension>.sh</extension>
-    <command>zsh %ROM%</command>
-    <platform>pc</platform>
-    <theme>kodi</theme>
-  </system>
-  <system>
-    <name>lutris</name>
-    <fullname>Lutris open gaming platform</fullname>
-    <path>%ROMPATH%/lutris</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>pc</platform>
-    <theme>lutris</theme>
-  </system>
-  <system>
-    <name>lutro</name>
-    <fullname>Lutro game engine</fullname>
-    <path>%ROMPATH%/lutro</path>
-    <extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/lutro_libretro.dylib %ROM%</command>
-    <platform>lutro</platform>
-    <theme>lutro</theme>
-  </system>
-  <system>
-    <name>macintosh</name>
-    <fullname>Apple Macintosh</fullname>
-    <path>%ROMPATH%/macintosh</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>macintosh</platform>
-    <theme>macintosh</theme>
-  </system>
-  <system>
-    <name>mame</name>
-    <fullname>Multiple Arcade Machine Emulator</fullname>
-    <path>%ROMPATH%/mame</path>
-    <extension>.zip .ZIP .7z .7Z</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.dylib %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame</theme>
-  </system>
-  <system>
-    <name>mame-advmame</name>
-    <fullname>AdvanceMAME</fullname>
-    <path>%ROMPATH%/mame-advmame</path>
-    <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame-advmame</theme>
-  </system>
-  <system>
-    <name>mame-mame4all</name>
-    <fullname>MAME4ALL</fullname>
-    <path>%ROMPATH%/mame-mame4all</path>
-    <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame-mame4all</theme>
-  </system>
-  <system>
-    <name>mastersystem</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>mastersystem</platform>
-    <theme>mastersystem</theme>
-  </system>
-  <system>
-    <name>megacd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>segacd</platform>
-    <theme>megacd</theme>
-  </system>
-  <system>
-    <name>megacdjp</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>segacd</platform>
-    <theme>megacdjp</theme>
-  </system>
-  <system>
-    <name>megadrive</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>megadrive</platform>
-    <theme>megadrive</theme>
-  </system>
-  <system>
-    <name>mess</name>
-    <fullname>Multi Emulator Super System</fullname>
-    <path>%ROMPATH%/mess</path>
-    <extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mess2015_libretro.dylib %ROM%</command>
-    <platform>mess</platform>
-    <theme>mess</theme>
-  </system>
-  <system>
-    <name>moonlight</name>
-    <fullname>Moonlight game streaming</fullname>
-    <path>%ROMPATH%/moonlight</path>
-    <extension>.moonlight .MOONLIGHT .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>moonlight</platform>
-    <theme>moonlight</theme>
-  </system>
-  <system>
-    <name>moto</name>
-    <fullname>Thomson MO/TO series</fullname>
-    <path>%ROMPATH%/moto</path>
-    <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.dylib %ROM%</command>
-    <platform>moto</platform>
-    <theme>moto</theme>
-  </system>
-  <system>
-    <name>msx</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
-    <platform>msx</platform>
-    <theme>msx</theme>
-  </system>
-  <system>
-    <name>msx1</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
-    <platform>msx</platform>
-    <theme>msx1</theme>
-  </system>
-  <system>
-    <name>msx2</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
-    <platform>msx2</platform>
-    <theme>msx2</theme>
-  </system>
-  <system>
-    <name>msxturbor</name>
-    <fullname>MSX Turbo R</fullname>
-    <path>%ROMPATH%/msxturbor</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
-    <platform>msxturbor</platform>
-    <theme>msxturbor</theme>
-  </system>
-  <system>
-    <name>multivision</name>
-    <fullname>Othello Multivision</fullname>
-    <path>%ROMPATH%/multivision</path>
-    <extension>.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.dylib %ROM%</command>
-    <platform>sg-1000</platform>
-    <theme>multivision</theme>
-  </system>
-  <system>
-    <name>n3ds</name>
-    <fullname>Nintendo 3DS</fullname>
-    <path>%ROMPATH%/n3ds</path>
-    <extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/citra_libretro.dylib %ROM%</command>
-    <platform>n3ds</platform>
-    <theme>n3ds</theme>
-  </system>
-  <system>
-    <name>n64</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.dylib %ROM%</command>
-    <platform>n64</platform>
-    <theme>n64</theme>
-  </system>
-  <system>
-    <name>naomi</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
-    <platform>naomi</platform>
-    <theme>naomi</theme>
-  </system>
-  <system>
-    <name>naomigd</name>
-    <fullname>Sega NAOMI GD-ROM</fullname>
-    <path>%ROMPATH%/naomigd</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
-    <platform>naomi</platform>
-    <theme>naomigd</theme>
-  </system>
-  <system>
-    <name>nds</name>
-    <fullname>Nintendo DS</fullname>
-    <path>%ROMPATH%/nds</path>
-    <extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/melonds_libretro.dylib %ROM%</command>
-    <platform>nds</platform>
-    <theme>nds</theme>
-  </system>
-  <system>
-    <name>neogeo</name>
-    <fullname>SNK Neo Geo</fullname>
-    <path>%ROMPATH%/neogeo</path>
-    <extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.dylib %ROM%</command>
-    <platform>neogeo</platform>
-    <theme>neogeo</theme>
-  </system>
-  <system>
-    <name>neogeocd</name>
-    <fullname>SNK Neo Geo CD</fullname>
-    <path>%ROMPATH%/neogeocd</path>
-    <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.dylib %ROM%</command>
-    <platform>neogeocd</platform>
-    <theme>neogeocd</theme>
-  </system>
-  <system>
-    <name>neogeocdjp</name>
-    <fullname>SNK Neo Geo CD</fullname>
-    <path>%ROMPATH%/neogeocdjp</path>
-    <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.dylib %ROM%</command>
-    <platform>neogeocd</platform>
-    <theme>neogeocdjp</theme>
-  </system>
-  <system>
-    <name>nes</name>
-    <fullname>Nintendo Entertainment System</fullname>
-    <path>%ROMPATH%/nes</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
-    <platform>nes</platform>
-    <theme>nes</theme>
-  </system>
-  <system>
-    <name>ngp</name>
-    <fullname>SNK Neo Geo Pocket</fullname>
-    <path>%ROMPATH%/ngp</path>
-    <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.dylib %ROM%</command>
-    <platform>ngp</platform>
-    <theme>ngp</theme>
-  </system>
-  <system>
-    <name>ngpc</name>
-    <fullname>SNK Neo Geo Pocket Color</fullname>
-    <path>%ROMPATH%/ngpc</path>
-    <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.dylib %ROM%</command>
-    <platform>ngpc</platform>
-    <theme>ngpc</theme>
-  </system>
-  <system>
-    <name>odyssey2</name>
-    <fullname>Magnavox Odyssey2</fullname>
-    <path>%ROMPATH%/odyssey2</path>
-    <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.dylib %ROM%</command>
-    <platform>odyssey2</platform>
-    <theme>odyssey2</theme>
-  </system>
-  <system>
-    <name>openbor</name>
-    <fullname>OpenBOR game engine</fullname>
-    <path>%ROMPATH%/openbor</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>openbor</platform>
-    <theme>openbor</theme>
-  </system>
-  <system>
-    <name>oric</name>
-    <fullname>Tangerine Computer Systems Oric</fullname>
-    <path>%ROMPATH%/oric</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>oric</platform>
-    <theme>oric</theme>
-  </system>
-  <system>
-    <name>palm</name>
-    <fullname>Palm OS</fullname>
-    <path>%ROMPATH%/palm</path>
-    <extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mu_libretro.dylib %ROM%</command>
-    <platform>palm</platform>
-    <theme>palm</theme>
-  </system>
-  <system>
-    <name>pc</name>
-    <fullname>IBM PC</fullname>
-    <path>%ROMPATH%/pc</path>
-    <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.dylib %ROM%</command>
-    <platform>pc</platform>
-    <theme>pc</theme>
-  </system>
-  <system>
-    <name>pc88</name>
-    <fullname>NEC PC-8800 series</fullname>
-    <path>%ROMPATH%/pc88</path>
-    <extension>.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quasi88_libretro.dylib %ROM%</command>
-    <platform>pc88</platform>
-    <theme>pc88</theme>
-  </system>
-  <system>
-    <name>pc98</name>
-    <fullname>NEC PC-9800 series</fullname>
-    <path>%ROMPATH%/pc98</path>
-    <extension>.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/np2kai_libretro.dylib %ROM%</command>
-    <platform>pc98</platform>
-    <theme>pc98</theme>
-  </system>
-  <system>
-    <name>pcengine</name>
-    <fullname>NEC PC Engine</fullname>
-    <path>%ROMPATH%/pcengine</path>
-    <extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
-    <platform>pcengine</platform>
-    <theme>pcengine</theme>
-  </system>
-  <system>
-    <name>pcenginecd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
-    <platform>pcenginecd</platform>
-    <theme>pcenginecd</theme>
-  </system>
-  <system>
-    <name>pcfx</name>
-    <fullname>NEC PC-FX</fullname>
-    <path>%ROMPATH%/pcfx</path>
-    <extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pcfx_libretro.dylib %ROM%</command>
-    <platform>pcfx</platform>
-    <theme>pcfx</theme>
-  </system>
-  <system>
-    <name>pokemini</name>
-    <fullname>Nintendo Pokémon Mini</fullname>
-    <path>%ROMPATH%/pokemini</path>
-    <extension>.min .MIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pokemini_libretro.dylib %ROM%</command>
-    <platform>pokemini</platform>
-    <theme>pokemini</theme>
-  </system>
-  <system>
-    <name>ports</name>
-    <fullname>Ports</fullname>
-    <path>%ROMPATH%/ports</path>
-    <extension>.sh</extension>
-    <command>zsh %ROM%</command>
-    <platform>pc</platform>
-    <theme>ports</theme>
-  </system>
-  <system>
-    <name>ps2</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/play_libretro.dylib %ROM%</command>
-    <platform>ps2</platform>
-    <theme>ps2</theme>
-  </system>
-  <system>
-    <name>ps3</name>
-    <fullname>Sony PlayStation 3</fullname>
-    <path>%ROMPATH%/ps3</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ps3</platform>
-    <theme>ps3</theme>
-  </system>
-  <system>
-    <name>ps4</name>
-    <fullname>Sony PlayStation 4</fullname>
-    <path>%ROMPATH%/ps4</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ps4</platform>
-    <theme>ps4</theme>
-  </system>
-  <system>
-    <name>psp</name>
-    <fullname>Sony PlayStation Portable</fullname>
-    <path>%ROMPATH%/psp</path>
-    <extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/ppsspp_libretro.dylib %ROM%</command>
-    <platform>psp</platform>
-    <theme>psp</theme>
-  </system>
-  <system>
-    <name>psvita</name>
-    <fullname>Sony PlayStation Vita</fullname>
-    <path>%ROMPATH%/psvita</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>psvita</platform>
-    <theme>psvita</theme>
-  </system>
-  <system>
-    <name>psx</name>
-    <fullname>Sony PlayStation</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_libretro.dylib %ROM%</command>
-    <platform>psx</platform>
-    <theme>psx</theme>
-  </system>
-  <system>
-    <name>residualvm</name>
-    <fullname>ResidualVM game engine</fullname>
-    <path>%ROMPATH%/residualvm</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>residualvm</platform>
-    <theme>residualvm</theme>
-  </system>
-  <system>
-    <name>samcoupe</name>
-    <fullname>SAM Coupé</fullname>
-    <path>%ROMPATH%/samcoupe</path>
-    <extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/simcp_libretro.dylib %ROM%</command>
-    <platform>samcoupe</platform>
-    <theme>samcoupe</theme>
-  </system>
-  <system>
-    <name>satellaview</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
-    <platform>satellaview</platform>
-    <theme>satellaview</theme>
-  </system>
-  <system>
-    <name>saturn</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.dylib %ROM%</command>
-    <platform>saturn</platform>
-    <theme>saturn</theme>
-  </system>
-  <system>
-    <name>saturnjp</name>
-    <fullname>Sega Saturn</fullname>
-    <path>%ROMPATH%/saturnjp</path>
-    <extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.dylib %ROM%</command>
-    <platform>saturn</platform>
-    <theme>saturnjp</theme>
-  </system>
-  <system>
-    <name>scummvm</name>
-    <fullname>ScummVM game engine</fullname>
-    <path>%ROMPATH%/scummvm</path>
-    <extension>.scummvm .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/scummvm_libretro.dylib %ROM%</command>
-    <platform>scummvm</platform>
-    <theme>scummvm</theme>
-  </system>
-  <system>
-    <name>sega32x</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32x</theme>
-  </system>
-  <system>
-    <name>sega32xjp</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32xjp</theme>
-  </system>
-  <system>
-    <name>sega32xna</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32xna</theme>
-  </system>
-  <system>
-    <name>segacd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>segacd</platform>
-    <theme>segacd</theme>
-  </system>
-  <system>
-    <name>sg-1000</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
-    <platform>sg-1000</platform>
-    <theme>sg-1000</theme>
-  </system>
-  <system>
-    <name>snes</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
-    <platform>snes</platform>
-    <theme>snes</theme>
-  </system>
-  <system>
-    <name>snesna</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
-    <platform>snes</platform>
-    <theme>snesna</theme>
-  </system>
-  <system>
-    <name>solarus</name>
-    <fullname>Solarus game engine</fullname>
-    <path>%ROMPATH%/solarus</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>solarus</platform>
-    <theme>solarus</theme>
-  </system>
-  <system>
-    <name>spectravideo</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
-    <platform>spectravideo</platform>
-    <theme>spectravideo</theme>
-  </system>
-  <system>
-    <name>steam</name>
-    <fullname>Valve Steam</fullname>
-    <path>%ROMPATH%/steam</path>
-    <extension>.sh</extension>
-    <command>zsh %ROM%</command>
-    <platform>steam</platform>
-    <theme>steam</theme>
-  </system>
-  <system>
-    <name>stratagus</name>
-    <fullname>Stratagus game engine</fullname>
-    <path>%ROMPATH%/stratagus</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>stratagus</platform>
-    <theme>stratagus</theme>
-  </system>
-  <system>
-    <name>sufami</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
-    <platform>sufami</platform>
-    <theme>sufami</theme>
-  </system>
-  <system>
-    <name>supergrafx</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supergrafx_libretro.dylib %ROM%</command>
-    <platform>supergrafx</platform>
-    <theme>supergrafx</theme>
-  </system>
-  <system>
-    <name>switch</name>
-    <fullname>Nintendo Switch</fullname>
-    <path>%ROMPATH%/switch</path>
-    <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>switch</platform>
-    <theme>switch</theme>
-  </system>
-  <system>
-    <name>tanodragon</name>
-    <fullname>Tano Dragon</fullname>
-    <path>%ROMPATH%/tanodragon</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>dragon32</platform>
-    <theme>tanodragon</theme>
-  </system>
-  <system>
-    <name>tg16</name>
-    <fullname>NEC TurboGrafx-16</fullname>
-    <path>%ROMPATH%/tg16</path>
-    <extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
-    <platform>pcengine</platform>
-    <theme>tg16</theme>
-  </system>
-  <system>
-    <name>tg-cd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
-    <platform>pcenginecd</platform>
-    <theme>tg-cd</theme>
-  </system>
-  <system>
-    <name>ti99</name>
-    <fullname>Texas Instruments TI-99</fullname>
-    <path>%ROMPATH%/ti99</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ti99</platform>
-    <theme>ti99</theme>
-  </system>
-  <system>
-    <name>tic80</name>
-    <fullname>TIC-80 game engine</fullname>
-    <path>%ROMPATH%/tic80</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>tic80</platform>
-    <theme>tic80</theme>
-  </system>
-  <system>
-    <name>to8</name>
-    <fullname>Thomson TO8</fullname>
-    <path>%ROMPATH%/to8</path>
-    <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.dylib %ROM%</command>
-    <platform>moto</platform>
-    <theme>to8</theme>
-  </system>
-  <system>
-    <name>trs-80</name>
-    <fullname>Tandy TRS-80</fullname>
-    <path>%ROMPATH%/trs-80</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>trs-80</platform>
-    <theme>trs-80</theme>
-  </system>
-  <system>
-    <name>uzebox</name>
-    <fullname>Uzebox</fullname>
-    <path>%ROMPATH%/uzebox</path>
-    <extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/uzem_libretro.dylib %ROM%</command>
-    <platform>uzebox</platform>
-    <theme>uzebox</theme>
-  </system>
-  <system>
-    <name>vectrex</name>
-    <fullname>Vectrex</fullname>
-    <path>%ROMPATH%/vectrex</path>
-    <extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vecx_libretro.dylib %ROM%</command>
-    <platform>vectrex</platform>
-    <theme>vectrex</theme>
-  </system>
-  <system>
-    <name>videopac</name>
-    <fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
-    <path>%ROMPATH%/videopac</path>
-    <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.dylib %ROM%</command>
-    <platform>videopac</platform>
-    <theme>videopac</theme>
-  </system>
-  <system>
-    <name>virtualboy</name>
-    <fullname>Nintendo Virtual Boy</fullname>
-    <path>%ROMPATH%/virtualboy</path>
-    <extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_vb_libretro.dylib %ROM%</command>
-    <platform>virtualboy</platform>
-    <theme>virtualboy</theme>
-  </system>
-  <system>
-    <name>wii</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.dylib %ROM%</command>
-    <platform>wii</platform>
-    <theme>wii</theme>
-  </system>
-  <system>
-    <name>wiiu</name>
-    <fullname>Nintendo Wii U</fullname>
-    <path>%ROMPATH%/wiiu</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>wiiu</platform>
-    <theme>wiiu</theme>
-  </system>
-  <system>
-    <name>wonderswan</name>
-    <fullname>Bandai WonderSwan</fullname>
-    <path>%ROMPATH%/wonderswan</path>
-    <extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.dylib %ROM%</command>
-    <platform>wonderswan</platform>
-    <theme>wonderswan</theme>
-  </system>
-  <system>
-    <name>wonderswancolor</name>
-    <fullname>Bandai WonderSwan Color</fullname>
-    <path>%ROMPATH%/wonderswancolor</path>
-    <extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.dylib %ROM%</command>
-    <platform>wonderswancolor</platform>
-    <theme>wonderswancolor</theme>
-  </system>
-  <system>
-    <name>x1</name>
-    <fullname>Sharp X1</fullname>
-    <path>%ROMPATH%/x1</path>
-    <extension>.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/x1_libretro.dylib %ROM%</command>
-    <platform>x1</platform>
-    <theme>x1</theme>
-  </system>
-  <system>
-    <name>x68000</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.dylib %ROM%</command>
-    <platform>x68000</platform>
-    <theme>x68000</theme>
-  </system>
-  <system>
-    <name>xbox</name>
-    <fullname>Microsoft Xbox</fullname>
-    <path>%ROMPATH%/xbox</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>xbox</platform>
-    <theme>xbox</theme>
-  </system>
-  <system>
-    <name>xbox360</name>
-    <fullname>Microsoft Xbox 360</fullname>
-    <path>%ROMPATH%/xbox360</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>xbox360</platform>
-    <theme>xbox360</theme>
-  </system>
-  <system>
-    <name>zmachine</name>
-    <fullname>Infocom Z-machine</fullname>
-    <path>%ROMPATH%/zmachine</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>zmachine</platform>
-    <theme>zmachine</theme>
-  </system>
-  <system>
-    <name>zx81</name>
-    <fullname>Sinclair ZX81</fullname>
-    <path>%ROMPATH%/zx81</path>
-    <extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/81_libretro.dylib %ROM%</command>
-    <platform>zx81</platform>
-    <theme>zx81</theme>
-  </system>
-  <system>
-    <name>zxspectrum</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fuse_libretro.dylib %ROM%</command>
-    <platform>zxspectrum</platform>
-    <theme>zxspectrum</theme>
-  </system>
-</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/4do_libretro.dylib %ROM%</command>
+        <platform>3do</platform>
+        <theme>3do</theme>
+    </system>
+    <system>
+        <name>64dd</name>
+        <fullname>Nintendo 64DD</fullname>
+        <path>%ROMPATH%/64dd</path>
+        <extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.dylib %ROM%</command>
+        <platform>n64</platform>
+        <theme>64dd</theme>
+    </system>
+    <system>
+        <name>ags</name>
+        <fullname>Adventure Game Studio game engine</fullname>
+        <path>%ROMPATH%/ags</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ags</platform>
+        <theme>ags</theme>
+    </system>
+    <system>
+        <name>amiga</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga</theme>
+    </system>
+    <system>
+        <name>amiga600</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga600</theme>
+    </system>
+    <system>
+        <name>amiga1200</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga1200</theme>
+    </system>
+    <system>
+        <name>amigacd32</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.dylib %ROM%</command>
+        <platform>amigacd32</platform>
+        <theme>amigacd32</theme>
+    </system>
+    <system>
+        <name>amstradcpc</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/cap32_libretro.dylib %ROM%</command>
+        <platform>amstradcpc</platform>
+        <theme>amstradcpc</theme>
+    </system>
+    <system>
+        <name>apple2</name>
+        <fullname>Apple II</fullname>
+        <path>%ROMPATH%/apple2</path>
+        <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>apple2</platform>
+        <theme>apple2</theme>
+    </system>
+    <system>
+        <name>apple2gs</name>
+        <fullname>Apple IIGS</fullname>
+        <path>%ROMPATH%/apple2gs</path>
+        <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>apple2gs</platform>
+        <theme>apple2gs</theme>
+    </system>
+    <system>
+        <name>arcade</name>
+        <fullname>Arcade</fullname>
+        <path>%ROMPATH%/arcade</path>
+        <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command label="MAME - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.dylib %ROM%</command>
+        <command label="MAME 2000">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.dylib %ROM%</command>
+        <command label="MAME 2003-Plus">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.dylib %ROM%
+        </command>
+        <command label="MAME 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.dylib %ROM%</command>
+        <command label="FinalBurn Neo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.dylib %ROM%</command>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.dylib %ROM%
+        </command>
+        <platform>arcade</platform>
+        <theme>arcade</theme>
+    </system>
+    <system>
+        <name>astrocade</name>
+        <fullname>Bally Astrocade</fullname>
+        <path>%ROMPATH%/astrocade</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>astrocade</platform>
+        <theme>astrocade</theme>
+    </system>
+    <system>
+        <name>atari2600</name>
+        <fullname>Atari 2600</fullname>
+        <path>%ROMPATH%/atari2600</path>
+        <extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command label="Stella">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/stella_libretro.dylib %ROM%</command>
+        <command label="Stella 2014">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/stella2014_libretro.dylib %ROM%</command>
+        <platform>atari2600</platform>
+        <theme>atari2600</theme>
+    </system>
+    <system>
+        <name>atari5200</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.dylib %ROM%</command>
+        <platform>atari5200</platform>
+        <theme>atari5200</theme>
+    </system>
+    <system>
+        <name>atari7800</name>
+        <fullname>Atari 7800 ProSystem</fullname>
+        <path>%ROMPATH%/atari7800</path>
+        <extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prosystem_libretro.dylib %ROM%</command>
+        <platform>atari7800</platform>
+        <theme>atari7800</theme>
+    </system>
+    <system>
+        <name>atari800</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.dylib %ROM%</command>
+        <platform>atari800</platform>
+        <theme>atari800</theme>
+    </system>
+    <system>
+        <name>atarijaguar</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.dylib %ROM%</command>
+        <platform>atarijaguar, atarijaguarcd</platform>
+        <theme>atarijaguar</theme>
+    </system>
+    <system>
+        <name>atarijaguarcd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.dylib %ROM%</command>
+        <platform>atarijaguarcd</platform>
+        <theme>atarijaguarcd</theme>
+    </system>
+    <system>
+        <name>atarilynx</name>
+        <fullname>Atari Lynx</fullname>
+        <path>%ROMPATH%/atarilynx</path>
+        <extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_lynx_libretro.dylib %ROM%</command>
+        <platform>atarilynx</platform>
+        <theme>atarilynx</theme>
+    </system>
+    <system>
+        <name>atarist</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/hatari_libretro.dylib %ROM%</command>
+        <platform>atarist</platform>
+        <theme>atarist</theme>
+    </system>
+    <system>
+        <name>atarixe</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.dylib %ROM%</command>
+        <platform>atarixe</platform>
+        <theme>atarixe</theme>
+    </system>
+    <system>
+        <name>atomiswave</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
+        <platform>atomiswave</platform>
+        <theme>atomiswave</theme>
+    </system>
+    <system>
+        <name>bbcmicro</name>
+        <fullname>BBC Micro</fullname>
+        <path>%ROMPATH%/bbcmicro</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>bbcmicro</platform>
+        <theme>bbcmicro</theme>
+    </system>
+    <system>
+        <name>c64</name>
+        <fullname>Commodore 64</fullname>
+        <path>%ROMPATH%/c64</path>
+        <extension>.bin .BIN .cmd .CMD .crt .CRT .d2m .D2M .d4m .D4M .d64 .D64 .d6z .D6Z .d71 .D71 .d7z .D7Z .d80 .D80
+            .d81 .D81 .d82 .D82 .d8z .D8Z .g41 .G41 .g4z .G4Z .g64 .G64 .g6z .G6Z .gz .GZ .lnx .LNX .m3u .M3U .nbz .NBZ
+            .nib .NIB .p00 .P00 .prg .PRG .t64 .T64 .tap .TAP .vfl .VFL .vsf .VSF .x64 .X64 .x6z .X6Z .7z .7Z .zip .ZIP
+        </extension>
+        <command label="VICE x64sc Accurate">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x64sc_libretro.dylib %ROM%
+        </command>
+        <command label="VICE x64 Fast">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x64_libretro.dylib %ROM%</command>
+        <command label="VICE x64 SuperCPU">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_xscpu64_libretro.dylib %ROM%
+        </command>
+        <command label="VICE x128">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x128_libretro.dylib %ROM%</command>
+        <command label="Frodo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/frodo_libretro.dylib %ROM%</command>
+        <platform>c64</platform>
+        <theme>c64</theme>
+    </system>
+    <system>
+        <name>cavestory</name>
+        <fullname>Cave Story (NXEngine)</fullname>
+        <path>%ROMPATH%/cavestory</path>
+        <extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nxengine_libretro.dylib %ROM%</command>
+        <platform>cavestory</platform>
+        <theme>cavestory</theme>
+    </system>
+    <system>
+        <name>cdtv</name>
+        <fullname>Commodore CDTV</fullname>
+        <path>%ROMPATH%/cdtv</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>cdtv</platform>
+        <theme>cdtv</theme>
+    </system>
+    <system>
+        <name>chailove</name>
+        <fullname>ChaiLove game engine</fullname>
+        <path>%ROMPATH%/chailove</path>
+        <extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/chailove_libretro.dylib %ROM%</command>
+        <platform>love</platform>
+        <theme>chailove</theme>
+    </system>
+    <system>
+        <name>channelf</name>
+        <fullname>Fairchild Channel F</fullname>
+        <path>%ROMPATH%/channelf</path>
+        <extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freechaf_libretro.dylib %ROM%</command>
+        <platform>channelf</platform>
+        <theme>channelf</theme>
+    </system>
+    <system>
+        <name>coco</name>
+        <fullname>Tandy Color Computer</fullname>
+        <path>%ROMPATH%/coco</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>coco</platform>
+        <theme>coco</theme>
+    </system>
+    <system>
+        <name>colecovision</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
+        <platform>colecovision</platform>
+        <theme>colecovision</theme>
+    </system>
+    <system>
+        <name>daphne</name>
+        <fullname>Daphne Arcade Laserdisc Emulator</fullname>
+        <path>%ROMPATH%/daphne</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/daphne_libretro.dylib %ROM%</command>
+        <platform>daphne</platform>
+        <theme>daphne</theme>
+    </system>
+    <system>
+        <name>desktop</name>
+        <fullname>Desktop applications</fullname>
+        <path>%ROMPATH%/desktop</path>
+        <extension>.sh</extension>
+        <command>zsh %ROM%</command>
+        <platform>pc</platform>
+        <theme>desktop</theme>
+    </system>
+    <system>
+        <name>doom</name>
+        <fullname>Doom</fullname>
+        <path>%ROMPATH%/doom</path>
+        <extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prboom_libretro.dylib %ROM%</command>
+        <platform>pc</platform>
+        <theme>doom</theme>
+    </system>
+    <system>
+        <name>dos</name>
+        <fullname>DOS (PC)</fullname>
+        <path>%ROMPATH%/dos</path>
+        <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.dylib %ROM%</command>
+        <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.dylib %ROM%</command>
+        <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_svn_libretro.dylib %ROM%</command>
+        <platform>dos</platform>
+        <theme>dos</theme>
+    </system>
+    <system>
+        <name>dragon32</name>
+        <fullname>Dragon 32</fullname>
+        <path>%ROMPATH%/dragon32</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>dragon32</platform>
+        <theme>dragon32</theme>
+    </system>
+    <system>
+        <name>dreamcast</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
+        <platform>dreamcast</platform>
+        <theme>dreamcast</theme>
+    </system>
+    <system>
+        <name>famicom</name>
+        <fullname>Nintendo Family Computer</fullname>
+        <path>%ROMPATH%/famicom</path>
+        <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.dylib %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.dylib %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quicknes_libretro.dylib %ROM%</command>
+        <platform>famicom</platform>
+        <theme>famicom</theme>
+    </system>
+    <system>
+        <name>fba</name>
+        <fullname>FinalBurn Alpha</fullname>
+        <path>%ROMPATH%/fba</path>
+        <extension>.iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.dylib %ROM%
+        </command>
+        <command label="FB Alpha 2012 Neo Geo">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/fbalpha2012_neogeo_libretro.dylib %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-1">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_cps1_libretro.dylib
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-2">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_cps2_libretro.dylib
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-3">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_cps3_libretro.dylib
+            %ROM%
+        </command>
+        <platform>arcade</platform>
+        <theme>fba</theme>
+    </system>
+    <system>
+        <name>fbneo</name>
+        <fullname>FinalBurn Neo</fullname>
+        <path>%ROMPATH%/fbneo</path>
+        <extension>.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.dylib %ROM%</command>
+        <platform>arcade</platform>
+        <theme>fbneo</theme>
+    </system>
+    <system>
+        <name>fds</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
+        <platform>fds</platform>
+        <theme>fds</theme>
+    </system>
+    <system>
+        <name>gameandwatch</name>
+        <fullname>Nintendo Game and Watch</fullname>
+        <path>%ROMPATH%/gameandwatch</path>
+        <extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.dylib %ROM%</command>
+        <platform>gameandwatch</platform>
+        <theme>gameandwatch</theme>
+    </system>
+    <system>
+        <name>gamegear</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
+        <platform>gamegear</platform>
+        <theme>gamegear</theme>
+    </system>
+    <system>
+        <name>gb</name>
+        <fullname>Nintendo Game Boy</fullname>
+        <path>%ROMPATH%/gb</path>
+        <extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.dylib %ROM%</command>
+        <platform>gb</platform>
+        <theme>gb</theme>
+    </system>
+    <system>
+        <name>gba</name>
+        <fullname>Nintendo Game Boy Advance</fullname>
+        <path>%ROMPATH%/gba</path>
+        <extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_gba_libretro.dylib %ROM%</command>
+        <platform>gba</platform>
+        <theme>gba</theme>
+    </system>
+    <system>
+        <name>gbc</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.dylib %ROM%</command>
+        <platform>gbc</platform>
+        <theme>gbc</theme>
+    </system>
+    <system>
+        <name>gc</name>
+        <fullname>Nintendo GameCube</fullname>
+        <path>%ROMPATH%/gc</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.dylib %ROM%</command>
+        <platform>gc</platform>
+        <theme>gc</theme>
+    </system>
+    <system>
+        <name>genesis</name>
+        <fullname>Sega Genesis</fullname>
+        <path>%ROMPATH%/genesis</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx
+            .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.dylib %ROM%
+        </command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
+        <command label="BlastEm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/blastem_libretro.dylib %ROM%</command>
+        <platform>genesis</platform>
+        <theme>genesis</theme>
+    </system>
+    <system>
+        <name>gx4000</name>
+        <fullname>Amstrad GX4000</fullname>
+        <path>%ROMPATH%/gx4000</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>gx4000</platform>
+        <theme>gx4000</theme>
+    </system>
+    <system>
+        <name>intellivision</name>
+        <fullname>Mattel Electronics Intellivision</fullname>
+        <path>%ROMPATH%/intellivision</path>
+        <extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freeintv_libretro.dylib %ROM%</command>
+        <platform>intellivision</platform>
+        <theme>intellivision</theme>
+    </system>
+    <system>
+        <name>kodi</name>
+        <fullname>Kodi home theatre software</fullname>
+        <path>%ROMPATH%/kodi</path>
+        <extension>.sh</extension>
+        <command>zsh %ROM%</command>
+        <platform>pc</platform>
+        <theme>kodi</theme>
+    </system>
+    <system>
+        <name>lutris</name>
+        <fullname>Lutris open gaming platform</fullname>
+        <path>%ROMPATH%/lutris</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>pc</platform>
+        <theme>lutris</theme>
+    </system>
+    <system>
+        <name>lutro</name>
+        <fullname>Lutro game engine</fullname>
+        <path>%ROMPATH%/lutro</path>
+        <extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/lutro_libretro.dylib %ROM%</command>
+        <platform>lutro</platform>
+        <theme>lutro</theme>
+    </system>
+    <system>
+        <name>macintosh</name>
+        <fullname>Apple Macintosh</fullname>
+        <path>%ROMPATH%/macintosh</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>macintosh</platform>
+        <theme>macintosh</theme>
+    </system>
+    <system>
+        <name>mame</name>
+        <fullname>Multiple Arcade Machine Emulator</fullname>
+        <path>%ROMPATH%/mame</path>
+        <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command label="MAME 2003-Plus">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.dylib %ROM%
+        </command>
+        <command label="MAME 2000">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.dylib %ROM%</command>
+        <command label="MAME 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.dylib %ROM%</command>
+        <command label="MAME - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.dylib %ROM%</command>
+        <command label="FinalBurn Neo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.dylib %ROM%</command>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.dylib %ROM%
+        </command>
+        <platform>arcade</platform>
+        <theme>mame</theme>
+    </system>
+    <system>
+        <name>mame-advmame</name>
+        <fullname>AdvanceMAME</fullname>
+        <path>%ROMPATH%/mame-advmame</path>
+        <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame-advmame</theme>
+    </system>
+    <system>
+        <name>mame-mame4all</name>
+        <fullname>MAME4ALL</fullname>
+        <path>%ROMPATH%/mame-mame4all</path>
+        <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame-mame4all</theme>
+    </system>
+    <system>
+        <name>mastersystem</name>
+        <fullname>Sega Master System</fullname>
+        <path>%ROMPATH%/mastersystem</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .col .COL .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md
+            .MD .mdx .MDX .rom .ROM .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.dylib %ROM%
+        </command>
+        <command label="SMS Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/smsplus_libretro.dylib %ROM%</command>
+        <command label="Gearsystem">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.dylib %ROM%</command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
+        <platform>mastersystem</platform>
+        <theme>mastersystem</theme>
+    </system>
+    <system>
+        <name>megacd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
+        <platform>segacd</platform>
+        <theme>megacd</theme>
+    </system>
+    <system>
+        <name>megacdjp</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
+        <platform>segacd</platform>
+        <theme>megacdjp</theme>
+    </system>
+    <system>
+        <name>megadrive</name>
+        <fullname>Sega Mega Drive</fullname>
+        <path>%ROMPATH%/megadrive</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx
+            .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.dylib %ROM%
+        </command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
+        <command label="BlastEm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/blastem_libretro.dylib %ROM%</command>
+        <platform>megadrive</platform>
+        <theme>megadrive</theme>
+    </system>
+    <system>
+        <name>mess</name>
+        <fullname>Multi Emulator Super System</fullname>
+        <path>%ROMPATH%/mess</path>
+        <extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mess2015_libretro.dylib %ROM%</command>
+        <platform>mess</platform>
+        <theme>mess</theme>
+    </system>
+    <system>
+        <name>moonlight</name>
+        <fullname>Moonlight game streaming</fullname>
+        <path>%ROMPATH%/moonlight</path>
+        <extension>.moonlight .MOONLIGHT .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>moonlight</platform>
+        <theme>moonlight</theme>
+    </system>
+    <system>
+        <name>moto</name>
+        <fullname>Thomson MO/TO series</fullname>
+        <path>%ROMPATH%/moto</path>
+        <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.dylib %ROM%</command>
+        <platform>moto</platform>
+        <theme>moto</theme>
+    </system>
+    <system>
+        <name>msx</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
+        <platform>msx</platform>
+        <theme>msx</theme>
+    </system>
+    <system>
+        <name>msx1</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
+        <platform>msx</platform>
+        <theme>msx1</theme>
+    </system>
+    <system>
+        <name>msx2</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
+        <platform>msx2</platform>
+        <theme>msx2</theme>
+    </system>
+    <system>
+        <name>msxturbor</name>
+        <fullname>MSX Turbo R</fullname>
+        <path>%ROMPATH%/msxturbor</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
+        <platform>msxturbor</platform>
+        <theme>msxturbor</theme>
+    </system>
+    <system>
+        <name>multivision</name>
+        <fullname>Othello Multivision</fullname>
+        <path>%ROMPATH%/multivision</path>
+        <extension>.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.dylib %ROM%</command>
+        <platform>sg-1000</platform>
+        <theme>multivision</theme>
+    </system>
+    <system>
+        <name>n3ds</name>
+        <fullname>Nintendo 3DS</fullname>
+        <path>%ROMPATH%/n3ds</path>
+        <extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/citra_libretro.dylib %ROM%</command>
+        <platform>n3ds</platform>
+        <theme>n3ds</theme>
+    </system>
+    <system>
+        <name>n64</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.dylib %ROM%</command>
+        <platform>n64</platform>
+        <theme>n64</theme>
+    </system>
+    <system>
+        <name>naomi</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
+        <platform>naomi</platform>
+        <theme>naomi</theme>
+    </system>
+    <system>
+        <name>naomigd</name>
+        <fullname>Sega NAOMI GD-ROM</fullname>
+        <path>%ROMPATH%/naomigd</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.dylib %ROM%</command>
+        <platform>naomi</platform>
+        <theme>naomigd</theme>
+    </system>
+    <system>
+        <name>nds</name>
+        <fullname>Nintendo DS</fullname>
+        <path>%ROMPATH%/nds</path>
+        <extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/melonds_libretro.dylib %ROM%</command>
+        <platform>nds</platform>
+        <theme>nds</theme>
+    </system>
+    <system>
+        <name>neogeo</name>
+        <fullname>SNK Neo Geo</fullname>
+        <path>%ROMPATH%/neogeo</path>
+        <extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.dylib %ROM%</command>
+        <platform>neogeo</platform>
+        <theme>neogeo</theme>
+    </system>
+    <system>
+        <name>neogeocd</name>
+        <fullname>SNK Neo Geo CD</fullname>
+        <path>%ROMPATH%/neogeocd</path>
+        <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.dylib %ROM%</command>
+        <platform>neogeocd</platform>
+        <theme>neogeocd</theme>
+    </system>
+    <system>
+        <name>neogeocdjp</name>
+        <fullname>SNK Neo Geo CD</fullname>
+        <path>%ROMPATH%/neogeocdjp</path>
+        <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.dylib %ROM%</command>
+        <platform>neogeocd</platform>
+        <theme>neogeocdjp</theme>
+    </system>
+    <system>
+        <name>nes</name>
+        <fullname>Nintendo Entertainment System</fullname>
+        <path>%ROMPATH%/nes</path>
+        <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.dylib %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.dylib %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.dylib %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quicknes_libretro.dylib %ROM%</command>
+        <platform>nes</platform>
+        <theme>nes</theme>
+    </system>
+    <system>
+        <name>ngp</name>
+        <fullname>SNK Neo Geo Pocket</fullname>
+        <path>%ROMPATH%/ngp</path>
+        <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.dylib %ROM%</command>
+        <platform>ngp</platform>
+        <theme>ngp</theme>
+    </system>
+    <system>
+        <name>ngpc</name>
+        <fullname>SNK Neo Geo Pocket Color</fullname>
+        <path>%ROMPATH%/ngpc</path>
+        <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.dylib %ROM%</command>
+        <platform>ngpc</platform>
+        <theme>ngpc</theme>
+    </system>
+    <system>
+        <name>odyssey2</name>
+        <fullname>Magnavox Odyssey2</fullname>
+        <path>%ROMPATH%/odyssey2</path>
+        <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.dylib %ROM%</command>
+        <platform>odyssey2</platform>
+        <theme>odyssey2</theme>
+    </system>
+    <system>
+        <name>openbor</name>
+        <fullname>OpenBOR game engine</fullname>
+        <path>%ROMPATH%/openbor</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>openbor</platform>
+        <theme>openbor</theme>
+    </system>
+    <system>
+        <name>oric</name>
+        <fullname>Tangerine Computer Systems Oric</fullname>
+        <path>%ROMPATH%/oric</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>oric</platform>
+        <theme>oric</theme>
+    </system>
+    <system>
+        <name>palm</name>
+        <fullname>Palm OS</fullname>
+        <path>%ROMPATH%/palm</path>
+        <extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mu_libretro.dylib %ROM%</command>
+        <platform>palm</platform>
+        <theme>palm</theme>
+    </system>
+    <system>
+        <name>pc</name>
+        <fullname>IBM PC</fullname>
+        <path>%ROMPATH%/pc</path>
+        <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.dylib %ROM%</command>
+        <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.dylib %ROM%</command>
+        <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_svn_libretro.dylib %ROM%</command>
+        <platform>pc</platform>
+        <theme>pc</theme>
+    </system>
+    <system>
+        <name>pc88</name>
+        <fullname>NEC PC-8800 series</fullname>
+        <path>%ROMPATH%/pc88</path>
+        <extension>.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quasi88_libretro.dylib %ROM%</command>
+        <platform>pc88</platform>
+        <theme>pc88</theme>
+    </system>
+    <system>
+        <name>pc98</name>
+        <fullname>NEC PC-9800 series</fullname>
+        <path>%ROMPATH%/pc98</path>
+        <extension>.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/np2kai_libretro.dylib %ROM%</command>
+        <platform>pc98</platform>
+        <theme>pc98</theme>
+    </system>
+    <system>
+        <name>pcengine</name>
+        <fullname>NEC PC Engine</fullname>
+        <path>%ROMPATH%/pcengine</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.dylib
+            %ROM%
+        </command>
+        <platform>pcengine</platform>
+        <theme>pcengine</theme>
+    </system>
+    <system>
+        <name>pcenginecd</name>
+        <fullname>NEC PC Engine CD</fullname>
+        <path>%ROMPATH%/pcenginecd</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.dylib
+            %ROM%
+        </command>
+        <platform>pcenginecd</platform>
+        <theme>pcenginecd</theme>
+    </system>
+    <system>
+        <name>pcfx</name>
+        <fullname>NEC PC-FX</fullname>
+        <path>%ROMPATH%/pcfx</path>
+        <extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pcfx_libretro.dylib %ROM%</command>
+        <platform>pcfx</platform>
+        <theme>pcfx</theme>
+    </system>
+    <system>
+        <name>pokemini</name>
+        <fullname>Nintendo Pokémon Mini</fullname>
+        <path>%ROMPATH%/pokemini</path>
+        <extension>.min .MIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pokemini_libretro.dylib %ROM%</command>
+        <platform>pokemini</platform>
+        <theme>pokemini</theme>
+    </system>
+    <system>
+        <name>ports</name>
+        <fullname>Ports</fullname>
+        <path>%ROMPATH%/ports</path>
+        <extension>.sh</extension>
+        <command>zsh %ROM%</command>
+        <platform>pc</platform>
+        <theme>ports</theme>
+    </system>
+    <system>
+        <name>ps2</name>
+        <fullname>Sony PlayStation 2</fullname>
+        <path>%ROMPATH%/ps2</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps2</platform>
+        <theme>ps2</theme>
+    </system>
+    <system>
+        <name>ps3</name>
+        <fullname>Sony PlayStation 3</fullname>
+        <path>%ROMPATH%/ps3</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps3</platform>
+        <theme>ps3</theme>
+    </system>
+    <system>
+        <name>ps4</name>
+        <fullname>Sony PlayStation 4</fullname>
+        <path>%ROMPATH%/ps4</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps4</platform>
+        <theme>ps4</theme>
+    </system>
+    <system>
+        <name>psp</name>
+        <fullname>Sony PlayStation Portable</fullname>
+        <path>%ROMPATH%/psp</path>
+        <extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/ppsspp_libretro.dylib %ROM%</command>
+        <platform>psp</platform>
+        <theme>psp</theme>
+    </system>
+    <system>
+        <name>psvita</name>
+        <fullname>Sony PlayStation Vita</fullname>
+        <path>%ROMPATH%/psvita</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>psvita</platform>
+        <theme>psvita</theme>
+    </system>
+    <system>
+        <name>psx</name>
+        <fullname>Sony PlayStation</fullname>
+        <path>%ROMPATH%/psx</path>
+        <extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U
+            .mdf .MDF .mds .MDS .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PSX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_libretro.dylib %ROM%</command>
+        <command label="Beetle PSX HW">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_hw_libretro.dylib %ROM%
+        </command>
+        <command label="PCSX ReARMed">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx_rearmed_libretro.dylib %ROM%
+        </command>
+        <command label="DuckStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/duckstation_libretro.dylib %ROM%</command>
+        <platform>psx</platform>
+        <theme>psx</theme>
+    </system>
+    <system>
+        <name>residualvm</name>
+        <fullname>ResidualVM game engine</fullname>
+        <path>%ROMPATH%/residualvm</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>residualvm</platform>
+        <theme>residualvm</theme>
+    </system>
+    <system>
+        <name>samcoupe</name>
+        <fullname>SAM Coupé</fullname>
+        <path>%ROMPATH%/samcoupe</path>
+        <extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/simcp_libretro.dylib %ROM%</command>
+        <platform>samcoupe</platform>
+        <theme>samcoupe</theme>
+    </system>
+    <system>
+        <name>satellaview</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
+        <platform>satellaview</platform>
+        <theme>satellaview</theme>
+    </system>
+    <system>
+        <name>saturn</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.dylib %ROM%</command>
+        <platform>saturn</platform>
+        <theme>saturn</theme>
+    </system>
+    <system>
+        <name>saturnjp</name>
+        <fullname>Sega Saturn</fullname>
+        <path>%ROMPATH%/saturnjp</path>
+        <extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.dylib %ROM%</command>
+        <platform>saturn</platform>
+        <theme>saturnjp</theme>
+    </system>
+    <system>
+        <name>scummvm</name>
+        <fullname>ScummVM game engine</fullname>
+        <path>%ROMPATH%/scummvm</path>
+        <extension>.scummvm .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/scummvm_libretro.dylib %ROM%</command>
+        <platform>scummvm</platform>
+        <theme>scummvm</theme>
+    </system>
+    <system>
+        <name>sega32x</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32x</theme>
+    </system>
+    <system>
+        <name>sega32xjp</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32xjp</theme>
+    </system>
+    <system>
+        <name>sega32xna</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.dylib %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32xna</theme>
+    </system>
+    <system>
+        <name>segacd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
+        <platform>segacd</platform>
+        <theme>segacd</theme>
+    </system>
+    <system>
+        <name>sg-1000</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.dylib %ROM%</command>
+        <platform>sg-1000</platform>
+        <theme>sg-1000</theme>
+    </system>
+    <system>
+        <name>snes</name>
+        <fullname>Nintendo SNES (Super Nintendo)</fullname>
+        <path>%ROMPATH%/snes</path>
+        <extension>.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC
+            .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Snes9x - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
+        <command label="Snes9x 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x2010_libretro.dylib %ROM%</command>
+        <command label="bsnes">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.dylib %ROM%</command>
+        <command label="bsnes-mercury Accuracy">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/bsnes_mercury_accuracy_libretro.dylib %ROM%
+        </command>
+        <command label="Mesen-S">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.dylib %ROM%</command>
+        <platform>snes</platform>
+        <theme>snes</theme>
+    </system>
+    <system>
+        <name>snesna</name>
+        <fullname>Nintendo SNES (Super Nintendo)</fullname>
+        <path>%ROMPATH%/snesna</path>
+        <extension>.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC
+            .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Snes9x - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
+        <command label="Snes9x 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x2010_libretro.dylib %ROM%</command>
+        <command label="bsnes">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.dylib %ROM%</command>
+        <command label="bsnes-mercury Accuracy">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/bsnes_mercury_accuracy_libretro.dylib %ROM%
+        </command>
+        <command label="Mesen-S">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.dylib %ROM%</command>
+        <platform>snes</platform>
+        <theme>snesna</theme>
+    </system>
+    <system>
+        <name>solarus</name>
+        <fullname>Solarus game engine</fullname>
+        <path>%ROMPATH%/solarus</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>solarus</platform>
+        <theme>solarus</theme>
+    </system>
+    <system>
+        <name>spectravideo</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.dylib %ROM%</command>
+        <platform>spectravideo</platform>
+        <theme>spectravideo</theme>
+    </system>
+    <system>
+        <name>steam</name>
+        <fullname>Valve Steam</fullname>
+        <path>%ROMPATH%/steam</path>
+        <extension>.sh</extension>
+        <command>zsh %ROM%</command>
+        <platform>steam</platform>
+        <theme>steam</theme>
+    </system>
+    <system>
+        <name>stratagus</name>
+        <fullname>Stratagus game engine</fullname>
+        <path>%ROMPATH%/stratagus</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>stratagus</platform>
+        <theme>stratagus</theme>
+    </system>
+    <system>
+        <name>sufami</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.dylib %ROM%</command>
+        <platform>sufami</platform>
+        <theme>sufami</theme>
+    </system>
+    <system>
+        <name>supergrafx</name>
+        <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 label="Beetle SuperGrafx">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supergrafx_libretro.dylib
+            %ROM%
+        </command>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
+        <platform>supergrafx</platform>
+        <theme>supergrafx</theme>
+    </system>
+    <system>
+        <name>switch</name>
+        <fullname>Nintendo Switch</fullname>
+        <path>%ROMPATH%/switch</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>switch</platform>
+        <theme>switch</theme>
+    </system>
+    <system>
+        <name>tanodragon</name>
+        <fullname>Tano Dragon</fullname>
+        <path>%ROMPATH%/tanodragon</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>dragon32</platform>
+        <theme>tanodragon</theme>
+    </system>
+    <system>
+        <name>tg16</name>
+        <fullname>NEC TurboGrafx-16</fullname>
+        <path>%ROMPATH%/tg16</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.dylib
+            %ROM%
+        </command>
+        <platform>pcengine</platform>
+        <theme>tg16</theme>
+    </system>
+    <system>
+        <name>tg-cd</name>
+        <fullname>NEC TurboGrafx-CD</fullname>
+        <path>%ROMPATH%/tg-cd</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.dylib %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.dylib
+            %ROM%
+        </command>
+        <theme>tg-cd</theme>
+    </system>
+    <system>
+        <name>ti99</name>
+        <fullname>Texas Instruments TI-99</fullname>
+        <path>%ROMPATH%/ti99</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ti99</platform>
+        <theme>ti99</theme>
+    </system>
+    <system>
+        <name>tic80</name>
+        <fullname>TIC-80 game engine</fullname>
+        <path>%ROMPATH%/tic80</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>tic80</platform>
+        <theme>tic80</theme>
+    </system>
+    <system>
+        <name>to8</name>
+        <fullname>Thomson TO8</fullname>
+        <path>%ROMPATH%/to8</path>
+        <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.dylib %ROM%</command>
+        <platform>moto</platform>
+        <theme>to8</theme>
+    </system>
+    <system>
+        <name>trs-80</name>
+        <fullname>Tandy TRS-80</fullname>
+        <path>%ROMPATH%/trs-80</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>trs-80</platform>
+        <theme>trs-80</theme>
+    </system>
+    <system>
+        <name>uzebox</name>
+        <fullname>Uzebox</fullname>
+        <path>%ROMPATH%/uzebox</path>
+        <extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/uzem_libretro.dylib %ROM%</command>
+        <platform>uzebox</platform>
+        <theme>uzebox</theme>
+    </system>
+    <system>
+        <name>vectrex</name>
+        <fullname>Vectrex</fullname>
+        <path>%ROMPATH%/vectrex</path>
+        <extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vecx_libretro.dylib %ROM%</command>
+        <platform>vectrex</platform>
+        <theme>vectrex</theme>
+    </system>
+    <system>
+        <name>videopac</name>
+        <fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
+        <path>%ROMPATH%/videopac</path>
+        <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.dylib %ROM%</command>
+        <platform>videopac</platform>
+        <theme>videopac</theme>
+    </system>
+    <system>
+        <name>virtualboy</name>
+        <fullname>Nintendo Virtual Boy</fullname>
+        <path>%ROMPATH%/virtualboy</path>
+        <extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_vb_libretro.dylib %ROM%</command>
+        <platform>virtualboy</platform>
+        <theme>virtualboy</theme>
+    </system>
+    <system>
+        <name>wii</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.dylib %ROM%</command>
+        <platform>wii</platform>
+        <theme>wii</theme>
+    </system>
+    <system>
+        <name>wiiu</name>
+        <fullname>Nintendo Wii U</fullname>
+        <path>%ROMPATH%/wiiu</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>wiiu</platform>
+        <theme>wiiu</theme>
+    </system>
+    <system>
+        <name>wonderswan</name>
+        <fullname>Bandai WonderSwan</fullname>
+        <path>%ROMPATH%/wonderswan</path>
+        <extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.dylib %ROM%</command>
+        <platform>wonderswan</platform>
+        <theme>wonderswan</theme>
+    </system>
+    <system>
+        <name>wonderswancolor</name>
+        <fullname>Bandai WonderSwan Color</fullname>
+        <path>%ROMPATH%/wonderswancolor</path>
+        <extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.dylib %ROM%</command>
+        <platform>wonderswancolor</platform>
+        <theme>wonderswancolor</theme>
+    </system>
+    <system>
+        <name>x1</name>
+        <fullname>Sharp X1</fullname>
+        <path>%ROMPATH%/x1</path>
+        <extension>.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/x1_libretro.dylib %ROM%</command>
+        <platform>x1</platform>
+        <theme>x1</theme>
+    </system>
+    <system>
+        <name>x68000</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.dylib %ROM%</command>
+        <platform>x68000</platform>
+        <theme>x68000</theme>
+    </system>
+    <system>
+        <name>xbox</name>
+        <fullname>Microsoft Xbox</fullname>
+        <path>%ROMPATH%/xbox</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>xbox</platform>
+        <theme>xbox</theme>
+    </system>
+    <system>
+        <name>xbox360</name>
+        <fullname>Microsoft Xbox 360</fullname>
+        <path>%ROMPATH%/xbox360</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>xbox360</platform>
+        <theme>xbox360</theme>
+    </system>
+    <system>
+        <name>zmachine</name>
+        <fullname>Infocom Z-machine</fullname>
+        <path>%ROMPATH%/zmachine</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>zmachine</platform>
+        <theme>zmachine</theme>
+    </system>
+    <system>
+        <name>zx81</name>
+        <fullname>Sinclair ZX81</fullname>
+        <path>%ROMPATH%/zx81</path>
+        <extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/81_libretro.dylib %ROM%</command>
+        <platform>zx81</platform>
+        <theme>zx81</theme>
+    </system>
+    <system>
+        <name>zxspectrum</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fuse_libretro.dylib %ROM%</command>
+        <platform>zxspectrum</platform>
+        <theme>zxspectrum</theme>
+    </system>
+</systemList>
\ No newline at end of file
diff --git a/resources/systems/unix/es_find_rules.xml b/resources/systems/unix/es_find_rules.xml
index d2b281827..e46bdd786 100644
--- a/resources/systems/unix/es_find_rules.xml
+++ b/resources/systems/unix/es_find_rules.xml
@@ -1,51 +1,51 @@
 <?xml version="1.0"?>
 <!-- This is the ES-DE find rules configuration file for Unix -->
 <ruleList>
-  <emulator name="RETROARCH">
-    <rule type="systempath">
-      <entry>retroarch</entry>
-      <entry>org.libretro.RetroArch</entry>
-      <entry>RetroArch-Linux-x86_64.AppImage</entry>
-    </rule>
-    <rule type="staticpath">
-      <entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
-      <entry>~/Applications/RetroArch-Linux-x86_64.AppImage</entry>
-      <entry>~/.local/bin/RetroArch-Linux-x86_64.AppImage</entry>
-      <entry>~/bin/RetroArch-Linux-x86_64.AppImage</entry>
-    </rule>
-  </emulator>
-  <emulator name="YUZU">
-    <!-- Nintendo Switch emulator Yuzu -->
-    <rule type="systempath">
-      <entry>yuzu</entry>
-      <entry>org.yuzu_emu.yuzu</entry>
-      <entry>yuzu.AppImage</entry>
-    </rule>
-    <rule type="staticpath">
-      <entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
-      <entry>~/Applications/yuzu.AppImage</entry>
-      <entry>~/.local/bin/yuzu.AppImage</entry>
-      <entry>~/bin/yuzu.AppImage</entry>
-    </rule>
-  </emulator>
-  <core name="RETROARCH">
-    <rule type="corepath">
-      <!-- Snap package -->
-      <entry>~/snap/retroarch/current/.config/retroarch/cores</entry>
-      <!-- Flatpak package -->
-      <entry>~/.var/app/org.libretro.RetroArch/config/retroarch/cores</entry>
-      <!-- AppImage and compiled from source -->
-      <entry>~/.config/retroarch/cores</entry>
-      <!-- Ubuntu and Linux Mint repository -->
-      <entry>/usr/lib/x86_64-linux-gnu/libretro</entry>
-      <!-- Fedora repository -->
-      <entry>/usr/lib64/libretro</entry>
-      <!-- Manjaro repository -->
-      <entry>/usr/lib/libretro</entry>
-      <!-- FreeBSD and OpenBSD repository -->
-      <entry>/usr/local/lib/libretro</entry>
-      <!-- NetBSD repository -->
-      <entry>/usr/pkg/lib/libretro</entry>
-    </rule>
-  </core>
-</ruleList>
+    <emulator name="RETROARCH">
+        <rule type="systempath">
+            <entry>retroarch</entry>
+            <entry>org.libretro.RetroArch</entry>
+            <entry>RetroArch-Linux-x86_64.AppImage</entry>
+        </rule>
+        <rule type="staticpath">
+            <entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
+            <entry>~/Applications/RetroArch-Linux-x86_64.AppImage</entry>
+            <entry>~/.local/bin/RetroArch-Linux-x86_64.AppImage</entry>
+            <entry>~/bin/RetroArch-Linux-x86_64.AppImage</entry>
+        </rule>
+    </emulator>
+    <emulator name="YUZU">
+        <!-- Nintendo Switch emulator Yuzu -->
+        <rule type="systempath">
+            <entry>yuzu</entry>
+            <entry>org.yuzu_emu.yuzu</entry>
+            <entry>yuzu.AppImage</entry>
+        </rule>
+        <rule type="staticpath">
+            <entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
+            <entry>~/Applications/yuzu.AppImage</entry>
+            <entry>~/.local/bin/yuzu.AppImage</entry>
+            <entry>~/bin/yuzu.AppImage</entry>
+        </rule>
+    </emulator>
+    <core name="RETROARCH">
+        <rule type="corepath">
+            <!-- Snap package -->
+            <entry>~/snap/retroarch/current/.config/retroarch/cores</entry>
+            <!-- Flatpak package -->
+            <entry>~/.var/app/org.libretro.RetroArch/config/retroarch/cores</entry>
+            <!-- AppImage and compiled from source -->
+            <entry>~/.config/retroarch/cores</entry>
+            <!-- Ubuntu and Linux Mint repository -->
+            <entry>/usr/lib/x86_64-linux-gnu/libretro</entry>
+            <!-- Fedora repository -->
+            <entry>/usr/lib64/libretro</entry>
+            <!-- Manjaro repository -->
+            <entry>/usr/lib/libretro</entry>
+            <!-- FreeBSD and OpenBSD repository -->
+            <entry>/usr/local/lib/libretro</entry>
+            <!-- NetBSD repository -->
+            <entry>/usr/pkg/lib/libretro</entry>
+        </rule>
+    </core>
+</ruleList>
\ No newline at end of file
diff --git a/resources/systems/unix/es_systems.xml b/resources/systems/unix/es_systems.xml
index 39c23d3a7..2b894b01c 100644
--- a/resources/systems/unix/es_systems.xml
+++ b/resources/systems/unix/es_systems.xml
@@ -1,1255 +1,1375 @@
 <?xml version="1.0"?>
 <!-- This is the ES-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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/4do_libretro.so %ROM%</command>
-    <platform>3do</platform>
-    <theme>3do</theme>
-  </system>
-  <system>
-    <name>64dd</name>
-    <fullname>Nintendo 64DD</fullname>
-    <path>%ROMPATH%/64dd</path>
-    <extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mupen64plus_next_libretro.so %ROM%</command>
-    <platform>n64</platform>
-    <theme>64dd</theme>
-  </system>
-  <system>
-    <name>ags</name>
-    <fullname>Adventure Game Studio game engine</fullname>
-    <path>%ROMPATH%/ags</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ags</platform>
-    <theme>ags</theme>
-  </system>
-  <system>
-    <name>amiga</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga</theme>
-  </system>
-  <system>
-    <name>amiga600</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga600</theme>
-  </system>
-  <system>
-    <name>amiga1200</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga1200</theme>
-  </system>
-  <system>
-    <name>amigacd32</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
-    <platform>amigacd32</platform>
-    <theme>amigacd32</theme>
-  </system>
-  <system>
-    <name>amstradcpc</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/cap32_libretro.so %ROM%</command>
-    <platform>amstradcpc</platform>
-    <theme>amstradcpc</theme>
-  </system>
-  <system>
-    <name>apple2</name>
-    <fullname>Apple II</fullname>
-    <path>%ROMPATH%/apple2</path>
-    <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>apple2</platform>
-    <theme>apple2</theme>
-  </system>
-  <system>
-    <name>apple2gs</name>
-    <fullname>Apple IIGS</fullname>
-    <path>%ROMPATH%/apple2gs</path>
-    <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>apple2gs</platform>
-    <theme>apple2gs</theme>
-  </system>
-  <system>
-    <name>arcade</name>
-    <fullname>Arcade</fullname>
-    <path>%ROMPATH%/arcade</path>
-    <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM%</command>
-    <platform>arcade</platform>
-    <theme>arcade</theme>
-  </system>
-  <system>
-    <name>astrocade</name>
-    <fullname>Bally Astrocade</fullname>
-    <path>%ROMPATH%/astrocade</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>astrocade</platform>
-    <theme>astrocade</theme>
-  </system>
-  <system>
-    <name>atari2600</name>
-    <fullname>Atari 2600</fullname>
-    <path>%ROMPATH%/atari2600</path>
-    <extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/stella2014_libretro.so %ROM%</command>
-    <platform>atari2600</platform>
-    <theme>atari2600</theme>
-  </system>
-  <system>
-    <name>atari5200</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.so %ROM%</command>
-    <platform>atari5200</platform>
-    <theme>atari5200</theme>
-  </system>
-  <system>
-    <name>atari7800</name>
-    <fullname>Atari 7800 ProSystem</fullname>
-    <path>%ROMPATH%/atari7800</path>
-    <extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prosystem_libretro.so %ROM%</command>
-    <platform>atari7800</platform>
-    <theme>atari7800</theme>
-  </system>
-  <system>
-    <name>atari800</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.so %ROM%</command>
-    <platform>atari800</platform>
-    <theme>atari800</theme>
-  </system>
-  <system>
-    <name>atarijaguar</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%</command>
-    <platform>atarijaguar, atarijaguarcd</platform>
-    <theme>atarijaguar</theme>
-  </system>
-  <system>
-    <name>atarijaguarcd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%</command>
-    <platform>atarijaguarcd</platform>
-    <theme>atarijaguarcd</theme>
-  </system>
-  <system>
-    <name>atarilynx</name>
-    <fullname>Atari Lynx</fullname>
-    <path>%ROMPATH%/atarilynx</path>
-    <extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_lynx_libretro.so %ROM%</command>
-    <platform>atarilynx</platform>
-    <theme>atarilynx</theme>
-  </system>
-  <system>
-    <name>atarist</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/hatari_libretro.so %ROM%</command>
-    <platform>atarist</platform>
-    <theme>atarist</theme>
-  </system>
-  <system>
-    <name>atarixe</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.so %ROM%</command>
-    <platform>atarixe</platform>
-    <theme>atarixe</theme>
-  </system>
-  <system>
-    <name>atomiswave</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
-    <platform>atomiswave</platform>
-    <theme>atomiswave</theme>
-  </system>
-  <system>
-    <name>bbcmicro</name>
-    <fullname>BBC Micro</fullname>
-    <path>%ROMPATH%/bbcmicro</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>bbcmicro</platform>
-    <theme>bbcmicro</theme>
-  </system>
-  <system>
-    <name>c64</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x64sc_libretro.so %ROM%</command>
-    <platform>c64</platform>
-    <theme>c64</theme>
-  </system>
-  <system>
-    <name>cavestory</name>
-    <fullname>Cave Story (NXEngine)</fullname>
-    <path>%ROMPATH%/cavestory</path>
-    <extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nxengine_libretro.so %ROM%</command>
-    <platform>cavestory</platform>
-    <theme>cavestory</theme>
-  </system>
-  <system>
-    <name>cdtv</name>
-    <fullname>Commodore CDTV</fullname>
-    <path>%ROMPATH%/cdtv</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>cdtv</platform>
-    <theme>cdtv</theme>
-  </system>
-  <system>
-    <name>chailove</name>
-    <fullname>ChaiLove game engine</fullname>
-    <path>%ROMPATH%/chailove</path>
-    <extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/chailove_libretro.so %ROM%</command>
-    <platform>love</platform>
-    <theme>chailove</theme>
-  </system>
-  <system>
-    <name>channelf</name>
-    <fullname>Fairchild Channel F</fullname>
-    <path>%ROMPATH%/channelf</path>
-    <extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freechaf_libretro.so %ROM%</command>
-    <platform>channelf</platform>
-    <theme>channelf</theme>
-  </system>
-  <system>
-    <name>coco</name>
-    <fullname>Tandy Color Computer</fullname>
-    <path>%ROMPATH%/coco</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>coco</platform>
-    <theme>coco</theme>
-  </system>
-  <system>
-    <name>colecovision</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
-    <platform>colecovision</platform>
-    <theme>colecovision</theme>
-  </system>
-  <system>
-    <name>daphne</name>
-    <fullname>Daphne Arcade Laserdisc Emulator</fullname>
-    <path>%ROMPATH%/daphne</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/daphne_libretro.so %ROM%</command>
-    <platform>daphne</platform>
-    <theme>daphne</theme>
-  </system>
-  <system>
-    <name>desktop</name>
-    <fullname>Desktop applications</fullname>
-    <path>%ROMPATH%/desktop</path>
-    <extension>.sh</extension>
-    <command>bash %ROM%</command>
-    <platform>pc</platform>
-    <theme>desktop</theme>
-  </system>
-  <system>
-    <name>doom</name>
-    <fullname>Doom</fullname>
-    <path>%ROMPATH%/doom</path>
-    <extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prboom_libretro.so %ROM%</command>
-    <platform>pc</platform>
-    <theme>doom</theme>
-  </system>
-  <system>
-    <name>dos</name>
-    <fullname>DOS (PC)</fullname>
-    <path>%ROMPATH%/dos</path>
-    <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.so %ROM%</command>
-    <platform>dos</platform>
-    <theme>dos</theme>
-  </system>
-  <system>
-    <name>dragon32</name>
-    <fullname>Dragon 32</fullname>
-    <path>%ROMPATH%/dragon32</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>dragon32</platform>
-    <theme>dragon32</theme>
-  </system>
-  <system>
-    <name>dreamcast</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
-    <platform>dreamcast</platform>
-    <theme>dreamcast</theme>
-  </system>
-  <system>
-    <name>famicom</name>
-    <fullname>Nintendo Family Computer</fullname>
-    <path>%ROMPATH%/famicom</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
-    <platform>famicom</platform>
-    <theme>famicom</theme>
-  </system>
-  <system>
-    <name>fba</name>
-    <fullname>FinalBurn Alpha</fullname>
-    <path>%ROMPATH%/fba</path>
-    <extension>.iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%</command>
-    <platform>arcade</platform>
-    <theme>fba</theme>
-  </system>
-  <system>
-    <name>fbneo</name>
-    <fullname>FinalBurn Neo</fullname>
-    <path>%ROMPATH%/fbneo</path>
-    <extension>.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%</command>
-    <platform>arcade</platform>
-    <theme>fbneo</theme>
-  </system>
-  <system>
-    <name>fds</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
-    <platform>fds</platform>
-    <theme>fds</theme>
-  </system>
-  <system>
-    <name>gameandwatch</name>
-    <fullname>Nintendo Game and Watch</fullname>
-    <path>%ROMPATH%/gameandwatch</path>
-    <extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.so %ROM%</command>
-    <platform>gameandwatch</platform>
-    <theme>gameandwatch</theme>
-  </system>
-  <system>
-    <name>gamegear</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>gamegear</platform>
-    <theme>gamegear</theme>
-  </system>
-  <system>
-    <name>gb</name>
-    <fullname>Nintendo Game Boy</fullname>
-    <path>%ROMPATH%/gb</path>
-    <extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM%</command>
-    <platform>gb</platform>
-    <theme>gb</theme>
-  </system>
-  <system>
-    <name>gba</name>
-    <fullname>Nintendo Game Boy Advance</fullname>
-    <path>%ROMPATH%/gba</path>
-    <extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_gba_libretro.so %ROM%</command>
-    <platform>gba</platform>
-    <theme>gba</theme>
-  </system>
-  <system>
-    <name>gbc</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM%</command>
-    <platform>gbc</platform>
-    <theme>gbc</theme>
-  </system>
-  <system>
-    <name>gc</name>
-    <fullname>Nintendo GameCube</fullname>
-    <path>%ROMPATH%/gc</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command>
-    <platform>gc</platform>
-    <theme>gc</theme>
-  </system>
-  <system>
-    <name>genesis</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>genesis</platform>
-    <theme>genesis</theme>
-  </system>
-  <system>
-    <name>gx4000</name>
-    <fullname>Amstrad GX4000</fullname>
-    <path>%ROMPATH%/gx4000</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>gx4000</platform>
-    <theme>gx4000</theme>
-  </system>
-  <system>
-    <name>intellivision</name>
-    <fullname>Mattel Electronics Intellivision</fullname>
-    <path>%ROMPATH%/intellivision</path>
-    <extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freeintv_libretro.so %ROM%</command>
-    <platform>intellivision</platform>
-    <theme>intellivision</theme>
-  </system>
-  <system>
-    <name>kodi</name>
-    <fullname>Kodi home theatre software</fullname>
-    <path>%ROMPATH%/kodi</path>
-    <extension>.sh</extension>
-    <command>bash %ROM%</command>
-    <platform>pc</platform>
-    <theme>kodi</theme>
-  </system>
-  <system>
-    <name>lutris</name>
-    <fullname>Lutris open gaming platform</fullname>
-    <path>%ROMPATH%/lutris</path>
-    <extension>.sh</extension>
-    <command>bash %ROM%</command>
-    <platform>pc</platform>
-    <theme>lutris</theme>
-  </system>
-  <system>
-    <name>lutro</name>
-    <fullname>Lutro game engine</fullname>
-    <path>%ROMPATH%/lutro</path>
-    <extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/lutro_libretro.so %ROM%</command>
-    <platform>lutro</platform>
-    <theme>lutro</theme>
-  </system>
-  <system>
-    <name>macintosh</name>
-    <fullname>Apple Macintosh</fullname>
-    <path>%ROMPATH%/macintosh</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>macintosh</platform>
-    <theme>macintosh</theme>
-  </system>
-  <system>
-    <name>mame</name>
-    <fullname>Multiple Arcade Machine Emulator</fullname>
-    <path>%ROMPATH%/mame</path>
-    <extension>.zip .ZIP .7z .7Z</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame</theme>
-  </system>
-  <system>
-    <name>mame-advmame</name>
-    <fullname>AdvanceMAME</fullname>
-    <path>%ROMPATH%/mame-advmame</path>
-    <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame-advmame</theme>
-  </system>
-  <system>
-    <name>mame-mame4all</name>
-    <fullname>MAME4ALL</fullname>
-    <path>%ROMPATH%/mame-mame4all</path>
-    <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame-mame4all</theme>
-  </system>
-  <system>
-    <name>mastersystem</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>mastersystem</platform>
-    <theme>mastersystem</theme>
-  </system>
-  <system>
-    <name>megacd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>segacd</platform>
-    <theme>megacd</theme>
-  </system>
-  <system>
-    <name>megacdjp</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>segacd</platform>
-    <theme>megacdjp</theme>
-  </system>
-  <system>
-    <name>megadrive</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>megadrive</platform>
-    <theme>megadrive</theme>
-  </system>
-  <system>
-    <name>mess</name>
-    <fullname>Multi Emulator Super System</fullname>
-    <path>%ROMPATH%/mess</path>
-    <extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mess2015_libretro.so %ROM%</command>
-    <platform>mess</platform>
-    <theme>mess</theme>
-  </system>
-  <system>
-    <name>moonlight</name>
-    <fullname>Moonlight game streaming</fullname>
-    <path>%ROMPATH%/moonlight</path>
-    <extension>.moonlight .MOONLIGHT .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>moonlight</platform>
-    <theme>moonlight</theme>
-  </system>
-  <system>
-    <name>moto</name>
-    <fullname>Thomson MO/TO series</fullname>
-    <path>%ROMPATH%/moto</path>
-    <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.so %ROM%</command>
-    <platform>moto</platform>
-    <theme>moto</theme>
-  </system>
-  <system>
-    <name>msx</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
-    <platform>msx</platform>
-    <theme>msx</theme>
-  </system>
-  <system>
-    <name>msx1</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
-    <platform>msx</platform>
-    <theme>msx1</theme>
-  </system>
-  <system>
-    <name>msx2</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
-    <platform>msx2</platform>
-    <theme>msx2</theme>
-  </system>
-  <system>
-    <name>msxturbor</name>
-    <fullname>MSX Turbo R</fullname>
-    <path>%ROMPATH%/msxturbor</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
-    <platform>msxturbor</platform>
-    <theme>msxturbor</theme>
-  </system>
-  <system>
-    <name>multivision</name>
-    <fullname>Othello Multivision</fullname>
-    <path>%ROMPATH%/multivision</path>
-    <extension>.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM%</command>
-    <platform>sg-1000</platform>
-    <theme>multivision</theme>
-  </system>
-  <system>
-    <name>n3ds</name>
-    <fullname>Nintendo 3DS</fullname>
-    <path>%ROMPATH%/n3ds</path>
-    <extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/citra_libretro.so %ROM%</command>
-    <platform>n3ds</platform>
-    <theme>n3ds</theme>
-  </system>
-  <system>
-    <name>n64</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mupen64plus_next_libretro.so %ROM%</command>
-    <platform>n64</platform>
-    <theme>n64</theme>
-  </system>
-  <system>
-    <name>naomi</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
-    <platform>naomi</platform>
-    <theme>naomi</theme>
-  </system>
-  <system>
-    <name>naomigd</name>
-    <fullname>Sega NAOMI GD-ROM</fullname>
-    <path>%ROMPATH%/naomigd</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
-    <platform>naomi</platform>
-    <theme>naomigd</theme>
-  </system>
-  <system>
-    <name>nds</name>
-    <fullname>Nintendo DS</fullname>
-    <path>%ROMPATH%/nds</path>
-    <extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/melonds_libretro.so %ROM%</command>
-    <platform>nds</platform>
-    <theme>nds</theme>
-  </system>
-  <system>
-    <name>neogeo</name>
-    <fullname>SNK Neo Geo</fullname>
-    <path>%ROMPATH%/neogeo</path>
-    <extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%</command>
-    <platform>neogeo</platform>
-    <theme>neogeo</theme>
-  </system>
-  <system>
-    <name>neogeocd</name>
-    <fullname>SNK Neo Geo CD</fullname>
-    <path>%ROMPATH%/neogeocd</path>
-    <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.so %ROM%</command>
-    <platform>neogeocd</platform>
-    <theme>neogeocd</theme>
-  </system>
-  <system>
-    <name>neogeocdjp</name>
-    <fullname>SNK Neo Geo CD</fullname>
-    <path>%ROMPATH%/neogeocdjp</path>
-    <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.so %ROM%</command>
-    <platform>neogeocd</platform>
-    <theme>neogeocdjp</theme>
-  </system>
-  <system>
-    <name>nes</name>
-    <fullname>Nintendo Entertainment System</fullname>
-    <path>%ROMPATH%/nes</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
-    <platform>nes</platform>
-    <theme>nes</theme>
-  </system>
-  <system>
-    <name>ngp</name>
-    <fullname>SNK Neo Geo Pocket</fullname>
-    <path>%ROMPATH%/ngp</path>
-    <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.so %ROM%</command>
-    <platform>ngp</platform>
-    <theme>ngp</theme>
-  </system>
-  <system>
-    <name>ngpc</name>
-    <fullname>SNK Neo Geo Pocket Color</fullname>
-    <path>%ROMPATH%/ngpc</path>
-    <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.so %ROM%</command>
-    <platform>ngpc</platform>
-    <theme>ngpc</theme>
-  </system>
-  <system>
-    <name>odyssey2</name>
-    <fullname>Magnavox Odyssey2</fullname>
-    <path>%ROMPATH%/odyssey2</path>
-    <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.so %ROM%</command>
-    <platform>odyssey2</platform>
-    <theme>odyssey2</theme>
-  </system>
-  <system>
-    <name>openbor</name>
-    <fullname>OpenBOR game engine</fullname>
-    <path>%ROMPATH%/openbor</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>openbor</platform>
-    <theme>openbor</theme>
-  </system>
-  <system>
-    <name>oric</name>
-    <fullname>Tangerine Computer Systems Oric</fullname>
-    <path>%ROMPATH%/oric</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>oric</platform>
-    <theme>oric</theme>
-  </system>
-  <system>
-    <name>palm</name>
-    <fullname>Palm OS</fullname>
-    <path>%ROMPATH%/palm</path>
-    <extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mu_libretro.so %ROM%</command>
-    <platform>palm</platform>
-    <theme>palm</theme>
-  </system>
-  <system>
-    <name>pc</name>
-    <fullname>IBM PC</fullname>
-    <path>%ROMPATH%/pc</path>
-    <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.so %ROM%</command>
-    <platform>pc</platform>
-    <theme>pc</theme>
-  </system>
-  <system>
-    <name>pc88</name>
-    <fullname>NEC PC-8800 series</fullname>
-    <path>%ROMPATH%/pc88</path>
-    <extension>.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quasi88_libretro.so %ROM%</command>
-    <platform>pc88</platform>
-    <theme>pc88</theme>
-  </system>
-  <system>
-    <name>pc98</name>
-    <fullname>NEC PC-9800 series</fullname>
-    <path>%ROMPATH%/pc98</path>
-    <extension>.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/np2kai_libretro.so %ROM%</command>
-    <platform>pc98</platform>
-    <theme>pc98</theme>
-  </system>
-  <system>
-    <name>pcengine</name>
-    <fullname>NEC PC Engine</fullname>
-    <path>%ROMPATH%/pcengine</path>
-    <extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
-    <platform>pcengine</platform>
-    <theme>pcengine</theme>
-  </system>
-  <system>
-    <name>pcenginecd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
-    <platform>pcenginecd</platform>
-    <theme>pcenginecd</theme>
-  </system>
-  <system>
-    <name>pcfx</name>
-    <fullname>NEC PC-FX</fullname>
-    <path>%ROMPATH%/pcfx</path>
-    <extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pcfx_libretro.so %ROM%</command>
-    <platform>pcfx</platform>
-    <theme>pcfx</theme>
-  </system>
-  <system>
-    <name>pokemini</name>
-    <fullname>Nintendo Pokémon Mini</fullname>
-    <path>%ROMPATH%/pokemini</path>
-    <extension>.min .MIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pokemini_libretro.so %ROM%</command>
-    <platform>pokemini</platform>
-    <theme>pokemini</theme>
-  </system>
-  <system>
-    <name>ports</name>
-    <fullname>Ports</fullname>
-    <path>%ROMPATH%/ports</path>
-    <extension>.sh</extension>
-    <command>bash %ROM%</command>
-    <platform>pc</platform>
-    <theme>ports</theme>
-  </system>
-  <system>
-    <name>ps2</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/play_libretro.so %ROM%</command>
-    <platform>ps2</platform>
-    <theme>ps2</theme>
-  </system>
-  <system>
-    <name>ps3</name>
-    <fullname>Sony PlayStation 3</fullname>
-    <path>%ROMPATH%/ps3</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ps3</platform>
-    <theme>ps3</theme>
-  </system>
-  <system>
-    <name>ps4</name>
-    <fullname>Sony PlayStation 4</fullname>
-    <path>%ROMPATH%/ps4</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ps4</platform>
-    <theme>ps4</theme>
-  </system>
-  <system>
-    <name>psp</name>
-    <fullname>Sony PlayStation Portable</fullname>
-    <path>%ROMPATH%/psp</path>
-    <extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/ppsspp_libretro.so %ROM%</command>
-    <platform>psp</platform>
-    <theme>psp</theme>
-  </system>
-  <system>
-    <name>psvita</name>
-    <fullname>Sony PlayStation Vita</fullname>
-    <path>%ROMPATH%/psvita</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>psvita</platform>
-    <theme>psvita</theme>
-  </system>
-  <system>
-    <name>psx</name>
-    <fullname>Sony PlayStation</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_libretro.so %ROM%</command>
-    <platform>psx</platform>
-    <theme>psx</theme>
-  </system>
-  <system>
-    <name>residualvm</name>
-    <fullname>ResidualVM game engine</fullname>
-    <path>%ROMPATH%/residualvm</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>residualvm</platform>
-    <theme>residualvm</theme>
-  </system>
-  <system>
-    <name>samcoupe</name>
-    <fullname>SAM Coupé</fullname>
-    <path>%ROMPATH%/samcoupe</path>
-    <extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/simcp_libretro.so %ROM%</command>
-    <platform>samcoupe</platform>
-    <theme>samcoupe</theme>
-  </system>
-  <system>
-    <name>satellaview</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
-    <platform>satellaview</platform>
-    <theme>satellaview</theme>
-  </system>
-  <system>
-    <name>saturn</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.so %ROM%</command>
-    <platform>saturn</platform>
-    <theme>saturn</theme>
-  </system>
-  <system>
-    <name>saturnjp</name>
-    <fullname>Sega Saturn</fullname>
-    <path>%ROMPATH%/saturnjp</path>
-    <extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.so %ROM%</command>
-    <platform>saturn</platform>
-    <theme>saturnjp</theme>
-  </system>
-  <system>
-    <name>scummvm</name>
-    <fullname>ScummVM game engine</fullname>
-    <path>%ROMPATH%/scummvm</path>
-    <extension>.scummvm .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/scummvm_libretro.so %ROM%</command>
-    <platform>scummvm</platform>
-    <theme>scummvm</theme>
-  </system>
-  <system>
-    <name>sega32x</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32x</theme>
-  </system>
-  <system>
-    <name>sega32xjp</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32xjp</theme>
-  </system>
-  <system>
-    <name>sega32xna</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32xna</theme>
-  </system>
-  <system>
-    <name>segacd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>segacd</platform>
-    <theme>segacd</theme>
-  </system>
-  <system>
-    <name>sg-1000</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
-    <platform>sg-1000</platform>
-    <theme>sg-1000</theme>
-  </system>
-  <system>
-    <name>snes</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
-    <platform>snes</platform>
-    <theme>snes</theme>
-  </system>
-  <system>
-    <name>snesna</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
-    <platform>snes</platform>
-    <theme>snesna</theme>
-  </system>
-  <system>
-    <name>solarus</name>
-    <fullname>Solarus game engine</fullname>
-    <path>%ROMPATH%/solarus</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>solarus</platform>
-    <theme>solarus</theme>
-  </system>
-  <system>
-    <name>spectravideo</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
-    <platform>spectravideo</platform>
-    <theme>spectravideo</theme>
-  </system>
-  <system>
-    <name>steam</name>
-    <fullname>Valve Steam</fullname>
-    <path>%ROMPATH%/steam</path>
-    <extension>.sh</extension>
-    <command>bash %ROM%</command>
-    <platform>steam</platform>
-    <theme>steam</theme>
-  </system>
-  <system>
-    <name>stratagus</name>
-    <fullname>Stratagus game engine</fullname>
-    <path>%ROMPATH%/stratagus</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>stratagus</platform>
-    <theme>stratagus</theme>
-  </system>
-  <system>
-    <name>sufami</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
-    <platform>sufami</platform>
-    <theme>sufami</theme>
-  </system>
-  <system>
-    <name>supergrafx</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supergrafx_libretro.so %ROM%</command>
-    <platform>supergrafx</platform>
-    <theme>supergrafx</theme>
-  </system>
-  <system>
-    <name>switch</name>
-    <fullname>Nintendo Switch</fullname>
-    <path>%ROMPATH%/switch</path>
-    <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_YUZU% %ROM%</command>
-    <platform>switch</platform>
-    <theme>switch</theme>
-  </system>
-  <system>
-    <name>tanodragon</name>
-    <fullname>Tano Dragon</fullname>
-    <path>%ROMPATH%/tanodragon</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>dragon32</platform>
-    <theme>tanodragon</theme>
-  </system>
-  <system>
-    <name>tg16</name>
-    <fullname>NEC TurboGrafx-16</fullname>
-    <path>%ROMPATH%/tg16</path>
-    <extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
-    <platform>pcengine</platform>
-    <theme>tg16</theme>
-  </system>
-  <system>
-    <name>tg-cd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
-    <platform>pcenginecd</platform>
-    <theme>tg-cd</theme>
-  </system>
-  <system>
-    <name>ti99</name>
-    <fullname>Texas Instruments TI-99</fullname>
-    <path>%ROMPATH%/ti99</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ti99</platform>
-    <theme>ti99</theme>
-  </system>
-  <system>
-    <name>tic80</name>
-    <fullname>TIC-80 game engine</fullname>
-    <path>%ROMPATH%/tic80</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>tic80</platform>
-    <theme>tic80</theme>
-  </system>
-  <system>
-    <name>to8</name>
-    <fullname>Thomson TO8</fullname>
-    <path>%ROMPATH%/to8</path>
-    <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.so %ROM%</command>
-    <platform>moto</platform>
-    <theme>to8</theme>
-  </system>
-  <system>
-    <name>trs-80</name>
-    <fullname>Tandy TRS-80</fullname>
-    <path>%ROMPATH%/trs-80</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>trs-80</platform>
-    <theme>trs-80</theme>
-  </system>
-  <system>
-    <name>uzebox</name>
-    <fullname>Uzebox</fullname>
-    <path>%ROMPATH%/uzebox</path>
-    <extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/uzem_libretro.so %ROM%</command>
-    <platform>uzebox</platform>
-    <theme>uzebox</theme>
-  </system>
-  <system>
-    <name>vectrex</name>
-    <fullname>Vectrex</fullname>
-    <path>%ROMPATH%/vectrex</path>
-    <extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vecx_libretro.so %ROM%</command>
-    <platform>vectrex</platform>
-    <theme>vectrex</theme>
-  </system>
-  <system>
-    <name>videopac</name>
-    <fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
-    <path>%ROMPATH%/videopac</path>
-    <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.so %ROM%</command>
-    <platform>videopac</platform>
-    <theme>videopac</theme>
-  </system>
-  <system>
-    <name>virtualboy</name>
-    <fullname>Nintendo Virtual Boy</fullname>
-    <path>%ROMPATH%/virtualboy</path>
-    <extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_vb_libretro.so %ROM%</command>
-    <platform>virtualboy</platform>
-    <theme>virtualboy</theme>
-  </system>
-  <system>
-    <name>wii</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command>
-    <platform>wii</platform>
-    <theme>wii</theme>
-  </system>
-  <system>
-    <name>wiiu</name>
-    <fullname>Nintendo Wii U</fullname>
-    <path>%ROMPATH%/wiiu</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>wiiu</platform>
-    <theme>wiiu</theme>
-  </system>
-  <system>
-    <name>wonderswan</name>
-    <fullname>Bandai WonderSwan</fullname>
-    <path>%ROMPATH%/wonderswan</path>
-    <extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.so %ROM%</command>
-    <platform>wonderswan</platform>
-    <theme>wonderswan</theme>
-  </system>
-  <system>
-    <name>wonderswancolor</name>
-    <fullname>Bandai WonderSwan Color</fullname>
-    <path>%ROMPATH%/wonderswancolor</path>
-    <extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.so %ROM%</command>
-    <platform>wonderswancolor</platform>
-    <theme>wonderswancolor</theme>
-  </system>
-  <system>
-    <name>x1</name>
-    <fullname>Sharp X1</fullname>
-    <path>%ROMPATH%/x1</path>
-    <extension>.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/x1_libretro.so %ROM%</command>
-    <platform>x1</platform>
-    <theme>x1</theme>
-  </system>
-  <system>
-    <name>x68000</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM%</command>
-    <platform>x68000</platform>
-    <theme>x68000</theme>
-  </system>
-  <system>
-    <name>xbox</name>
-    <fullname>Microsoft Xbox</fullname>
-    <path>%ROMPATH%/xbox</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>xbox</platform>
-    <theme>xbox</theme>
-  </system>
-  <system>
-    <name>xbox360</name>
-    <fullname>Microsoft Xbox 360</fullname>
-    <path>%ROMPATH%/xbox360</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>xbox360</platform>
-    <theme>xbox360</theme>
-  </system>
-  <system>
-    <name>zmachine</name>
-    <fullname>Infocom Z-machine</fullname>
-    <path>%ROMPATH%/zmachine</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>zmachine</platform>
-    <theme>zmachine</theme>
-  </system>
-  <system>
-    <name>zx81</name>
-    <fullname>Sinclair ZX81</fullname>
-    <path>%ROMPATH%/zx81</path>
-    <extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/81_libretro.so %ROM%</command>
-    <platform>zx81</platform>
-    <theme>zx81</theme>
-  </system>
-  <system>
-    <name>zxspectrum</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fuse_libretro.so %ROM%</command>
-    <platform>zxspectrum</platform>
-    <theme>zxspectrum</theme>
-  </system>
-</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/4do_libretro.so %ROM%</command>
+        <platform>3do</platform>
+        <theme>3do</theme>
+    </system>
+    <system>
+        <name>64dd</name>
+        <fullname>Nintendo 64DD</fullname>
+        <path>%ROMPATH%/64dd</path>
+        <extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
+        <command label="Mupen64Plus-Next">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mupen64plus_next_libretro.so %ROM%
+        </command>
+        <command label="ParaLLEl N64">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.so %ROM%</command>
+        <platform>n64</platform>
+        <theme>64dd</theme>
+    </system>
+    <system>
+        <name>ags</name>
+        <fullname>Adventure Game Studio game engine</fullname>
+        <path>%ROMPATH%/ags</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ags</platform>
+        <theme>ags</theme>
+    </system>
+    <system>
+        <name>amiga</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga</theme>
+    </system>
+    <system>
+        <name>amiga600</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga600</theme>
+    </system>
+    <system>
+        <name>amiga1200</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga1200</theme>
+    </system>
+    <system>
+        <name>amigacd32</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM%</command>
+        <platform>amigacd32</platform>
+        <theme>amigacd32</theme>
+    </system>
+    <system>
+        <name>amstradcpc</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/cap32_libretro.so %ROM%</command>
+        <platform>amstradcpc</platform>
+        <theme>amstradcpc</theme>
+    </system>
+    <system>
+        <name>apple2</name>
+        <fullname>Apple II</fullname>
+        <path>%ROMPATH%/apple2</path>
+        <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>apple2</platform>
+        <theme>apple2</theme>
+    </system>
+    <system>
+        <name>apple2gs</name>
+        <fullname>Apple IIGS</fullname>
+        <path>%ROMPATH%/apple2gs</path>
+        <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>apple2gs</platform>
+        <theme>apple2gs</theme>
+    </system>
+    <system>
+        <name>arcade</name>
+        <fullname>Arcade</fullname>
+        <path>%ROMPATH%/arcade</path>
+        <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command label="MAME - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM%</command>
+        <command label="MAME 2000">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%</command>
+        <command label="MAME 2003-Plus">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
+        </command>
+        <command label="MAME 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%</command>
+        <command label="FinalBurn Neo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%</command>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%</command>
+        <platform>arcade</platform>
+        <theme>arcade</theme>
+    </system>
+    <system>
+        <name>astrocade</name>
+        <fullname>Bally Astrocade</fullname>
+        <path>%ROMPATH%/astrocade</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>astrocade</platform>
+        <theme>astrocade</theme>
+    </system>
+    <system>
+        <name>atari2600</name>
+        <fullname>Atari 2600</fullname>
+        <path>%ROMPATH%/atari2600</path>
+        <extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command label="Stella">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/stella_libretro.so %ROM%</command>
+        <command label="Stella 2014">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/stella2014_libretro.so %ROM%</command>
+        <platform>atari2600</platform>
+        <theme>atari2600</theme>
+    </system>
+    <system>
+        <name>atari5200</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.so %ROM%</command>
+        <platform>atari5200</platform>
+        <theme>atari5200</theme>
+    </system>
+    <system>
+        <name>atari7800</name>
+        <fullname>Atari 7800 ProSystem</fullname>
+        <path>%ROMPATH%/atari7800</path>
+        <extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prosystem_libretro.so %ROM%</command>
+        <platform>atari7800</platform>
+        <theme>atari7800</theme>
+    </system>
+    <system>
+        <name>atari800</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.so %ROM%</command>
+        <platform>atari800</platform>
+        <theme>atari800</theme>
+    </system>
+    <system>
+        <name>atarijaguar</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%</command>
+        <platform>atarijaguar, atarijaguarcd</platform>
+        <theme>atarijaguar</theme>
+    </system>
+    <system>
+        <name>atarijaguarcd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%</command>
+        <platform>atarijaguarcd</platform>
+        <theme>atarijaguarcd</theme>
+    </system>
+    <system>
+        <name>atarilynx</name>
+        <fullname>Atari Lynx</fullname>
+        <path>%ROMPATH%/atarilynx</path>
+        <extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_lynx_libretro.so %ROM%</command>
+        <platform>atarilynx</platform>
+        <theme>atarilynx</theme>
+    </system>
+    <system>
+        <name>atarist</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/hatari_libretro.so %ROM%</command>
+        <platform>atarist</platform>
+        <theme>atarist</theme>
+    </system>
+    <system>
+        <name>atarixe</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/atari800_libretro.so %ROM%</command>
+        <platform>atarixe</platform>
+        <theme>atarixe</theme>
+    </system>
+    <system>
+        <name>atomiswave</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
+        <platform>atomiswave</platform>
+        <theme>atomiswave</theme>
+    </system>
+    <system>
+        <name>bbcmicro</name>
+        <fullname>BBC Micro</fullname>
+        <path>%ROMPATH%/bbcmicro</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>bbcmicro</platform>
+        <theme>bbcmicro</theme>
+    </system>
+    <system>
+        <name>c64</name>
+        <fullname>Commodore 64</fullname>
+        <path>%ROMPATH%/c64</path>
+        <extension>.bin .BIN .cmd .CMD .crt .CRT .d2m .D2M .d4m .D4M .d64 .D64 .d6z .D6Z .d71 .D71 .d7z .D7Z .d80 .D80
+            .d81 .D81 .d82 .D82 .d8z .D8Z .g41 .G41 .g4z .G4Z .g64 .G64 .g6z .G6Z .gz .GZ .lnx .LNX .m3u .M3U .nbz .NBZ
+            .nib .NIB .p00 .P00 .prg .PRG .t64 .T64 .tap .TAP .vfl .VFL .vsf .VSF .x64 .X64 .x6z .X6Z .7z .7Z .zip .ZIP
+        </extension>
+        <command label="VICE x64sc Accurate">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x64sc_libretro.so %ROM%
+        </command>
+        <command label="VICE x64 Fast">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x64_libretro.so %ROM%</command>
+        <command label="VICE x64 SuperCPU">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_xscpu64_libretro.so %ROM%
+        </command>
+        <command label="VICE x128">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vice_x128_libretro.so %ROM%</command>
+        <command label="Frodo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/frodo_libretro.so %ROM%</command>
+        <platform>c64</platform>
+        <theme>c64</theme>
+    </system>
+    <system>
+        <name>cavestory</name>
+        <fullname>Cave Story (NXEngine)</fullname>
+        <path>%ROMPATH%/cavestory</path>
+        <extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nxengine_libretro.so %ROM%</command>
+        <platform>cavestory</platform>
+        <theme>cavestory</theme>
+    </system>
+    <system>
+        <name>cdtv</name>
+        <fullname>Commodore CDTV</fullname>
+        <path>%ROMPATH%/cdtv</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>cdtv</platform>
+        <theme>cdtv</theme>
+    </system>
+    <system>
+        <name>chailove</name>
+        <fullname>ChaiLove game engine</fullname>
+        <path>%ROMPATH%/chailove</path>
+        <extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/chailove_libretro.so %ROM%</command>
+        <platform>love</platform>
+        <theme>chailove</theme>
+    </system>
+    <system>
+        <name>channelf</name>
+        <fullname>Fairchild Channel F</fullname>
+        <path>%ROMPATH%/channelf</path>
+        <extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freechaf_libretro.so %ROM%</command>
+        <platform>channelf</platform>
+        <theme>channelf</theme>
+    </system>
+    <system>
+        <name>coco</name>
+        <fullname>Tandy Color Computer</fullname>
+        <path>%ROMPATH%/coco</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>coco</platform>
+        <theme>coco</theme>
+    </system>
+    <system>
+        <name>colecovision</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
+        <platform>colecovision</platform>
+        <theme>colecovision</theme>
+    </system>
+    <system>
+        <name>daphne</name>
+        <fullname>Daphne Arcade Laserdisc Emulator</fullname>
+        <path>%ROMPATH%/daphne</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/daphne_libretro.so %ROM%</command>
+        <platform>daphne</platform>
+        <theme>daphne</theme>
+    </system>
+    <system>
+        <name>desktop</name>
+        <fullname>Desktop applications</fullname>
+        <path>%ROMPATH%/desktop</path>
+        <extension>.sh</extension>
+        <command>bash %ROM%</command>
+        <platform>pc</platform>
+        <theme>desktop</theme>
+    </system>
+    <system>
+        <name>doom</name>
+        <fullname>Doom</fullname>
+        <path>%ROMPATH%/doom</path>
+        <extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prboom_libretro.so %ROM%</command>
+        <platform>pc</platform>
+        <theme>doom</theme>
+    </system>
+    <system>
+        <name>dos</name>
+        <fullname>DOS (PC)</fullname>
+        <path>%ROMPATH%/dos</path>
+        <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.so %ROM%</command>
+        <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.so %ROM%</command>
+        <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_svn_libretro.so %ROM%</command>
+        <platform>dos</platform>
+        <theme>dos</theme>
+    </system>
+    <system>
+        <name>dragon32</name>
+        <fullname>Dragon 32</fullname>
+        <path>%ROMPATH%/dragon32</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>dragon32</platform>
+        <theme>dragon32</theme>
+    </system>
+    <system>
+        <name>dreamcast</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
+        <platform>dreamcast</platform>
+        <theme>dreamcast</theme>
+    </system>
+    <system>
+        <name>famicom</name>
+        <fullname>Nintendo Family Computer</fullname>
+        <path>%ROMPATH%/famicom</path>
+        <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.so %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.so %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quicknes_libretro.so %ROM%</command>
+        <platform>famicom</platform>
+        <theme>famicom</theme>
+    </system>
+    <system>
+        <name>fba</name>
+        <fullname>FinalBurn Alpha</fullname>
+        <path>%ROMPATH%/fba</path>
+        <extension>.iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%</command>
+        <command label="FB Alpha 2012 Neo Geo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_neogeo_libretro.so
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-1">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_cps1_libretro.so
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-2">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_cps2_libretro.so
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-3">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_cps3_libretro.so
+            %ROM%
+        </command>
+        <platform>arcade</platform>
+        <theme>fba</theme>
+    </system>
+    <system>
+        <name>fbneo</name>
+        <fullname>FinalBurn Neo</fullname>
+        <path>%ROMPATH%/fbneo</path>
+        <extension>.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%</command>
+        <platform>arcade</platform>
+        <theme>fbneo</theme>
+    </system>
+    <system>
+        <name>fds</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
+        <platform>fds</platform>
+        <theme>fds</theme>
+    </system>
+    <system>
+        <name>gameandwatch</name>
+        <fullname>Nintendo Game and Watch</fullname>
+        <path>%ROMPATH%/gameandwatch</path>
+        <extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.so %ROM%</command>
+        <platform>gameandwatch</platform>
+        <theme>gameandwatch</theme>
+    </system>
+    <system>
+        <name>gamegear</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
+        <platform>gamegear</platform>
+        <theme>gamegear</theme>
+    </system>
+    <system>
+        <name>gb</name>
+        <fullname>Nintendo Game Boy</fullname>
+        <path>%ROMPATH%/gb</path>
+        <extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM%</command>
+        <platform>gb</platform>
+        <theme>gb</theme>
+    </system>
+    <system>
+        <name>gba</name>
+        <fullname>Nintendo Game Boy Advance</fullname>
+        <path>%ROMPATH%/gba</path>
+        <extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_gba_libretro.so %ROM%</command>
+        <platform>gba</platform>
+        <theme>gba</theme>
+    </system>
+    <system>
+        <name>gbc</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM%</command>
+        <platform>gbc</platform>
+        <theme>gbc</theme>
+    </system>
+    <system>
+        <name>gc</name>
+        <fullname>Nintendo GameCube</fullname>
+        <path>%ROMPATH%/gc</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command>
+        <platform>gc</platform>
+        <theme>gc</theme>
+    </system>
+    <system>
+        <name>genesis</name>
+        <fullname>Sega Genesis</fullname>
+        <path>%ROMPATH%/genesis</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx
+            .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so
+            %ROM%
+        </command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
+        <command label="BlastEm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/blastem_libretro.so %ROM%</command>
+        <platform>genesis</platform>
+        <theme>genesis</theme>
+    </system>
+    <system>
+        <name>gx4000</name>
+        <fullname>Amstrad GX4000</fullname>
+        <path>%ROMPATH%/gx4000</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>gx4000</platform>
+        <theme>gx4000</theme>
+    </system>
+    <system>
+        <name>intellivision</name>
+        <fullname>Mattel Electronics Intellivision</fullname>
+        <path>%ROMPATH%/intellivision</path>
+        <extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freeintv_libretro.so %ROM%</command>
+        <platform>intellivision</platform>
+        <theme>intellivision</theme>
+    </system>
+    <system>
+        <name>kodi</name>
+        <fullname>Kodi home theatre software</fullname>
+        <path>%ROMPATH%/kodi</path>
+        <extension>.sh</extension>
+        <command>bash %ROM%</command>
+        <platform>pc</platform>
+        <theme>kodi</theme>
+    </system>
+    <system>
+        <name>lutris</name>
+        <fullname>Lutris open gaming platform</fullname>
+        <path>%ROMPATH%/lutris</path>
+        <extension>.sh</extension>
+        <command>bash %ROM%</command>
+        <platform>pc</platform>
+        <theme>lutris</theme>
+    </system>
+    <system>
+        <name>lutro</name>
+        <fullname>Lutro game engine</fullname>
+        <path>%ROMPATH%/lutro</path>
+        <extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/lutro_libretro.so %ROM%</command>
+        <platform>lutro</platform>
+        <theme>lutro</theme>
+    </system>
+    <system>
+        <name>macintosh</name>
+        <fullname>Apple Macintosh</fullname>
+        <path>%ROMPATH%/macintosh</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>macintosh</platform>
+        <theme>macintosh</theme>
+    </system>
+    <system>
+        <name>mame</name>
+        <fullname>Multiple Arcade Machine Emulator</fullname>
+        <path>%ROMPATH%/mame</path>
+        <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command label="MAME 2003-Plus">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
+        </command>
+        <command label="MAME 2000">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%</command>
+        <command label="MAME 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%</command>
+        <command label="MAME - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM%</command>
+        <command label="FinalBurn Neo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%</command>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame</theme>
+    </system>
+    <system>
+        <name>mame-advmame</name>
+        <fullname>AdvanceMAME</fullname>
+        <path>%ROMPATH%/mame-advmame</path>
+        <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame-advmame</theme>
+    </system>
+    <system>
+        <name>mame-mame4all</name>
+        <fullname>MAME4ALL</fullname>
+        <path>%ROMPATH%/mame-mame4all</path>
+        <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame-mame4all</theme>
+    </system>
+    <system>
+        <name>mastersystem</name>
+        <fullname>Sega Master System</fullname>
+        <path>%ROMPATH%/mastersystem</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .col .COL .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md
+            .MD .mdx .MDX .rom .ROM .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so
+            %ROM%
+        </command>
+        <command label="SMS Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/smsplus_libretro.so %ROM%</command>
+        <command label="Gearsystem">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM%</command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
+        <platform>mastersystem</platform>
+        <theme>mastersystem</theme>
+    </system>
+    <system>
+        <name>megacd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
+        <platform>segacd</platform>
+        <theme>megacd</theme>
+    </system>
+    <system>
+        <name>megacdjp</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
+        <platform>segacd</platform>
+        <theme>megacdjp</theme>
+    </system>
+    <system>
+        <name>megadrive</name>
+        <fullname>Sega Mega Drive</fullname>
+        <path>%ROMPATH%/megadrive</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx
+            .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so
+            %ROM%
+        </command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
+        <command label="BlastEm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/blastem_libretro.so %ROM%</command>
+        <platform>megadrive</platform>
+        <theme>megadrive</theme>
+    </system>
+    <system>
+        <name>mess</name>
+        <fullname>Multi Emulator Super System</fullname>
+        <path>%ROMPATH%/mess</path>
+        <extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mess2015_libretro.so %ROM%</command>
+        <platform>mess</platform>
+        <theme>mess</theme>
+    </system>
+    <system>
+        <name>moonlight</name>
+        <fullname>Moonlight game streaming</fullname>
+        <path>%ROMPATH%/moonlight</path>
+        <extension>.moonlight .MOONLIGHT .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>moonlight</platform>
+        <theme>moonlight</theme>
+    </system>
+    <system>
+        <name>moto</name>
+        <fullname>Thomson MO/TO series</fullname>
+        <path>%ROMPATH%/moto</path>
+        <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.so %ROM%</command>
+        <platform>moto</platform>
+        <theme>moto</theme>
+    </system>
+    <system>
+        <name>msx</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
+        <platform>msx</platform>
+        <theme>msx</theme>
+    </system>
+    <system>
+        <name>msx1</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
+        <platform>msx</platform>
+        <theme>msx1</theme>
+    </system>
+    <system>
+        <name>msx2</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
+        <platform>msx2</platform>
+        <theme>msx2</theme>
+    </system>
+    <system>
+        <name>msxturbor</name>
+        <fullname>MSX Turbo R</fullname>
+        <path>%ROMPATH%/msxturbor</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
+        <platform>msxturbor</platform>
+        <theme>msxturbor</theme>
+    </system>
+    <system>
+        <name>multivision</name>
+        <fullname>Othello Multivision</fullname>
+        <path>%ROMPATH%/multivision</path>
+        <extension>.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM%</command>
+        <platform>sg-1000</platform>
+        <theme>multivision</theme>
+    </system>
+    <system>
+        <name>n3ds</name>
+        <fullname>Nintendo 3DS</fullname>
+        <path>%ROMPATH%/n3ds</path>
+        <extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/citra_libretro.so %ROM%</command>
+        <platform>n3ds</platform>
+        <theme>n3ds</theme>
+    </system>
+    <system>
+        <name>n64</name>
+        <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 label="Mupen64Plus-Next">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mupen64plus_next_libretro.so %ROM%
+        </command>
+        <command label="ParaLLEl N64">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.so %ROM%</command>
+        <platform>n64</platform>
+        <theme>n64</theme>
+    </system>
+    <system>
+        <name>naomi</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
+        <platform>naomi</platform>
+        <theme>naomi</theme>
+    </system>
+    <system>
+        <name>naomigd</name>
+        <fullname>Sega NAOMI GD-ROM</fullname>
+        <path>%ROMPATH%/naomigd</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM%</command>
+        <platform>naomi</platform>
+        <theme>naomigd</theme>
+    </system>
+    <system>
+        <name>nds</name>
+        <fullname>Nintendo DS</fullname>
+        <path>%ROMPATH%/nds</path>
+        <extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/melonds_libretro.so %ROM%</command>
+        <platform>nds</platform>
+        <theme>nds</theme>
+    </system>
+    <system>
+        <name>neogeo</name>
+        <fullname>SNK Neo Geo</fullname>
+        <path>%ROMPATH%/neogeo</path>
+        <extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%</command>
+        <platform>neogeo</platform>
+        <theme>neogeo</theme>
+    </system>
+    <system>
+        <name>neogeocd</name>
+        <fullname>SNK Neo Geo CD</fullname>
+        <path>%ROMPATH%/neogeocd</path>
+        <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.so %ROM%</command>
+        <platform>neogeocd</platform>
+        <theme>neogeocd</theme>
+    </system>
+    <system>
+        <name>neogeocdjp</name>
+        <fullname>SNK Neo Geo CD</fullname>
+        <path>%ROMPATH%/neogeocdjp</path>
+        <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.so %ROM%</command>
+        <platform>neogeocd</platform>
+        <theme>neogeocdjp</theme>
+    </system>
+    <system>
+        <name>nes</name>
+        <fullname>Nintendo Entertainment System</fullname>
+        <path>%ROMPATH%/nes</path>
+        <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.so %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.so %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quicknes_libretro.so %ROM%</command>
+        <platform>nes</platform>
+        <theme>nes</theme>
+    </system>
+    <system>
+        <name>ngp</name>
+        <fullname>SNK Neo Geo Pocket</fullname>
+        <path>%ROMPATH%/ngp</path>
+        <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.so %ROM%</command>
+        <platform>ngp</platform>
+        <theme>ngp</theme>
+    </system>
+    <system>
+        <name>ngpc</name>
+        <fullname>SNK Neo Geo Pocket Color</fullname>
+        <path>%ROMPATH%/ngpc</path>
+        <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.so %ROM%</command>
+        <platform>ngpc</platform>
+        <theme>ngpc</theme>
+    </system>
+    <system>
+        <name>odyssey2</name>
+        <fullname>Magnavox Odyssey2</fullname>
+        <path>%ROMPATH%/odyssey2</path>
+        <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.so %ROM%</command>
+        <platform>odyssey2</platform>
+        <theme>odyssey2</theme>
+    </system>
+    <system>
+        <name>openbor</name>
+        <fullname>OpenBOR game engine</fullname>
+        <path>%ROMPATH%/openbor</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>openbor</platform>
+        <theme>openbor</theme>
+    </system>
+    <system>
+        <name>oric</name>
+        <fullname>Tangerine Computer Systems Oric</fullname>
+        <path>%ROMPATH%/oric</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>oric</platform>
+        <theme>oric</theme>
+    </system>
+    <system>
+        <name>palm</name>
+        <fullname>Palm OS</fullname>
+        <path>%ROMPATH%/palm</path>
+        <extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mu_libretro.so %ROM%</command>
+        <platform>palm</platform>
+        <theme>palm</theme>
+    </system>
+    <system>
+        <name>pc</name>
+        <fullname>IBM PC</fullname>
+        <path>%ROMPATH%/pc</path>
+        <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_core_libretro.so %ROM%</command>
+        <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.so %ROM%</command>
+        <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_svn_libretro.so %ROM%</command>
+        <platform>pc</platform>
+        <theme>pc</theme>
+    </system>
+    <system>
+        <name>pc88</name>
+        <fullname>NEC PC-8800 series</fullname>
+        <path>%ROMPATH%/pc88</path>
+        <extension>.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/quasi88_libretro.so %ROM%</command>
+        <platform>pc88</platform>
+        <theme>pc88</theme>
+    </system>
+    <system>
+        <name>pc98</name>
+        <fullname>NEC PC-9800 series</fullname>
+        <path>%ROMPATH%/pc98</path>
+        <extension>.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/np2kai_libretro.so %ROM%</command>
+        <platform>pc98</platform>
+        <theme>pc98</theme>
+    </system>
+    <system>
+        <name>pcengine</name>
+        <fullname>NEC PC Engine</fullname>
+        <path>%ROMPATH%/pcengine</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM%
+        </command>
+        <platform>pcengine</platform>
+        <theme>pcengine</theme>
+    </system>
+    <system>
+        <name>pcenginecd</name>
+        <fullname>NEC PC Engine CD</fullname>
+        <path>%ROMPATH%/pcenginecd</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM%
+        </command>
+        <platform>pcenginecd</platform>
+        <theme>pcenginecd</theme>
+    </system>
+    <system>
+        <name>pcfx</name>
+        <fullname>NEC PC-FX</fullname>
+        <path>%ROMPATH%/pcfx</path>
+        <extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pcfx_libretro.so %ROM%</command>
+        <platform>pcfx</platform>
+        <theme>pcfx</theme>
+    </system>
+    <system>
+        <name>pokemini</name>
+        <fullname>Nintendo Pokémon Mini</fullname>
+        <path>%ROMPATH%/pokemini</path>
+        <extension>.min .MIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pokemini_libretro.so %ROM%</command>
+        <platform>pokemini</platform>
+        <theme>pokemini</theme>
+    </system>
+    <system>
+        <name>ports</name>
+        <fullname>Ports</fullname>
+        <path>%ROMPATH%/ports</path>
+        <extension>.sh</extension>
+        <command>bash %ROM%</command>
+        <platform>pc</platform>
+        <theme>ports</theme>
+    </system>
+    <system>
+        <name>ps2</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx2_libretro.so %ROM%</command>
+        <platform>ps2</platform>
+        <theme>ps2</theme>
+    </system>
+    <system>
+        <name>ps3</name>
+        <fullname>Sony PlayStation 3</fullname>
+        <path>%ROMPATH%/ps3</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps3</platform>
+        <theme>ps3</theme>
+    </system>
+    <system>
+        <name>ps4</name>
+        <fullname>Sony PlayStation 4</fullname>
+        <path>%ROMPATH%/ps4</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps4</platform>
+        <theme>ps4</theme>
+    </system>
+    <system>
+        <name>psp</name>
+        <fullname>Sony PlayStation Portable</fullname>
+        <path>%ROMPATH%/psp</path>
+        <extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/ppsspp_libretro.so %ROM%</command>
+        <platform>psp</platform>
+        <theme>psp</theme>
+    </system>
+    <system>
+        <name>psvita</name>
+        <fullname>Sony PlayStation Vita</fullname>
+        <path>%ROMPATH%/psvita</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>psvita</platform>
+        <theme>psvita</theme>
+    </system>
+    <system>
+        <name>psx</name>
+        <fullname>Sony PlayStation</fullname>
+        <path>%ROMPATH%/psx</path>
+        <extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U
+            .mdf .MDF .mds .MDS .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PSX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_libretro.so %ROM%</command>
+        <command label="Beetle PSX HW">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_hw_libretro.so %ROM%
+        </command>
+        <command label="PCSX ReARMed">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx_rearmed_libretro.so %ROM%</command>
+        <command label="DuckStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/duckstation_libretro.so %ROM%</command>
+        <platform>psx</platform>
+        <theme>psx</theme>
+    </system>
+    <system>
+        <name>residualvm</name>
+        <fullname>ResidualVM game engine</fullname>
+        <path>%ROMPATH%/residualvm</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>residualvm</platform>
+        <theme>residualvm</theme>
+    </system>
+    <system>
+        <name>samcoupe</name>
+        <fullname>SAM Coupé</fullname>
+        <path>%ROMPATH%/samcoupe</path>
+        <extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/simcp_libretro.so %ROM%</command>
+        <platform>samcoupe</platform>
+        <theme>samcoupe</theme>
+    </system>
+    <system>
+        <name>satellaview</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
+        <platform>satellaview</platform>
+        <theme>satellaview</theme>
+    </system>
+    <system>
+        <name>saturn</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.so %ROM%</command>
+        <platform>saturn</platform>
+        <theme>saturn</theme>
+    </system>
+    <system>
+        <name>saturnjp</name>
+        <fullname>Sega Saturn</fullname>
+        <path>%ROMPATH%/saturnjp</path>
+        <extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.so %ROM%</command>
+        <platform>saturn</platform>
+        <theme>saturnjp</theme>
+    </system>
+    <system>
+        <name>scummvm</name>
+        <fullname>ScummVM game engine</fullname>
+        <path>%ROMPATH%/scummvm</path>
+        <extension>.scummvm .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/scummvm_libretro.so %ROM%</command>
+        <platform>scummvm</platform>
+        <theme>scummvm</theme>
+    </system>
+    <system>
+        <name>sega32x</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32x</theme>
+    </system>
+    <system>
+        <name>sega32xjp</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32xjp</theme>
+    </system>
+    <system>
+        <name>sega32xna</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32xna</theme>
+    </system>
+    <system>
+        <name>segacd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
+        <platform>segacd</platform>
+        <theme>segacd</theme>
+    </system>
+    <system>
+        <name>sg-1000</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_libretro.so %ROM%</command>
+        <platform>sg-1000</platform>
+        <theme>sg-1000</theme>
+    </system>
+    <system>
+        <name>snes</name>
+        <fullname>Nintendo SNES (Super Nintendo)</fullname>
+        <path>%ROMPATH%/snes</path>
+        <extension>.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC
+            .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Snes9x - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
+        <command label="Snes9x 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x2010_libretro.so %ROM%</command>
+        <command label="bsnes">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM%</command>
+        <command label="bsnes-mercury Accuracy">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/bsnes_mercury_accuracy_libretro.so %ROM%
+        </command>
+        <command label="Beetle Supafaust">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supafaust_libretro.so
+            %ROM%
+        </command>
+        <command label="Mesen-S">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM%</command>
+        <platform>snes</platform>
+        <theme>snes</theme>
+    </system>
+    <system>
+        <name>snesna</name>
+        <fullname>Nintendo SNES (Super Nintendo)</fullname>
+        <path>%ROMPATH%/snesna</path>
+        <extension>.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC
+            .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Snes9x - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
+        <command label="Snes9x 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x2010_libretro.so %ROM%</command>
+        <command label="bsnes">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM%</command>
+        <command label="bsnes-mercury Accuracy">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%/bsnes_mercury_accuracy_libretro.so %ROM%
+        </command>
+        <command label="Beetle Supafaust">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supafaust_libretro.so
+            %ROM%
+        </command>
+        <command label="Mesen-S">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM%</command>
+        <platform>snes</platform>
+        <theme>snesna</theme>
+    </system>
+    <system>
+        <name>solarus</name>
+        <fullname>Solarus game engine</fullname>
+        <path>%ROMPATH%/solarus</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>solarus</platform>
+        <theme>solarus</theme>
+    </system>
+    <system>
+        <name>spectravideo</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM%</command>
+        <platform>spectravideo</platform>
+        <theme>spectravideo</theme>
+    </system>
+    <system>
+        <name>steam</name>
+        <fullname>Valve Steam</fullname>
+        <path>%ROMPATH%/steam</path>
+        <extension>.sh</extension>
+        <command>bash %ROM%</command>
+        <platform>steam</platform>
+        <theme>steam</theme>
+    </system>
+    <system>
+        <name>stratagus</name>
+        <fullname>Stratagus game engine</fullname>
+        <path>%ROMPATH%/stratagus</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>stratagus</platform>
+        <theme>stratagus</theme>
+    </system>
+    <system>
+        <name>sufami</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/snes9x_libretro.so %ROM%</command>
+        <platform>sufami</platform>
+        <theme>sufami</theme>
+    </system>
+    <system>
+        <name>supergrafx</name>
+        <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 label="Beetle SuperGrafx">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supergrafx_libretro.so
+            %ROM%
+        </command>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
+        <platform>supergrafx</platform>
+        <theme>supergrafx</theme>
+    </system>
+    <system>
+        <name>switch</name>
+        <fullname>Nintendo Switch</fullname>
+        <path>%ROMPATH%/switch</path>
+        <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension>
+        <command label="Yuzu (Standalone)">%EMULATOR_YUZU% %ROM%</command>
+        <platform>switch</platform>
+        <theme>switch</theme>
+    </system>
+    <system>
+        <name>tanodragon</name>
+        <fullname>Tano Dragon</fullname>
+        <path>%ROMPATH%/tanodragon</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>dragon32</platform>
+        <theme>tanodragon</theme>
+    </system>
+    <system>
+        <name>tg16</name>
+        <fullname>NEC TurboGrafx-16</fullname>
+        <path>%ROMPATH%/tg16</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM%
+        </command>
+        <platform>pcengine</platform>
+        <theme>tg16</theme>
+    </system>
+    <system>
+        <name>tg-cd</name>
+        <fullname>NEC TurboGrafx-CD</fullname>
+        <path>%ROMPATH%/tg-cd</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM%
+        </command>
+        <platform>pcenginecd</platform>
+        <theme>tg-cd</theme>
+    </system>
+    <system>
+        <name>ti99</name>
+        <fullname>Texas Instruments TI-99</fullname>
+        <path>%ROMPATH%/ti99</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ti99</platform>
+        <theme>ti99</theme>
+    </system>
+    <system>
+        <name>tic80</name>
+        <fullname>TIC-80 game engine</fullname>
+        <path>%ROMPATH%/tic80</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>tic80</platform>
+        <theme>tic80</theme>
+    </system>
+    <system>
+        <name>to8</name>
+        <fullname>Thomson TO8</fullname>
+        <path>%ROMPATH%/to8</path>
+        <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.so %ROM%</command>
+        <platform>moto</platform>
+        <theme>to8</theme>
+    </system>
+    <system>
+        <name>trs-80</name>
+        <fullname>Tandy TRS-80</fullname>
+        <path>%ROMPATH%/trs-80</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>trs-80</platform>
+        <theme>trs-80</theme>
+    </system>
+    <system>
+        <name>uzebox</name>
+        <fullname>Uzebox</fullname>
+        <path>%ROMPATH%/uzebox</path>
+        <extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/uzem_libretro.so %ROM%</command>
+        <platform>uzebox</platform>
+        <theme>uzebox</theme>
+    </system>
+    <system>
+        <name>vectrex</name>
+        <fullname>Vectrex</fullname>
+        <path>%ROMPATH%/vectrex</path>
+        <extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vecx_libretro.so %ROM%</command>
+        <platform>vectrex</platform>
+        <theme>vectrex</theme>
+    </system>
+    <system>
+        <name>videopac</name>
+        <fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
+        <path>%ROMPATH%/videopac</path>
+        <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.so %ROM%</command>
+        <platform>videopac</platform>
+        <theme>videopac</theme>
+    </system>
+    <system>
+        <name>virtualboy</name>
+        <fullname>Nintendo Virtual Boy</fullname>
+        <path>%ROMPATH%/virtualboy</path>
+        <extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_vb_libretro.so %ROM%</command>
+        <platform>virtualboy</platform>
+        <theme>virtualboy</theme>
+    </system>
+    <system>
+        <name>wii</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command>
+        <platform>wii</platform>
+        <theme>wii</theme>
+    </system>
+    <system>
+        <name>wiiu</name>
+        <fullname>Nintendo Wii U</fullname>
+        <path>%ROMPATH%/wiiu</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>wiiu</platform>
+        <theme>wiiu</theme>
+    </system>
+    <system>
+        <name>wonderswan</name>
+        <fullname>Bandai WonderSwan</fullname>
+        <path>%ROMPATH%/wonderswan</path>
+        <extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.so %ROM%</command>
+        <platform>wonderswan</platform>
+        <theme>wonderswan</theme>
+    </system>
+    <system>
+        <name>wonderswancolor</name>
+        <fullname>Bandai WonderSwan Color</fullname>
+        <path>%ROMPATH%/wonderswancolor</path>
+        <extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.so %ROM%</command>
+        <platform>wonderswancolor</platform>
+        <theme>wonderswancolor</theme>
+    </system>
+    <system>
+        <name>x1</name>
+        <fullname>Sharp X1</fullname>
+        <path>%ROMPATH%/x1</path>
+        <extension>.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/x1_libretro.so %ROM%</command>
+        <platform>x1</platform>
+        <theme>x1</theme>
+    </system>
+    <system>
+        <name>x68000</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM%</command>
+        <platform>x68000</platform>
+        <theme>x68000</theme>
+    </system>
+    <system>
+        <name>xbox</name>
+        <fullname>Microsoft Xbox</fullname>
+        <path>%ROMPATH%/xbox</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>xbox</platform>
+        <theme>xbox</theme>
+    </system>
+    <system>
+        <name>xbox360</name>
+        <fullname>Microsoft Xbox 360</fullname>
+        <path>%ROMPATH%/xbox360</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>xbox360</platform>
+        <theme>xbox360</theme>
+    </system>
+    <system>
+        <name>zmachine</name>
+        <fullname>Infocom Z-machine</fullname>
+        <path>%ROMPATH%/zmachine</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>zmachine</platform>
+        <theme>zmachine</theme>
+    </system>
+    <system>
+        <name>zx81</name>
+        <fullname>Sinclair ZX81</fullname>
+        <path>%ROMPATH%/zx81</path>
+        <extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/81_libretro.so %ROM%</command>
+        <platform>zx81</platform>
+        <theme>zx81</theme>
+    </system>
+    <system>
+        <name>zxspectrum</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fuse_libretro.so %ROM%</command>
+        <platform>zxspectrum</platform>
+        <theme>zxspectrum</theme>
+    </system>
+</systemList>
\ No newline at end of file
diff --git a/resources/systems/windows/es_find_rules.xml b/resources/systems/windows/es_find_rules.xml
index dc90587c1..1eb6cebbf 100644
--- a/resources/systems/windows/es_find_rules.xml
+++ b/resources/systems/windows/es_find_rules.xml
@@ -1,46 +1,46 @@
 <?xml version="1.0"?>
 <!-- This is the ES-DE find rules configuration file for Windows -->
 <ruleList>
-  <emulator name="RETROARCH">
-    <rule type="winregistrypath">
-      <!-- Check for an App Paths entry in the Windows Registry -->
-      <entry>retroarch.exe</entry>
-    </rule>
-    <rule type="systempath">
-      <!-- This requires that the user has manually updated the Path variable -->
-      <entry>retroarch.exe</entry>
-    </rule>
-    <rule type="staticpath">
-      <!-- Some reasonable installation locations as fallback -->
-      <entry>C:\RetroArch-Win64\retroarch.exe</entry>
-      <entry>C:\RetroArch\retroarch.exe</entry>
-      <entry>~\AppData\Roaming\RetroArch\retroarch.exe</entry>
-      <entry>C:\Program Files\RetroArch-Win64\retroarch.exe</entry>
-      <entry>C:\Program Files\RetroArch\retroarch.exe</entry>
-      <entry>C:\Program Files (x86)\RetroArch-Win64\retroarch.exe</entry>
-      <entry>C:\Program Files (x86)\RetroArch\retroarch.exe</entry>
-      <!-- Portable installation -->
-      <entry>%ESPATH%\RetroArch-Win64\retroarch.exe</entry>
-      <entry>%ESPATH%\RetroArch\retroarch.exe</entry>
-      <entry>%ESPATH%\..\RetroArch-Win64\retroarch.exe</entry>
-      <entry>%ESPATH%\..\RetroArch\retroarch.exe</entry>
-    </rule>
-  </emulator>
-  <emulator name="YUZU">
-    <!-- Nintendo Switch emulator Yuzu -->
-    <rule type="systempath">
-      <entry>yuzu.exe</entry>
-    </rule>
-    <rule type="staticpath">
-      <entry>~\AppData\Local\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
-      <!-- Portable installation -->
-      <entry>%ESPATH%\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
-      <entry>%ESPATH%\..\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
-    </rule>
-  </emulator>
-  <core name="RETROARCH">
-    <rule type="corepath">
-      <entry>%EMUPATH%\cores</entry>
-    </rule>
-  </core>
-</ruleList>
+    <emulator name="RETROARCH">
+        <rule type="winregistrypath">
+            <!-- Check for an App Paths entry in the Windows Registry -->
+            <entry>retroarch.exe</entry>
+        </rule>
+        <rule type="systempath">
+            <!-- This requires that the user has manually updated the Path variable -->
+            <entry>retroarch.exe</entry>
+        </rule>
+        <rule type="staticpath">
+            <!-- Some reasonable installation locations as fallback -->
+            <entry>C:\RetroArch-Win64\retroarch.exe</entry>
+            <entry>C:\RetroArch\retroarch.exe</entry>
+            <entry>~\AppData\Roaming\RetroArch\retroarch.exe</entry>
+            <entry>C:\Program Files\RetroArch-Win64\retroarch.exe</entry>
+            <entry>C:\Program Files\RetroArch\retroarch.exe</entry>
+            <entry>C:\Program Files (x86)\RetroArch-Win64\retroarch.exe</entry>
+            <entry>C:\Program Files (x86)\RetroArch\retroarch.exe</entry>
+            <!-- Portable installation -->
+            <entry>%ESPATH%\RetroArch-Win64\retroarch.exe</entry>
+            <entry>%ESPATH%\RetroArch\retroarch.exe</entry>
+            <entry>%ESPATH%\..\RetroArch-Win64\retroarch.exe</entry>
+            <entry>%ESPATH%\..\RetroArch\retroarch.exe</entry>
+        </rule>
+    </emulator>
+    <emulator name="YUZU">
+        <!-- Nintendo Switch emulator Yuzu -->
+        <rule type="systempath">
+            <entry>yuzu.exe</entry>
+        </rule>
+        <rule type="staticpath">
+            <entry>~\AppData\Local\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
+            <!-- Portable installation -->
+            <entry>%ESPATH%\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
+            <entry>%ESPATH%\..\yuzu\yuzu-windows-msvc\yuzu.exe</entry>
+        </rule>
+    </emulator>
+    <core name="RETROARCH">
+        <rule type="corepath">
+            <entry>%EMUPATH%\cores</entry>
+        </rule>
+    </core>
+</ruleList>
\ No newline at end of file
diff --git a/resources/systems/windows/es_systems.xml b/resources/systems/windows/es_systems.xml
index 495b9683e..6ed187456 100644
--- a/resources/systems/windows/es_systems.xml
+++ b/resources/systems/windows/es_systems.xml
@@ -1,1255 +1,1375 @@
 <?xml version="1.0"?>
 <!-- This is the ES-DE game systems configuration file for Windows -->
 <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\4do_libretro.dll %ROM%</command>
-    <platform>3do</platform>
-    <theme>3do</theme>
-  </system>
-  <system>
-    <name>64dd</name>
-    <fullname>Nintendo 64DD</fullname>
-    <path>%ROMPATH%\64dd</path>
-    <extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mupen64plus_next_libretro.dll %ROM%</command>
-    <platform>n64</platform>
-    <theme>64dd</theme>
-  </system>
-  <system>
-    <name>ags</name>
-    <fullname>Adventure Game Studio game engine</fullname>
-    <path>%ROMPATH%\ags</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ags</platform>
-    <theme>ags</theme>
-  </system>
-  <system>
-    <name>amiga</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga</theme>
-  </system>
-  <system>
-    <name>amiga600</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga600</theme>
-  </system>
-  <system>
-    <name>amiga1200</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
-    <platform>amiga</platform>
-    <theme>amiga1200</theme>
-  </system>
-  <system>
-    <name>amigacd32</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
-    <platform>amigacd32</platform>
-    <theme>amigacd32</theme>
-  </system>
-  <system>
-    <name>amstradcpc</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\cap32_libretro.dll %ROM%</command>
-    <platform>amstradcpc</platform>
-    <theme>amstradcpc</theme>
-  </system>
-  <system>
-    <name>apple2</name>
-    <fullname>Apple II</fullname>
-    <path>%ROMPATH%\apple2</path>
-    <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>apple2</platform>
-    <theme>apple2</theme>
-  </system>
-  <system>
-    <name>apple2gs</name>
-    <fullname>Apple IIGS</fullname>
-    <path>%ROMPATH%\apple2gs</path>
-    <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>apple2gs</platform>
-    <theme>apple2gs</theme>
-  </system>
-  <system>
-    <name>arcade</name>
-    <fullname>Arcade</fullname>
-    <path>%ROMPATH%\arcade</path>
-    <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame_libretro.dll %ROM%</command>
-    <platform>arcade</platform>
-    <theme>arcade</theme>
-  </system>
-  <system>
-    <name>astrocade</name>
-    <fullname>Bally Astrocade</fullname>
-    <path>%ROMPATH%\astrocade</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>astrocade</platform>
-    <theme>astrocade</theme>
-  </system>
-  <system>
-    <name>atari2600</name>
-    <fullname>Atari 2600</fullname>
-    <path>%ROMPATH%\atari2600</path>
-    <extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\stella_libretro.dll %ROM%</command>
-    <platform>atari2600</platform>
-    <theme>atari2600</theme>
-  </system>
-  <system>
-    <name>atari5200</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\atari800_libretro.dll %ROM%</command>
-    <platform>atari5200</platform>
-    <theme>atari5200</theme>
-  </system>
-  <system>
-    <name>atari7800</name>
-    <fullname>Atari 7800 ProSystem</fullname>
-    <path>%ROMPATH%\atari7800</path>
-    <extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\prosystem_libretro.dll %ROM%</command>
-    <platform>atari7800</platform>
-    <theme>atari7800</theme>
-  </system>
-  <system>
-    <name>atari800</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\atari800_libretro.dll %ROM%</command>
-    <platform>atari800</platform>
-    <theme>atari800</theme>
-  </system>
-  <system>
-    <name>atarijaguar</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\virtualjaguar_libretro.dll %ROM%</command>
-    <platform>atarijaguar, atarijaguarcd</platform>
-    <theme>atarijaguar</theme>
-  </system>
-  <system>
-    <name>atarijaguarcd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\virtualjaguar_libretro.dll %ROM%</command>
-    <platform>atarijaguarcd</platform>
-    <theme>atarijaguarcd</theme>
-  </system>
-  <system>
-    <name>atarilynx</name>
-    <fullname>Atari Lynx</fullname>
-    <path>%ROMPATH%\atarilynx</path>
-    <extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_lynx_libretro.dll %ROM%</command>
-    <platform>atarilynx</platform>
-    <theme>atarilynx</theme>
-  </system>
-  <system>
-    <name>atarist</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\hatari_libretro.dll %ROM%</command>
-    <platform>atarist</platform>
-    <theme>atarist</theme>
-  </system>
-  <system>
-    <name>atarixe</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\atari800_libretro.dll %ROM%</command>
-    <platform>atarixe</platform>
-    <theme>atarixe</theme>
-  </system>
-  <system>
-    <name>atomiswave</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
-    <platform>atomiswave</platform>
-    <theme>atomiswave</theme>
-  </system>
-  <system>
-    <name>bbcmicro</name>
-    <fullname>BBC Micro</fullname>
-    <path>%ROMPATH%\bbcmicro</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>bbcmicro</platform>
-    <theme>bbcmicro</theme>
-  </system>
-  <system>
-    <name>c64</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vice_x64sc_libretro.dll %ROM%</command>
-    <platform>c64</platform>
-    <theme>c64</theme>
-  </system>
-  <system>
-    <name>cavestory</name>
-    <fullname>Cave Story (NXEngine)</fullname>
-    <path>%ROMPATH%\cavestory</path>
-    <extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nxengine_libretro.dll %ROM%</command>
-    <platform>cavestory</platform>
-    <theme>cavestory</theme>
-  </system>
-  <system>
-    <name>cdtv</name>
-    <fullname>Commodore CDTV</fullname>
-    <path>%ROMPATH%\cdtv</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>cdtv</platform>
-    <theme>cdtv</theme>
-  </system>
-  <system>
-    <name>chailove</name>
-    <fullname>ChaiLove game engine</fullname>
-    <path>%ROMPATH%\chailove</path>
-    <extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\chailove_libretro.dll %ROM%</command>
-    <platform>love</platform>
-    <theme>chailove</theme>
-  </system>
-  <system>
-    <name>channelf</name>
-    <fullname>Fairchild Channel F</fullname>
-    <path>%ROMPATH%\channelf</path>
-    <extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\freechaf_libretro.dll %ROM%</command>
-    <platform>channelf</platform>
-    <theme>channelf</theme>
-  </system>
-  <system>
-    <name>coco</name>
-    <fullname>Tandy Color Computer</fullname>
-    <path>%ROMPATH%\coco</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>coco</platform>
-    <theme>coco</theme>
-  </system>
-  <system>
-    <name>colecovision</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
-    <platform>colecovision</platform>
-    <theme>colecovision</theme>
-  </system>
-  <system>
-    <name>daphne</name>
-    <fullname>Daphne Arcade Laserdisc Emulator</fullname>
-    <path>%ROMPATH%\daphne</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\daphne_libretro.dll %ROM%</command>
-    <platform>daphne</platform>
-    <theme>daphne</theme>
-  </system>
-  <system>
-    <name>desktop</name>
-    <fullname>Desktop applications</fullname>
-    <path>%ROMPATH%\desktop</path>
-    <extension>.bat</extension>
-    <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
-    <platform>pc</platform>
-    <theme>desktop</theme>
-  </system>
-  <system>
-    <name>doom</name>
-    <fullname>Doom</fullname>
-    <path>%ROMPATH%\doom</path>
-    <extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\prboom_libretro.dll %ROM%</command>
-    <platform>pc</platform>
-    <theme>doom</theme>
-  </system>
-  <system>
-    <name>dos</name>
-    <fullname>DOS (PC)</fullname>
-    <path>%ROMPATH%\dos</path>
-    <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_core_libretro.dll %ROM%</command>
-    <platform>dos</platform>
-    <theme>dos</theme>
-  </system>
-  <system>
-    <name>dragon32</name>
-    <fullname>Dragon 32</fullname>
-    <path>%ROMPATH%\dragon32</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>dragon32</platform>
-    <theme>dragon32</theme>
-  </system>
-  <system>
-    <name>dreamcast</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
-    <platform>dreamcast</platform>
-    <theme>dreamcast</theme>
-  </system>
-  <system>
-    <name>famicom</name>
-    <fullname>Nintendo Family Computer</fullname>
-    <path>%ROMPATH%\famicom</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nestopia_libretro.dll %ROM%</command>
-    <platform>famicom</platform>
-    <theme>famicom</theme>
-  </system>
-  <system>
-    <name>fba</name>
-    <fullname>FinalBurn Alpha</fullname>
-    <path>%ROMPATH%\fba</path>
-    <extension>.iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_libretro.dll %ROM%</command>
-    <platform>arcade</platform>
-    <theme>fba</theme>
-  </system>
-  <system>
-    <name>fbneo</name>
-    <fullname>FinalBurn Neo</fullname>
-    <path>%ROMPATH%\fbneo</path>
-    <extension>.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbneo_libretro.dll %ROM%</command>
-    <platform>arcade</platform>
-    <theme>fbneo</theme>
-  </system>
-  <system>
-    <name>fds</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nestopia_libretro.dll %ROM%</command>
-    <platform>fds</platform>
-    <theme>fds</theme>
-  </system>
-  <system>
-    <name>gameandwatch</name>
-    <fullname>Nintendo Game and Watch</fullname>
-    <path>%ROMPATH%\gameandwatch</path>
-    <extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\gw_libretro.dll %ROM%</command>
-    <platform>gameandwatch</platform>
-    <theme>gameandwatch</theme>
-  </system>
-  <system>
-    <name>gamegear</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>gamegear</platform>
-    <theme>gamegear</theme>
-  </system>
-  <system>
-    <name>gb</name>
-    <fullname>Nintendo Game Boy</fullname>
-    <path>%ROMPATH%\gb</path>
-    <extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bsnes_libretro.dll %ROM%</command>
-    <platform>gb</platform>
-    <theme>gb</theme>
-  </system>
-  <system>
-    <name>gba</name>
-    <fullname>Nintendo Game Boy Advance</fullname>
-    <path>%ROMPATH%\gba</path>
-    <extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_gba_libretro.dll %ROM%</command>
-    <platform>gba</platform>
-    <theme>gba</theme>
-  </system>
-  <system>
-    <name>gbc</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bsnes_libretro.dll %ROM%</command>
-    <platform>gbc</platform>
-    <theme>gbc</theme>
-  </system>
-  <system>
-    <name>gc</name>
-    <fullname>Nintendo GameCube</fullname>
-    <path>%ROMPATH%\gc</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dolphin_libretro.dll %ROM%</command>
-    <platform>gc</platform>
-    <theme>gc</theme>
-  </system>
-  <system>
-    <name>genesis</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>genesis</platform>
-    <theme>genesis</theme>
-  </system>
-  <system>
-    <name>gx4000</name>
-    <fullname>Amstrad GX4000</fullname>
-    <path>%ROMPATH%\gx4000</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>gx4000</platform>
-    <theme>gx4000</theme>
-  </system>
-  <system>
-    <name>intellivision</name>
-    <fullname>Mattel Electronics Intellivision</fullname>
-    <path>%ROMPATH%\intellivision</path>
-    <extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\freeintv_libretro.dll %ROM%</command>
-    <platform>intellivision</platform>
-    <theme>intellivision</theme>
-  </system>
-  <system>
-    <name>kodi</name>
-    <fullname>Kodi home theatre software</fullname>
-    <path>%ROMPATH%\kodi</path>
-    <extension>.bat</extension>
-    <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
-    <platform>pc</platform>
-    <theme>kodi</theme>
-  </system>
-  <system>
-    <name>lutris</name>
-    <fullname>Lutris open gaming platform</fullname>
-    <path>%ROMPATH%\lutris</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>pc</platform>
-    <theme>lutris</theme>
-  </system>
-  <system>
-    <name>lutro</name>
-    <fullname>Lutro game engine</fullname>
-    <path>%ROMPATH%\lutro</path>
-    <extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\lutro_libretro.dll %ROM%</command>
-    <platform>lutro</platform>
-    <theme>lutro</theme>
-  </system>
-  <system>
-    <name>macintosh</name>
-    <fullname>Apple Macintosh</fullname>
-    <path>%ROMPATH%\macintosh</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>macintosh</platform>
-    <theme>macintosh</theme>
-  </system>
-  <system>
-    <name>mame</name>
-    <fullname>Multiple Arcade Machine Emulator</fullname>
-    <path>%ROMPATH%\mame</path>
-    <extension>.zip .ZIP .7z .7Z</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2003_plus_libretro.dll %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame</theme>
-  </system>
-  <system>
-    <name>mame-advmame</name>
-    <fullname>AdvanceMAME</fullname>
-    <path>%ROMPATH%\mame-advmame</path>
-    <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame-advmame</theme>
-  </system>
-  <system>
-    <name>mame-mame4all</name>
-    <fullname>MAME4ALL</fullname>
-    <path>%ROMPATH%\mame-mame4all</path>
-    <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>arcade</platform>
-    <theme>mame-mame4all</theme>
-  </system>
-  <system>
-    <name>mastersystem</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>mastersystem</platform>
-    <theme>mastersystem</theme>
-  </system>
-  <system>
-    <name>megacd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>segacd</platform>
-    <theme>megacd</theme>
-  </system>
-  <system>
-    <name>megacdjp</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>segacd</platform>
-    <theme>megacdjp</theme>
-  </system>
-  <system>
-    <name>megadrive</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>megadrive</platform>
-    <theme>megadrive</theme>
-  </system>
-  <system>
-    <name>mess</name>
-    <fullname>Multi Emulator Super System</fullname>
-    <path>%ROMPATH%\mess</path>
-    <extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mess2015_libretro.dll %ROM%</command>
-    <platform>mess</platform>
-    <theme>mess</theme>
-  </system>
-  <system>
-    <name>moonlight</name>
-    <fullname>Moonlight game streaming</fullname>
-    <path>%ROMPATH%\moonlight</path>
-    <extension>.moonlight .MOONLIGHT .7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>moonlight</platform>
-    <theme>moonlight</theme>
-  </system>
-  <system>
-    <name>moto</name>
-    <fullname>Thomson MO/TO series</fullname>
-    <path>%ROMPATH%\moto</path>
-    <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\theodore_libretro.dll %ROM%</command>
-    <platform>moto</platform>
-    <theme>moto</theme>
-  </system>
-  <system>
-    <name>msx</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
-    <platform>msx</platform>
-    <theme>msx</theme>
-  </system>
-  <system>
-    <name>msx1</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
-    <platform>msx</platform>
-    <theme>msx1</theme>
-  </system>
-  <system>
-    <name>msx2</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
-    <platform>msx2</platform>
-    <theme>msx2</theme>
-  </system>
-  <system>
-    <name>msxturbor</name>
-    <fullname>MSX Turbo R</fullname>
-    <path>%ROMPATH%\msxturbor</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
-    <platform>msxturbor</platform>
-    <theme>msxturbor</theme>
-  </system>
-  <system>
-    <name>multivision</name>
-    <fullname>Othello Multivision</fullname>
-    <path>%ROMPATH%\multivision</path>
-    <extension>.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\gearsystem_libretro.dll %ROM%</command>
-    <platform>sg-1000</platform>
-    <theme>multivision</theme>
-  </system>
-  <system>
-    <name>n3ds</name>
-    <fullname>Nintendo 3DS</fullname>
-    <path>%ROMPATH%\n3ds</path>
-    <extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\citra_libretro.dll %ROM%</command>
-    <platform>n3ds</platform>
-    <theme>n3ds</theme>
-  </system>
-  <system>
-    <name>n64</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mupen64plus_next_libretro.dll %ROM%</command>
-    <platform>n64</platform>
-    <theme>n64</theme>
-  </system>
-  <system>
-    <name>naomi</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
-    <platform>naomi</platform>
-    <theme>naomi</theme>
-  </system>
-  <system>
-    <name>naomigd</name>
-    <fullname>Sega NAOMI GD-ROM</fullname>
-    <path>%ROMPATH%\naomigd</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
-    <platform>naomi</platform>
-    <theme>naomigd</theme>
-  </system>
-  <system>
-    <name>nds</name>
-    <fullname>Nintendo DS</fullname>
-    <path>%ROMPATH%\nds</path>
-    <extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\melonds_libretro.dll %ROM%</command>
-    <platform>nds</platform>
-    <theme>nds</theme>
-  </system>
-  <system>
-    <name>neogeo</name>
-    <fullname>SNK Neo Geo</fullname>
-    <path>%ROMPATH%\neogeo</path>
-    <extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbneo_libretro.dll %ROM%</command>
-    <platform>neogeo</platform>
-    <theme>neogeo</theme>
-  </system>
-  <system>
-    <name>neogeocd</name>
-    <fullname>SNK Neo Geo CD</fullname>
-    <path>%ROMPATH%\neogeocd</path>
-    <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\neocd_libretro.dll %ROM%</command>
-    <platform>neogeocd</platform>
-    <theme>neogeocd</theme>
-  </system>
-  <system>
-    <name>neogeocdjp</name>
-    <fullname>SNK Neo Geo CD</fullname>
-    <path>%ROMPATH%\neogeocdjp</path>
-    <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\neocd_libretro.dll %ROM%</command>
-    <platform>neogeocd</platform>
-    <theme>neogeocdjp</theme>
-  </system>
-  <system>
-    <name>nes</name>
-    <fullname>Nintendo Entertainment System</fullname>
-    <path>%ROMPATH%\nes</path>
-    <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nestopia_libretro.dll %ROM%</command>
-    <platform>nes</platform>
-    <theme>nes</theme>
-  </system>
-  <system>
-    <name>ngp</name>
-    <fullname>SNK Neo Geo Pocket</fullname>
-    <path>%ROMPATH%\ngp</path>
-    <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_ngp_libretro.dll %ROM%</command>
-    <platform>ngp</platform>
-    <theme>ngp</theme>
-  </system>
-  <system>
-    <name>ngpc</name>
-    <fullname>SNK Neo Geo Pocket Color</fullname>
-    <path>%ROMPATH%\ngpc</path>
-    <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_ngp_libretro.dll %ROM%</command>
-    <platform>ngpc</platform>
-    <theme>ngpc</theme>
-  </system>
-  <system>
-    <name>odyssey2</name>
-    <fullname>Magnavox Odyssey2</fullname>
-    <path>%ROMPATH%\odyssey2</path>
-    <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\o2em_libretro.dll %ROM%</command>
-    <platform>odyssey2</platform>
-    <theme>odyssey2</theme>
-  </system>
-  <system>
-    <name>openbor</name>
-    <fullname>OpenBOR game engine</fullname>
-    <path>%ROMPATH%\openbor</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>openbor</platform>
-    <theme>openbor</theme>
-  </system>
-  <system>
-    <name>oric</name>
-    <fullname>Tangerine Computer Systems Oric</fullname>
-    <path>%ROMPATH%\oric</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>oric</platform>
-    <theme>oric</theme>
-  </system>
-  <system>
-    <name>palm</name>
-    <fullname>Palm OS</fullname>
-    <path>%ROMPATH%\palm</path>
-    <extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mu_libretro.dll %ROM%</command>
-    <platform>palm</platform>
-    <theme>palm</theme>
-  </system>
-  <system>
-    <name>pc</name>
-    <fullname>IBM PC</fullname>
-    <path>%ROMPATH%\pc</path>
-    <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_core_libretro.dll %ROM%</command>
-    <platform>pc</platform>
-    <theme>pc</theme>
-  </system>
-  <system>
-    <name>pc88</name>
-    <fullname>NEC PC-8800 series</fullname>
-    <path>%ROMPATH%\pc88</path>
-    <extension>.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\quasi88_libretro.dll %ROM%</command>
-    <platform>pc88</platform>
-    <theme>pc88</theme>
-  </system>
-  <system>
-    <name>pc98</name>
-    <fullname>NEC PC-9800 series</fullname>
-    <path>%ROMPATH%\pc98</path>
-    <extension>.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\np2kai_libretro.dll %ROM%</command>
-    <platform>pc98</platform>
-    <theme>pc98</theme>
-  </system>
-  <system>
-    <name>pcengine</name>
-    <fullname>NEC PC Engine</fullname>
-    <path>%ROMPATH%\pcengine</path>
-    <extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
-    <platform>pcengine</platform>
-    <theme>pcengine</theme>
-  </system>
-  <system>
-    <name>pcenginecd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
-    <platform>pcenginecd</platform>
-    <theme>pcenginecd</theme>
-  </system>
-  <system>
-    <name>pcfx</name>
-    <fullname>NEC PC-FX</fullname>
-    <path>%ROMPATH%\pcfx</path>
-    <extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pcfx_libretro.dll %ROM%</command>
-    <platform>pcfx</platform>
-    <theme>pcfx</theme>
-  </system>
-  <system>
-    <name>pokemini</name>
-    <fullname>Nintendo Pokémon Mini</fullname>
-    <path>%ROMPATH%\pokemini</path>
-    <extension>.min .MIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\pokemini_libretro.dll %ROM%</command>
-    <platform>pokemini</platform>
-    <theme>pokemini</theme>
-  </system>
-  <system>
-    <name>ports</name>
-    <fullname>Ports</fullname>
-    <path>%ROMPATH%\ports</path>
-    <extension>.bat</extension>
-    <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
-    <platform>pc</platform>
-    <theme>ports</theme>
-  </system>
-  <system>
-    <name>ps2</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\play_libretro.dll %ROM%</command>
-    <platform>ps2</platform>
-    <theme>ps2</theme>
-  </system>
-  <system>
-    <name>ps3</name>
-    <fullname>Sony PlayStation 3</fullname>
-    <path>%ROMPATH%\ps3</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ps3</platform>
-    <theme>ps3</theme>
-  </system>
-  <system>
-    <name>ps4</name>
-    <fullname>Sony PlayStation 4</fullname>
-    <path>%ROMPATH%\ps4</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ps4</platform>
-    <theme>ps4</theme>
-  </system>
-  <system>
-    <name>psp</name>
-    <fullname>Sony PlayStation Portable</fullname>
-    <path>%ROMPATH%\psp</path>
-    <extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\ppsspp_libretro.dll %ROM%</command>
-    <platform>psp</platform>
-    <theme>psp</theme>
-  </system>
-  <system>
-    <name>psvita</name>
-    <fullname>Sony PlayStation Vita</fullname>
-    <path>%ROMPATH%\psvita</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>psvita</platform>
-    <theme>psvita</theme>
-  </system>
-  <system>
-    <name>psx</name>
-    <fullname>Sony PlayStation</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_psx_libretro.dll %ROM%</command>
-    <platform>psx</platform>
-    <theme>psx</theme>
-  </system>
-  <system>
-    <name>residualvm</name>
-    <fullname>ResidualVM game engine</fullname>
-    <path>%ROMPATH%\residualvm</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>residualvm</platform>
-    <theme>residualvm</theme>
-  </system>
-  <system>
-    <name>samcoupe</name>
-    <fullname>SAM Coupé</fullname>
-    <path>%ROMPATH%\samcoupe</path>
-    <extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\simcp_libretro.dll %ROM%</command>
-    <platform>samcoupe</platform>
-    <theme>samcoupe</theme>
-  </system>
-  <system>
-    <name>satellaview</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
-    <platform>satellaview</platform>
-    <theme>satellaview</theme>
-  </system>
-  <system>
-    <name>saturn</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_saturn_libretro.dll %ROM%</command>
-    <platform>saturn</platform>
-    <theme>saturn</theme>
-  </system>
-  <system>
-    <name>saturnjp</name>
-    <fullname>Sega Saturn</fullname>
-    <path>%ROMPATH%\saturnjp</path>
-    <extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_saturn_libretro.dll %ROM%</command>
-    <platform>saturn</platform>
-    <theme>saturnjp</theme>
-  </system>
-  <system>
-    <name>scummvm</name>
-    <fullname>ScummVM game engine</fullname>
-    <path>%ROMPATH%\scummvm</path>
-    <extension>.scummvm .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\scummvm_libretro.dll %ROM%</command>
-    <platform>scummvm</platform>
-    <theme>scummvm</theme>
-  </system>
-  <system>
-    <name>sega32x</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32x</theme>
-  </system>
-  <system>
-    <name>sega32xjp</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32xjp</theme>
-  </system>
-  <system>
-    <name>sega32xna</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
-    <platform>sega32x</platform>
-    <theme>sega32xna</theme>
-  </system>
-  <system>
-    <name>segacd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>segacd</platform>
-    <theme>segacd</theme>
-  </system>
-  <system>
-    <name>sg-1000</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
-    <platform>sg-1000</platform>
-    <theme>sg-1000</theme>
-  </system>
-  <system>
-    <name>snes</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
-    <platform>snes</platform>
-    <theme>snes</theme>
-  </system>
-  <system>
-    <name>snesna</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
-    <platform>snes</platform>
-    <theme>snesna</theme>
-  </system>
-  <system>
-    <name>solarus</name>
-    <fullname>Solarus game engine</fullname>
-    <path>%ROMPATH%\solarus</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>solarus</platform>
-    <theme>solarus</theme>
-  </system>
-  <system>
-    <name>spectravideo</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
-    <platform>spectravideo</platform>
-    <theme>spectravideo</theme>
-  </system>
-  <system>
-    <name>steam</name>
-    <fullname>Valve Steam</fullname>
-    <path>%ROMPATH%\steam</path>
-    <extension>.bat</extension>
-    <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
-    <platform>steam</platform>
-    <theme>steam</theme>
-  </system>
-  <system>
-    <name>stratagus</name>
-    <fullname>Stratagus game engine</fullname>
-    <path>%ROMPATH%\stratagus</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>stratagus</platform>
-    <theme>stratagus</theme>
-  </system>
-  <system>
-    <name>sufami</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
-    <platform>sufami</platform>
-    <theme>sufami</theme>
-  </system>
-  <system>
-    <name>supergrafx</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_supergrafx_libretro.dll %ROM%</command>
-    <platform>supergrafx</platform>
-    <theme>supergrafx</theme>
-  </system>
-  <system>
-    <name>switch</name>
-    <fullname>Nintendo Switch</fullname>
-    <path>%ROMPATH%\switch</path>
-    <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_YUZU% %ROM%</command>
-    <platform>switch</platform>
-    <theme>switch</theme>
-  </system>
-  <system>
-    <name>tanodragon</name>
-    <fullname>Tano Dragon</fullname>
-    <path>%ROMPATH%\tanodragon</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>dragon32</platform>
-    <theme>tanodragon</theme>
-  </system>
-  <system>
-    <name>tg16</name>
-    <fullname>NEC TurboGrafx-16</fullname>
-    <path>%ROMPATH%\tg16</path>
-    <extension>.pce .PCE .bin .BIN .chd .CHD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
-    <platform>pcengine</platform>
-    <theme>tg16</theme>
-  </system>
-  <system>
-    <name>tg-cd</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
-    <platform>pcenginecd</platform>
-    <theme>tg-cd</theme>
-  </system>
-  <system>
-    <name>ti99</name>
-    <fullname>Texas Instruments TI-99</fullname>
-    <path>%ROMPATH%\ti99</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>ti99</platform>
-    <theme>ti99</theme>
-  </system>
-  <system>
-    <name>tic80</name>
-    <fullname>TIC-80 game engine</fullname>
-    <path>%ROMPATH%\tic80</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>tic80</platform>
-    <theme>tic80</theme>
-  </system>
-  <system>
-    <name>to8</name>
-    <fullname>Thomson TO8</fullname>
-    <path>%ROMPATH%\to8</path>
-    <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\theodore_libretro.dll %ROM%</command>
-    <platform>moto</platform>
-    <theme>to8</theme>
-  </system>
-  <system>
-    <name>trs-80</name>
-    <fullname>Tandy TRS-80</fullname>
-    <path>%ROMPATH%\trs-80</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>trs-80</platform>
-    <theme>trs-80</theme>
-  </system>
-  <system>
-    <name>uzebox</name>
-    <fullname>Uzebox</fullname>
-    <path>%ROMPATH%\uzebox</path>
-    <extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\uzem_libretro.dll %ROM%</command>
-    <platform>uzebox</platform>
-    <theme>uzebox</theme>
-  </system>
-  <system>
-    <name>vectrex</name>
-    <fullname>Vectrex</fullname>
-    <path>%ROMPATH%\vectrex</path>
-    <extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vecx_libretro.dll %ROM%</command>
-    <platform>vectrex</platform>
-    <theme>vectrex</theme>
-  </system>
-  <system>
-    <name>videopac</name>
-    <fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
-    <path>%ROMPATH%\videopac</path>
-    <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\o2em_libretro.dll %ROM%</command>
-    <platform>videopac</platform>
-    <theme>videopac</theme>
-  </system>
-  <system>
-    <name>virtualboy</name>
-    <fullname>Nintendo Virtual Boy</fullname>
-    <path>%ROMPATH%\virtualboy</path>
-    <extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_vb_libretro.dll %ROM%</command>
-    <platform>virtualboy</platform>
-    <theme>virtualboy</theme>
-  </system>
-  <system>
-    <name>wii</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dolphin_libretro.dll %ROM%</command>
-    <platform>wii</platform>
-    <theme>wii</theme>
-  </system>
-  <system>
-    <name>wiiu</name>
-    <fullname>Nintendo Wii U</fullname>
-    <path>%ROMPATH%\wiiu</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>wiiu</platform>
-    <theme>wiiu</theme>
-  </system>
-  <system>
-    <name>wonderswan</name>
-    <fullname>Bandai WonderSwan</fullname>
-    <path>%ROMPATH%\wonderswan</path>
-    <extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_wswan_libretro.dll %ROM%</command>
-    <platform>wonderswan</platform>
-    <theme>wonderswan</theme>
-  </system>
-  <system>
-    <name>wonderswancolor</name>
-    <fullname>Bandai WonderSwan Color</fullname>
-    <path>%ROMPATH%\wonderswancolor</path>
-    <extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_wswan_libretro.dll %ROM%</command>
-    <platform>wonderswancolor</platform>
-    <theme>wonderswancolor</theme>
-  </system>
-  <system>
-    <name>x1</name>
-    <fullname>Sharp X1</fullname>
-    <path>%ROMPATH%\x1</path>
-    <extension>.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\x1_libretro.dll %ROM%</command>
-    <platform>x1</platform>
-    <theme>x1</theme>
-  </system>
-  <system>
-    <name>x68000</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\px68k_libretro.dll %ROM%</command>
-    <platform>x68000</platform>
-    <theme>x68000</theme>
-  </system>
-  <system>
-    <name>xbox</name>
-    <fullname>Microsoft Xbox</fullname>
-    <path>%ROMPATH%\xbox</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>xbox</platform>
-    <theme>xbox</theme>
-  </system>
-  <system>
-    <name>xbox360</name>
-    <fullname>Microsoft Xbox 360</fullname>
-    <path>%ROMPATH%\xbox360</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>xbox360</platform>
-    <theme>xbox360</theme>
-  </system>
-  <system>
-    <name>zmachine</name>
-    <fullname>Infocom Z-machine</fullname>
-    <path>%ROMPATH%\zmachine</path>
-    <extension>.7z .7Z .zip .ZIP</extension>
-    <command>PLACEHOLDER %ROM%</command>
-    <platform>zmachine</platform>
-    <theme>zmachine</theme>
-  </system>
-  <system>
-    <name>zx81</name>
-    <fullname>Sinclair ZX81</fullname>
-    <path>%ROMPATH%\zx81</path>
-    <extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
-    <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\81_libretro.dll %ROM%</command>
-    <platform>zx81</platform>
-    <theme>zx81</theme>
-  </system>
-  <system>
-    <name>zxspectrum</name>
-    <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fuse_libretro.dll %ROM%</command>
-    <platform>zxspectrum</platform>
-    <theme>zxspectrum</theme>
-  </system>
-</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\4do_libretro.dll %ROM%</command>
+        <platform>3do</platform>
+        <theme>3do</theme>
+    </system>
+    <system>
+        <name>64dd</name>
+        <fullname>Nintendo 64DD</fullname>
+        <path>%ROMPATH%\64dd</path>
+        <extension>.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP</extension>
+        <command label="Mupen64Plus-Next">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mupen64plus_next_libretro.dll %ROM%
+        </command>
+        <command label="ParaLLEl N64">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\parallel_n64_libretro.dll %ROM%</command>
+        <platform>n64</platform>
+        <theme>64dd</theme>
+    </system>
+    <system>
+        <name>ags</name>
+        <fullname>Adventure Game Studio game engine</fullname>
+        <path>%ROMPATH%\ags</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ags</platform>
+        <theme>ags</theme>
+    </system>
+    <system>
+        <name>amiga</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga</theme>
+    </system>
+    <system>
+        <name>amiga600</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga600</theme>
+    </system>
+    <system>
+        <name>amiga1200</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
+        <platform>amiga</platform>
+        <theme>amiga1200</theme>
+    </system>
+    <system>
+        <name>amigacd32</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\puae_libretro.dll %ROM%</command>
+        <platform>amigacd32</platform>
+        <theme>amigacd32</theme>
+    </system>
+    <system>
+        <name>amstradcpc</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\cap32_libretro.dll %ROM%</command>
+        <platform>amstradcpc</platform>
+        <theme>amstradcpc</theme>
+    </system>
+    <system>
+        <name>apple2</name>
+        <fullname>Apple II</fullname>
+        <path>%ROMPATH%\apple2</path>
+        <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>apple2</platform>
+        <theme>apple2</theme>
+    </system>
+    <system>
+        <name>apple2gs</name>
+        <fullname>Apple IIGS</fullname>
+        <path>%ROMPATH%\apple2gs</path>
+        <extension>.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>apple2gs</platform>
+        <theme>apple2gs</theme>
+    </system>
+    <system>
+        <name>arcade</name>
+        <fullname>Arcade</fullname>
+        <path>%ROMPATH%\arcade</path>
+        <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command label="MAME - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame_libretro.dll %ROM%</command>
+        <command label="MAME 2000">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2000_libretro.dll %ROM%</command>
+        <command label="MAME 2003-Plus">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2003_plus_libretro.dll %ROM%
+        </command>
+        <command label="MAME 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2010_libretro.dll %ROM%</command>
+        <command label="FinalBurn Neo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbneo_libretro.dll %ROM%</command>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_libretro.dll %ROM%</command>
+        <platform>arcade</platform>
+        <theme>arcade</theme>
+    </system>
+    <system>
+        <name>astrocade</name>
+        <fullname>Bally Astrocade</fullname>
+        <path>%ROMPATH%\astrocade</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>astrocade</platform>
+        <theme>astrocade</theme>
+    </system>
+    <system>
+        <name>atari2600</name>
+        <fullname>Atari 2600</fullname>
+        <path>%ROMPATH%\atari2600</path>
+        <extension>.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command label="Stella">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\stella_libretro.dll %ROM%</command>
+        <command label="Stella 2014">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\stella2014_libretro.dll %ROM%</command>
+        <platform>atari2600</platform>
+        <theme>atari2600</theme>
+    </system>
+    <system>
+        <name>atari5200</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\atari800_libretro.dll %ROM%</command>
+        <platform>atari5200</platform>
+        <theme>atari5200</theme>
+    </system>
+    <system>
+        <name>atari7800</name>
+        <fullname>Atari 7800 ProSystem</fullname>
+        <path>%ROMPATH%\atari7800</path>
+        <extension>.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\prosystem_libretro.dll %ROM%</command>
+        <platform>atari7800</platform>
+        <theme>atari7800</theme>
+    </system>
+    <system>
+        <name>atari800</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\atari800_libretro.dll %ROM%</command>
+        <platform>atari800</platform>
+        <theme>atari800</theme>
+    </system>
+    <system>
+        <name>atarijaguar</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\virtualjaguar_libretro.dll %ROM%</command>
+        <platform>atarijaguar, atarijaguarcd</platform>
+        <theme>atarijaguar</theme>
+    </system>
+    <system>
+        <name>atarijaguarcd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\virtualjaguar_libretro.dll %ROM%</command>
+        <platform>atarijaguarcd</platform>
+        <theme>atarijaguarcd</theme>
+    </system>
+    <system>
+        <name>atarilynx</name>
+        <fullname>Atari Lynx</fullname>
+        <path>%ROMPATH%\atarilynx</path>
+        <extension>.lnx .LNX .o .O .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_lynx_libretro.dll %ROM%</command>
+        <platform>atarilynx</platform>
+        <theme>atarilynx</theme>
+    </system>
+    <system>
+        <name>atarist</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\hatari_libretro.dll %ROM%</command>
+        <platform>atarist</platform>
+        <theme>atarist</theme>
+    </system>
+    <system>
+        <name>atarixe</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\atari800_libretro.dll %ROM%</command>
+        <platform>atarixe</platform>
+        <theme>atarixe</theme>
+    </system>
+    <system>
+        <name>atomiswave</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
+        <platform>atomiswave</platform>
+        <theme>atomiswave</theme>
+    </system>
+    <system>
+        <name>bbcmicro</name>
+        <fullname>BBC Micro</fullname>
+        <path>%ROMPATH%\bbcmicro</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>bbcmicro</platform>
+        <theme>bbcmicro</theme>
+    </system>
+    <system>
+        <name>c64</name>
+        <fullname>Commodore 64</fullname>
+        <path>%ROMPATH%\c64</path>
+        <extension>.bin .BIN .cmd .CMD .crt .CRT .d2m .D2M .d4m .D4M .d64 .D64 .d6z .D6Z .d71 .D71 .d7z .D7Z .d80 .D80
+            .d81 .D81 .d82 .D82 .d8z .D8Z .g41 .G41 .g4z .G4Z .g64 .G64 .g6z .G6Z .gz .GZ .lnx .LNX .m3u .M3U .nbz .NBZ
+            .nib .NIB .p00 .P00 .prg .PRG .t64 .T64 .tap .TAP .vfl .VFL .vsf .VSF .x64 .X64 .x6z .X6Z .7z .7Z .zip .ZIP
+        </extension>
+        <command label="VICE x64sc Accurate">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vice_x64sc_libretro.dll %ROM%
+        </command>
+        <command label="VICE x64 Fast">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vice_x64_libretro.dll %ROM%</command>
+        <command label="VICE x64 SuperCPU">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vice_xscpu64_libretro.dll %ROM%
+        </command>
+        <command label="VICE x128">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vice_x128_libretro.dll %ROM%</command>
+        <command label="Frodo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\frodo_libretro.dll %ROM%</command>
+        <platform>c64</platform>
+        <theme>c64</theme>
+    </system>
+    <system>
+        <name>cavestory</name>
+        <fullname>Cave Story (NXEngine)</fullname>
+        <path>%ROMPATH%\cavestory</path>
+        <extension>.exe .EXE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nxengine_libretro.dll %ROM%</command>
+        <platform>cavestory</platform>
+        <theme>cavestory</theme>
+    </system>
+    <system>
+        <name>cdtv</name>
+        <fullname>Commodore CDTV</fullname>
+        <path>%ROMPATH%\cdtv</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>cdtv</platform>
+        <theme>cdtv</theme>
+    </system>
+    <system>
+        <name>chailove</name>
+        <fullname>ChaiLove game engine</fullname>
+        <path>%ROMPATH%\chailove</path>
+        <extension>.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\chailove_libretro.dll %ROM%</command>
+        <platform>love</platform>
+        <theme>chailove</theme>
+    </system>
+    <system>
+        <name>channelf</name>
+        <fullname>Fairchild Channel F</fullname>
+        <path>%ROMPATH%\channelf</path>
+        <extension>.bin .BIN .chf .CHF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\freechaf_libretro.dll %ROM%</command>
+        <platform>channelf</platform>
+        <theme>channelf</theme>
+    </system>
+    <system>
+        <name>coco</name>
+        <fullname>Tandy Color Computer</fullname>
+        <path>%ROMPATH%\coco</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>coco</platform>
+        <theme>coco</theme>
+    </system>
+    <system>
+        <name>colecovision</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
+        <platform>colecovision</platform>
+        <theme>colecovision</theme>
+    </system>
+    <system>
+        <name>daphne</name>
+        <fullname>Daphne Arcade Laserdisc Emulator</fullname>
+        <path>%ROMPATH%\daphne</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\daphne_libretro.dll %ROM%</command>
+        <platform>daphne</platform>
+        <theme>daphne</theme>
+    </system>
+    <system>
+        <name>desktop</name>
+        <fullname>Desktop applications</fullname>
+        <path>%ROMPATH%\desktop</path>
+        <extension>.bat</extension>
+        <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
+        <platform>pc</platform>
+        <theme>desktop</theme>
+    </system>
+    <system>
+        <name>doom</name>
+        <fullname>Doom</fullname>
+        <path>%ROMPATH%\doom</path>
+        <extension>.wad .WAD .iwad .IWAD .pwad .PWAD</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\prboom_libretro.dll %ROM%</command>
+        <platform>pc</platform>
+        <theme>doom</theme>
+    </system>
+    <system>
+        <name>dos</name>
+        <fullname>DOS (PC)</fullname>
+        <path>%ROMPATH%\dos</path>
+        <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_core_libretro.dll %ROM%</command>
+        <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_pure_libretro.dll %ROM%</command>
+        <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_svn_libretro.dll %ROM%</command>
+        <platform>dos</platform>
+        <theme>dos</theme>
+    </system>
+    <system>
+        <name>dragon32</name>
+        <fullname>Dragon 32</fullname>
+        <path>%ROMPATH%\dragon32</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>dragon32</platform>
+        <theme>dragon32</theme>
+    </system>
+    <system>
+        <name>dreamcast</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
+        <platform>dreamcast</platform>
+        <theme>dreamcast</theme>
+    </system>
+    <system>
+        <name>famicom</name>
+        <fullname>Nintendo Family Computer</fullname>
+        <path>%ROMPATH%\famicom</path>
+        <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nestopia_libretro.dll %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fceumm_libretro.dll %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mesen_libretro.dll %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\quicknes_libretro.dll %ROM%</command>
+        <platform>famicom</platform>
+        <theme>famicom</theme>
+    </system>
+    <system>
+        <name>fba</name>
+        <fullname>FinalBurn Alpha</fullname>
+        <path>%ROMPATH%\fba</path>
+        <extension>.iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_libretro.dll %ROM%</command>
+        <command label="FB Alpha 2012 Neo Geo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_neogeo_libretro.dll
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-1">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_cps1_libretro.dll
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-2">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_cps2_libretro.dll
+            %ROM%
+        </command>
+        <command label="FB Alpha 2012 CPS-3">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_cps3_libretro.dll
+            %ROM%
+        </command>
+        <platform>arcade</platform>
+        <theme>fba</theme>
+    </system>
+    <system>
+        <name>fbneo</name>
+        <fullname>FinalBurn Neo</fullname>
+        <path>%ROMPATH%\fbneo</path>
+        <extension>.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbneo_libretro.dll %ROM%</command>
+        <platform>arcade</platform>
+        <theme>fbneo</theme>
+    </system>
+    <system>
+        <name>fds</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nestopia_libretro.dll %ROM%</command>
+        <platform>fds</platform>
+        <theme>fds</theme>
+    </system>
+    <system>
+        <name>gameandwatch</name>
+        <fullname>Nintendo Game and Watch</fullname>
+        <path>%ROMPATH%\gameandwatch</path>
+        <extension>.mgw .MGW .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\gw_libretro.dll %ROM%</command>
+        <platform>gameandwatch</platform>
+        <theme>gameandwatch</theme>
+    </system>
+    <system>
+        <name>gamegear</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
+        <platform>gamegear</platform>
+        <theme>gamegear</theme>
+    </system>
+    <system>
+        <name>gb</name>
+        <fullname>Nintendo Game Boy</fullname>
+        <path>%ROMPATH%\gb</path>
+        <extension>.sfc .SFC .smc .SMC .gb .GB .gbc .GBC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bsnes_libretro.dll %ROM%</command>
+        <platform>gb</platform>
+        <theme>gb</theme>
+    </system>
+    <system>
+        <name>gba</name>
+        <fullname>Nintendo Game Boy Advance</fullname>
+        <path>%ROMPATH%\gba</path>
+        <extension>.gba .GBA .agb .AGB .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_gba_libretro.dll %ROM%</command>
+        <platform>gba</platform>
+        <theme>gba</theme>
+    </system>
+    <system>
+        <name>gbc</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bsnes_libretro.dll %ROM%</command>
+        <platform>gbc</platform>
+        <theme>gbc</theme>
+    </system>
+    <system>
+        <name>gc</name>
+        <fullname>Nintendo GameCube</fullname>
+        <path>%ROMPATH%\gc</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dolphin_libretro.dll %ROM%</command>
+        <platform>gc</platform>
+        <theme>gc</theme>
+    </system>
+    <system>
+        <name>genesis</name>
+        <fullname>Sega Genesis</fullname>
+        <path>%ROMPATH%\genesis</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx
+            .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_wide_libretro.dll
+            %ROM%
+        </command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
+        <command label="BlastEm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\blastem_libretro.dll %ROM%</command>
+        <platform>genesis</platform>
+        <theme>genesis</theme>
+    </system>
+    <system>
+        <name>gx4000</name>
+        <fullname>Amstrad GX4000</fullname>
+        <path>%ROMPATH%\gx4000</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>gx4000</platform>
+        <theme>gx4000</theme>
+    </system>
+    <system>
+        <name>intellivision</name>
+        <fullname>Mattel Electronics Intellivision</fullname>
+        <path>%ROMPATH%\intellivision</path>
+        <extension>.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\freeintv_libretro.dll %ROM%</command>
+        <platform>intellivision</platform>
+        <theme>intellivision</theme>
+    </system>
+    <system>
+        <name>kodi</name>
+        <fullname>Kodi home theatre software</fullname>
+        <path>%ROMPATH%\kodi</path>
+        <extension>.bat</extension>
+        <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
+        <platform>pc</platform>
+        <theme>kodi</theme>
+    </system>
+    <system>
+        <name>lutris</name>
+        <fullname>Lutris open gaming platform</fullname>
+        <path>%ROMPATH%\lutris</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>pc</platform>
+        <theme>lutris</theme>
+    </system>
+    <system>
+        <name>lutro</name>
+        <fullname>Lutro game engine</fullname>
+        <path>%ROMPATH%\lutro</path>
+        <extension>.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\lutro_libretro.dll %ROM%</command>
+        <platform>lutro</platform>
+        <theme>lutro</theme>
+    </system>
+    <system>
+        <name>macintosh</name>
+        <fullname>Apple Macintosh</fullname>
+        <path>%ROMPATH%\macintosh</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>macintosh</platform>
+        <theme>macintosh</theme>
+    </system>
+    <system>
+        <name>mame</name>
+        <fullname>Multiple Arcade Machine Emulator</fullname>
+        <path>%ROMPATH%\mame</path>
+        <extension>.cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command label="MAME 2003-Plus">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2003_plus_libretro.dll %ROM%
+        </command>
+        <command label="MAME 2000">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2000_libretro.dll %ROM%</command>
+        <command label="MAME 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame2010_libretro.dll %ROM%</command>
+        <command label="MAME - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mame_libretro.dll %ROM%</command>
+        <command label="FinalBurn Neo">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbneo_libretro.dll %ROM%</command>
+        <command label="FB Alpha 2012">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbalpha2012_libretro.dll %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame</theme>
+    </system>
+    <system>
+        <name>mame-advmame</name>
+        <fullname>AdvanceMAME</fullname>
+        <path>%ROMPATH%\mame-advmame</path>
+        <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame-advmame</theme>
+    </system>
+    <system>
+        <name>mame-mame4all</name>
+        <fullname>MAME4ALL</fullname>
+        <path>%ROMPATH%\mame-mame4all</path>
+        <extension>.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>arcade</platform>
+        <theme>mame-mame4all</theme>
+    </system>
+    <system>
+        <name>mastersystem</name>
+        <fullname>Sega Master System</fullname>
+        <path>%ROMPATH%\mastersystem</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .col .COL .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md
+            .MD .mdx .MDX .rom .ROM .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_wide_libretro.dll
+            %ROM%
+        </command>
+        <command label="SMS Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\smsplus_libretro.dll %ROM%</command>
+        <command label="Gearsystem">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\gearsystem_libretro.dll %ROM%</command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
+        <platform>mastersystem</platform>
+        <theme>mastersystem</theme>
+    </system>
+    <system>
+        <name>megacd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
+        <platform>segacd</platform>
+        <theme>megacd</theme>
+    </system>
+    <system>
+        <name>megacdjp</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
+        <platform>segacd</platform>
+        <theme>megacdjp</theme>
+    </system>
+    <system>
+        <name>megadrive</name>
+        <fullname>Sega Mega Drive</fullname>
+        <path>%ROMPATH%\megadrive</path>
+        <extension>.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx
+            .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Genesis Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%
+        </command>
+        <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_wide_libretro.dll
+            %ROM%
+        </command>
+        <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
+        <command label="BlastEm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\blastem_libretro.dll %ROM%</command>
+        <platform>megadrive</platform>
+        <theme>megadrive</theme>
+    </system>
+    <system>
+        <name>mess</name>
+        <fullname>Multi Emulator Super System</fullname>
+        <path>%ROMPATH%\mess</path>
+        <extension>.chd .CHD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mess2015_libretro.dll %ROM%</command>
+        <platform>mess</platform>
+        <theme>mess</theme>
+    </system>
+    <system>
+        <name>moonlight</name>
+        <fullname>Moonlight game streaming</fullname>
+        <path>%ROMPATH%\moonlight</path>
+        <extension>.moonlight .MOONLIGHT .7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>moonlight</platform>
+        <theme>moonlight</theme>
+    </system>
+    <system>
+        <name>moto</name>
+        <fullname>Thomson MO/TO series</fullname>
+        <path>%ROMPATH%\moto</path>
+        <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\theodore_libretro.dll %ROM%</command>
+        <platform>moto</platform>
+        <theme>moto</theme>
+    </system>
+    <system>
+        <name>msx</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
+        <platform>msx</platform>
+        <theme>msx</theme>
+    </system>
+    <system>
+        <name>msx1</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
+        <platform>msx</platform>
+        <theme>msx1</theme>
+    </system>
+    <system>
+        <name>msx2</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
+        <platform>msx2</platform>
+        <theme>msx2</theme>
+    </system>
+    <system>
+        <name>msxturbor</name>
+        <fullname>MSX Turbo R</fullname>
+        <path>%ROMPATH%\msxturbor</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
+        <platform>msxturbor</platform>
+        <theme>msxturbor</theme>
+    </system>
+    <system>
+        <name>multivision</name>
+        <fullname>Othello Multivision</fullname>
+        <path>%ROMPATH%\multivision</path>
+        <extension>.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\gearsystem_libretro.dll %ROM%</command>
+        <platform>sg-1000</platform>
+        <theme>multivision</theme>
+    </system>
+    <system>
+        <name>n3ds</name>
+        <fullname>Nintendo 3DS</fullname>
+        <path>%ROMPATH%\n3ds</path>
+        <extension>.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\citra_libretro.dll %ROM%</command>
+        <platform>n3ds</platform>
+        <theme>n3ds</theme>
+    </system>
+    <system>
+        <name>n64</name>
+        <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 label="Mupen64Plus-Next">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mupen64plus_next_libretro.dll %ROM%
+        </command>
+        <command label="ParaLLEl N64">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\parallel_n64_libretro.dll %ROM%</command>
+        <platform>n64</platform>
+        <theme>n64</theme>
+    </system>
+    <system>
+        <name>naomi</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
+        <platform>naomi</platform>
+        <theme>naomi</theme>
+    </system>
+    <system>
+        <name>naomigd</name>
+        <fullname>Sega NAOMI GD-ROM</fullname>
+        <path>%ROMPATH%\naomigd</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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\flycast_libretro.dll %ROM%</command>
+        <platform>naomi</platform>
+        <theme>naomigd</theme>
+    </system>
+    <system>
+        <name>nds</name>
+        <fullname>Nintendo DS</fullname>
+        <path>%ROMPATH%\nds</path>
+        <extension>.nds .NDS .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\melonds_libretro.dll %ROM%</command>
+        <platform>nds</platform>
+        <theme>nds</theme>
+    </system>
+    <system>
+        <name>neogeo</name>
+        <fullname>SNK Neo Geo</fullname>
+        <path>%ROMPATH%\neogeo</path>
+        <extension>.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fbneo_libretro.dll %ROM%</command>
+        <platform>neogeo</platform>
+        <theme>neogeo</theme>
+    </system>
+    <system>
+        <name>neogeocd</name>
+        <fullname>SNK Neo Geo CD</fullname>
+        <path>%ROMPATH%\neogeocd</path>
+        <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\neocd_libretro.dll %ROM%</command>
+        <platform>neogeocd</platform>
+        <theme>neogeocd</theme>
+    </system>
+    <system>
+        <name>neogeocdjp</name>
+        <fullname>SNK Neo Geo CD</fullname>
+        <path>%ROMPATH%\neogeocdjp</path>
+        <extension>.chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\neocd_libretro.dll %ROM%</command>
+        <platform>neogeocd</platform>
+        <theme>neogeocdjp</theme>
+    </system>
+    <system>
+        <name>nes</name>
+        <fullname>Nintendo Entertainment System</fullname>
+        <path>%ROMPATH%\nes</path>
+        <extension>.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP</extension>
+        <command label="Nestopia UE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\nestopia_libretro.dll %ROM%</command>
+        <command label="FCEUmm">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fceumm_libretro.dll %ROM%</command>
+        <command label="Mesen">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mesen_libretro.dll %ROM%</command>
+        <command label="QuickNES">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\quicknes_libretro.dll %ROM%</command>
+        <platform>nes</platform>
+        <theme>nes</theme>
+    </system>
+    <system>
+        <name>ngp</name>
+        <fullname>SNK Neo Geo Pocket</fullname>
+        <path>%ROMPATH%\ngp</path>
+        <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_ngp_libretro.dll %ROM%</command>
+        <platform>ngp</platform>
+        <theme>ngp</theme>
+    </system>
+    <system>
+        <name>ngpc</name>
+        <fullname>SNK Neo Geo Pocket Color</fullname>
+        <path>%ROMPATH%\ngpc</path>
+        <extension>.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_ngp_libretro.dll %ROM%</command>
+        <platform>ngpc</platform>
+        <theme>ngpc</theme>
+    </system>
+    <system>
+        <name>odyssey2</name>
+        <fullname>Magnavox Odyssey2</fullname>
+        <path>%ROMPATH%\odyssey2</path>
+        <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\o2em_libretro.dll %ROM%</command>
+        <platform>odyssey2</platform>
+        <theme>odyssey2</theme>
+    </system>
+    <system>
+        <name>openbor</name>
+        <fullname>OpenBOR game engine</fullname>
+        <path>%ROMPATH%\openbor</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>openbor</platform>
+        <theme>openbor</theme>
+    </system>
+    <system>
+        <name>oric</name>
+        <fullname>Tangerine Computer Systems Oric</fullname>
+        <path>%ROMPATH%\oric</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>oric</platform>
+        <theme>oric</theme>
+    </system>
+    <system>
+        <name>palm</name>
+        <fullname>Palm OS</fullname>
+        <path>%ROMPATH%\palm</path>
+        <extension>.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mu_libretro.dll %ROM%</command>
+        <platform>palm</platform>
+        <theme>palm</theme>
+    </system>
+    <system>
+        <name>pc</name>
+        <fullname>IBM PC</fullname>
+        <path>%ROMPATH%\pc</path>
+        <extension>.bat .BAT .com .COM .conf .CONF .cue .CUE .exe .EXE .iso .ISO .7z .7Z .zip .ZIP</extension>
+        <command label="DOSBox-Core">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_core_libretro.dll %ROM%</command>
+        <command label="DOSBox-Pure">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_pure_libretro.dll %ROM%</command>
+        <command label="DOSBox-SVN">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dosbox_svn_libretro.dll %ROM%</command>
+        <platform>pc</platform>
+        <theme>pc</theme>
+    </system>
+    <system>
+        <name>pc88</name>
+        <fullname>NEC PC-8800 series</fullname>
+        <path>%ROMPATH%\pc88</path>
+        <extension>.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\quasi88_libretro.dll %ROM%</command>
+        <platform>pc88</platform>
+        <theme>pc88</theme>
+    </system>
+    <system>
+        <name>pc98</name>
+        <fullname>NEC PC-9800 series</fullname>
+        <path>%ROMPATH%\pc98</path>
+        <extension>.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\np2kai_libretro.dll %ROM%</command>
+        <platform>pc98</platform>
+        <theme>pc98</theme>
+    </system>
+    <system>
+        <name>pcengine</name>
+        <fullname>NEC PC Engine</fullname>
+        <path>%ROMPATH%\pcengine</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_fast_libretro.dll %ROM%
+        </command>
+        <platform>pcengine</platform>
+        <theme>pcengine</theme>
+    </system>
+    <system>
+        <name>pcenginecd</name>
+        <fullname>NEC PC Engine CD</fullname>
+        <path>%ROMPATH%\pcenginecd</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_fast_libretro.dll %ROM%
+        </command>
+        <platform>pcenginecd</platform>
+        <theme>pcenginecd</theme>
+    </system>
+    <system>
+        <name>pcfx</name>
+        <fullname>NEC PC-FX</fullname>
+        <path>%ROMPATH%\pcfx</path>
+        <extension>.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pcfx_libretro.dll %ROM%</command>
+        <platform>pcfx</platform>
+        <theme>pcfx</theme>
+    </system>
+    <system>
+        <name>pokemini</name>
+        <fullname>Nintendo Pokémon Mini</fullname>
+        <path>%ROMPATH%\pokemini</path>
+        <extension>.min .MIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\pokemini_libretro.dll %ROM%</command>
+        <platform>pokemini</platform>
+        <theme>pokemini</theme>
+    </system>
+    <system>
+        <name>ports</name>
+        <fullname>Ports</fullname>
+        <path>%ROMPATH%\ports</path>
+        <extension>.bat</extension>
+        <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
+        <platform>pc</platform>
+        <theme>ports</theme>
+    </system>
+    <system>
+        <name>ps2</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\pcsx2_libretro.dll %ROM%</command>
+        <platform>ps2</platform>
+        <theme>ps2</theme>
+    </system>
+    <system>
+        <name>ps3</name>
+        <fullname>Sony PlayStation 3</fullname>
+        <path>%ROMPATH%\ps3</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps3</platform>
+        <theme>ps3</theme>
+    </system>
+    <system>
+        <name>ps4</name>
+        <fullname>Sony PlayStation 4</fullname>
+        <path>%ROMPATH%\ps4</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ps4</platform>
+        <theme>ps4</theme>
+    </system>
+    <system>
+        <name>psp</name>
+        <fullname>Sony PlayStation Portable</fullname>
+        <path>%ROMPATH%\psp</path>
+        <extension>.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\ppsspp_libretro.dll %ROM%</command>
+        <platform>psp</platform>
+        <theme>psp</theme>
+    </system>
+    <system>
+        <name>psvita</name>
+        <fullname>Sony PlayStation Vita</fullname>
+        <path>%ROMPATH%\psvita</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>psvita</platform>
+        <theme>psvita</theme>
+    </system>
+    <system>
+        <name>psx</name>
+        <fullname>Sony PlayStation</fullname>
+        <path>%ROMPATH%\psx</path>
+        <extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U
+            .mdf .MDF .mds .MDS .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PSX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_psx_libretro.dll %ROM%</command>
+        <command label="Beetle PSX HW">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_psx_hw_libretro.dll %ROM%
+        </command>
+        <command label="PCSX ReARMed">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\pcsx_rearmed_libretro.dll %ROM%</command>
+        <command label="DuckStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\duckstation_libretro.dll %ROM%</command>
+        <platform>psx</platform>
+        <theme>psx</theme>
+    </system>
+    <system>
+        <name>residualvm</name>
+        <fullname>ResidualVM game engine</fullname>
+        <path>%ROMPATH%\residualvm</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>residualvm</platform>
+        <theme>residualvm</theme>
+    </system>
+    <system>
+        <name>samcoupe</name>
+        <fullname>SAM Coupé</fullname>
+        <path>%ROMPATH%\samcoupe</path>
+        <extension>.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\simcp_libretro.dll %ROM%</command>
+        <platform>samcoupe</platform>
+        <theme>samcoupe</theme>
+    </system>
+    <system>
+        <name>satellaview</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
+        <platform>satellaview</platform>
+        <theme>satellaview</theme>
+    </system>
+    <system>
+        <name>saturn</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_saturn_libretro.dll %ROM%</command>
+        <platform>saturn</platform>
+        <theme>saturn</theme>
+    </system>
+    <system>
+        <name>saturnjp</name>
+        <fullname>Sega Saturn</fullname>
+        <path>%ROMPATH%\saturnjp</path>
+        <extension>.ccd .CCD .chd .CHD .cue .CUE .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_saturn_libretro.dll %ROM%</command>
+        <platform>saturn</platform>
+        <theme>saturnjp</theme>
+    </system>
+    <system>
+        <name>scummvm</name>
+        <fullname>ScummVM game engine</fullname>
+        <path>%ROMPATH%\scummvm</path>
+        <extension>.scummvm .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\scummvm_libretro.dll %ROM%</command>
+        <platform>scummvm</platform>
+        <theme>scummvm</theme>
+    </system>
+    <system>
+        <name>sega32x</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32x</theme>
+    </system>
+    <system>
+        <name>sega32xjp</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32xjp</theme>
+    </system>
+    <system>
+        <name>sega32xna</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\picodrive_libretro.dll %ROM%</command>
+        <platform>sega32x</platform>
+        <theme>sega32xna</theme>
+    </system>
+    <system>
+        <name>segacd</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
+        <platform>segacd</platform>
+        <theme>segacd</theme>
+    </system>
+    <system>
+        <name>sg-1000</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\genesis_plus_gx_libretro.dll %ROM%</command>
+        <platform>sg-1000</platform>
+        <theme>sg-1000</theme>
+    </system>
+    <system>
+        <name>snes</name>
+        <fullname>Nintendo SNES (Super Nintendo)</fullname>
+        <path>%ROMPATH%\snes</path>
+        <extension>.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC
+            .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Snes9x - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
+        <command label="Snes9x 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x2010_libretro.dll %ROM%</command>
+        <command label="bsnes">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bsnes_libretro.dll %ROM%</command>
+        <command label="bsnes-mercury Accuracy">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%\bsnes_mercury_accuracy_libretro.dll %ROM%
+        </command>
+        <command label="Beetle Supafaust">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_supafaust_libretro.dll
+            %ROM%
+        </command>
+        <command label="Mesen-S">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mesen-s_libretro.dll %ROM%</command>
+        <platform>snes</platform>
+        <theme>snes</theme>
+    </system>
+    <system>
+        <name>snesna</name>
+        <fullname>Nintendo SNES (Super Nintendo)</fullname>
+        <path>%ROMPATH%\snesna</path>
+        <extension>.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC
+            .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Snes9x - Current">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
+        <command label="Snes9x 2010">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x2010_libretro.dll %ROM%</command>
+        <command label="bsnes">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bsnes_libretro.dll %ROM%</command>
+        <command label="bsnes-mercury Accuracy">%EMULATOR_RETROARCH% -L
+            %CORE_RETROARCH%\bsnes_mercury_accuracy_libretro.dll %ROM%
+        </command>
+        <command label="Beetle Supafaust">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_supafaust_libretro.dll
+            %ROM%
+        </command>
+        <command label="Mesen-S">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mesen-s_libretro.dll %ROM%</command>
+        <platform>snes</platform>
+        <theme>snesna</theme>
+    </system>
+    <system>
+        <name>solarus</name>
+        <fullname>Solarus game engine</fullname>
+        <path>%ROMPATH%\solarus</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>solarus</platform>
+        <theme>solarus</theme>
+    </system>
+    <system>
+        <name>spectravideo</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\bluemsx_libretro.dll %ROM%</command>
+        <platform>spectravideo</platform>
+        <theme>spectravideo</theme>
+    </system>
+    <system>
+        <name>steam</name>
+        <fullname>Valve Steam</fullname>
+        <path>%ROMPATH%\steam</path>
+        <extension>.bat</extension>
+        <command>%HIDEWINDOW% cmd.exe /C %ROM%</command>
+        <platform>steam</platform>
+        <theme>steam</theme>
+    </system>
+    <system>
+        <name>stratagus</name>
+        <fullname>Stratagus game engine</fullname>
+        <path>%ROMPATH%\stratagus</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>stratagus</platform>
+        <theme>stratagus</theme>
+    </system>
+    <system>
+        <name>sufami</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\snes9x_libretro.dll %ROM%</command>
+        <platform>sufami</platform>
+        <theme>sufami</theme>
+    </system>
+    <system>
+        <name>supergrafx</name>
+        <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 label="Beetle SuperGrafx">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_supergrafx_libretro.dll
+            %ROM%
+        </command>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
+        <platform>supergrafx</platform>
+        <theme>supergrafx</theme>
+    </system>
+    <system>
+        <name>switch</name>
+        <fullname>Nintendo Switch</fullname>
+        <path>%ROMPATH%\switch</path>
+        <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension>
+        <command label="Yuzu (Standalone)">%EMULATOR_YUZU% %ROM%</command>
+        <platform>switch</platform>
+        <theme>switch</theme>
+    </system>
+    <system>
+        <name>tanodragon</name>
+        <fullname>Tano Dragon</fullname>
+        <path>%ROMPATH%\tanodragon</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>dragon32</platform>
+        <theme>tanodragon</theme>
+    </system>
+    <system>
+        <name>tg16</name>
+        <fullname>NEC TurboGrafx-16</fullname>
+        <path>%ROMPATH%\tg16</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_fast_libretro.dll %ROM%
+        </command>
+        <platform>pcengine</platform>
+        <theme>tg16</theme>
+    </system>
+    <system>
+        <name>tg-cd</name>
+        <fullname>NEC TurboGrafx-CD</fullname>
+        <path>%ROMPATH%\tg-cd</path>
+        <extension>.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC
+            .7z .7Z .zip .ZIP
+        </extension>
+        <command label="Beetle PCE">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_libretro.dll %ROM%</command>
+        <command label="Beetle PCE FAST">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_pce_fast_libretro.dll %ROM%
+        </command>
+        <platform>pcenginecd</platform>
+        <theme>tg-cd</theme>
+    </system>
+    <system>
+        <name>ti99</name>
+        <fullname>Texas Instruments TI-99</fullname>
+        <path>%ROMPATH%\ti99</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>ti99</platform>
+        <theme>ti99</theme>
+    </system>
+    <system>
+        <name>tic80</name>
+        <fullname>TIC-80 game engine</fullname>
+        <path>%ROMPATH%\tic80</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>tic80</platform>
+        <theme>tic80</theme>
+    </system>
+    <system>
+        <name>to8</name>
+        <fullname>Thomson TO8</fullname>
+        <path>%ROMPATH%\to8</path>
+        <extension>.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\theodore_libretro.dll %ROM%</command>
+        <platform>moto</platform>
+        <theme>to8</theme>
+    </system>
+    <system>
+        <name>trs-80</name>
+        <fullname>Tandy TRS-80</fullname>
+        <path>%ROMPATH%\trs-80</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>trs-80</platform>
+        <theme>trs-80</theme>
+    </system>
+    <system>
+        <name>uzebox</name>
+        <fullname>Uzebox</fullname>
+        <path>%ROMPATH%\uzebox</path>
+        <extension>.uze .UZE .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\uzem_libretro.dll %ROM%</command>
+        <platform>uzebox</platform>
+        <theme>uzebox</theme>
+    </system>
+    <system>
+        <name>vectrex</name>
+        <fullname>Vectrex</fullname>
+        <path>%ROMPATH%\vectrex</path>
+        <extension>.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\vecx_libretro.dll %ROM%</command>
+        <platform>vectrex</platform>
+        <theme>vectrex</theme>
+    </system>
+    <system>
+        <name>videopac</name>
+        <fullname>Philips Videopac G7000 (Magnavox Odyssey2)</fullname>
+        <path>%ROMPATH%\videopac</path>
+        <extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\o2em_libretro.dll %ROM%</command>
+        <platform>videopac</platform>
+        <theme>videopac</theme>
+    </system>
+    <system>
+        <name>virtualboy</name>
+        <fullname>Nintendo Virtual Boy</fullname>
+        <path>%ROMPATH%\virtualboy</path>
+        <extension>.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_vb_libretro.dll %ROM%</command>
+        <platform>virtualboy</platform>
+        <theme>virtualboy</theme>
+    </system>
+    <system>
+        <name>wii</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\dolphin_libretro.dll %ROM%</command>
+        <platform>wii</platform>
+        <theme>wii</theme>
+    </system>
+    <system>
+        <name>wiiu</name>
+        <fullname>Nintendo Wii U</fullname>
+        <path>%ROMPATH%\wiiu</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>wiiu</platform>
+        <theme>wiiu</theme>
+    </system>
+    <system>
+        <name>wonderswan</name>
+        <fullname>Bandai WonderSwan</fullname>
+        <path>%ROMPATH%\wonderswan</path>
+        <extension>.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_wswan_libretro.dll %ROM%</command>
+        <platform>wonderswan</platform>
+        <theme>wonderswan</theme>
+    </system>
+    <system>
+        <name>wonderswancolor</name>
+        <fullname>Bandai WonderSwan Color</fullname>
+        <path>%ROMPATH%\wonderswancolor</path>
+        <extension>.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\mednafen_wswan_libretro.dll %ROM%</command>
+        <platform>wonderswancolor</platform>
+        <theme>wonderswancolor</theme>
+    </system>
+    <system>
+        <name>x1</name>
+        <fullname>Sharp X1</fullname>
+        <path>%ROMPATH%\x1</path>
+        <extension>.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\x1_libretro.dll %ROM%</command>
+        <platform>x1</platform>
+        <theme>x1</theme>
+    </system>
+    <system>
+        <name>x68000</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\px68k_libretro.dll %ROM%</command>
+        <platform>x68000</platform>
+        <theme>x68000</theme>
+    </system>
+    <system>
+        <name>xbox</name>
+        <fullname>Microsoft Xbox</fullname>
+        <path>%ROMPATH%\xbox</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>xbox</platform>
+        <theme>xbox</theme>
+    </system>
+    <system>
+        <name>xbox360</name>
+        <fullname>Microsoft Xbox 360</fullname>
+        <path>%ROMPATH%\xbox360</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>xbox360</platform>
+        <theme>xbox360</theme>
+    </system>
+    <system>
+        <name>zmachine</name>
+        <fullname>Infocom Z-machine</fullname>
+        <path>%ROMPATH%\zmachine</path>
+        <extension>.7z .7Z .zip .ZIP</extension>
+        <command>PLACEHOLDER %ROM%</command>
+        <platform>zmachine</platform>
+        <theme>zmachine</theme>
+    </system>
+    <system>
+        <name>zx81</name>
+        <fullname>Sinclair ZX81</fullname>
+        <path>%ROMPATH%\zx81</path>
+        <extension>.tzx .TZX .p .P .7z .7Z .zip .ZIP</extension>
+        <command>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\81_libretro.dll %ROM%</command>
+        <platform>zx81</platform>
+        <theme>zx81</theme>
+    </system>
+    <system>
+        <name>zxspectrum</name>
+        <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>%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\fuse_libretro.dll %ROM%</command>
+        <platform>zxspectrum</platform>
+        <theme>zxspectrum</theme>
+    </system>
+</systemList>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/3do/colors.xml b/themes/rbsimple-DE/3do/colors.xml
index a608d8d88..b484a368c 100644
--- a/themes/rbsimple-DE/3do/colors.xml
+++ b/themes/rbsimple-DE/3do/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>23B14D</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/3do/systeminfo.xml b/themes/rbsimple-DE/3do/systeminfo.xml
index 57bfbcb0d..a6787c111 100644
--- a/themes/rbsimple-DE/3do/systeminfo.xml
+++ b/themes/rbsimple-DE/3do/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 640x480 (16.7 million colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/3do/theme.xml b/themes/rbsimple-DE/3do/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/3do/theme.xml
+++ b/themes/rbsimple-DE/3do/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/64dd/colors.xml b/themes/rbsimple-DE/64dd/colors.xml
index abc5ff5b9..f61d07cf1 100644
--- a/themes/rbsimple-DE/64dd/colors.xml
+++ b/themes/rbsimple-DE/64dd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>B73E3A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/64dd/systeminfo.xml b/themes/rbsimple-DE/64dd/systeminfo.xml
index e0c4fe94c..2aff009a9 100644
--- a/themes/rbsimple-DE/64dd/systeminfo.xml
+++ b/themes/rbsimple-DE/64dd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Sound  : Stereo 16Bit 48 kHz</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/64dd/theme.xml b/themes/rbsimple-DE/64dd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/64dd/theme.xml
+++ b/themes/rbsimple-DE/64dd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ags/colors.xml b/themes/rbsimple-DE/ags/colors.xml
index 927d75b7a..0f089fcdf 100644
--- a/themes/rbsimple-DE/ags/colors.xml
+++ b/themes/rbsimple-DE/ags/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>9FCFFF</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ags/systeminfo.xml b/themes/rbsimple-DE/ags/systeminfo.xml
index 0d294ea54..2a0fdc309 100644
--- a/themes/rbsimple-DE/ags/systeminfo.xml
+++ b/themes/rbsimple-DE/ags/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Adventure Game Studio</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ags/theme.xml b/themes/rbsimple-DE/ags/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ags/theme.xml
+++ b/themes/rbsimple-DE/ags/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga/colors.xml b/themes/rbsimple-DE/amiga/colors.xml
index 773c4c6c9..ff64723ac 100644
--- a/themes/rbsimple-DE/amiga/colors.xml
+++ b/themes/rbsimple-DE/amiga/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>E85629</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga/systeminfo.xml b/themes/rbsimple-DE/amiga/systeminfo.xml
index e52f79f88..0947f9525 100644
--- a/themes/rbsimple-DE/amiga/systeminfo.xml
+++ b/themes/rbsimple-DE/amiga/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -21,4 +21,4 @@
             <text>RAM : 256 kilobytes and higher, expandable</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga/theme.xml b/themes/rbsimple-DE/amiga/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/amiga/theme.xml
+++ b/themes/rbsimple-DE/amiga/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga1200/colors.xml b/themes/rbsimple-DE/amiga1200/colors.xml
index 760fa8ab3..043abf42b 100644
--- a/themes/rbsimple-DE/amiga1200/colors.xml
+++ b/themes/rbsimple-DE/amiga1200/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>ED2224</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga1200/systeminfo.xml b/themes/rbsimple-DE/amiga1200/systeminfo.xml
index b65b86181..0a4b0fa66 100644
--- a/themes/rbsimple-DE/amiga1200/systeminfo.xml
+++ b/themes/rbsimple-DE/amiga1200/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 320x200 to 1504x484 (16.8 million colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga1200/theme.xml b/themes/rbsimple-DE/amiga1200/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/amiga1200/theme.xml
+++ b/themes/rbsimple-DE/amiga1200/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga600/colors.xml b/themes/rbsimple-DE/amiga600/colors.xml
index b2fc5d410..157a78e82 100644
--- a/themes/rbsimple-DE/amiga600/colors.xml
+++ b/themes/rbsimple-DE/amiga600/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>ED2224</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga600/systeminfo.xml b/themes/rbsimple-DE/amiga600/systeminfo.xml
index 32f9ae65f..68f649f0d 100644
--- a/themes/rbsimple-DE/amiga600/systeminfo.xml
+++ b/themes/rbsimple-DE/amiga600/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 320x200 to 1280x512 (4096 colours at lower display resolutions)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amiga600/theme.xml b/themes/rbsimple-DE/amiga600/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/amiga600/theme.xml
+++ b/themes/rbsimple-DE/amiga600/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amigacd32/colors.xml b/themes/rbsimple-DE/amigacd32/colors.xml
index ccf7a3168..c0e98fcd2 100644
--- a/themes/rbsimple-DE/amigacd32/colors.xml
+++ b/themes/rbsimple-DE/amigacd32/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>4A9BE4</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amigacd32/systeminfo.xml b/themes/rbsimple-DE/amigacd32/systeminfo.xml
index 96cca7ce0..e438b45ff 100644
--- a/themes/rbsimple-DE/amigacd32/systeminfo.xml
+++ b/themes/rbsimple-DE/amigacd32/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 320x200 to 1280x400i (NTSC), 320x256 to 1280x512i (PAL)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amigacd32/theme.xml b/themes/rbsimple-DE/amigacd32/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/amigacd32/theme.xml
+++ b/themes/rbsimple-DE/amigacd32/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amstradcpc/colors.xml b/themes/rbsimple-DE/amstradcpc/colors.xml
index c61cb2a7f..50aba01e5 100644
--- a/themes/rbsimple-DE/amstradcpc/colors.xml
+++ b/themes/rbsimple-DE/amstradcpc/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>3E3E3E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amstradcpc/systeminfo.xml b/themes/rbsimple-DE/amstradcpc/systeminfo.xml
index 2da7555b0..730690f32 100644
--- a/themes/rbsimple-DE/amstradcpc/systeminfo.xml
+++ b/themes/rbsimple-DE/amstradcpc/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -9,7 +9,7 @@
             <text>Year of Release : 1984</text>
         </text>
         <text name="info3" extra="true">
-            <text>OS : AMSDOS with Locomotive BASIC </text>
+            <text>OS : AMSDOS with Locomotive BASIC</text>
         </text>
         <text name="info4" extra="true">
             <text>CPU : Zilog Z80A @ 4 MHz</text>
@@ -21,4 +21,4 @@
             <text>Sound Chip : General Instrument AY-3-8910</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/amstradcpc/theme.xml b/themes/rbsimple-DE/amstradcpc/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/amstradcpc/theme.xml
+++ b/themes/rbsimple-DE/amstradcpc/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/apple2/colors.xml b/themes/rbsimple-DE/apple2/colors.xml
index 71389d803..381487279 100644
--- a/themes/rbsimple-DE/apple2/colors.xml
+++ b/themes/rbsimple-DE/apple2/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>61bb46</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/apple2/systeminfo.xml b/themes/rbsimple-DE/apple2/systeminfo.xml
index 28b6f01cf..0cd6f6b2f 100644
--- a/themes/rbsimple-DE/apple2/systeminfo.xml
+++ b/themes/rbsimple-DE/apple2/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Display : Lo-res (40×48, 16-color) Hi-res (280×192, 6 color)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/apple2/theme.xml b/themes/rbsimple-DE/apple2/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/apple2/theme.xml
+++ b/themes/rbsimple-DE/apple2/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/apple2gs/colors.xml b/themes/rbsimple-DE/apple2gs/colors.xml
index 32fe62219..191429f05 100644
--- a/themes/rbsimple-DE/apple2gs/colors.xml
+++ b/themes/rbsimple-DE/apple2gs/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>8C3E8C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/apple2gs/systeminfo.xml b/themes/rbsimple-DE/apple2gs/systeminfo.xml
index 38ee92e21..e4fe9a247 100644
--- a/themes/rbsimple-DE/apple2gs/systeminfo.xml
+++ b/themes/rbsimple-DE/apple2gs/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Display : VGC 12-bpp palette (4096 colours), 320×200, 640×200</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/apple2gs/theme.xml b/themes/rbsimple-DE/apple2gs/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/apple2gs/theme.xml
+++ b/themes/rbsimple-DE/apple2gs/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/arcade/colors.xml b/themes/rbsimple-DE/arcade/colors.xml
index a61a637e9..0de5b4213 100644
--- a/themes/rbsimple-DE/arcade/colors.xml
+++ b/themes/rbsimple-DE/arcade/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>459FD0</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/arcade/systeminfo.xml b/themes/rbsimple-DE/arcade/systeminfo.xml
index d9e0e61da..c996cec69 100644
--- a/themes/rbsimple-DE/arcade/systeminfo.xml
+++ b/themes/rbsimple-DE/arcade/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>in their graphics and game-play capability and decreased in cost.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/arcade/theme.xml b/themes/rbsimple-DE/arcade/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/arcade/theme.xml
+++ b/themes/rbsimple-DE/arcade/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/astrocade/colors.xml b/themes/rbsimple-DE/astrocade/colors.xml
index 6eefefb2a..84f97dd8f 100644
--- a/themes/rbsimple-DE/astrocade/colors.xml
+++ b/themes/rbsimple-DE/astrocade/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>C47401</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/astrocade/systeminfo.xml b/themes/rbsimple-DE/astrocade/systeminfo.xml
index 5c115b820..e1e7ad0e2 100644
--- a/themes/rbsimple-DE/astrocade/systeminfo.xml
+++ b/themes/rbsimple-DE/astrocade/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Bally Astrocade</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/astrocade/theme.xml b/themes/rbsimple-DE/astrocade/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/astrocade/theme.xml
+++ b/themes/rbsimple-DE/astrocade/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari2600/colors.xml b/themes/rbsimple-DE/atari2600/colors.xml
index 7cb10c52f..3ecd104ca 100644
--- a/themes/rbsimple-DE/atari2600/colors.xml
+++ b/themes/rbsimple-DE/atari2600/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>222222</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari2600/systeminfo.xml b/themes/rbsimple-DE/atari2600/systeminfo.xml
index 559e00d13..e462bc566 100644
--- a/themes/rbsimple-DE/atari2600/systeminfo.xml
+++ b/themes/rbsimple-DE/atari2600/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,7 +30,7 @@
             <text>Sound : 2 channels of 1-bit monaural sound with 4-bit volume control</text>
         </text>
         <text name="info10" extra="true">
-            <text>Cart Size : 2kB - 32kB </text>
+            <text>Cart Size : 2kB - 32kB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari2600/theme.xml b/themes/rbsimple-DE/atari2600/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atari2600/theme.xml
+++ b/themes/rbsimple-DE/atari2600/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari5200/colors.xml b/themes/rbsimple-DE/atari5200/colors.xml
index 27a721bdd..61a1260a9 100644
--- a/themes/rbsimple-DE/atari5200/colors.xml
+++ b/themes/rbsimple-DE/atari5200/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1C6EB8</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari5200/systeminfo.xml b/themes/rbsimple-DE/atari5200/systeminfo.xml
index 7e3a2e483..e318d7f92 100644
--- a/themes/rbsimple-DE/atari5200/systeminfo.xml
+++ b/themes/rbsimple-DE/atari5200/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Display : 320x192 pixels with 256 colors</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari5200/theme.xml b/themes/rbsimple-DE/atari5200/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atari5200/theme.xml
+++ b/themes/rbsimple-DE/atari5200/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari7800/colors.xml b/themes/rbsimple-DE/atari7800/colors.xml
index 514b77236..43d27a876 100644
--- a/themes/rbsimple-DE/atari7800/colors.xml
+++ b/themes/rbsimple-DE/atari7800/colors.xml
@@ -1,7 +1,7 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
-<view name="system, basic, detailed, video, grid">
+    <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
             <color>BABBBD</color>
         </image>
@@ -15,4 +15,4 @@
             <color>333333</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari7800/systeminfo.xml b/themes/rbsimple-DE/atari7800/systeminfo.xml
index 3f7840757..881aa0bd8 100644
--- a/themes/rbsimple-DE/atari7800/systeminfo.xml
+++ b/themes/rbsimple-DE/atari7800/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Ports : 2 joystick ports, 1 cartridge port, 1 expansion connector, power in, RF output</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari7800/theme.xml b/themes/rbsimple-DE/atari7800/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atari7800/theme.xml
+++ b/themes/rbsimple-DE/atari7800/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari800/colors.xml b/themes/rbsimple-DE/atari800/colors.xml
index f3ea52b8f..7b4415a71 100644
--- a/themes/rbsimple-DE/atari800/colors.xml
+++ b/themes/rbsimple-DE/atari800/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>BF9438</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari800/systeminfo.xml b/themes/rbsimple-DE/atari800/systeminfo.xml
index 1581d002e..316481f07 100644
--- a/themes/rbsimple-DE/atari800/systeminfo.xml
+++ b/themes/rbsimple-DE/atari800/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Display : 320x192 monochrome, 160x96 with 128 colors</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atari800/theme.xml b/themes/rbsimple-DE/atari800/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atari800/theme.xml
+++ b/themes/rbsimple-DE/atari800/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarijaguar/colors.xml b/themes/rbsimple-DE/atarijaguar/colors.xml
index afee67784..73f534b16 100644
--- a/themes/rbsimple-DE/atarijaguar/colors.xml
+++ b/themes/rbsimple-DE/atarijaguar/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>0F0E0E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarijaguar/systeminfo.xml b/themes/rbsimple-DE/atarijaguar/systeminfo.xml
index 45e1dc7ba..77fef4661 100644
--- a/themes/rbsimple-DE/atarijaguar/systeminfo.xml
+++ b/themes/rbsimple-DE/atarijaguar/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Display : Max resolution 800×576 at 24 bit "true" color</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarijaguar/theme.xml b/themes/rbsimple-DE/atarijaguar/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atarijaguar/theme.xml
+++ b/themes/rbsimple-DE/atarijaguar/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarijaguarcd/colors.xml b/themes/rbsimple-DE/atarijaguarcd/colors.xml
index c2f42b731..e4fc28132 100644
--- a/themes/rbsimple-DE/atarijaguarcd/colors.xml
+++ b/themes/rbsimple-DE/atarijaguarcd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>232326</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarijaguarcd/systeminfo.xml b/themes/rbsimple-DE/atarijaguarcd/systeminfo.xml
index 30ed8043c..0b0f12ad8 100644
--- a/themes/rbsimple-DE/atarijaguarcd/systeminfo.xml
+++ b/themes/rbsimple-DE/atarijaguarcd/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Atari Jaguar CD</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarijaguarcd/theme.xml b/themes/rbsimple-DE/atarijaguarcd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atarijaguarcd/theme.xml
+++ b/themes/rbsimple-DE/atarijaguarcd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarilynx/colors.xml b/themes/rbsimple-DE/atarilynx/colors.xml
index 8d5364fda..664e38d65 100644
--- a/themes/rbsimple-DE/atarilynx/colors.xml
+++ b/themes/rbsimple-DE/atarilynx/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>262626</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarilynx/systeminfo.xml b/themes/rbsimple-DE/atarilynx/systeminfo.xml
index 30ea70323..ab3d12db1 100644
--- a/themes/rbsimple-DE/atarilynx/systeminfo.xml
+++ b/themes/rbsimple-DE/atarilynx/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Sound :  4 channels, 8-bit DAC</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarilynx/theme.xml b/themes/rbsimple-DE/atarilynx/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atarilynx/theme.xml
+++ b/themes/rbsimple-DE/atarilynx/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarist/colors.xml b/themes/rbsimple-DE/atarist/colors.xml
index a3a047840..9de26dc3f 100644
--- a/themes/rbsimple-DE/atarist/colors.xml
+++ b/themes/rbsimple-DE/atarist/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>ECECEC</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarist/systeminfo.xml b/themes/rbsimple-DE/atarist/systeminfo.xml
index 2026e7ca4..a56db3191 100644
--- a/themes/rbsimple-DE/atarist/systeminfo.xml
+++ b/themes/rbsimple-DE/atarist/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Medium resolution: 640 × 200 (4 color), palette of 512 colors</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarist/theme.xml b/themes/rbsimple-DE/atarist/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atarist/theme.xml
+++ b/themes/rbsimple-DE/atarist/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarixe/colors.xml b/themes/rbsimple-DE/atarixe/colors.xml
index 84e986c5a..ddf571168 100644
--- a/themes/rbsimple-DE/atarixe/colors.xml
+++ b/themes/rbsimple-DE/atarixe/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>B9A9CE</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarixe/systeminfo.xml b/themes/rbsimple-DE/atarixe/systeminfo.xml
index 59d1dd893..1497474dd 100644
--- a/themes/rbsimple-DE/atarixe/systeminfo.xml
+++ b/themes/rbsimple-DE/atarixe/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Atari XE</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atarixe/theme.xml b/themes/rbsimple-DE/atarixe/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atarixe/theme.xml
+++ b/themes/rbsimple-DE/atarixe/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atomiswave/colors.xml b/themes/rbsimple-DE/atomiswave/colors.xml
index 477d98a8f..05c594800 100644
--- a/themes/rbsimple-DE/atomiswave/colors.xml
+++ b/themes/rbsimple-DE/atomiswave/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>029205</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atomiswave/systeminfo.xml b/themes/rbsimple-DE/atomiswave/systeminfo.xml
index 0c123a515..18852ac21 100644
--- a/themes/rbsimple-DE/atomiswave/systeminfo.xml
+++ b/themes/rbsimple-DE/atomiswave/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Media : ROM Board (max. size of 168 MB)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/atomiswave/theme.xml b/themes/rbsimple-DE/atomiswave/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/atomiswave/theme.xml
+++ b/themes/rbsimple-DE/atomiswave/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-allgames/colors.xml b/themes/rbsimple-DE/auto-allgames/colors.xml
index 01ce2a53c..197219ac0 100644
--- a/themes/rbsimple-DE/auto-allgames/colors.xml
+++ b/themes/rbsimple-DE/auto-allgames/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>303030</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-allgames/systeminfo.xml b/themes/rbsimple-DE/auto-allgames/systeminfo.xml
index 6a9087973..d6d9da830 100644
--- a/themes/rbsimple-DE/auto-allgames/systeminfo.xml
+++ b/themes/rbsimple-DE/auto-allgames/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>See your complete game library in a single list.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-allgames/theme.xml b/themes/rbsimple-DE/auto-allgames/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/auto-allgames/theme.xml
+++ b/themes/rbsimple-DE/auto-allgames/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-favorites/colors.xml b/themes/rbsimple-DE/auto-favorites/colors.xml
index 01ce2a53c..197219ac0 100644
--- a/themes/rbsimple-DE/auto-favorites/colors.xml
+++ b/themes/rbsimple-DE/auto-favorites/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>303030</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-favorites/systeminfo.xml b/themes/rbsimple-DE/auto-favorites/systeminfo.xml
index ed53be398..57cad3bd1 100644
--- a/themes/rbsimple-DE/auto-favorites/systeminfo.xml
+++ b/themes/rbsimple-DE/auto-favorites/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -9,4 +9,4 @@
             <text>Every time you mark a game as a favorite for a system, it will show up here.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-favorites/theme.xml b/themes/rbsimple-DE/auto-favorites/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/auto-favorites/theme.xml
+++ b/themes/rbsimple-DE/auto-favorites/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-lastplayed/colors.xml b/themes/rbsimple-DE/auto-lastplayed/colors.xml
index 01ce2a53c..197219ac0 100644
--- a/themes/rbsimple-DE/auto-lastplayed/colors.xml
+++ b/themes/rbsimple-DE/auto-lastplayed/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>303030</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-lastplayed/systeminfo.xml b/themes/rbsimple-DE/auto-lastplayed/systeminfo.xml
index 9858db814..ce85df6bd 100644
--- a/themes/rbsimple-DE/auto-lastplayed/systeminfo.xml
+++ b/themes/rbsimple-DE/auto-lastplayed/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Find the 50 latest games you played in this list.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/auto-lastplayed/theme.xml b/themes/rbsimple-DE/auto-lastplayed/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/auto-lastplayed/theme.xml
+++ b/themes/rbsimple-DE/auto-lastplayed/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/bbcmicro/colors.xml b/themes/rbsimple-DE/bbcmicro/colors.xml
index e9f643432..35dec8a7f 100644
--- a/themes/rbsimple-DE/bbcmicro/colors.xml
+++ b/themes/rbsimple-DE/bbcmicro/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>635B4F</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/bbcmicro/systeminfo.xml b/themes/rbsimple-DE/bbcmicro/systeminfo.xml
index 186779258..f6bf2e658 100644
--- a/themes/rbsimple-DE/bbcmicro/systeminfo.xml
+++ b/themes/rbsimple-DE/bbcmicro/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>BBC Micro</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/bbcmicro/theme.xml b/themes/rbsimple-DE/bbcmicro/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/bbcmicro/theme.xml
+++ b/themes/rbsimple-DE/bbcmicro/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/c64/colors.xml b/themes/rbsimple-DE/c64/colors.xml
index e913e4f1f..a2a91c7a1 100644
--- a/themes/rbsimple-DE/c64/colors.xml
+++ b/themes/rbsimple-DE/c64/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>00A0C6</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/c64/systeminfo.xml b/themes/rbsimple-DE/c64/systeminfo.xml
index 347bfbef9..9898a87aa 100644
--- a/themes/rbsimple-DE/c64/systeminfo.xml
+++ b/themes/rbsimple-DE/c64/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 320×200 (16 colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/c64/theme.xml b/themes/rbsimple-DE/c64/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/c64/theme.xml
+++ b/themes/rbsimple-DE/c64/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/cavestory/colors.xml b/themes/rbsimple-DE/cavestory/colors.xml
index e3c9014d6..5b8585bd8 100644
--- a/themes/rbsimple-DE/cavestory/colors.xml
+++ b/themes/rbsimple-DE/cavestory/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>182142</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/cavestory/systeminfo.xml b/themes/rbsimple-DE/cavestory/systeminfo.xml
index 0485168b2..32a7130d1 100644
--- a/themes/rbsimple-DE/cavestory/systeminfo.xml
+++ b/themes/rbsimple-DE/cavestory/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>The protagonist is thrust into the position of savior as he endeavors to defeat the Doctor.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/cavestory/theme.xml b/themes/rbsimple-DE/cavestory/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/cavestory/theme.xml
+++ b/themes/rbsimple-DE/cavestory/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/cdtv/colors.xml b/themes/rbsimple-DE/cdtv/colors.xml
index 5230f1cf2..3bffae9c9 100644
--- a/themes/rbsimple-DE/cdtv/colors.xml
+++ b/themes/rbsimple-DE/cdtv/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>F62717</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/cdtv/systeminfo.xml b/themes/rbsimple-DE/cdtv/systeminfo.xml
index 68de1d2f5..283c67c06 100644
--- a/themes/rbsimple-DE/cdtv/systeminfo.xml
+++ b/themes/rbsimple-DE/cdtv/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 320 x 200 (32 colors) / 640 x 240 (16 colors)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/cdtv/theme.xml b/themes/rbsimple-DE/cdtv/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/cdtv/theme.xml
+++ b/themes/rbsimple-DE/cdtv/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/chailove/colors.xml b/themes/rbsimple-DE/chailove/colors.xml
index bcb57b733..84f99d819 100644
--- a/themes/rbsimple-DE/chailove/colors.xml
+++ b/themes/rbsimple-DE/chailove/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>25AAE1</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/chailove/systeminfo.xml b/themes/rbsimple-DE/chailove/systeminfo.xml
index 1f1c66a2f..3db0dba02 100644
--- a/themes/rbsimple-DE/chailove/systeminfo.xml
+++ b/themes/rbsimple-DE/chailove/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>ChaiLove game engine</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/chailove/theme.xml b/themes/rbsimple-DE/chailove/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/chailove/theme.xml
+++ b/themes/rbsimple-DE/chailove/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/channelf/colors.xml b/themes/rbsimple-DE/channelf/colors.xml
index 2fcfcb55e..fae522add 100644
--- a/themes/rbsimple-DE/channelf/colors.xml
+++ b/themes/rbsimple-DE/channelf/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>4B3FF3</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/channelf/systeminfo.xml b/themes/rbsimple-DE/channelf/systeminfo.xml
index c3e00c4ca..d83598b07 100644
--- a/themes/rbsimple-DE/channelf/systeminfo.xml
+++ b/themes/rbsimple-DE/channelf/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Media : ROM Cartridge</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/channelf/theme.xml b/themes/rbsimple-DE/channelf/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/channelf/theme.xml
+++ b/themes/rbsimple-DE/channelf/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/coco/colors.xml b/themes/rbsimple-DE/coco/colors.xml
index 4b116c46f..f9d80b26d 100644
--- a/themes/rbsimple-DE/coco/colors.xml
+++ b/themes/rbsimple-DE/coco/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>AE1F19</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/coco/systeminfo.xml b/themes/rbsimple-DE/coco/systeminfo.xml
index ae6294f73..3fcd96b23 100644
--- a/themes/rbsimple-DE/coco/systeminfo.xml
+++ b/themes/rbsimple-DE/coco/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Tandy Color Computer</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/coco/theme.xml b/themes/rbsimple-DE/coco/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/coco/theme.xml
+++ b/themes/rbsimple-DE/coco/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/colecovision/colors.xml b/themes/rbsimple-DE/colecovision/colors.xml
index bfb00aa3c..b5ba34c74 100644
--- a/themes/rbsimple-DE/colecovision/colors.xml
+++ b/themes/rbsimple-DE/colecovision/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>A4DDF0</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/colecovision/systeminfo.xml b/themes/rbsimple-DE/colecovision/systeminfo.xml
index 51bfd407b..1e4ea10f5 100644
--- a/themes/rbsimple-DE/colecovision/systeminfo.xml
+++ b/themes/rbsimple-DE/colecovision/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 8kB - 32kB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/colecovision/theme.xml b/themes/rbsimple-DE/colecovision/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/colecovision/theme.xml
+++ b/themes/rbsimple-DE/colecovision/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/colors.xml b/themes/rbsimple-DE/colors.xml
index 38bf13903..710ee41ec 100644
--- a/themes/rbsimple-DE/colors.xml
+++ b/themes/rbsimple-DE/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <feature supported="carousel">
         <view name="system">
@@ -22,24 +22,26 @@
             <color>262626</color>
         </text>
         <helpsystem name="help">
-            <textColor>A6A6A6</textColor>
-            <iconColor>A6A6A6</iconColor>
+            <textColor>C6C6C6</textColor>
+            <iconColor>C6C6C6</iconColor>
+            <textColorDimmed>B6B6B6</textColorDimmed>
+            <iconColorDimmed>B6B6B6</iconColorDimmed>
         </helpsystem>
     </view>
 
     <view name="basic, detailed, video, grid">
+        <helpsystem name="help">
+            <textColor>262626</textColor>
+            <iconColor>262626</iconColor>
+        </helpsystem>
         <image name="background" extra="true">
             <color>707070</color>
         </image>
         <!-- This block is only here to force the drawing of color bands before frames. -->
-        <image name="band1" extra="true">
-        </image>
-        <image name="band2" extra="true">
-        </image>
-        <image name="band3" extra="true">
-        </image>
-        <image name="band4" extra="true">
-        </image>
+        <image name="band1" extra="true"></image>
+        <image name="band2" extra="true"></image>
+        <image name="band3" extra="true"></image>
+        <image name="band4" extra="true"></image>
         <textlist name="gamelist">
             <selectorColor>262626</selectorColor>
             <selectedColor>9F9F9F</selectedColor>
@@ -114,4 +116,4 @@
             <backgroundColor>28424244</backgroundColor>
         </gridtile>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/custom-collections/colors.xml b/themes/rbsimple-DE/custom-collections/colors.xml
index 01ce2a53c..197219ac0 100644
--- a/themes/rbsimple-DE/custom-collections/colors.xml
+++ b/themes/rbsimple-DE/custom-collections/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>303030</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/custom-collections/systeminfo.xml b/themes/rbsimple-DE/custom-collections/systeminfo.xml
index d4ea87284..f65d3908c 100644
--- a/themes/rbsimple-DE/custom-collections/systeminfo.xml
+++ b/themes/rbsimple-DE/custom-collections/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Find your own custom collections here.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/custom-collections/theme.xml b/themes/rbsimple-DE/custom-collections/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/custom-collections/theme.xml
+++ b/themes/rbsimple-DE/custom-collections/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/daphne/colors.xml b/themes/rbsimple-DE/daphne/colors.xml
index b450f31cd..239322a05 100644
--- a/themes/rbsimple-DE/daphne/colors.xml
+++ b/themes/rbsimple-DE/daphne/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>D8D3BD</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/daphne/systeminfo.xml b/themes/rbsimple-DE/daphne/systeminfo.xml
index a34100ef8..feb4c74ff 100644
--- a/themes/rbsimple-DE/daphne/systeminfo.xml
+++ b/themes/rbsimple-DE/daphne/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Best LaserDisc games are: Dragon's Lair, Space Ace, ...</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/daphne/theme.xml b/themes/rbsimple-DE/daphne/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/daphne/theme.xml
+++ b/themes/rbsimple-DE/daphne/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/desktop/colors.xml b/themes/rbsimple-DE/desktop/colors.xml
index 57105ba58..1e4412b82 100644
--- a/themes/rbsimple-DE/desktop/colors.xml
+++ b/themes/rbsimple-DE/desktop/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>5C5599</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/desktop/systeminfo.xml b/themes/rbsimple-DE/desktop/systeminfo.xml
index c72b3c167..b9c5b55a8 100644
--- a/themes/rbsimple-DE/desktop/systeminfo.xml
+++ b/themes/rbsimple-DE/desktop/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Desktop applications</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/desktop/theme.xml b/themes/rbsimple-DE/desktop/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/desktop/theme.xml
+++ b/themes/rbsimple-DE/desktop/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/doom/colors.xml b/themes/rbsimple-DE/doom/colors.xml
index d56d17424..7eb2f4456 100644
--- a/themes/rbsimple-DE/doom/colors.xml
+++ b/themes/rbsimple-DE/doom/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>A63417</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/doom/systeminfo.xml b/themes/rbsimple-DE/doom/systeminfo.xml
index e6389340c..c8132c711 100644
--- a/themes/rbsimple-DE/doom/systeminfo.xml
+++ b/themes/rbsimple-DE/doom/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -21,4 +21,4 @@
             <text>third dimension spatiality, and support for player-created modifications with the Doom WAD format.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/doom/theme.xml b/themes/rbsimple-DE/doom/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/doom/theme.xml
+++ b/themes/rbsimple-DE/doom/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dos/colors.xml b/themes/rbsimple-DE/dos/colors.xml
index 6e2668792..525ccdee4 100644
--- a/themes/rbsimple-DE/dos/colors.xml
+++ b/themes/rbsimple-DE/dos/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>111111</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dos/systeminfo.xml b/themes/rbsimple-DE/dos/systeminfo.xml
index 7a01ad852..56a760f46 100644
--- a/themes/rbsimple-DE/dos/systeminfo.xml
+++ b/themes/rbsimple-DE/dos/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>of DOS that is still getting updated.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dos/theme.xml b/themes/rbsimple-DE/dos/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/dos/theme.xml
+++ b/themes/rbsimple-DE/dos/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dragon32/colors.xml b/themes/rbsimple-DE/dragon32/colors.xml
index bc31fb0a5..09b88584b 100644
--- a/themes/rbsimple-DE/dragon32/colors.xml
+++ b/themes/rbsimple-DE/dragon32/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>3262D9</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dragon32/systeminfo.xml b/themes/rbsimple-DE/dragon32/systeminfo.xml
index 938bffe99..5fad13f71 100644
--- a/themes/rbsimple-DE/dragon32/systeminfo.xml
+++ b/themes/rbsimple-DE/dragon32/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Sound : 1 voice, 5 octaves with the Basic / 4 voices, 7 octaves with machine code</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dragon32/theme.xml b/themes/rbsimple-DE/dragon32/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/dragon32/theme.xml
+++ b/themes/rbsimple-DE/dragon32/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dreamcast/colors.xml b/themes/rbsimple-DE/dreamcast/colors.xml
index c25c1e804..b4cdf33b3 100644
--- a/themes/rbsimple-DE/dreamcast/colors.xml
+++ b/themes/rbsimple-DE/dreamcast/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>E4E5E4</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dreamcast/systeminfo.xml b/themes/rbsimple-DE/dreamcast/systeminfo.xml
index 16a8a4787..f5ba49d91 100644
--- a/themes/rbsimple-DE/dreamcast/systeminfo.xml
+++ b/themes/rbsimple-DE/dreamcast/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>VMU size : 128kB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/dreamcast/theme.xml b/themes/rbsimple-DE/dreamcast/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/dreamcast/theme.xml
+++ b/themes/rbsimple-DE/dreamcast/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/famicom/colors.xml b/themes/rbsimple-DE/famicom/colors.xml
index 1e85b9e0e..7bf905516 100644
--- a/themes/rbsimple-DE/famicom/colors.xml
+++ b/themes/rbsimple-DE/famicom/colors.xml
@@ -1,7 +1,7 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
-<view name="system, basic, detailed, video, grid">
+    <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
             <color>EA2C27</color>
         </image>
@@ -15,4 +15,4 @@
             <color>AA1C41</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/famicom/systeminfo.xml b/themes/rbsimple-DE/famicom/systeminfo.xml
index c34a0bb82..c7b835d28 100644
--- a/themes/rbsimple-DE/famicom/systeminfo.xml
+++ b/themes/rbsimple-DE/famicom/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 8kB - 1MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/famicom/theme.xml b/themes/rbsimple-DE/famicom/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/famicom/theme.xml
+++ b/themes/rbsimple-DE/famicom/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fba/colors.xml b/themes/rbsimple-DE/fba/colors.xml
index abf6aa645..d88bb40fc 100644
--- a/themes/rbsimple-DE/fba/colors.xml
+++ b/themes/rbsimple-DE/fba/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFFFFF</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fba/systeminfo.xml b/themes/rbsimple-DE/fba/systeminfo.xml
index 1ff941348..21415507f 100644
--- a/themes/rbsimple-DE/fba/systeminfo.xml
+++ b/themes/rbsimple-DE/fba/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>FBA is based on the original FinalBurn by Dave.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fba/theme.xml b/themes/rbsimple-DE/fba/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/fba/theme.xml
+++ b/themes/rbsimple-DE/fba/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fbneo/colors.xml b/themes/rbsimple-DE/fbneo/colors.xml
index 3289868ca..4694e99c4 100644
--- a/themes/rbsimple-DE/fbneo/colors.xml
+++ b/themes/rbsimple-DE/fbneo/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFFFFF</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fbneo/systeminfo.xml b/themes/rbsimple-DE/fbneo/systeminfo.xml
index 7e81894dd..c8569f041 100644
--- a/themes/rbsimple-DE/fbneo/systeminfo.xml
+++ b/themes/rbsimple-DE/fbneo/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>FBN is based on FinalBurn and old versions of MAME.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fbneo/theme.xml b/themes/rbsimple-DE/fbneo/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/fbneo/theme.xml
+++ b/themes/rbsimple-DE/fbneo/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fds/colors.xml b/themes/rbsimple-DE/fds/colors.xml
index bd095607a..44f43b243 100644
--- a/themes/rbsimple-DE/fds/colors.xml
+++ b/themes/rbsimple-DE/fds/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>F4B600</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fds/systeminfo.xml b/themes/rbsimple-DE/fds/systeminfo.xml
index 57ff4b4a2..5ef3941d1 100644
--- a/themes/rbsimple-DE/fds/systeminfo.xml
+++ b/themes/rbsimple-DE/fds/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Ports : Uses Famicom hardware</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/fds/theme.xml b/themes/rbsimple-DE/fds/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/fds/theme.xml
+++ b/themes/rbsimple-DE/fds/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gameandwatch/colors.xml b/themes/rbsimple-DE/gameandwatch/colors.xml
index 22cc03e9d..bf8652f2f 100644
--- a/themes/rbsimple-DE/gameandwatch/colors.xml
+++ b/themes/rbsimple-DE/gameandwatch/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>4C301C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gameandwatch/systeminfo.xml b/themes/rbsimple-DE/gameandwatch/systeminfo.xml
index c51bba4be..f83cbea92 100644
--- a/themes/rbsimple-DE/gameandwatch/systeminfo.xml
+++ b/themes/rbsimple-DE/gameandwatch/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Mr GW is a character often considered as the mascot of the GW series.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gameandwatch/theme.xml b/themes/rbsimple-DE/gameandwatch/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gameandwatch/theme.xml
+++ b/themes/rbsimple-DE/gameandwatch/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gamegear/colors.xml b/themes/rbsimple-DE/gamegear/colors.xml
index e2579d2ee..e3bc8a35f 100644
--- a/themes/rbsimple-DE/gamegear/colors.xml
+++ b/themes/rbsimple-DE/gamegear/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>0000FE</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gamegear/systeminfo.xml b/themes/rbsimple-DE/gamegear/systeminfo.xml
index 533f65dca..343c5d171 100644
--- a/themes/rbsimple-DE/gamegear/systeminfo.xml
+++ b/themes/rbsimple-DE/gamegear/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Screen : 8.128cm (3.2 inches), backlit LCD</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gamegear/theme.xml b/themes/rbsimple-DE/gamegear/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gamegear/theme.xml
+++ b/themes/rbsimple-DE/gamegear/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gb/colors.xml b/themes/rbsimple-DE/gb/colors.xml
index 6551a708c..9db0fd07e 100644
--- a/themes/rbsimple-DE/gb/colors.xml
+++ b/themes/rbsimple-DE/gb/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>A3A3A3</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gb/systeminfo.xml b/themes/rbsimple-DE/gb/systeminfo.xml
index bf653dddd..63cf2f689 100644
--- a/themes/rbsimple-DE/gb/systeminfo.xml
+++ b/themes/rbsimple-DE/gb/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 32kB - 1MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gb/theme.xml b/themes/rbsimple-DE/gb/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gb/theme.xml
+++ b/themes/rbsimple-DE/gb/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gba/colors.xml b/themes/rbsimple-DE/gba/colors.xml
index 79aee94ce..ca4c12b1f 100644
--- a/themes/rbsimple-DE/gba/colors.xml
+++ b/themes/rbsimple-DE/gba/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212121</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gba/systeminfo.xml b/themes/rbsimple-DE/gba/systeminfo.xml
index 67279e5fb..9e870b6f9 100644
--- a/themes/rbsimple-DE/gba/systeminfo.xml
+++ b/themes/rbsimple-DE/gba/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Display Ability : 32 000 colours</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gba/theme.xml b/themes/rbsimple-DE/gba/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gba/theme.xml
+++ b/themes/rbsimple-DE/gba/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gbc/colors.xml b/themes/rbsimple-DE/gbc/colors.xml
index 26224ec7f..8694336bf 100644
--- a/themes/rbsimple-DE/gbc/colors.xml
+++ b/themes/rbsimple-DE/gbc/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>7642B6</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gbc/systeminfo.xml b/themes/rbsimple-DE/gbc/systeminfo.xml
index 86db4934b..453c4eb23 100644
--- a/themes/rbsimple-DE/gbc/systeminfo.xml
+++ b/themes/rbsimple-DE/gbc/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 256kB - 8MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gbc/theme.xml b/themes/rbsimple-DE/gbc/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gbc/theme.xml
+++ b/themes/rbsimple-DE/gbc/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gc/colors.xml b/themes/rbsimple-DE/gc/colors.xml
index 3bca7aeab..23b5113a8 100644
--- a/themes/rbsimple-DE/gc/colors.xml
+++ b/themes/rbsimple-DE/gc/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1e1c1a</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gc/systeminfo.xml b/themes/rbsimple-DE/gc/systeminfo.xml
index fc8a279d1..0d3a18526 100644
--- a/themes/rbsimple-DE/gc/systeminfo.xml
+++ b/themes/rbsimple-DE/gc/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Media : 1.5 GB miniDVD</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gc/theme.xml b/themes/rbsimple-DE/gc/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gc/theme.xml
+++ b/themes/rbsimple-DE/gc/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/genesis/colors.xml b/themes/rbsimple-DE/genesis/colors.xml
index 3cb4050a6..fbe39a507 100644
--- a/themes/rbsimple-DE/genesis/colors.xml
+++ b/themes/rbsimple-DE/genesis/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>811B15</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/genesis/systeminfo.xml b/themes/rbsimple-DE/genesis/systeminfo.xml
index 4e2b2ed02..4ebbf4310 100644
--- a/themes/rbsimple-DE/genesis/systeminfo.xml
+++ b/themes/rbsimple-DE/genesis/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Sound : Yamaha YM2612 FM and TI SN76489 PSG</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/genesis/theme.xml b/themes/rbsimple-DE/genesis/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/genesis/theme.xml
+++ b/themes/rbsimple-DE/genesis/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gx4000/colors.xml b/themes/rbsimple-DE/gx4000/colors.xml
index 50eeb9dd6..4b463d593 100644
--- a/themes/rbsimple-DE/gx4000/colors.xml
+++ b/themes/rbsimple-DE/gx4000/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>C02520</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gx4000/systeminfo.xml b/themes/rbsimple-DE/gx4000/systeminfo.xml
index b8e26e347..39baf3c6e 100644
--- a/themes/rbsimple-DE/gx4000/systeminfo.xml
+++ b/themes/rbsimple-DE/gx4000/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Resolution : 160x200 to 640x200, 16 sprites, 4096 colour palette - 32 onscreen</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/gx4000/theme.xml b/themes/rbsimple-DE/gx4000/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/gx4000/theme.xml
+++ b/themes/rbsimple-DE/gx4000/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/intellivision/colors.xml b/themes/rbsimple-DE/intellivision/colors.xml
index b364bc080..30c5c3f51 100644
--- a/themes/rbsimple-DE/intellivision/colors.xml
+++ b/themes/rbsimple-DE/intellivision/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>C8D463</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/intellivision/systeminfo.xml b/themes/rbsimple-DE/intellivision/systeminfo.xml
index 39ec8bfd8..41cfbdcb8 100644
--- a/themes/rbsimple-DE/intellivision/systeminfo.xml
+++ b/themes/rbsimple-DE/intellivision/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 8kB - 32kB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/intellivision/theme.xml b/themes/rbsimple-DE/intellivision/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/intellivision/theme.xml
+++ b/themes/rbsimple-DE/intellivision/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/kodi/colors.xml b/themes/rbsimple-DE/kodi/colors.xml
index ca2cf74a0..5e7126c89 100644
--- a/themes/rbsimple-DE/kodi/colors.xml
+++ b/themes/rbsimple-DE/kodi/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>BF2E31</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/kodi/systeminfo.xml b/themes/rbsimple-DE/kodi/systeminfo.xml
index c35cc2ecd..35afce63c 100644
--- a/themes/rbsimple-DE/kodi/systeminfo.xml
+++ b/themes/rbsimple-DE/kodi/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>and tweak your perfect entertainment setup.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/kodi/theme.xml b/themes/rbsimple-DE/kodi/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/kodi/theme.xml
+++ b/themes/rbsimple-DE/kodi/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/lutris/colors.xml b/themes/rbsimple-DE/lutris/colors.xml
index 340584501..4f99c65f6 100644
--- a/themes/rbsimple-DE/lutris/colors.xml
+++ b/themes/rbsimple-DE/lutris/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFB700</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/lutris/systeminfo.xml b/themes/rbsimple-DE/lutris/systeminfo.xml
index 02459dc4d..c9f60751d 100644
--- a/themes/rbsimple-DE/lutris/systeminfo.xml
+++ b/themes/rbsimple-DE/lutris/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>in a user-friendly fashion.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/lutris/theme.xml b/themes/rbsimple-DE/lutris/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/lutris/theme.xml
+++ b/themes/rbsimple-DE/lutris/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/lutro/colors.xml b/themes/rbsimple-DE/lutro/colors.xml
index 7b4d008a6..9bb40251f 100644
--- a/themes/rbsimple-DE/lutro/colors.xml
+++ b/themes/rbsimple-DE/lutro/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>00007f</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/lutro/systeminfo.xml b/themes/rbsimple-DE/lutro/systeminfo.xml
index 630de18a3..dcf0821d9 100644
--- a/themes/rbsimple-DE/lutro/systeminfo.xml
+++ b/themes/rbsimple-DE/lutro/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Lutro is an experimental lua game framework for libretro following the LÖVE API.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/lutro/theme.xml b/themes/rbsimple-DE/lutro/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/lutro/theme.xml
+++ b/themes/rbsimple-DE/lutro/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/macintosh/colors.xml b/themes/rbsimple-DE/macintosh/colors.xml
index b07ac4053..c07bbfe74 100644
--- a/themes/rbsimple-DE/macintosh/colors.xml
+++ b/themes/rbsimple-DE/macintosh/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>C45152</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/macintosh/systeminfo.xml b/themes/rbsimple-DE/macintosh/systeminfo.xml
index c07d49b98..3dc570a37 100644
--- a/themes/rbsimple-DE/macintosh/systeminfo.xml
+++ b/themes/rbsimple-DE/macintosh/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 512x512 (65536 colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/macintosh/theme.xml b/themes/rbsimple-DE/macintosh/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/macintosh/theme.xml
+++ b/themes/rbsimple-DE/macintosh/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame-advmame/colors.xml b/themes/rbsimple-DE/mame-advmame/colors.xml
index 511fa5fa7..c2f09768e 100644
--- a/themes/rbsimple-DE/mame-advmame/colors.xml
+++ b/themes/rbsimple-DE/mame-advmame/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFFFFF</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame-advmame/systeminfo.xml b/themes/rbsimple-DE/mame-advmame/systeminfo.xml
index 90048f8be..4d8e041bf 100644
--- a/themes/rbsimple-DE/mame-advmame/systeminfo.xml
+++ b/themes/rbsimple-DE/mame-advmame/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>The intention is to preserve gaming history by preventing vintage games from being lost or forgotten.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame-advmame/theme.xml b/themes/rbsimple-DE/mame-advmame/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/mame-advmame/theme.xml
+++ b/themes/rbsimple-DE/mame-advmame/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame-mame4all/colors.xml b/themes/rbsimple-DE/mame-mame4all/colors.xml
index 511fa5fa7..c2f09768e 100644
--- a/themes/rbsimple-DE/mame-mame4all/colors.xml
+++ b/themes/rbsimple-DE/mame-mame4all/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFFFFF</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame-mame4all/systeminfo.xml b/themes/rbsimple-DE/mame-mame4all/systeminfo.xml
index 90048f8be..4d8e041bf 100644
--- a/themes/rbsimple-DE/mame-mame4all/systeminfo.xml
+++ b/themes/rbsimple-DE/mame-mame4all/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>The intention is to preserve gaming history by preventing vintage games from being lost or forgotten.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame-mame4all/theme.xml b/themes/rbsimple-DE/mame-mame4all/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/mame-mame4all/theme.xml
+++ b/themes/rbsimple-DE/mame-mame4all/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame/colors.xml b/themes/rbsimple-DE/mame/colors.xml
index 511fa5fa7..c2f09768e 100644
--- a/themes/rbsimple-DE/mame/colors.xml
+++ b/themes/rbsimple-DE/mame/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFFFFF</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame/systeminfo.xml b/themes/rbsimple-DE/mame/systeminfo.xml
index 90048f8be..4d8e041bf 100644
--- a/themes/rbsimple-DE/mame/systeminfo.xml
+++ b/themes/rbsimple-DE/mame/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>The intention is to preserve gaming history by preventing vintage games from being lost or forgotten.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mame/theme.xml b/themes/rbsimple-DE/mame/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/mame/theme.xml
+++ b/themes/rbsimple-DE/mame/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mastersystem/colors.xml b/themes/rbsimple-DE/mastersystem/colors.xml
index 928bb7cc4..5e2699291 100644
--- a/themes/rbsimple-DE/mastersystem/colors.xml
+++ b/themes/rbsimple-DE/mastersystem/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1A1A1A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mastersystem/systeminfo.xml b/themes/rbsimple-DE/mastersystem/systeminfo.xml
index 97240b7ab..bcf5cdcba 100644
--- a/themes/rbsimple-DE/mastersystem/systeminfo.xml
+++ b/themes/rbsimple-DE/mastersystem/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 32kB - 1MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mastersystem/theme.xml b/themes/rbsimple-DE/mastersystem/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/mastersystem/theme.xml
+++ b/themes/rbsimple-DE/mastersystem/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megacd/colors.xml b/themes/rbsimple-DE/megacd/colors.xml
index f76fc5c03..eb79262d8 100644
--- a/themes/rbsimple-DE/megacd/colors.xml
+++ b/themes/rbsimple-DE/megacd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212122</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megacd/systeminfo.xml b/themes/rbsimple-DE/megacd/systeminfo.xml
index 4b7875c20..a27cbdd7f 100644
--- a/themes/rbsimple-DE/megacd/systeminfo.xml
+++ b/themes/rbsimple-DE/megacd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,10 +27,10 @@
             <text>Resolution : 320×224 pixels, 64 colors (512 colors palette)</text>
         </text>
         <text name="info9" extra="true">
-            <text>Sound : Ricoh RF5C164 + Megadrive Sound chips </text>
+            <text>Sound : Ricoh RF5C164 + Megadrive Sound chips</text>
         </text>
         <text name="info10" extra="true">
             <text>Media : 500MB CD-ROM discs</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megacd/theme.xml b/themes/rbsimple-DE/megacd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/megacd/theme.xml
+++ b/themes/rbsimple-DE/megacd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megacdjp/colors.xml b/themes/rbsimple-DE/megacdjp/colors.xml
index 5d02a0372..83d02b596 100644
--- a/themes/rbsimple-DE/megacdjp/colors.xml
+++ b/themes/rbsimple-DE/megacdjp/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>732A46</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megacdjp/systeminfo.xml b/themes/rbsimple-DE/megacdjp/systeminfo.xml
index 4b7875c20..a27cbdd7f 100644
--- a/themes/rbsimple-DE/megacdjp/systeminfo.xml
+++ b/themes/rbsimple-DE/megacdjp/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,10 +27,10 @@
             <text>Resolution : 320×224 pixels, 64 colors (512 colors palette)</text>
         </text>
         <text name="info9" extra="true">
-            <text>Sound : Ricoh RF5C164 + Megadrive Sound chips </text>
+            <text>Sound : Ricoh RF5C164 + Megadrive Sound chips</text>
         </text>
         <text name="info10" extra="true">
             <text>Media : 500MB CD-ROM discs</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megacdjp/theme.xml b/themes/rbsimple-DE/megacdjp/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/megacdjp/theme.xml
+++ b/themes/rbsimple-DE/megacdjp/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megadrive/colors.xml b/themes/rbsimple-DE/megadrive/colors.xml
index 9e87a9721..3de783feb 100644
--- a/themes/rbsimple-DE/megadrive/colors.xml
+++ b/themes/rbsimple-DE/megadrive/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212122</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megadrive/systeminfo.xml b/themes/rbsimple-DE/megadrive/systeminfo.xml
index 4e2b2ed02..4ebbf4310 100644
--- a/themes/rbsimple-DE/megadrive/systeminfo.xml
+++ b/themes/rbsimple-DE/megadrive/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Sound : Yamaha YM2612 FM and TI SN76489 PSG</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/megadrive/theme.xml b/themes/rbsimple-DE/megadrive/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/megadrive/theme.xml
+++ b/themes/rbsimple-DE/megadrive/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mess/colors.xml b/themes/rbsimple-DE/mess/colors.xml
index 6f43bfab6..3095b7712 100644
--- a/themes/rbsimple-DE/mess/colors.xml
+++ b/themes/rbsimple-DE/mess/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FFD183</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mess/systeminfo.xml b/themes/rbsimple-DE/mess/systeminfo.xml
index c4ef66aee..6f0ece176 100644
--- a/themes/rbsimple-DE/mess/systeminfo.xml
+++ b/themes/rbsimple-DE/mess/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>MESS (Multi Emulator Super System)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/mess/theme.xml b/themes/rbsimple-DE/mess/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/mess/theme.xml
+++ b/themes/rbsimple-DE/mess/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/moonlight/colors.xml b/themes/rbsimple-DE/moonlight/colors.xml
index 819f0fae7..6d47df3e4 100644
--- a/themes/rbsimple-DE/moonlight/colors.xml
+++ b/themes/rbsimple-DE/moonlight/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>DEDDDE</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/moonlight/systeminfo.xml b/themes/rbsimple-DE/moonlight/systeminfo.xml
index 3575d98d7..b3c165cfd 100644
--- a/themes/rbsimple-DE/moonlight/systeminfo.xml
+++ b/themes/rbsimple-DE/moonlight/systeminfo.xml
@@ -1,36 +1,36 @@
 <theme>
-	<formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
-	<view name="system">
-		<text name="info1" extra="true">
-			<text>Created by : Case Western Reserve University students</text>
-		</text>
-		<text name="info2" extra="true">
-			<text>Ported on Linux by : irtimmer</text>
-		</text>
-		<text name="info3" extra="true">
-			<text>Type : Open Source implementation</text>
-		</text>
-		<text name="info4" extra="true">
-			<text>Year of first release : 2013</text>
-		</text>
-		<text name="info5" extra="true">
-			<text>PC compatibility : GFA PC with GTX 600/700/900/ ... GPU</text>
-		</text>
-		<text name="info6" extra="true">
-			<text>Necessary soft : Nvidia GeForce Experience</text>
-		</text>
-		<text name="info7" extra="true">
-			<text>Moonlight allows you to stream your collection of Steam games</text>
-		</text>
-		<text name="info8" extra="true">
-			<text>from your NVIDIA GFE PC to your rpi.</text>
-		</text>
-		<text name="info9" extra="true">
-			<text>Moonlight is perfect for gameplay on the go without</text>
-		</text>
-		<text name="info10" extra="true">
-			<text>sacrificing the graphics quality of your gaming computer.</text>
-		</text>
-	</view>
-</theme>
+    <view name="system">
+        <text name="info1" extra="true">
+            <text>Created by : Case Western Reserve University students</text>
+        </text>
+        <text name="info2" extra="true">
+            <text>Ported on Linux by : irtimmer</text>
+        </text>
+        <text name="info3" extra="true">
+            <text>Type : Open Source implementation</text>
+        </text>
+        <text name="info4" extra="true">
+            <text>Year of first release : 2013</text>
+        </text>
+        <text name="info5" extra="true">
+            <text>PC compatibility : GFA PC with GTX 600/700/900/ ... GPU</text>
+        </text>
+        <text name="info6" extra="true">
+            <text>Necessary soft : Nvidia GeForce Experience</text>
+        </text>
+        <text name="info7" extra="true">
+            <text>Moonlight allows you to stream your collection of Steam games</text>
+        </text>
+        <text name="info8" extra="true">
+            <text>from your NVIDIA GFE PC to your rpi.</text>
+        </text>
+        <text name="info9" extra="true">
+            <text>Moonlight is perfect for gameplay on the go without</text>
+        </text>
+        <text name="info10" extra="true">
+            <text>sacrificing the graphics quality of your gaming computer.</text>
+        </text>
+    </view>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/moonlight/theme.xml b/themes/rbsimple-DE/moonlight/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/moonlight/theme.xml
+++ b/themes/rbsimple-DE/moonlight/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/moto/colors.xml b/themes/rbsimple-DE/moto/colors.xml
index 875d2dd9c..5c0d24bf0 100644
--- a/themes/rbsimple-DE/moto/colors.xml
+++ b/themes/rbsimple-DE/moto/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>2C2D2C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/moto/systeminfo.xml b/themes/rbsimple-DE/moto/systeminfo.xml
index b0988edf5..afd376832 100644
--- a/themes/rbsimple-DE/moto/systeminfo.xml
+++ b/themes/rbsimple-DE/moto/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -15,7 +15,7 @@
             <text>RAM : 256kB, ROM : 80kB</text>
         </text>
         <text name="info5" extra="true">
-            <text>8 Display modes, palette of 4096 colors </text>
+            <text>8 Display modes, palette of 4096 colors</text>
         </text>
         <text name="info6" extra="true">
             <text>Low resolutions: 160 × 200 (16, 5 or 2 colors)</text>
@@ -30,4 +30,4 @@
             <text>Media : Cartridge, external 3½" floppy disk and tape drives</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/moto/theme.xml b/themes/rbsimple-DE/moto/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/moto/theme.xml
+++ b/themes/rbsimple-DE/moto/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx/colors.xml b/themes/rbsimple-DE/msx/colors.xml
index 69cdec92c..2fa4d0adf 100644
--- a/themes/rbsimple-DE/msx/colors.xml
+++ b/themes/rbsimple-DE/msx/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>dee0e0</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx/systeminfo.xml b/themes/rbsimple-DE/msx/systeminfo.xml
index a92c13928..cc566daeb 100644
--- a/themes/rbsimple-DE/msx/systeminfo.xml
+++ b/themes/rbsimple-DE/msx/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 256×192 (16 colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx/theme.xml b/themes/rbsimple-DE/msx/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/msx/theme.xml
+++ b/themes/rbsimple-DE/msx/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx1/colors.xml b/themes/rbsimple-DE/msx1/colors.xml
index 42a9e2f3a..4600fa667 100644
--- a/themes/rbsimple-DE/msx1/colors.xml
+++ b/themes/rbsimple-DE/msx1/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>2761a2</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx1/systeminfo.xml b/themes/rbsimple-DE/msx1/systeminfo.xml
index a92c13928..cc566daeb 100644
--- a/themes/rbsimple-DE/msx1/systeminfo.xml
+++ b/themes/rbsimple-DE/msx1/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 256×192 (16 colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx1/theme.xml b/themes/rbsimple-DE/msx1/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/msx1/theme.xml
+++ b/themes/rbsimple-DE/msx1/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx2/colors.xml b/themes/rbsimple-DE/msx2/colors.xml
index 29a495227..4c5a6dba8 100644
--- a/themes/rbsimple-DE/msx2/colors.xml
+++ b/themes/rbsimple-DE/msx2/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>2323dc</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx2/systeminfo.xml b/themes/rbsimple-DE/msx2/systeminfo.xml
index 68b85d72a..8b28ecdca 100644
--- a/themes/rbsimple-DE/msx2/systeminfo.xml
+++ b/themes/rbsimple-DE/msx2/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 256×212 (19268 simultaneous colors)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msx2/theme.xml b/themes/rbsimple-DE/msx2/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/msx2/theme.xml
+++ b/themes/rbsimple-DE/msx2/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msxturbor/colors.xml b/themes/rbsimple-DE/msxturbor/colors.xml
index d295bf66e..2f483aceb 100644
--- a/themes/rbsimple-DE/msxturbor/colors.xml
+++ b/themes/rbsimple-DE/msxturbor/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>32100f</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msxturbor/systeminfo.xml b/themes/rbsimple-DE/msxturbor/systeminfo.xml
index 2cb9a26de..46531c047 100644
--- a/themes/rbsimple-DE/msxturbor/systeminfo.xml
+++ b/themes/rbsimple-DE/msxturbor/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 512 x 212 (4 or 16 colors) and 256 x 212 (16 to 19268 colors)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/msxturbor/theme.xml b/themes/rbsimple-DE/msxturbor/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/msxturbor/theme.xml
+++ b/themes/rbsimple-DE/msxturbor/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/multivision/colors.xml b/themes/rbsimple-DE/multivision/colors.xml
index 8505c0e95..afb848cd4 100644
--- a/themes/rbsimple-DE/multivision/colors.xml
+++ b/themes/rbsimple-DE/multivision/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>e8e342</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/multivision/systeminfo.xml b/themes/rbsimple-DE/multivision/systeminfo.xml
index d592a6bdc..4f2325689 100644
--- a/themes/rbsimple-DE/multivision/systeminfo.xml
+++ b/themes/rbsimple-DE/multivision/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -12,7 +12,7 @@
             <text>CPU : Zilog Z80 @ 3.58 MHz</text>
         </text>
         <text name="info4" extra="true">
-            <text>RAM : 1KB / VRAM : 16KB </text>
+            <text>RAM : 1KB / VRAM : 16KB</text>
         </text>
         <text name="info5" extra="true">
             <text>Video : Texas Instruments TMS9918</text>
@@ -24,4 +24,4 @@
             <text>Sound chip : Texas Instruments SN76489 PSG</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/multivision/theme.xml b/themes/rbsimple-DE/multivision/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/multivision/theme.xml
+++ b/themes/rbsimple-DE/multivision/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/n3ds/colors.xml b/themes/rbsimple-DE/n3ds/colors.xml
index 65c61fcbf..f57bd6dcc 100644
--- a/themes/rbsimple-DE/n3ds/colors.xml
+++ b/themes/rbsimple-DE/n3ds/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1F8ABE</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/n3ds/systeminfo.xml b/themes/rbsimple-DE/n3ds/systeminfo.xml
index b2e6f9cb6..f6295b669 100644
--- a/themes/rbsimple-DE/n3ds/systeminfo.xml
+++ b/themes/rbsimple-DE/n3ds/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Sound : Stereo speakers w/virtual surround, headphones</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/n3ds/theme.xml b/themes/rbsimple-DE/n3ds/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/n3ds/theme.xml
+++ b/themes/rbsimple-DE/n3ds/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/n64/colors.xml b/themes/rbsimple-DE/n64/colors.xml
index 1b0c122f1..d4d10d912 100644
--- a/themes/rbsimple-DE/n64/colors.xml
+++ b/themes/rbsimple-DE/n64/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>E1C245</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/n64/systeminfo.xml b/themes/rbsimple-DE/n64/systeminfo.xml
index 79629ff78..0943d64a1 100644
--- a/themes/rbsimple-DE/n64/systeminfo.xml
+++ b/themes/rbsimple-DE/n64/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,10 +24,10 @@
             <text>Transmission speed : 4500Mbit/s</text>
         </text>
         <text name="info8" extra="true">
-            <text>Co-CPU : RCP - SP/DP @ 62.5MHz </text>
+            <text>Co-CPU : RCP - SP/DP @ 62.5MHz</text>
         </text>
         <text name="info9" extra="true">
             <text>Sound  : Stereo 16Bit 48 kHz</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/n64/theme.xml b/themes/rbsimple-DE/n64/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/n64/theme.xml
+++ b/themes/rbsimple-DE/n64/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/naomi/colors.xml b/themes/rbsimple-DE/naomi/colors.xml
index 87d293577..22b24b013 100644
--- a/themes/rbsimple-DE/naomi/colors.xml
+++ b/themes/rbsimple-DE/naomi/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>35FF90</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/naomi/systeminfo.xml b/themes/rbsimple-DE/naomi/systeminfo.xml
index f05652a77..be3733095 100644
--- a/themes/rbsimple-DE/naomi/systeminfo.xml
+++ b/themes/rbsimple-DE/naomi/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Media : ROM Board (max. size of 168 MB) / GD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/naomi/theme.xml b/themes/rbsimple-DE/naomi/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/naomi/theme.xml
+++ b/themes/rbsimple-DE/naomi/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/naomigd/colors.xml b/themes/rbsimple-DE/naomigd/colors.xml
index 7d7888ec2..ed94d745b 100644
--- a/themes/rbsimple-DE/naomigd/colors.xml
+++ b/themes/rbsimple-DE/naomigd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>243551</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/naomigd/systeminfo.xml b/themes/rbsimple-DE/naomigd/systeminfo.xml
index f05652a77..be3733095 100644
--- a/themes/rbsimple-DE/naomigd/systeminfo.xml
+++ b/themes/rbsimple-DE/naomigd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Media : ROM Board (max. size of 168 MB) / GD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/naomigd/theme.xml b/themes/rbsimple-DE/naomigd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/naomigd/theme.xml
+++ b/themes/rbsimple-DE/naomigd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/navigationsounds.xml b/themes/rbsimple-DE/navigationsounds.xml
index 066b4861a..3a2d58571 100644
--- a/themes/rbsimple-DE/navigationsounds.xml
+++ b/themes/rbsimple-DE/navigationsounds.xml
@@ -1,10 +1,10 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <feature supported="navigationsounds">
         <view name="all">
             <sound name="systembrowse">
-                  <path>./core/sounds/systembrowse.wav</path>
+                <path>./core/sounds/systembrowse.wav</path>
             </sound>
             <sound name="quicksysselect">
                 <path>./core/sounds/quicksysselect.wav</path>
@@ -26,4 +26,4 @@
             </sound>
         </view>
     </feature>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/nds/colors.xml b/themes/rbsimple-DE/nds/colors.xml
index 79aee94ce..ca4c12b1f 100644
--- a/themes/rbsimple-DE/nds/colors.xml
+++ b/themes/rbsimple-DE/nds/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212121</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/nds/systeminfo.xml b/themes/rbsimple-DE/nds/systeminfo.xml
index 58ac2782a..e2460528f 100644
--- a/themes/rbsimple-DE/nds/systeminfo.xml
+++ b/themes/rbsimple-DE/nds/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -15,7 +15,7 @@
             <text>Best-selling game : New Super Mario Bros.</text>
         </text>
         <text name="info5" extra="true">
-            <text>CPU : 66 MHz ARM9 + 33MHz ARM7 </text>
+            <text>CPU : 66 MHz ARM9 + 33MHz ARM7</text>
         </text>
         <text name="info6" extra="true">
             <text>RAM : 4MB / VRAM: 656KB</text>
@@ -33,4 +33,4 @@
             <text>Sound : Stereo speakers w/virtual surround, headphones</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/nds/theme.xml b/themes/rbsimple-DE/nds/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/nds/theme.xml
+++ b/themes/rbsimple-DE/nds/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeo/colors.xml b/themes/rbsimple-DE/neogeo/colors.xml
index 81576d58c..0d16c158f 100644
--- a/themes/rbsimple-DE/neogeo/colors.xml
+++ b/themes/rbsimple-DE/neogeo/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>E8E2E9</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeo/systeminfo.xml b/themes/rbsimple-DE/neogeo/systeminfo.xml
index d475388a7..bbed29ae4 100644
--- a/themes/rbsimple-DE/neogeo/systeminfo.xml
+++ b/themes/rbsimple-DE/neogeo/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Sound chip : Yamaha YM2610</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeo/theme.xml b/themes/rbsimple-DE/neogeo/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/neogeo/theme.xml
+++ b/themes/rbsimple-DE/neogeo/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeocd/colors.xml b/themes/rbsimple-DE/neogeocd/colors.xml
index b98131617..0349a1856 100644
--- a/themes/rbsimple-DE/neogeocd/colors.xml
+++ b/themes/rbsimple-DE/neogeocd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>24241E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeocd/systeminfo.xml b/themes/rbsimple-DE/neogeocd/systeminfo.xml
index 85c58bed5..78c036084 100644
--- a/themes/rbsimple-DE/neogeocd/systeminfo.xml
+++ b/themes/rbsimple-DE/neogeocd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Display : 304x224 resolution, 4096 colors out of 65536</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeocd/theme.xml b/themes/rbsimple-DE/neogeocd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/neogeocd/theme.xml
+++ b/themes/rbsimple-DE/neogeocd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeocdjp/colors.xml b/themes/rbsimple-DE/neogeocdjp/colors.xml
index b98131617..0349a1856 100644
--- a/themes/rbsimple-DE/neogeocdjp/colors.xml
+++ b/themes/rbsimple-DE/neogeocdjp/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>24241E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeocdjp/systeminfo.xml b/themes/rbsimple-DE/neogeocdjp/systeminfo.xml
index 85c58bed5..78c036084 100644
--- a/themes/rbsimple-DE/neogeocdjp/systeminfo.xml
+++ b/themes/rbsimple-DE/neogeocdjp/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Display : 304x224 resolution, 4096 colors out of 65536</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/neogeocdjp/theme.xml b/themes/rbsimple-DE/neogeocdjp/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/neogeocdjp/theme.xml
+++ b/themes/rbsimple-DE/neogeocdjp/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/nes/colors.xml b/themes/rbsimple-DE/nes/colors.xml
index 9ef7e7e97..2597394bb 100644
--- a/themes/rbsimple-DE/nes/colors.xml
+++ b/themes/rbsimple-DE/nes/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212121</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/nes/systeminfo.xml b/themes/rbsimple-DE/nes/systeminfo.xml
index c34a0bb82..c7b835d28 100644
--- a/themes/rbsimple-DE/nes/systeminfo.xml
+++ b/themes/rbsimple-DE/nes/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 8kB - 1MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/nes/theme.xml b/themes/rbsimple-DE/nes/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/nes/theme.xml
+++ b/themes/rbsimple-DE/nes/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ngp/colors.xml b/themes/rbsimple-DE/ngp/colors.xml
index 5cab22492..4ad5865ba 100644
--- a/themes/rbsimple-DE/ngp/colors.xml
+++ b/themes/rbsimple-DE/ngp/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>0F1520</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ngp/systeminfo.xml b/themes/rbsimple-DE/ngp/systeminfo.xml
index 2fbf46b63..71c71cc8a 100644
--- a/themes/rbsimple-DE/ngp/systeminfo.xml
+++ b/themes/rbsimple-DE/ngp/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Media : ROM cartridge 4 MB max</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ngp/theme.xml b/themes/rbsimple-DE/ngp/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ngp/theme.xml
+++ b/themes/rbsimple-DE/ngp/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ngpc/colors.xml b/themes/rbsimple-DE/ngpc/colors.xml
index bd97f4d9c..9275f9ce3 100644
--- a/themes/rbsimple-DE/ngpc/colors.xml
+++ b/themes/rbsimple-DE/ngpc/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>25374A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ngpc/systeminfo.xml b/themes/rbsimple-DE/ngpc/systeminfo.xml
index 431a43f04..589e7f567 100644
--- a/themes/rbsimple-DE/ngpc/systeminfo.xml
+++ b/themes/rbsimple-DE/ngpc/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Media : ROM cartridge 4 MB max</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ngpc/theme.xml b/themes/rbsimple-DE/ngpc/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ngpc/theme.xml
+++ b/themes/rbsimple-DE/ngpc/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/odyssey2/colors.xml b/themes/rbsimple-DE/odyssey2/colors.xml
index 136837f04..b2e5fecb4 100644
--- a/themes/rbsimple-DE/odyssey2/colors.xml
+++ b/themes/rbsimple-DE/odyssey2/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>F8D239</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/odyssey2/systeminfo.xml b/themes/rbsimple-DE/odyssey2/systeminfo.xml
index db8c9077b..536de0706 100644
--- a/themes/rbsimple-DE/odyssey2/systeminfo.xml
+++ b/themes/rbsimple-DE/odyssey2/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Display : 16-color fixed palette; sprites may only use 8 of these colors</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/odyssey2/theme.xml b/themes/rbsimple-DE/odyssey2/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/odyssey2/theme.xml
+++ b/themes/rbsimple-DE/odyssey2/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/openbor/colors.xml b/themes/rbsimple-DE/openbor/colors.xml
index f13e9a8fc..2fe945efe 100644
--- a/themes/rbsimple-DE/openbor/colors.xml
+++ b/themes/rbsimple-DE/openbor/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>404040</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/openbor/systeminfo.xml b/themes/rbsimple-DE/openbor/systeminfo.xml
index e62c86dba..ee1ce790b 100644
--- a/themes/rbsimple-DE/openbor/systeminfo.xml
+++ b/themes/rbsimple-DE/openbor/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>wonderful folks over at Senile Team.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/openbor/theme.xml b/themes/rbsimple-DE/openbor/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/openbor/theme.xml
+++ b/themes/rbsimple-DE/openbor/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/oric/colors.xml b/themes/rbsimple-DE/oric/colors.xml
index 6f120df5d..a34b44e59 100644
--- a/themes/rbsimple-DE/oric/colors.xml
+++ b/themes/rbsimple-DE/oric/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>9E9C8F</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/oric/systeminfo.xml b/themes/rbsimple-DE/oric/systeminfo.xml
index 843305e35..98cc5c91c 100644
--- a/themes/rbsimple-DE/oric/systeminfo.xml
+++ b/themes/rbsimple-DE/oric/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Graphics : 40×28 text characters/ 240×200 pixels, 8 colours</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/oric/theme.xml b/themes/rbsimple-DE/oric/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/oric/theme.xml
+++ b/themes/rbsimple-DE/oric/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/palm/colors.xml b/themes/rbsimple-DE/palm/colors.xml
index a0e3b70a5..ae90f7588 100644
--- a/themes/rbsimple-DE/palm/colors.xml
+++ b/themes/rbsimple-DE/palm/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>363636</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/palm/systeminfo.xml b/themes/rbsimple-DE/palm/systeminfo.xml
index 666894136..cfcf818cb 100644
--- a/themes/rbsimple-DE/palm/systeminfo.xml
+++ b/themes/rbsimple-DE/palm/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Display : 160×160 pixel (65,000+ colors)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/palm/theme.xml b/themes/rbsimple-DE/palm/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/palm/theme.xml
+++ b/themes/rbsimple-DE/palm/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc/colors.xml b/themes/rbsimple-DE/pc/colors.xml
index a1ee5eef2..1c9dc3510 100644
--- a/themes/rbsimple-DE/pc/colors.xml
+++ b/themes/rbsimple-DE/pc/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>201D1D</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc/systeminfo.xml b/themes/rbsimple-DE/pc/systeminfo.xml
index 98a5f7518..2b1e8c434 100644
--- a/themes/rbsimple-DE/pc/systeminfo.xml
+++ b/themes/rbsimple-DE/pc/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Don Estridge of the IBM Entry Systems Division in Boca Raton, Florida.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc/theme.xml b/themes/rbsimple-DE/pc/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pc/theme.xml
+++ b/themes/rbsimple-DE/pc/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc88/colors.xml b/themes/rbsimple-DE/pc88/colors.xml
index b1daa3396..d3ea01057 100644
--- a/themes/rbsimple-DE/pc88/colors.xml
+++ b/themes/rbsimple-DE/pc88/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>77B7C6</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc88/systeminfo.xml b/themes/rbsimple-DE/pc88/systeminfo.xml
index 539f32ab1..0027d2d21 100644
--- a/themes/rbsimple-DE/pc88/systeminfo.xml
+++ b/themes/rbsimple-DE/pc88/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -21,4 +21,4 @@
             <text>Sound : 3 FM channels + 3 SSG + 6 rhythms + 1 ADPCM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc88/theme.xml b/themes/rbsimple-DE/pc88/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pc88/theme.xml
+++ b/themes/rbsimple-DE/pc88/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc98/colors.xml b/themes/rbsimple-DE/pc98/colors.xml
index f524e1658..99b4ef924 100644
--- a/themes/rbsimple-DE/pc98/colors.xml
+++ b/themes/rbsimple-DE/pc98/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>3B3431</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc98/systeminfo.xml b/themes/rbsimple-DE/pc98/systeminfo.xml
index 6387621f9..e45b86544 100644
--- a/themes/rbsimple-DE/pc98/systeminfo.xml
+++ b/themes/rbsimple-DE/pc98/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -9,7 +9,7 @@
             <text>Year of Release : 1982</text>
         </text>
         <text name="info3" extra="true">
-            <text>OS : CP/M-86, MS-DOS, OS/2, Windows </text>
+            <text>OS : CP/M-86, MS-DOS, OS/2, Windows</text>
         </text>
         <text name="info4" extra="true">
             <text>CPU : 8086 @ 5 MHz and higher</text>
@@ -21,4 +21,4 @@
             <text>Sound Chip : Internal beeper, FM Sound, PCM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pc98/theme.xml b/themes/rbsimple-DE/pc98/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pc98/theme.xml
+++ b/themes/rbsimple-DE/pc98/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcengine/colors.xml b/themes/rbsimple-DE/pcengine/colors.xml
index e13375bdd..c42f9750e 100644
--- a/themes/rbsimple-DE/pcengine/colors.xml
+++ b/themes/rbsimple-DE/pcengine/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>D9D9D9</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcengine/systeminfo.xml b/themes/rbsimple-DE/pcengine/systeminfo.xml
index 702a87e2a..db8def0fe 100644
--- a/themes/rbsimple-DE/pcengine/systeminfo.xml
+++ b/themes/rbsimple-DE/pcengine/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Media : HU-Card, SHU-Card, CD-ROM, Super-CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcengine/theme.xml b/themes/rbsimple-DE/pcengine/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pcengine/theme.xml
+++ b/themes/rbsimple-DE/pcengine/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcenginecd/colors.xml b/themes/rbsimple-DE/pcenginecd/colors.xml
index e13375bdd..c42f9750e 100644
--- a/themes/rbsimple-DE/pcenginecd/colors.xml
+++ b/themes/rbsimple-DE/pcenginecd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>D9D9D9</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcenginecd/systeminfo.xml b/themes/rbsimple-DE/pcenginecd/systeminfo.xml
index 702a87e2a..db8def0fe 100644
--- a/themes/rbsimple-DE/pcenginecd/systeminfo.xml
+++ b/themes/rbsimple-DE/pcenginecd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Media : HU-Card, SHU-Card, CD-ROM, Super-CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcenginecd/theme.xml b/themes/rbsimple-DE/pcenginecd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pcenginecd/theme.xml
+++ b/themes/rbsimple-DE/pcenginecd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcfx/colors.xml b/themes/rbsimple-DE/pcfx/colors.xml
index 317d680d1..a4d7b1df9 100644
--- a/themes/rbsimple-DE/pcfx/colors.xml
+++ b/themes/rbsimple-DE/pcfx/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>F00020</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcfx/systeminfo.xml b/themes/rbsimple-DE/pcfx/systeminfo.xml
index 73c3be5aa..b74375c5f 100644
--- a/themes/rbsimple-DE/pcfx/systeminfo.xml
+++ b/themes/rbsimple-DE/pcfx/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Media : CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pcfx/theme.xml b/themes/rbsimple-DE/pcfx/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pcfx/theme.xml
+++ b/themes/rbsimple-DE/pcfx/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pokemini/colors.xml b/themes/rbsimple-DE/pokemini/colors.xml
index 5e4167993..b42bf792c 100644
--- a/themes/rbsimple-DE/pokemini/colors.xml
+++ b/themes/rbsimple-DE/pokemini/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>8C8C8C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pokemini/systeminfo.xml b/themes/rbsimple-DE/pokemini/systeminfo.xml
index 9a7fbcd27..75e50ffd1 100644
--- a/themes/rbsimple-DE/pokemini/systeminfo.xml
+++ b/themes/rbsimple-DE/pokemini/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Cart Size : 512 kB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/pokemini/theme.xml b/themes/rbsimple-DE/pokemini/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/pokemini/theme.xml
+++ b/themes/rbsimple-DE/pokemini/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ports/colors.xml b/themes/rbsimple-DE/ports/colors.xml
index 6b156352b..3117c555b 100644
--- a/themes/rbsimple-DE/ports/colors.xml
+++ b/themes/rbsimple-DE/ports/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>E45B12</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ports/systeminfo.xml b/themes/rbsimple-DE/ports/systeminfo.xml
index 76066e633..b399d89dd 100644
--- a/themes/rbsimple-DE/ports/systeminfo.xml
+++ b/themes/rbsimple-DE/ports/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>of the original game.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ports/theme.xml b/themes/rbsimple-DE/ports/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ports/theme.xml
+++ b/themes/rbsimple-DE/ports/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps2/colors.xml b/themes/rbsimple-DE/ps2/colors.xml
index b4fd03938..6ba31a78e 100644
--- a/themes/rbsimple-DE/ps2/colors.xml
+++ b/themes/rbsimple-DE/ps2/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>849DCA</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps2/systeminfo.xml b/themes/rbsimple-DE/ps2/systeminfo.xml
index 20b7b5ddb..e413a8c25 100644
--- a/themes/rbsimple-DE/ps2/systeminfo.xml
+++ b/themes/rbsimple-DE/ps2/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Media : DVD, CD</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps2/theme.xml b/themes/rbsimple-DE/ps2/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ps2/theme.xml
+++ b/themes/rbsimple-DE/ps2/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps3/colors.xml b/themes/rbsimple-DE/ps3/colors.xml
index 65877fbd2..6961f174b 100644
--- a/themes/rbsimple-DE/ps3/colors.xml
+++ b/themes/rbsimple-DE/ps3/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>3DD3C8</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps3/systeminfo.xml b/themes/rbsimple-DE/ps3/systeminfo.xml
index 28f23c56a..d77d15cc7 100644
--- a/themes/rbsimple-DE/ps3/systeminfo.xml
+++ b/themes/rbsimple-DE/ps3/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Media : Blu-Ray, DVD, Compact Disc, PlayStation 1 and 2 discs, Super Audio CD</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps3/theme.xml b/themes/rbsimple-DE/ps3/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ps3/theme.xml
+++ b/themes/rbsimple-DE/ps3/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps4/colors.xml b/themes/rbsimple-DE/ps4/colors.xml
index 65270a256..6cdbdef90 100644
--- a/themes/rbsimple-DE/ps4/colors.xml
+++ b/themes/rbsimple-DE/ps4/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>EBECEE</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps4/systeminfo.xml b/themes/rbsimple-DE/ps4/systeminfo.xml
index 364978525..b86e0f6b8 100644
--- a/themes/rbsimple-DE/ps4/systeminfo.xml
+++ b/themes/rbsimple-DE/ps4/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Sony PlayStation 4</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ps4/theme.xml b/themes/rbsimple-DE/ps4/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ps4/theme.xml
+++ b/themes/rbsimple-DE/ps4/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psp/colors.xml b/themes/rbsimple-DE/psp/colors.xml
index 67994d098..9763eb131 100644
--- a/themes/rbsimple-DE/psp/colors.xml
+++ b/themes/rbsimple-DE/psp/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>F9F7F7</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psp/systeminfo.xml b/themes/rbsimple-DE/psp/systeminfo.xml
index 790e6e3b7..b0b8688ab 100644
--- a/themes/rbsimple-DE/psp/systeminfo.xml
+++ b/themes/rbsimple-DE/psp/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -15,7 +15,7 @@
             <text>Best-selling game : GTA Liberty City Stories</text>
         </text>
         <text name="info5" extra="true">
-            <text>CPU : 32-bit MIPS RS4000 running at 333 Mhz </text>
+            <text>CPU : 32-bit MIPS RS4000 running at 333 Mhz</text>
         </text>
         <text name="info6" extra="true">
             <text>RAM : 32 Mbits</text>
@@ -33,5 +33,4 @@
             <text>Weight : 260 g</text>
         </text>
     </view>
-</theme>
-
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psp/theme.xml b/themes/rbsimple-DE/psp/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/psp/theme.xml
+++ b/themes/rbsimple-DE/psp/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psvita/colors.xml b/themes/rbsimple-DE/psvita/colors.xml
index 39dab6f7b..c53a27c28 100644
--- a/themes/rbsimple-DE/psvita/colors.xml
+++ b/themes/rbsimple-DE/psvita/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>2C2C2C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psvita/systeminfo.xml b/themes/rbsimple-DE/psvita/systeminfo.xml
index 49600d236..41c5cd5a7 100644
--- a/themes/rbsimple-DE/psvita/systeminfo.xml
+++ b/themes/rbsimple-DE/psvita/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Sony PlayStation Vita</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psvita/theme.xml b/themes/rbsimple-DE/psvita/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/psvita/theme.xml
+++ b/themes/rbsimple-DE/psvita/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psx/colors.xml b/themes/rbsimple-DE/psx/colors.xml
index ea9ceb9b0..e9bfc90e4 100644
--- a/themes/rbsimple-DE/psx/colors.xml
+++ b/themes/rbsimple-DE/psx/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>326BB1</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psx/systeminfo.xml b/themes/rbsimple-DE/psx/systeminfo.xml
index b7c36413f..3e835881c 100644
--- a/themes/rbsimple-DE/psx/systeminfo.xml
+++ b/themes/rbsimple-DE/psx/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -15,7 +15,7 @@
             <text>Best-selling game : Gran Turismo</text>
         </text>
         <text name="info5" extra="true">
-            <text>CPU : 32-bit R3000A RISC running at 33.8688 Mhz </text>
+            <text>CPU : 32-bit R3000A RISC running at 33.8688 Mhz</text>
         </text>
         <text name="info6" extra="true">
             <text>RAM : 16 Mbits</text>
@@ -33,4 +33,4 @@
             <text>GPU : GFX processor unit</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/psx/theme.xml b/themes/rbsimple-DE/psx/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/psx/theme.xml
+++ b/themes/rbsimple-DE/psx/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/residualvm/colors.xml b/themes/rbsimple-DE/residualvm/colors.xml
index 3254a3fa4..02216cda0 100644
--- a/themes/rbsimple-DE/residualvm/colors.xml
+++ b/themes/rbsimple-DE/residualvm/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>C87B2B</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/residualvm/systeminfo.xml b/themes/rbsimple-DE/residualvm/systeminfo.xml
index 4e6627487..be77414fc 100644
--- a/themes/rbsimple-DE/residualvm/systeminfo.xml
+++ b/themes/rbsimple-DE/residualvm/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>ResidualVM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/residualvm/theme.xml b/themes/rbsimple-DE/residualvm/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/residualvm/theme.xml
+++ b/themes/rbsimple-DE/residualvm/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/samcoupe/colors.xml b/themes/rbsimple-DE/samcoupe/colors.xml
index 7fc1044de..949a6a2a7 100644
--- a/themes/rbsimple-DE/samcoupe/colors.xml
+++ b/themes/rbsimple-DE/samcoupe/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>96958C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/samcoupe/systeminfo.xml b/themes/rbsimple-DE/samcoupe/systeminfo.xml
index 3d71d52de..7208ae9d2 100644
--- a/themes/rbsimple-DE/samcoupe/systeminfo.xml
+++ b/themes/rbsimple-DE/samcoupe/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Graphics : 4 Modes (256×192 / 512×192) and 128 colour palette</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/samcoupe/theme.xml b/themes/rbsimple-DE/samcoupe/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/samcoupe/theme.xml
+++ b/themes/rbsimple-DE/samcoupe/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/satellaview/colors.xml b/themes/rbsimple-DE/satellaview/colors.xml
index 768e38707..ef449a11e 100644
--- a/themes/rbsimple-DE/satellaview/colors.xml
+++ b/themes/rbsimple-DE/satellaview/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>647A54</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/satellaview/systeminfo.xml b/themes/rbsimple-DE/satellaview/systeminfo.xml
index 61d5c2626..55fc4a39c 100644
--- a/themes/rbsimple-DE/satellaview/systeminfo.xml
+++ b/themes/rbsimple-DE/satellaview/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>BS-X : The Story of The Town Whose Name Was Stolen.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/satellaview/theme.xml b/themes/rbsimple-DE/satellaview/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/satellaview/theme.xml
+++ b/themes/rbsimple-DE/satellaview/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/saturn/colors.xml b/themes/rbsimple-DE/saturn/colors.xml
index 05aea1ac5..3856653b9 100644
--- a/themes/rbsimple-DE/saturn/colors.xml
+++ b/themes/rbsimple-DE/saturn/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>86254A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/saturn/systeminfo.xml b/themes/rbsimple-DE/saturn/systeminfo.xml
index bb1ddfd1d..27bc24291 100644
--- a/themes/rbsimple-DE/saturn/systeminfo.xml
+++ b/themes/rbsimple-DE/saturn/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Media : CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/saturn/theme.xml b/themes/rbsimple-DE/saturn/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/saturn/theme.xml
+++ b/themes/rbsimple-DE/saturn/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/saturnjp/colors.xml b/themes/rbsimple-DE/saturnjp/colors.xml
index 05aea1ac5..3856653b9 100644
--- a/themes/rbsimple-DE/saturnjp/colors.xml
+++ b/themes/rbsimple-DE/saturnjp/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>86254A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/saturnjp/systeminfo.xml b/themes/rbsimple-DE/saturnjp/systeminfo.xml
index 11321ac75..27bc24291 100644
--- a/themes/rbsimple-DE/saturnjp/systeminfo.xml
+++ b/themes/rbsimple-DE/saturnjp/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,7 +24,7 @@
             <text>Video : VDP1 (sprite/texture and polygons), VDP2 (backgrounds)</text>
         </text>
         <text name="info8" extra="true">
-                <text>Resolution : 320x224 to 704x224, 16.77 million colors</text>
+            <text>Resolution : 320x224 to 704x224, 16.77 million colors</text>
         </text>
         <text name="info9" extra="true">
             <text>Sound : Motorola 68EC000, Yamaha FH1 YMF292, 32 channels</text>
@@ -33,4 +33,4 @@
             <text>Media : CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/saturnjp/theme.xml b/themes/rbsimple-DE/saturnjp/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/saturnjp/theme.xml
+++ b/themes/rbsimple-DE/saturnjp/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/scummvm/colors.xml b/themes/rbsimple-DE/scummvm/colors.xml
index 7c8164a11..806e2bd18 100644
--- a/themes/rbsimple-DE/scummvm/colors.xml
+++ b/themes/rbsimple-DE/scummvm/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>95C93E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/scummvm/systeminfo.xml b/themes/rbsimple-DE/scummvm/systeminfo.xml
index c20ffd97e..9106eba64 100644
--- a/themes/rbsimple-DE/scummvm/systeminfo.xml
+++ b/themes/rbsimple-DE/scummvm/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -19,15 +19,15 @@
         </text>
         <text name="info6" extra="true">
             <text>games by companies like Revolution Software and Adventure Soft.</text>
-         </text>
+        </text>
         <text name="info7" extra="true">
             <text>It was originally written by Ludvig Strigeus.</text>
         </text>
         <text name="info8" extra="true">
             <text>Released under the terms of the GNU General Public License,</text>
-         </text>
+        </text>
         <text name="info9" extra="true">
-             <text>ScummVM is free software.</text>
+            <text>ScummVM is free software.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/scummvm/theme.xml b/themes/rbsimple-DE/scummvm/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/scummvm/theme.xml
+++ b/themes/rbsimple-DE/scummvm/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32x/colors.xml b/themes/rbsimple-DE/sega32x/colors.xml
index f76fc5c03..eb79262d8 100644
--- a/themes/rbsimple-DE/sega32x/colors.xml
+++ b/themes/rbsimple-DE/sega32x/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212122</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32x/systeminfo.xml b/themes/rbsimple-DE/sega32x/systeminfo.xml
index d17039d1d..02a91eb15 100644
--- a/themes/rbsimple-DE/sega32x/systeminfo.xml
+++ b/themes/rbsimple-DE/sega32x/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Cart Size : 2MB - 4MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32x/theme.xml b/themes/rbsimple-DE/sega32x/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/sega32x/theme.xml
+++ b/themes/rbsimple-DE/sega32x/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32xjp/colors.xml b/themes/rbsimple-DE/sega32xjp/colors.xml
index dfbd1e9ab..be76f585e 100644
--- a/themes/rbsimple-DE/sega32xjp/colors.xml
+++ b/themes/rbsimple-DE/sega32xjp/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>FBE627</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32xjp/systeminfo.xml b/themes/rbsimple-DE/sega32xjp/systeminfo.xml
index d17039d1d..02a91eb15 100644
--- a/themes/rbsimple-DE/sega32xjp/systeminfo.xml
+++ b/themes/rbsimple-DE/sega32xjp/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Cart Size : 2MB - 4MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32xjp/theme.xml b/themes/rbsimple-DE/sega32xjp/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/sega32xjp/theme.xml
+++ b/themes/rbsimple-DE/sega32xjp/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32xna/colors.xml b/themes/rbsimple-DE/sega32xna/colors.xml
index e1d9aad9a..8887019dc 100644
--- a/themes/rbsimple-DE/sega32xna/colors.xml
+++ b/themes/rbsimple-DE/sega32xna/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212122</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32xna/systeminfo.xml b/themes/rbsimple-DE/sega32xna/systeminfo.xml
index d17039d1d..02a91eb15 100644
--- a/themes/rbsimple-DE/sega32xna/systeminfo.xml
+++ b/themes/rbsimple-DE/sega32xna/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Cart Size : 2MB - 4MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sega32xna/theme.xml b/themes/rbsimple-DE/sega32xna/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/sega32xna/theme.xml
+++ b/themes/rbsimple-DE/sega32xna/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/segacd/colors.xml b/themes/rbsimple-DE/segacd/colors.xml
index 6c483eaa9..8b8b24065 100644
--- a/themes/rbsimple-DE/segacd/colors.xml
+++ b/themes/rbsimple-DE/segacd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>212122</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/segacd/systeminfo.xml b/themes/rbsimple-DE/segacd/systeminfo.xml
index 4b7875c20..a27cbdd7f 100644
--- a/themes/rbsimple-DE/segacd/systeminfo.xml
+++ b/themes/rbsimple-DE/segacd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,10 +27,10 @@
             <text>Resolution : 320×224 pixels, 64 colors (512 colors palette)</text>
         </text>
         <text name="info9" extra="true">
-            <text>Sound : Ricoh RF5C164 + Megadrive Sound chips </text>
+            <text>Sound : Ricoh RF5C164 + Megadrive Sound chips</text>
         </text>
         <text name="info10" extra="true">
             <text>Media : 500MB CD-ROM discs</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/segacd/theme.xml b/themes/rbsimple-DE/segacd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/segacd/theme.xml
+++ b/themes/rbsimple-DE/segacd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sg-1000/colors.xml b/themes/rbsimple-DE/sg-1000/colors.xml
index 9811559cb..8556bee83 100644
--- a/themes/rbsimple-DE/sg-1000/colors.xml
+++ b/themes/rbsimple-DE/sg-1000/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1A1E21</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sg-1000/systeminfo.xml b/themes/rbsimple-DE/sg-1000/systeminfo.xml
index dd09e8580..3459bc0b3 100644
--- a/themes/rbsimple-DE/sg-1000/systeminfo.xml
+++ b/themes/rbsimple-DE/sg-1000/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -18,7 +18,7 @@
             <text>CPU : 8-Bit Zilog Z80 @ 3.58 MHz</text>
         </text>
         <text name="info6" extra="true">
-            <text>RAM : 1kB / VRAM : 2kB </text>
+            <text>RAM : 1kB / VRAM : 2kB</text>
         </text>
         <text name="info7" extra="true">
             <text>Video : Texas Instruments TMS9918</text>
@@ -33,4 +33,4 @@
             <text>Cart Size : 8kB - 48kB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sg-1000/theme.xml b/themes/rbsimple-DE/sg-1000/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/sg-1000/theme.xml
+++ b/themes/rbsimple-DE/sg-1000/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/snes/colors.xml b/themes/rbsimple-DE/snes/colors.xml
index e9d3537a0..a113cd8ae 100644
--- a/themes/rbsimple-DE/snes/colors.xml
+++ b/themes/rbsimple-DE/snes/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>007544</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/snes/systeminfo.xml b/themes/rbsimple-DE/snes/systeminfo.xml
index 83212fde2..8a72aba2b 100644
--- a/themes/rbsimple-DE/snes/systeminfo.xml
+++ b/themes/rbsimple-DE/snes/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 256kB - 6MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/snes/theme.xml b/themes/rbsimple-DE/snes/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/snes/theme.xml
+++ b/themes/rbsimple-DE/snes/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/snesna/colors.xml b/themes/rbsimple-DE/snesna/colors.xml
index 9f1e87512..c56c3d104 100644
--- a/themes/rbsimple-DE/snesna/colors.xml
+++ b/themes/rbsimple-DE/snesna/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>4C4C4C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/snesna/systeminfo.xml b/themes/rbsimple-DE/snesna/systeminfo.xml
index 83212fde2..8a72aba2b 100644
--- a/themes/rbsimple-DE/snesna/systeminfo.xml
+++ b/themes/rbsimple-DE/snesna/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Cart Size : 256kB - 6MB</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/snesna/theme.xml b/themes/rbsimple-DE/snesna/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/snesna/theme.xml
+++ b/themes/rbsimple-DE/snesna/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/solarus/colors.xml b/themes/rbsimple-DE/solarus/colors.xml
index 768e38707..ef449a11e 100644
--- a/themes/rbsimple-DE/solarus/colors.xml
+++ b/themes/rbsimple-DE/solarus/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>647A54</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/solarus/systeminfo.xml b/themes/rbsimple-DE/solarus/systeminfo.xml
index a55c559af..93dd88ee1 100644
--- a/themes/rbsimple-DE/solarus/systeminfo.xml
+++ b/themes/rbsimple-DE/solarus/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -12,4 +12,4 @@
             <text>Specifically designed with 16-bit classic Action-RPGs in mind.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/solarus/theme.xml b/themes/rbsimple-DE/solarus/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/solarus/theme.xml
+++ b/themes/rbsimple-DE/solarus/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/spectravideo/colors.xml b/themes/rbsimple-DE/spectravideo/colors.xml
index 9d28ef912..c8854e7c4 100644
--- a/themes/rbsimple-DE/spectravideo/colors.xml
+++ b/themes/rbsimple-DE/spectravideo/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>E9E439</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/spectravideo/systeminfo.xml b/themes/rbsimple-DE/spectravideo/systeminfo.xml
index 303a1e9e6..6cac90575 100644
--- a/themes/rbsimple-DE/spectravideo/systeminfo.xml
+++ b/themes/rbsimple-DE/spectravideo/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Media : ROM Cartridge, Cassette tape</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/spectravideo/theme.xml b/themes/rbsimple-DE/spectravideo/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/spectravideo/theme.xml
+++ b/themes/rbsimple-DE/spectravideo/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/steam/colors.xml b/themes/rbsimple-DE/steam/colors.xml
index bcac3fa4e..d07fce20f 100644
--- a/themes/rbsimple-DE/steam/colors.xml
+++ b/themes/rbsimple-DE/steam/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>2A2E33</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/steam/systeminfo.xml b/themes/rbsimple-DE/steam/systeminfo.xml
index b58f212b6..9158d8e63 100644
--- a/themes/rbsimple-DE/steam/systeminfo.xml
+++ b/themes/rbsimple-DE/steam/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>running in a bundled emulator.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/steam/theme.xml b/themes/rbsimple-DE/steam/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/steam/theme.xml
+++ b/themes/rbsimple-DE/steam/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/stratagus/colors.xml b/themes/rbsimple-DE/stratagus/colors.xml
index cd14249b0..6b03918df 100644
--- a/themes/rbsimple-DE/stratagus/colors.xml
+++ b/themes/rbsimple-DE/stratagus/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>26353C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/stratagus/systeminfo.xml b/themes/rbsimple-DE/stratagus/systeminfo.xml
index 836c743ce..2a39b29b1 100644
--- a/themes/rbsimple-DE/stratagus/systeminfo.xml
+++ b/themes/rbsimple-DE/stratagus/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Stratagus game engine</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/stratagus/theme.xml b/themes/rbsimple-DE/stratagus/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/stratagus/theme.xml
+++ b/themes/rbsimple-DE/stratagus/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sufami/colors.xml b/themes/rbsimple-DE/sufami/colors.xml
index ba83e739f..ff548dba0 100644
--- a/themes/rbsimple-DE/sufami/colors.xml
+++ b/themes/rbsimple-DE/sufami/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1E2881</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sufami/systeminfo.xml b/themes/rbsimple-DE/sufami/systeminfo.xml
index 52dd547c0..d106dd228 100644
--- a/themes/rbsimple-DE/sufami/systeminfo.xml
+++ b/themes/rbsimple-DE/sufami/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Slot A will be played, while slot B supplies additional data.</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/sufami/theme.xml b/themes/rbsimple-DE/sufami/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/sufami/theme.xml
+++ b/themes/rbsimple-DE/sufami/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/supergrafx/colors.xml b/themes/rbsimple-DE/supergrafx/colors.xml
index beb7d1e41..b623d73cb 100644
--- a/themes/rbsimple-DE/supergrafx/colors.xml
+++ b/themes/rbsimple-DE/supergrafx/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>D9D9D9</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/supergrafx/systeminfo.xml b/themes/rbsimple-DE/supergrafx/systeminfo.xml
index 93290aec1..0b99a4ce9 100644
--- a/themes/rbsimple-DE/supergrafx/systeminfo.xml
+++ b/themes/rbsimple-DE/supergrafx/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Media : HU-Card, SHU-Card, CD-ROM, Super-CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/supergrafx/theme.xml b/themes/rbsimple-DE/supergrafx/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/supergrafx/theme.xml
+++ b/themes/rbsimple-DE/supergrafx/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/switch/colors.xml b/themes/rbsimple-DE/switch/colors.xml
index 803b8344d..d53144c36 100644
--- a/themes/rbsimple-DE/switch/colors.xml
+++ b/themes/rbsimple-DE/switch/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>EBECEE</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/switch/systeminfo.xml b/themes/rbsimple-DE/switch/systeminfo.xml
index 700710504..5cc57bc49 100644
--- a/themes/rbsimple-DE/switch/systeminfo.xml
+++ b/themes/rbsimple-DE/switch/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Screen : 6.2-inch, 1280 × 720 LCD (237 ppi)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/switch/theme.xml b/themes/rbsimple-DE/switch/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/switch/theme.xml
+++ b/themes/rbsimple-DE/switch/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tanodragon/colors.xml b/themes/rbsimple-DE/tanodragon/colors.xml
index bc31fb0a5..09b88584b 100644
--- a/themes/rbsimple-DE/tanodragon/colors.xml
+++ b/themes/rbsimple-DE/tanodragon/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>3262D9</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tanodragon/systeminfo.xml b/themes/rbsimple-DE/tanodragon/systeminfo.xml
index 8586b426a..8dc4dd5a6 100644
--- a/themes/rbsimple-DE/tanodragon/systeminfo.xml
+++ b/themes/rbsimple-DE/tanodragon/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Sound : 1 voice, 5 octaves with the Basic / 4 voices, 7 octaves with machine code</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tanodragon/theme.xml b/themes/rbsimple-DE/tanodragon/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/tanodragon/theme.xml
+++ b/themes/rbsimple-DE/tanodragon/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tg-cd/colors.xml b/themes/rbsimple-DE/tg-cd/colors.xml
index fe85a38b9..67b467caf 100644
--- a/themes/rbsimple-DE/tg-cd/colors.xml
+++ b/themes/rbsimple-DE/tg-cd/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1e1c1a</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tg-cd/systeminfo.xml b/themes/rbsimple-DE/tg-cd/systeminfo.xml
index 702a87e2a..db8def0fe 100644
--- a/themes/rbsimple-DE/tg-cd/systeminfo.xml
+++ b/themes/rbsimple-DE/tg-cd/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Media : HU-Card, SHU-Card, CD-ROM, Super-CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tg-cd/theme.xml b/themes/rbsimple-DE/tg-cd/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/tg-cd/theme.xml
+++ b/themes/rbsimple-DE/tg-cd/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tg16/colors.xml b/themes/rbsimple-DE/tg16/colors.xml
index 9b1f5ae2d..52fce7fbc 100644
--- a/themes/rbsimple-DE/tg16/colors.xml
+++ b/themes/rbsimple-DE/tg16/colors.xml
@@ -1,7 +1,7 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
-<view name="system, basic, detailed, video, grid">
+    <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
             <color>F79226</color>
         </image>
@@ -15,4 +15,4 @@
             <color>D5E14D</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tg16/systeminfo.xml b/themes/rbsimple-DE/tg16/systeminfo.xml
index 702a87e2a..db8def0fe 100644
--- a/themes/rbsimple-DE/tg16/systeminfo.xml
+++ b/themes/rbsimple-DE/tg16/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Media : HU-Card, SHU-Card, CD-ROM, Super-CD-ROM</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tg16/theme.xml b/themes/rbsimple-DE/tg16/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/tg16/theme.xml
+++ b/themes/rbsimple-DE/tg16/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/theme.xml b/themes/rbsimple-DE/theme.xml
index 0581ca581..a0fc8861a 100644
--- a/themes/rbsimple-DE/theme.xml
+++ b/themes/rbsimple-DE/theme.xml
@@ -1,13 +1,13 @@
 <!--
 Theme: Recalbox Simple for EmulationStation Desktop Edition (rbsimple-DE)
-version: 1.0
+version: 1.2
 author: Leon Styhre
 license: creative commons CC-BY-NC-SA
 based on: 'recalbox-multi' by the Recalbox community
 -->
 
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./colors.xml</include>
     <include>./navigationsounds.xml</include>
 
@@ -236,6 +236,24 @@ based on: 'recalbox-multi' by the Recalbox community
             <pos>0.873 0.212</pos>
             <alignment>right</alignment>
         </text>
+        <badges name="md_badges">
+            <pos>0.8125 0.65</pos>
+            <origin>0 0</origin>
+
+            <!-- flexbox properties -->
+            <direction>row</direction>
+            <align>start</align>
+            <itemsPerLine>2</itemsPerLine>
+            <itemMargin>10 5</itemMargin>
+            <itemWidth>.035</itemWidth>
+
+            <!-- badges properties -->
+            <slots>favorite completed kidgame broken</slots>
+            <customBadgeIcon badge="favorite">:/graphics/badge_favorite.svg</customBadgeIcon>
+            <customBadgeIcon badge="completed">:/graphics/badge_completed.svg</customBadgeIcon>
+            <customBadgeIcon badge="kidgame">:/graphics/badge_kidgame.svg</customBadgeIcon>
+            <customBadgeIcon badge="broken">:/graphics/badge_broken.svg</customBadgeIcon>
+        </badges>
         <!-- This block prevents additional elements from interfering when mixing layouts. -->
         <image name="backframe4" extra="false"></image>
     </view>
diff --git a/themes/rbsimple-DE/ti99/colors.xml b/themes/rbsimple-DE/ti99/colors.xml
index 6ca20f75c..fc2dfe269 100644
--- a/themes/rbsimple-DE/ti99/colors.xml
+++ b/themes/rbsimple-DE/ti99/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>fd7d34</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ti99/systeminfo.xml b/themes/rbsimple-DE/ti99/systeminfo.xml
index c3beea8ad..15557e3b3 100644
--- a/themes/rbsimple-DE/ti99/systeminfo.xml
+++ b/themes/rbsimple-DE/ti99/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Texas Instruments TI-99</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/ti99/theme.xml b/themes/rbsimple-DE/ti99/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/ti99/theme.xml
+++ b/themes/rbsimple-DE/ti99/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tic80/colors.xml b/themes/rbsimple-DE/tic80/colors.xml
index d9a040dc6..4a371b68a 100644
--- a/themes/rbsimple-DE/tic80/colors.xml
+++ b/themes/rbsimple-DE/tic80/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>65A33D</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tic80/systeminfo.xml b/themes/rbsimple-DE/tic80/systeminfo.xml
index dc4ac4db4..21d25de0d 100644
--- a/themes/rbsimple-DE/tic80/systeminfo.xml
+++ b/themes/rbsimple-DE/tic80/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Sound : 4 channels (with editable waveform envelopes)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/tic80/theme.xml b/themes/rbsimple-DE/tic80/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/tic80/theme.xml
+++ b/themes/rbsimple-DE/tic80/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/to8/colors.xml b/themes/rbsimple-DE/to8/colors.xml
index 35768938c..33c07ee43 100644
--- a/themes/rbsimple-DE/to8/colors.xml
+++ b/themes/rbsimple-DE/to8/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>2C2D2C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/to8/systeminfo.xml b/themes/rbsimple-DE/to8/systeminfo.xml
index b0988edf5..afd376832 100644
--- a/themes/rbsimple-DE/to8/systeminfo.xml
+++ b/themes/rbsimple-DE/to8/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -15,7 +15,7 @@
             <text>RAM : 256kB, ROM : 80kB</text>
         </text>
         <text name="info5" extra="true">
-            <text>8 Display modes, palette of 4096 colors </text>
+            <text>8 Display modes, palette of 4096 colors</text>
         </text>
         <text name="info6" extra="true">
             <text>Low resolutions: 160 × 200 (16, 5 or 2 colors)</text>
@@ -30,4 +30,4 @@
             <text>Media : Cartridge, external 3½" floppy disk and tape drives</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/to8/theme.xml b/themes/rbsimple-DE/to8/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/to8/theme.xml
+++ b/themes/rbsimple-DE/to8/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/trs-80/colors.xml b/themes/rbsimple-DE/trs-80/colors.xml
index eae251d73..cb2d2f997 100644
--- a/themes/rbsimple-DE/trs-80/colors.xml
+++ b/themes/rbsimple-DE/trs-80/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>0F7C3E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/trs-80/systeminfo.xml b/themes/rbsimple-DE/trs-80/systeminfo.xml
index f1395a212..46d245d1f 100644
--- a/themes/rbsimple-DE/trs-80/systeminfo.xml
+++ b/themes/rbsimple-DE/trs-80/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Tandy TRS-80</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/trs-80/theme.xml b/themes/rbsimple-DE/trs-80/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/trs-80/theme.xml
+++ b/themes/rbsimple-DE/trs-80/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/uzebox/colors.xml b/themes/rbsimple-DE/uzebox/colors.xml
index 011e27f4f..4d9375e06 100644
--- a/themes/rbsimple-DE/uzebox/colors.xml
+++ b/themes/rbsimple-DE/uzebox/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>07336A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/uzebox/systeminfo.xml b/themes/rbsimple-DE/uzebox/systeminfo.xml
index 80445f128..07536d1cf 100644
--- a/themes/rbsimple-DE/uzebox/systeminfo.xml
+++ b/themes/rbsimple-DE/uzebox/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Media : SD Memory Card</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/uzebox/theme.xml b/themes/rbsimple-DE/uzebox/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/uzebox/theme.xml
+++ b/themes/rbsimple-DE/uzebox/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/vectrex/colors.xml b/themes/rbsimple-DE/vectrex/colors.xml
index 1a7b86033..c2a0cc25d 100644
--- a/themes/rbsimple-DE/vectrex/colors.xml
+++ b/themes/rbsimple-DE/vectrex/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>166FC1</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/vectrex/systeminfo.xml b/themes/rbsimple-DE/vectrex/systeminfo.xml
index 127c980f0..e7e6f19fe 100644
--- a/themes/rbsimple-DE/vectrex/systeminfo.xml
+++ b/themes/rbsimple-DE/vectrex/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Sound : General Instrument AY-3-8912</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/vectrex/theme.xml b/themes/rbsimple-DE/vectrex/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/vectrex/theme.xml
+++ b/themes/rbsimple-DE/vectrex/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/videopac/colors.xml b/themes/rbsimple-DE/videopac/colors.xml
index 973ffdf14..556600eed 100644
--- a/themes/rbsimple-DE/videopac/colors.xml
+++ b/themes/rbsimple-DE/videopac/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>4C504E</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/videopac/systeminfo.xml b/themes/rbsimple-DE/videopac/systeminfo.xml
index db8c9077b..536de0706 100644
--- a/themes/rbsimple-DE/videopac/systeminfo.xml
+++ b/themes/rbsimple-DE/videopac/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Display : 16-color fixed palette; sprites may only use 8 of these colors</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/videopac/theme.xml b/themes/rbsimple-DE/videopac/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/videopac/theme.xml
+++ b/themes/rbsimple-DE/videopac/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/virtualboy/colors.xml b/themes/rbsimple-DE/virtualboy/colors.xml
index 5f2f37f4e..dfd66a235 100644
--- a/themes/rbsimple-DE/virtualboy/colors.xml
+++ b/themes/rbsimple-DE/virtualboy/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>232323</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/virtualboy/systeminfo.xml b/themes/rbsimple-DE/virtualboy/systeminfo.xml
index 91c49eae1..970a46dd4 100644
--- a/themes/rbsimple-DE/virtualboy/systeminfo.xml
+++ b/themes/rbsimple-DE/virtualboy/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Sound : 16Bits stereo</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/virtualboy/theme.xml b/themes/rbsimple-DE/virtualboy/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/virtualboy/theme.xml
+++ b/themes/rbsimple-DE/virtualboy/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wii/colors.xml b/themes/rbsimple-DE/wii/colors.xml
index 956caab34..91fec49c1 100644
--- a/themes/rbsimple-DE/wii/colors.xml
+++ b/themes/rbsimple-DE/wii/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>1E1C1A</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wii/systeminfo.xml b/themes/rbsimple-DE/wii/systeminfo.xml
index cb9fae349..346a53de0 100644
--- a/themes/rbsimple-DE/wii/systeminfo.xml
+++ b/themes/rbsimple-DE/wii/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -21,7 +21,7 @@
             <text>RAM : 88 MB</text>
         </text>
         <text name="info7" extra="true">
-            <text>Video : ATI "Hollywood" @ 243 MHz </text>
+            <text>Video : ATI "Hollywood" @ 243 MHz</text>
         </text>
         <text name="info8" extra="true">
             <text>Resolution : 480p (PAL/NTSC), 480i (PAL/NTSC) or 576i (PAL/SECAM)</text>
diff --git a/themes/rbsimple-DE/wii/theme.xml b/themes/rbsimple-DE/wii/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/wii/theme.xml
+++ b/themes/rbsimple-DE/wii/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wiiu/colors.xml b/themes/rbsimple-DE/wiiu/colors.xml
index fa431262f..31b5cf914 100644
--- a/themes/rbsimple-DE/wiiu/colors.xml
+++ b/themes/rbsimple-DE/wiiu/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>9D8354</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wiiu/systeminfo.xml b/themes/rbsimple-DE/wiiu/systeminfo.xml
index 2aa448928..4f49961d6 100644
--- a/themes/rbsimple-DE/wiiu/systeminfo.xml
+++ b/themes/rbsimple-DE/wiiu/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -33,4 +33,4 @@
             <text>Media : 25 GB Blu-ray based disc</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wiiu/theme.xml b/themes/rbsimple-DE/wiiu/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/wiiu/theme.xml
+++ b/themes/rbsimple-DE/wiiu/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wonderswan/colors.xml b/themes/rbsimple-DE/wonderswan/colors.xml
index 4292ffce0..a4d7a64a0 100644
--- a/themes/rbsimple-DE/wonderswan/colors.xml
+++ b/themes/rbsimple-DE/wonderswan/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>282827</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wonderswan/systeminfo.xml b/themes/rbsimple-DE/wonderswan/systeminfo.xml
index 319d0b0f6..9fbb12ca1 100644
--- a/themes/rbsimple-DE/wonderswan/systeminfo.xml
+++ b/themes/rbsimple-DE/wonderswan/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Sound : 4 PCM channels, 32 samples 4Bit for each channel</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wonderswan/theme.xml b/themes/rbsimple-DE/wonderswan/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/wonderswan/theme.xml
+++ b/themes/rbsimple-DE/wonderswan/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wonderswancolor/colors.xml b/themes/rbsimple-DE/wonderswancolor/colors.xml
index 9a545143b..567a63d63 100644
--- a/themes/rbsimple-DE/wonderswancolor/colors.xml
+++ b/themes/rbsimple-DE/wonderswancolor/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>162B4F</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wonderswancolor/systeminfo.xml b/themes/rbsimple-DE/wonderswancolor/systeminfo.xml
index de7647875..ee04d373e 100644
--- a/themes/rbsimple-DE/wonderswancolor/systeminfo.xml
+++ b/themes/rbsimple-DE/wonderswancolor/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Sound : One mono speaker, optional headphones (mute, soft, loud settings)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/wonderswancolor/theme.xml b/themes/rbsimple-DE/wonderswancolor/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/wonderswancolor/theme.xml
+++ b/themes/rbsimple-DE/wonderswancolor/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/x1/colors.xml b/themes/rbsimple-DE/x1/colors.xml
index 90ccfca80..5f83750e1 100644
--- a/themes/rbsimple-DE/x1/colors.xml
+++ b/themes/rbsimple-DE/x1/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>28333D</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/x1/systeminfo.xml b/themes/rbsimple-DE/x1/systeminfo.xml
index 781cab41b..ad4fb08eb 100644
--- a/themes/rbsimple-DE/x1/systeminfo.xml
+++ b/themes/rbsimple-DE/x1/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Display : 320 x 200 / 640 x 200 (8 colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/x1/theme.xml b/themes/rbsimple-DE/x1/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/x1/theme.xml
+++ b/themes/rbsimple-DE/x1/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/x68000/colors.xml b/themes/rbsimple-DE/x68000/colors.xml
index 5166d8912..e01d34fe2 100644
--- a/themes/rbsimple-DE/x68000/colors.xml
+++ b/themes/rbsimple-DE/x68000/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>41BC83</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/x68000/systeminfo.xml b/themes/rbsimple-DE/x68000/systeminfo.xml
index 6671b0406..88a0514ea 100644
--- a/themes/rbsimple-DE/x68000/systeminfo.xml
+++ b/themes/rbsimple-DE/x68000/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Resolution : 512x512 (65536 colours)</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/x68000/theme.xml b/themes/rbsimple-DE/x68000/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/x68000/theme.xml
+++ b/themes/rbsimple-DE/x68000/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/xbox/colors.xml b/themes/rbsimple-DE/xbox/colors.xml
index 3b2098c36..497d4567d 100644
--- a/themes/rbsimple-DE/xbox/colors.xml
+++ b/themes/rbsimple-DE/xbox/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>000000</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/xbox/systeminfo.xml b/themes/rbsimple-DE/xbox/systeminfo.xml
index 953b212ce..d4e58f737 100644
--- a/themes/rbsimple-DE/xbox/systeminfo.xml
+++ b/themes/rbsimple-DE/xbox/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -27,4 +27,4 @@
             <text>Sound : Nvidia MCPX, a.k.a. SoundStorm</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/xbox/theme.xml b/themes/rbsimple-DE/xbox/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/xbox/theme.xml
+++ b/themes/rbsimple-DE/xbox/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/xbox360/colors.xml b/themes/rbsimple-DE/xbox360/colors.xml
index 2f2841191..8a1dffe3c 100644
--- a/themes/rbsimple-DE/xbox360/colors.xml
+++ b/themes/rbsimple-DE/xbox360/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>9D9FA2</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/xbox360/systeminfo.xml b/themes/rbsimple-DE/xbox360/systeminfo.xml
index 9604171f9..b52e07c6d 100644
--- a/themes/rbsimple-DE/xbox360/systeminfo.xml
+++ b/themes/rbsimple-DE/xbox360/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Microsoft Xbox 360</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/xbox360/theme.xml b/themes/rbsimple-DE/xbox360/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/xbox360/theme.xml
+++ b/themes/rbsimple-DE/xbox360/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zmachine/colors.xml b/themes/rbsimple-DE/zmachine/colors.xml
index a97dcaf99..eaec08af6 100644
--- a/themes/rbsimple-DE/zmachine/colors.xml
+++ b/themes/rbsimple-DE/zmachine/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, grid, video">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>586C6D</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zmachine/systeminfo.xml b/themes/rbsimple-DE/zmachine/systeminfo.xml
index 27e1b32af..ca6cb9fd2 100644
--- a/themes/rbsimple-DE/zmachine/systeminfo.xml
+++ b/themes/rbsimple-DE/zmachine/systeminfo.xml
@@ -1,9 +1,9 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
             <text>Infocom Z-machine</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zmachine/theme.xml b/themes/rbsimple-DE/zmachine/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/zmachine/theme.xml
+++ b/themes/rbsimple-DE/zmachine/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zx81/colors.xml b/themes/rbsimple-DE/zx81/colors.xml
index dce7c37b2..032a3a024 100644
--- a/themes/rbsimple-DE/zx81/colors.xml
+++ b/themes/rbsimple-DE/zx81/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>191222</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zx81/systeminfo.xml b/themes/rbsimple-DE/zx81/systeminfo.xml
index 9dae1ecd6..9103d0b77 100644
--- a/themes/rbsimple-DE/zx81/systeminfo.xml
+++ b/themes/rbsimple-DE/zx81/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -30,4 +30,4 @@
             <text>Graphics : 24 lines x 32 characters or 64 x 48 pixels graphics mode</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zx81/theme.xml b/themes/rbsimple-DE/zx81/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/zx81/theme.xml
+++ b/themes/rbsimple-DE/zx81/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zxspectrum/colors.xml b/themes/rbsimple-DE/zxspectrum/colors.xml
index af5df0ab1..e61ae7dc1 100644
--- a/themes/rbsimple-DE/zxspectrum/colors.xml
+++ b/themes/rbsimple-DE/zxspectrum/colors.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system, basic, detailed, video, grid">
         <image name="band1" extra="true">
@@ -15,4 +15,4 @@
             <color>02559C</color>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zxspectrum/systeminfo.xml b/themes/rbsimple-DE/zxspectrum/systeminfo.xml
index a5b340086..4baea8a9e 100644
--- a/themes/rbsimple-DE/zxspectrum/systeminfo.xml
+++ b/themes/rbsimple-DE/zxspectrum/systeminfo.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
 
     <view name="system">
         <text name="info1" extra="true">
@@ -24,4 +24,4 @@
             <text>Media : Cassette tape, 3-inch floppy disk on Spectrum +3</text>
         </text>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/themes/rbsimple-DE/zxspectrum/theme.xml b/themes/rbsimple-DE/zxspectrum/theme.xml
index 1ef216328..077d05361 100644
--- a/themes/rbsimple-DE/zxspectrum/theme.xml
+++ b/themes/rbsimple-DE/zxspectrum/theme.xml
@@ -1,5 +1,5 @@
 <theme>
-    <formatVersion>6</formatVersion>
+    <formatVersion>7</formatVersion>
     <include>./../theme.xml</include>
     <include>./colors.xml</include>
     <include>./systeminfo.xml</include>
@@ -10,13 +10,6 @@
         </image>
     </view>
 
-    <view name="basic, detailed, video, grid">
-        <helpsystem name="help">
-            <textColor>262626</textColor>
-            <iconColor>262626</iconColor>
-        </helpsystem>
-    </view>
-
     <view name="system, basic, detailed, video, grid">
         <image name="logo">
             <path>./images/logo.svg</path>
@@ -25,4 +18,4 @@
             <path>./images/consolegame.svg</path>
         </image>
     </view>
-</theme>
+</theme>
\ No newline at end of file
diff --git a/tools/update_theme_formatversion.sh b/tools/update_theme_formatversion.sh
index da461b38c..ca20b91e7 100755
--- a/tools/update_theme_formatversion.sh
+++ b/tools/update_theme_formatversion.sh
@@ -5,6 +5,8 @@
 #  update_theme_formatversion.sh
 #
 #  Updates the format version of all the XML files in a theme set.
+#  This needs to be run from the theme directory, e.g.:
+#  cd themes/rbsimple-DE && ../../tools/update_theme_formatversion.sh 5 6
 #
 #  This script is only intended to be used on Linux systems.
 #