Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/rommapp/romm/llms.txt

Use this file to discover all available pages before exploring further.

RomM supports over 400 gaming platforms, each identified by a canonical slug — a short, lowercase identifier that ties together your folder structure, metadata lookups, and emulator configuration. Getting the slug right is the single most important step when setting up your library.

The Slug System

Every platform in RomM has a unique slug. The slug serves three purposes:
  1. Folder naming — RomM discovers your ROMs by matching the name of each subfolder inside your roms/ directory to a known platform slug (e.g. roms/snes/, roms/psx/, roms/switch/).
  2. Metadata matching — The slug is used to query metadata providers (IGDB, MobyGames, Screenscraper, etc.) for the correct platform database.
  3. Emulator identification — EmulatorJS uses the slug to select the appropriate core for in-browser play.
Platform folder matching is case-insensitiveSNES/, Snes/, and snes/ are all treated identically. Use lowercase by convention to keep things tidy.

Platform Slug Reference

The table below lists a broad selection of supported platforms. This list is sourced directly from RomM’s UniversalPlatformSlug enum.

Nintendo

PlatformSlug
Nintendo Entertainment Systemnes
Famicomfamicom
Famicom Disk Systemfds
Super Nintendosnes
Nintendo 64n64
Nintendo 64DD64dd
GameCubengc
Wiiwii
Wii Uwiiu
Nintendo Switchswitch
Nintendo Switch 2switch-2
Game Boygb
Game Boy Colorgbc
Game Boy Advancegba
Nintendo DSnds
Nintendo DSinintendo-dsi
Nintendo 3DS3ds
New Nintendo 3DSnew-nintendo-3ds
Satellaviewsatellaview
Virtual Boyvirtualboy
Pokémon Minipokemon-mini

Sega

PlatformSlug
Sega Genesis / Mega Drivegenesis
Sega Master Systemsms
Sega 32Xsega32
Sega CDsegacd
Sega Saturnsaturn
Sega Dreamcastdc
Game Geargamegear
SG-1000sg1000
Sega Picosega-pico

Sony

PlatformSlug
PlayStationpsx
PlayStation 2ps2
PlayStation 3ps3
PlayStation 4ps4
PlayStation 5ps5
PlayStation Portablepsp
PlayStation Vitapsvita

Atari

PlatformSlug
Atari 2600atari2600
Atari 5200atari5200
Atari 7800atari7800
Atari 800atari800
Atari STatari-st
Atari Jaguarjaguar
Atari Jaguar CDatari-jaguar-cd
Atari Lynxlynx
Atari XEGSatari-xegs

Microsoft

PlatformSlug
Xboxxbox
Xbox 360xbox360
Xbox Onexboxone
Xbox Series X/Sseries-x-s
MS-DOSdos
Windowswin

NEC / Hudson

PlatformSlug
PC Engine / TurboGrafx-16tg16
TurboGrafx-CDturbografx-cd
PC-FXpc-fx

SNK / Neo Geo

PlatformSlug
Neo Geo AESneogeoaes
Neo Geo MVSneogeomvs
Neo Geo CDneo-geo-cd
Neo Geo Pocketneo-geo-pocket
Neo Geo Pocket Colorneo-geo-pocket-color

Arcade & Multi-Platform

PlatformSlug
Arcade (MAME)arcade
CPS-1cps1
CPS-2cps2
CPS-3cps3
Model 1model1
Model 2model2
Model 3model3
ScummVMscummvm
Flashbrowser
3DO Interactive Multiplayer3do
Amigaamiga
Commodore 64c64
MSXmsx
MSX2msx2
The full list of slugs — including IGDB platform IDs — is available directly in RomM under Settings → Platforms. You can also browse it in the source at backend/handler/metadata/base_handler.py.

Custom Platform Mappings

If your folder names differ from RomM’s canonical slugs, use the system.platforms mapping in config.yml to create aliases. The key is your folder name; the value is the RomM slug it should be treated as.
system:
  platforms:
    gc: ngc      # 'gc' folder → GameCube
    ps1: psx     # 'ps1' folder → PlayStation

Platform Versions

Some platforms are regional or hardware variants of a parent platform. Use system.versions to associate a child slug with its parent platform (currently used by IGDB lookups only):
system:
  versions:
    naomi: arcade   # Sega NAOMI → Arcade
This tells RomM to look up naomi titles in the arcade category on IGDB instead of searching for a dedicated “Naomi” platform entry.

Build docs developers (and LLMs) love