EmulationStation Menu Trees

This is a “tree” of the menus in EmulationStation, with a short sentence or two explaining the option (sometimes with a link to the relevant page). Think of it as a glossary of sorts. [Ctrl]+[F] through here to instantly find the option you're after!

Still needs a bit of work adding in all the possible menu entries. Sit tight!

The MAIN MENU in Batocera can be opened from any list in EmulationStation by pressing [START].

Launch Kodi Media Center (Kodi is disabled on some weaker devices).

This can be disabled in the SYSTEM SETTINGSKODI SETTINGS menu.

Shows all the RetroAchievements you have for the games which you've played.

Greyed out ones are currently not present on your system. The appearance of this menu can be toggled in the GAME SETINGS menu.

The global settings that apply if there are no per-system, per-folder or per-game settings.

Choosing this option will perform a scan of your game folders and refresh the list of available games accordingly.

DEFAULT GLOBAL SETTINGS

Force the emulator to run at this resolution.

This is the final output resolution sent to your display, as Batocera runs all emulators in full-screen. This is independent of the rendering resolution, which is an emulator-specific setting which changes the resolution of the game itself. Emulators will (usually) provide the ability to run with integer scaling or alternative aspect ratios so altering this setting for adjusting the geometry purposes is not required.

Force the game to render in this aspect ratio. This setting does not change the final output resolution.

If not using the AUTO setting, CORE PROVIDED is recommended. SQUARE PIXEL will render pixels with the same geometry as the pixels on your screen, but is not recommended as most systems did not have perfectly square pixels with their displays.

SHADER SET

This is used to select a preset shader set for games.

See the shader sets page for more info.

SMOOTH GAMES (BILINEAR FILTERING)

Enables bilinear filtering or the equivalent of that in the emulator.

Not available on all emulators. Automatically disabled if the rendering resolution is set to the video mode resolution, or if a shader set is being used.

INTEGER SCALING (PIXEL PERFECT)

Only increase the image size in integer multiples.

Retro games ran at a low resolution (typically 640×480 or 320×240), these are ordinarily expanded to fit a bigger screen. During this process, the pixel geometry may be warped if the image is scaled by a value that is not an integer. This forces the games to be scaled only by an integer multiple, using the largest integer multiple that does not cut off content of the screen. This may result in a black border around the image (unless the display is exactly a multiple of the original resolution of the game). See Anti-aliasing for more.

Select which decoration set to use and alter the objects drawn on top of it.

Decorations fill up the blank space resulting from using a thinner aspect ratio on a wider display. See Decorations (and The Bezel Project) for more information.

DECORATION SET

Choose which decoration set you'd like to use, with a little preview to go with it.

AUTO will use the CONSOLE set, which has a unique decoration per system.

STRETCH BEZELS (4K & ULTRAWIDE)

Stretch the decoration to the display's exact dimensions, potentially distorting the decoration.

Overlays are typically designed for 16:9 1920×1080 monitors. If the display uses a higher resolution or a different aspect ratio, this option can be used to make the bezel correctly fit the screen. See the relevant section on the display issues page for more info.

HEADS UP DISPLAY

Show context-sensitive info over the game.

This utilizes MangoHUD to display in-game statistics of your machine or more information about the current game. See the MangoHUD section on the benchmarking guide for more info.

HEADS UP DISPLAY CORNER

Choose which corner to display the HUD in.

SHOW TATTOO OVER BEZEL

Show an image overlaid on top of the bezel.

This is what's used for the controller overlays. Unlike the HUD, this is a static image and is less resource-intensive. See the tattoo section on the decorations page for more info.

TATTOO CORNER

Choose which corner to display the tattoo in.

CUSTOM .PNG IMAGE PATH

When using the CUSTOM IMAGE option as the current tattoo, use this image.

RESIZE TATTOO

Shrink/expand tattoo to fit within the bezel's border.

Connects to the internet to automatically translate the content of the current frame when activated.

See AI game translation for more info.

ENABLE AI TRANSLATION SERVICE

During gameplay, press [HOTKEY] + [R1] to translate on-screen text. Only on libretro cores.

TARGET LANGUAGE

The language to translate into.

AI TRANSLATION SERVICE URL

Type in the preferred translation service.

If none are specified, will use ZTranslate by default.

PAUSE ON TRANSLATED SCREEN

Halt the gameplay while translation is being shown.

Useful for faster-paced games where text may only temporarily be shown on-screen.

Store past states to rewind to in realtime, if the core supports it.

Lets you use the [HOTKEY]+ D-pad left shortcut to rewind time during a game (sorry, no time-travel magic is involved, just memory states). See other commands at the hotkey shortcuts page.

Various options to help reduce input latency. See the latency reduction page.

RUN-AHEAD FRAMES

Enables run-ahead. High numbers can result in visible jitter.

This usually doubles the CPU requirements for any given system, see its section for more info.

USE SECOND INSTANCE FOR RUN-AHEAD

Emulates a second system to jump to when utilizing run-ahead.

Can prevent audio skips on button presses. See its section for more info.

AUTOMATIC FRAME DELAY

Automatically decrease frame delay temporarily to prevent frame drops.

This usually results in a reduction in input delay, but can also result in there not being enough time to render audio frames, which can introduce audible stuttering. See its section for more info.

VARIABLE REFRESH RATE

Adjusts the display's refresh rate to match that of the content.

Don't deviate from the core's requested timing. This requires the monitor to support a VRR standard such as G-Sync, Freesync or HDMI 2.1 VRR. See its section for more info.

THREADED VIDEO

Runs the CPU logic and display logic on different dedicated cores.

Improves performance at the cost of latency and more video stuttering. See its section for more info.

For emulators and controllers supporting force feedback.

SAVESTATES

Automatically load the latest savestate on game launch and automatically save the state when exiting the game.

Only for emulators which support save states in the first place.

Choose how the current save slot increments when launching games or saving states.

Display the savestate manager before launching a game.

SYSTEM SETTINGS

This will let you set up most system specific configurations.

Refer to the system's page in systems for info on each particular system's settings. Game-specific settings will take priority over settings made here.

This submenu is used to set up RetroAchievements.

See RetroAchievements for more information.

RETROACHIEVEMENTS

Enable the infamous RetroAchievements.

Make sure to provide your sign-in details first! See the RetroAchievements page for more info.

HARDCORE MODE

Disable certain emulator convenience features for more points.

With this mode on, special features such as rewind, fast-forward and cheat codes are disabled, creating a similar environment to the original experience. For hardcore fans.

LEADERBOARDS

Compete in high-score and best time leaderboards.

Supported only by certain games. This setting requires HARDCORE MODE to be enabled.

VERBOSE MODE

Show achievement progression on game launch and other notifications.

When you unlock an achievement, get details about the achievement you have unlocked, with a cute little badge in the upper left corner of your screen.

RICH PRESENCE

FIXME

ENCORE MODE

Unlocked achievements can be earned again.

This is only in regards to the notification. The actual achievements themselves won't become locked again on your account.

AUTOMATIC SCREENSHOT

Automatically take a screenshot when an achievement is earned.

Do you want to keep a screenshot of the moment you unlocked a RetroAchievement? They are stored in the Batocera screenshot directory.

CHALLENGE INDICATORS

Shows icons in the bottom right corner when eligible achievements can be earned.

Useful for seeing if you have failed the condition for earning a particular achievement or not.

UNLOCK SOUND

Choose which sound will play when an achievement is unlocked.

A few sounds to choose from are included, some you may already be familiar with. Custom sounds can also be selected, simply add the .ogg sound file to /userdata/sounds/retroachievements/ (other formats are not compatible).

USERNAME

The username for the RetroAchievements account.

PASSWORD

The password for the RetroAchievements account.

SHOW RETROACHIEVEMENTS ENTRY IN MAIN MENU

Shows a menu entry for your RetroAchievements right in the main menu.

GAME INDEXES

INDEX NEW GAMES AT STARTUP

Checks newly added games to see if they are compatible with RetroAchievements.

This only affects the frontend, the actual achievements themselves are always earnable once the game is launched.

INDEX GAMES

A tool to index the availability of achievements for games.

In order to show a little icon in the Batocera menu for the games that have RetroAchievements. This tool calculates the MD5 checksums of your ROM files and checks them against the RetroAchievements database. This only affects the frontend, the actual achievements themselves are always earnable once the game is launched.

GAMES TO INDEX

Filter to only scan achievements for games that haven't been scanned before.

Useful to run this tool with the option set to ALL to ensure that games with achievements added recently are indexed.

SYSTEMS INCLUDED

Filter to scan games of only particular systems.

This submenu is used to set up netplay.

See Netplay for more information.

SETTINGS

ENABLE NETPLAY

Allow for the launching and joining of netplay games from the menu.

Once activated, pressing the North button (X SNES) button now launches you into the netplay lobby menu.

NICKNAME

Instead of appearing as player #42957, customize your nickname!

This is how you will be presented in the netplay game rooms (useful for the other players to find you and make sure they join the right room).

PORT

If you need to define a specific port to use.

This is dependent on the current network's configuration. If the router has UPNP enabled, leaving this field empty will use the correct port automatically. Otherwise, the default port to use is 55435.

USE RELAY SERVER

Enables use of a man-in-the-middle to assist in connecting to game lobbies.

In case the network does not support UPNP. It does introduce a little more latency though, so use this option only if your network can't open UPNP ports automatically.

SHOW UNAVAILABLE GAMES

Show rooms for games not present on this machine.

GAME INDEXES

INDEX NEW GAMES AT STARTUP

Checks newly added games to see if they are netplay-compatible.

INDEX GAMES

FIXME

GAMES TO INDEX

Filter to only scan for games compatible with netplay that haven't been scanned before.

Useful to run this tool with the option set to ALL to ensure that netplay-compatible games on systems added to the netplay servers recently are indexed.

SYSTEMS INCLUDED

Filter to scan games of only particular systems.

Checks the bios folder for currently missing or untested BIOS files.

If no flaws are detected, nothing is shown. Congratulations! Keep in mind that not all BIOS files are required to run the emulators, just some. It's recommended to read the wiki for each particular system you intend to run to find proper explanations on what exactly is needed.

==== CHECK BIOS FILES BEFORE RUNNING A GAME Pre-emptively display a warning if no BIOS is found when attempting to run a game for the first time.

Configure your supported_controllers and player order here.

Remap a controller.

This process will automatically go through all buttons on the controller. The mapping can be altered after D-pad down and D-pad up have been assigned, by navigating to that button and pressing South button (B SNES). No two mappings can share the same button, and the D-pad buttons must be assigned. This limitation may be removed in the future.

Pair and connect to the first Bluetooth device seen in its pairing mode.

If having difficulties, refer to the manual Bluetooth setup page. If your Batocera is connecting to unwanted devices, that's too bad.

Choosing this will list the currently paired Bluetooth devices, and let you unpair any of them.

Show the number of controllers connected as icons in EmulationStation.

Requires the theme to support the icon. Themes without an icon will use a placeholder square.

Show the battery level of the controllers alongside the icons.

There will then be a list of up to 8(?) available controllers and what player order they are in.

Settings to adjust the various aspects of the menu and theme.

APPEARANCE

Choose the theme to use.

Additional themes can be downloaded from the Updates & Download category in the main menu. See Theme Set for more info.

These options are specific to the theme currently being used.

Options edited here will be saved per theme, so don't be afraid of trying out new themes as the settings for the previous theme will be remembered. Select RESET CUSTOMIZATIONS to revert back to the theme's default settings.

DISPLAY OPTIONS

START SCREENSAVER AFTER

How long the system must stay unused before triggering the screensaver.

SCREENSAVER TYPE

Choose what kind of screensaver to use.

  • DIM/BLACK: Darkens the screen either a bit or a lot. There are no settings for these types of screensavers.
  • RANDOM VIDEO/SLIDESHOW: Play videos/show screenshots from scraped games.
  • SUSPEND: Puts the machine into a low-power state.

This selection will affect the options available in the screensaver settings menu.

STOP MUSIC ON SCREENSAVER

Stops the background music playing when the screensaver starts.

Useful if you'd prefer to hear the video's audio instead for the video screensaver.

RANDOM VIDEO/SLIDESHOW SCREENSAVER SETTINGS

VIDEO/IMAGE DURATION (SECS)

How long to display the video/image for before automatically switching to the next one.

SHOW GAME INFO

Adds an overlay of the game's title or its marquee.

USE MARQUEE AS GAME INFO

If the game has been scraped and has a marquee, use that instead of plain text for its info.

DECORATION SET USED

Adds the system bezel or a random one for that system to the screensaver.

The marquee is shown over the bezel, while the screenshot/video is shown inside the bezel.

STRETCH VIDEOS/IMAGES

Distort videos/images to fill the space.

MUTE VIDEO AUDIO

Keep the video silent.

Useful if you'd prefer to keep listening to the background music. Only available for the video screensaver.

SCREENSAVER CONTROLS

Change the controls during the screensaver:

  • [START] launches the game currently being shown.
  • D-pad right moves onto the next game.
  • D-pad left moves back to the previous game.

If disabled, then any button press instead just closes the screensaver.

USE CUSTOM VIDEOS/IMAGES

Use a custom folder to grab videos/images from for the screensaver.

By default, the folder is /userdata/screenshots/. Drop a few videos for old video game commercials in there, and sit back for some nostalgia.

CUSTOM VIDEO/IMAGE DIRECTORY

Define a custom path where videos/images should be retrieved from.

If none is specified, will use /userdata/screenshots/.

USE VIDEOS/IMAGES IN SUBFOLDERS OF CUSTOM DIRECTORY

Scan for and use videos/images in subfolders of the specified directory too.

CUSTOM VIDEO/IMAGE FILE EXTENSIONS

Manually edit the acceptable file extensions.

Be careful of adding extensions for formats that cannot be played by EmulationStation.

  • UI Mode : You can select different modes for batocera, Kiosk mode and Kid mode will reduce the amount of possibilities, see also UI mode.

Startup Settings

  • Start on System : Select which system is selected as default
  • Start on Gamelist : Start ES on gamelist view of selected system
  • Overscan : Option only relevant for SBC supporting overscan settings, can be used in case the image is cropped improperly on the screen.
  • Systems displayed : This is used to choose which systems to display, and which ones to hide.

Display Options

  • Transition Style : This is used to decide if the menu should have a fade-in transition effect, a moving effect, or change instantly when starting a game.
  • Carousel Transitions Instantly show next/previous system
  • Game Launch Transition : auto, fade, slide or instant
  • Show Clock : Displays the hour on EmulationStation
  • On-Screen Help : Displays the buttons' actions in EmulationStation
  • Quick System Select : This feature allows you to scroll right or left when you've already entered a game folder. If this were to be turned off, you would have to back out to the main menu and then scroll left or right to find your system of choice.
  • Show Battery Status : for battery-powered devices, chose between Nothing, icon or icon and text (percentage)

Gamelist Options

  • Show Favorites on top : When active, the favorites games will be put on top of the list.
  • Show hidden files : When enabled, the files described as hidden by the gamelist.xml file ill be displayed.
  • Show folder : This option makes it possible to show the folder hierarchy inside a system, or to display all games as if they were directly put inside the folder.
  • Show '..' parent folders : When subfolders are shown, enabling this will show a .. entry to go back one folder, this entry can be hidden.
  • Show Filenames in Lists : Shows the filename instead of scrapped game name.

More information about custom collections at its respective page.

Several options are available in this menu:

  • AUTOMATIC GAME COLLECTIONS: Batocera can create automatically some collections, based on the information scraped in your gamelist.xml files. You can create automatically collections for 2 and 4 players games, all games (on all systems), favorites (across all systems) and the never played or last played games. For arcade systems, you can also have automatically created collections by editor or arcade system, like sega, snk, namco and so on.
  • CUSTOM GAME COLLECTIONS: to manage the personal collections you have created.
  • CREATE NEW CUSTOM COLLECTION: in order to create your personal collections. Once you have given a name to your new collection, you can add games from the menu by pressing the Y button on your controller. When you are done with adding games in your collection, a new item FINISH EDITING COLLECTION will appear in this menu to let you close it.
  • GROUP UNTHEMED CUSTOM COLLECTIONS: toggle on if you want your collections to all appeared in a dedicated COLLECTIONS item at the top level on the menu, otherwise each of your custom collection will appear at the top level.
  • SORT CUSTOM COLLECTIONS AND SYSTEMS: in case you have set to “off” the previous option, do you want your collections to appear amongst the other systems, ordered from their alphabetical names among the other systems (toggled on), or would you prefer to see all your collections grouped together at the end of your systems list (off)?
  • SHOW SYSTEM NAME IN COLLECTIONS: toggle on if you want to see the [SYSTEM] added after the game names in your custom collections. Otherwise only the game name will appear. Useful if you have the same game name across multiple gaming consoles.
Game Collection Settings

Collections to display

  • Automatic Game Collections Add some predefined collections in the menu (2-player, 4-player games…)
  • Custom Game Collection Select between your custom game collection

Create Custom Collection

  • Create New Game Collection Game Collections are stored in $HOME/configs/emulationstation/collections
  • Create New Dynamic Collection

Options

  • Sort Systems: Alphabetically, by manufacturer, by hardware type, by release year
  • Start on System: Restore last selected, or choose your favorite system to start with
  • Start on Gamelist
  • Group Unthemed Custom Collections
  • Short Custom Collections and Systems
  • Show System Name in Collections Add a system description to a ROM file e.g. Sonic [Megadrive]
  • Frontend Music : Is used to enable or disable the music in EmulationStation.
  • Display Song Titles : Used to show the name of the music file in EmulationStation when it starts playing.
  • How many seconds for song titles : How long new song pop-up badge is displayed.
  • Only Play System-Specific Music Folder : Can be used to play only specific musics when going inside a given system folder, see also EmulationStation music.
  • Play theme musics : Can be enabled to let the currently used theme use its own musics.
  • Lower Music when playing video : When a video preview is playing, reduce the music played in ES.
  • Sounds
  • Enable Navigation Sounds : Some themes use navigation sounds, enabling this let's you hear them when moving in the menu.
  • Enable Video Audio : When you have a video played back in the EmulationStation menu – either through a video thumbmail of a game that you scraped or when you use the video screensaver option – you can toggle on/off this option so that it does not interfere with the FRONTEND MUSIC option that might have been set up above.
  • Informations
  • IP Address This displays your IP address which can be useful if you want to access your device over the network (you should be able to access your device in Windows through the file explorer. Type \\(IP address of Batocera) in the address bar to gain access to the share.)
  • Status This menu option will show you information about your network and if you're connected to the internet (not your local network). This can be useful for troubleshooting issues with online gaming or game scraping. Batocera checks its status by trying to reach out to the Batocera public website. If you see “NOT CONNECTED” it indicates that the website cannot be contacted by your Batocera box: there might be a temporary network issue that is not necessary on your personal network.
  • Show Network Indicator : Will display a small icon in EmulationStation when connected to the network if this is enabled.
  • Settings
  • Hostname The hostname will be a name to distinguish your device from others on the network. Your router may append .local or .lan to it, check its settings.
  • Enable WiFi Enables or disables the Wi-Fi, useful for handhelds to save power. When using a wired connection, this will be turned off automatically.
  • WiFi SSID Set up your Wi-Fi SSID.
    • <List of Wi-Fi networks scanned> You may need to use “Refresh” if you had just turned it on.
    • Refresh Scan for networks again.
    • Manual Input Manually type out your network's SSID. Special characters may need to be escaped with a preceding \.
  • WIFI Key This is the password to your wireless network that you're attempting to connect to. Special characters may need to be escaped with a preceding \.

Allows you to scrape boxart/marquees for your game collection from an online database.

  • Scrape From Choose your database source. Remaining options will appear/disappear based on this. Read Scrape From for more info.
  • Image Source
  • Box Source Prefer 2D boxart or an automatically generated 3D render of the boxart. This will apply to both the boxart thumbnail image and the “Mix” image outputs.
  • Logo Source Choose whether to use the marquee (with its own background) or the wheel (with a transparent background) for the logo.
  • Scrape Ratings This option will scrape the user ratings of each game and will be displayed with the artwork you downloaded. This can be helpful when wanting to try new games you have never played before.
  • Scrape Videos Downloads a short, low-resolution video to play when the game is selected. This option takes up a lot of bandwidth and will dramatically increase your scraping time for large collections! Weaker SBCs may also struggle with this.
  • Scrape Fanart Downloads a HD fanart of the game to display in the background/screensaver. Depends on how the theme has implemented it.
  • Scrape Manual Batocera 5.27+ offers you the ability to show game manuals (by hitting [Select] on a game) if you scraped the manuals.
  • Scrape Pad2key settings For Batocera v29+, you can automatically download a pad2key profile to use the joypad to emulate a keyboard.
  • Username if you use screenscraper as a source, and you have an account with multiple threads, using your screenscraper username and password here will leverage scraping with as many parallel threads as you have access to. It's a lot faster.

    Be sure to enter the screenscaper username, not the email address.

  • Password
  • Scrape Now Begin scraping. Your system may become unresponsive for a moment, but scraping will begin in the background. When done, be sure to Update Games Lists to see your boxart!

Download freely distributed content for Batocera! See Content downloader/updates for more info.

  • System
  • Information
    • Your System Version ✔
    • Disk Usage ✔
    • Temperature ✔
    • Architecture ✔
    • System ✔
    • CPU Model ✔
    • CPU Number ✔
    • CPU Max Frequency
  • Language
  • Power Saver Modes: Reduce CPU consumption during idle time by reducing frequency of menu animation frames.
    • Default: Menu rendering is paused once Game Description animation completes.
    • Enhanced: Menu rendering is paused once Game Name animation completes. Use when you don't need/read Description or Video previews.
    • Instant: Menu rendering is paused immediately (few or no animations)
    • Disabled: Menu is re-rendered for every frame, even when static.
  • Kodi Settings
    • Enable Kodi
    • Kodi at Start Directly start Kodi on boot
    • Start Kodi with X Start Kodi by pressing the X button on your controller
  • Hardware
  • Brightness
  • Video Output
  • Audio Output
  • Multimedia keys: if you have an Odroid Go Advance or its clone, do you want to enable the lower system keys?
  • Overclock Only relevant for some SBC, not for PC
  • Storage
  • Storage Device
  • Backup User Data
  • Install Batocera on a new disk
  • Advanced
  • Security
  • Developer
    • VRAM Limit Setup max usage of Video RAM (Theme dependent!), the defaults are usually fine. To quote the original EmulationStation FAQ: “A good rule of thumb for how much memory you should allocate to the GPU on a 1080p setup using the default themes is 8 MB + 25 MB + 10 MB * (number of systems with games). The framebuffer, fonts and high quality system art can have a dramatic affect on this.”
    • Show Framerate show how many FPS you can get on each emulator
    • VSYNC
    • Overscan Use Overscan feature for SBCs that support it (not PC)
    • Preload UI Pre-load UI elements like images, use it if you have 4GB or more on your system
    • Threaded Loading Use several CPU cores to accelerate loading. Use this option if you have a “high-end”ish CPU.
    • ASync Images Loading Can load several images in parallel, for a better user experience if you have no RAM/network constraints.
    • Optimize Images VRAM use FIXME
    • Optimize Video VRAM use FIXME
    • Enable Filters FIXME
    • Save Metdata on exit
    • Parse Gamelists only
    • Reset File Extension FIXME
    • Redetect Games Language/Region FIXME
    • Use Retroarch RGUI Menu Lets you switch between the new ozone GUI and the classic one
    • Switch A/B buttons in EmulationStation - this option might be useful, if you are coming to Batocera from other distributions with a different default mapping
    • Log Level
    • Create a support file Needed for error detection mostly related to developers
    • Format disk Lets you format disks (exfat, ext4, btrfs)
    • Use OMX Player (HW accelerated)

to do

Pressing [SELECT] at the system list (top level) will give you access to the following shortcuts:

  • Quick Access
  • Launch screensaver that you configured, for video or picture display
  • Skip to next song when you play a background music in EmulationStation
  • View Batocera Manual you next best friend when you don't have access to this fantastic wiki ;-)
  • Quit
  • Restart System Reboot the machine. The #1 troubleshooting procedure. If Batocera isn't the default boot drive, this will return you to your main operating system.
  • Shutdown System Powers down the device. By default, will send the halt signal to your device, so that you can power it back on again using a button.
  • Fast Shutdown System Shuts down the system without first saving modifications made to gamelist.xml. Only use this for troubleshooting purposes, as it can undo changes made during the session.

Pressing the select button at the game level menu will give you access to the following shortcuts:

  • Navigation
  • Filter games by text
  • Jump to : a letter
  • Sort games
  • Other filters
  • Find similar games: On Batocera 29+, you can find games that are similar to the one you are selecting. When you want to play all the games in a series, for instance.
  • View Options
  • Gamelist view style
  • View customization
  • Game Options
  • Advanced System Options
  • Advanced Game Options
  • Edit this game metadata
  • menu_tree.txt
  • Last modified: 2 months ago
  • by maximumentropy