Skip to content

Data Management

Data Management is the catalog workshop. It owns the user working copy of Master.db, the enrichment sources that dress it, and the Inbox of unmatched cabinet launches.

AltitudeUse it for
WorkshopEnable build inputs, preview changes, and rebuild Master.db
CatalogSearch the game catalog or an enrichment dataset, inspect rows, and save local corrections
InboxResolve or ignore unmatched launches captured by ArcadeServer

Data Packs installs packages. Workshop enables applicable inputs in the Data Build Profile. Install and enable are separate actions.

Open Data Management → Workshop after installing metadata enrichment, changing catalog sources, or saving catalog corrections.

  1. Review the enabled build inputs.
  2. Review Button labels, Controller templates, and Metadata enrichment when applicable.
  3. Preview the rebuild.
  4. Select Rebuild Master.db.

The rebuild starts from the existing user working catalog and merges by strong identity. It does not wipe the Games table or rewrite existing RomId values.

Available inputRebuild behavior
DAT or XML sourcesImport rows, then apply enrichment
Metadata enrichment onlyKeep the working catalog and apply labels, colors, and templates
BothImport first, then enrich
NeitherStop without writing because there is no work to apply

The build uses a candidate copy, validates it, and swaps it into place only after validation. The shipped baseline remains read-only.

Open Catalog and choose a dataset. The picker includes Master.db and the enrichment sources used for platform mapping, ignore or keep rules, prefix cleanup, button labels, community colors, and controller templates.

Use the compact dataset, search, and Find row to locate entries. Select a catalog game to inspect or correct it. Use Add new for a source row; manual game creation belongs under Catalog inspection, not Inbox.

Catalog corrections are stored as local overrides waiting for rebuild. They are not a live runtime overlay.

Games.RomId is the catalog identity. ArcadeStudio supports evidence-based forms such as arcade ROM name, SHA-1, disc serial, game code, title ID, and CRC depending on the platform and source.

Titles, filenames, and paths are reference fields, not identity proof. Do not invent an ID from a platform name and ROM filename, and do not rewrite existing official IDs during a merge.

When ArcadeServer cannot identify a launched game against the published catalog, it records an observation for Data Management → Inbox.

For each observation:

  • Resolve links it to an existing catalog identity.
  • Add it to the local catalog only when the captured evidence supports a strong identity.
  • Ignore dismisses an observation you do not want to act on.

Inbox is a durable review queue, not a copy of the catalog and not the main manual-create form.

Enrichment sources normalize and dress catalog records; they do not replace Master.db.

  • Platform mapping resolves aliases to a canonical platform.
  • Ignore and keep rules filter import noise; keep wins over ignore.
  • Prefix list removes known platform prefixes from titles.
  • Button labels add role-specific names used by Overlay and LED defaults.
  • Controller templates provide platform default roles for new profiles.
  • Community colors add catalog-default control colors; pack and user LED overrides still win later.

Rebuild applies applicable enrichment to the working catalog without changing game identity.

Publish copies the user Master.db as it currently exists on disk into the cabinet bundle. Publish does not rebuild the database and does not read corrections that are still waiting outside it.

The safe sequence is:

  1. Save catalog or enrichment changes.
  2. Rebuild Master.db.
  3. Review the result in Catalog.
  4. Publish the cabinet bundle.

ArcadeServer then opens the published copy. It never needs direct access to Studio’s working catalog.

Next: Data Packs or ArcadeServer.