System variables carry the information of the currently displayed system: the one selected in the system list, or the one whose game list is being browsed. On a virtual system (favourites, genre, arcade manufacturer), they return the virtual system's own information, not the selected game's.
These variables only exist for themes designed for Recalbox 10 or above.
They can be used both in the system list and in game lists.
±N offsetEvery variable listed below accepts an integer offset, positive or negative, glued to the name. This lets you display the systems around the selected one — handy to build a custom carousel.
| Example | Result |
|---|---|
${system+1} |
name of the next system |
${system.logo-2} |
logo of the second previous system |
${system.manufacturer+999999} |
works too: the offset wraps around |
The offset applies to the visible system list, and wraps automatically at both ends. If only one system is displayable, every offset variable returns that same system.
<view name="system">
<text name="previous" extra="true" text="${system-1}" pos="0.1 0.5" />
<text name="current" extra="true" text="${system}" pos="0.5 0.5" />
<text name="next" extra="true" text="${system+1}" pos="0.9 0.5" />
</view>
${system}Full system name.
Sony Playstation 1
${system.name}Internal system name. That name is used by settings and ROM folders — beware, it does not always match the theme folder.
psx
${system.logo}Path to the default system logo, as resolved by Recalbox: first a localised version (psx-en_US.svg, then psx-en.svg), then a regionalised version (psx-eu.svg), and finally the generic logo.
/recalbox/system/resources/logos/psx.svg
${system.manufacturer}Manufacturer name.
Sony
${system.releasedate}System release date, in YYYY-MM format.
1994-12
${system.type}System type, among arcade, virtual-arcade, console, handheld, computer, fantasy, engine, virtual and port.
console
${system.type.name}System type in a readable form, among Arcade, Virtual Arcade System, Home Console, Handheld Console, Computer, Fantasy Console, Game Engine, Virtual System and Port.
Home Console
${system.input.pad}Gamepad requirement, among mandatory, recommended, optional and no.
mandatory
${system.input.mouse}Mouse requirement, same values.
${system.input.keyboard}Keyboard requirement, same values.
A classic use is to display a badge per required device:
<image name="padBadge" extra="true" path="${root}/art/pad-${system.input.pad}.svg" pos="0.05 0.85" size="0.04 0" />