emulator: "The Ur-Quan Masters" type: standalone core_classification: game_engine source: "https://github.com/juj/sc2-uqm" upstream: "https://sourceforge.net/projects/sc2/" profiled_date: "2026-10-04" source_commit: "ff2444088d42e80612fd28f79d368783e244a606" core_version: "0.8.0" version_basis: kind: file path: "sc2/src/uqmversion.h" pattern: '#define UQM_MAJOR_VERSION_S\s+"(\d+)"[\s\S]*?#define UQM_MINOR_VERSION_S\s+"(\d+)"[\s\S]*?#define UQM_PATCH_VERSION_S\s+"(\d+)"[\s\S]*?#define UQM_EXTRA_VERSION\s+"([^"]*)"' format: "{1}.{2}.{3}{4}" display_name: "The Ur-Quan Masters" cores: [uqm] systems: [ur-quan-masters, star-control-2] notes: | The Ur-Quan Masters (UQM) is the open-source port of Toys for Bob's Star Control II, built from the sources Toys for Bob released in 2002. The engine runs on top of its own virtual filesystem (uio) and expects a content/ tree with a packages/ subdirectory holding zip archives renamed with the .uqm suffix. prepareContentDir() in src/options.c:136 searches for content/ relative to the executable (default locations are CONTENTDIR, "", "content", "../../content", while macOS also probes the app bundle). A sentinel file content/version must exist (lines 138-182) or the game logs "Could not find content" and exits. mountContentDir() (src/options.c:330-361) mounts content/ at the uio root and then mounts every .zip or .uqm file under content/packages/ below it (line 357, mountDirZips at 463-489). The archive name is not read. LoadKernel then needs at least one .rmp index at the content root (src/uqm/setup.c:113-115), and without one the game logs "Could not load basic content", names uqm-0.8.0-content.uqm and exits (src/uqm/starcon.c:194-204). The content pack carries uqm.rmp and base/. A content/ tree that already holds them unpacked passes the same check, as the tree at this pin does. 3DO music (uqm-0.8.0-3domusic.uqm) and voice overs (uqm-0.8.0-voice.uqm) are optional sections (installer lines 315, 329, SectionIn 1 4 6). They go in content/addons/, not packages/: a .uqm there is mounted at "addons" (src/options.c:393-402) and loadAddon opens addons/3domusic, addons/3dovoice and addons/remix (options.c:518-551, uqm/setup.c:118-132). Placed in packages/ their files would sit at the root and the addon would not load. The four remix packs (uqm-remix-disc1.uqm through uqm-remix-disc4-1.uqm) are only in SectionIn 6 ("Full"). content/base, content/addons and the two .key sentinel files (uqm.key, menu.key) are shipped verbatim in the source repository and are not external data, so they are not listed here. The engine checks no hash. The MD5 values come from build/win32_install/packages.nsh, autogenerated by procpkgs.sh at release time, and only the Windows installer compares them, offering a fresh download on a mismatch (uqm-installer.nsi:132-190). files: - name: uqm-0.8.0-content.uqm path: uqm/content/packages/uqm-0.8.0-content.uqm system: ur-quan-masters category: game_data required: true installed_on: [retropie] md5: "6cbc9d51fa63e07c0f4d1d061136d816" description: "UQM core game data archive" note: "Published apart from the source release. Carries uqm.rmp and base/: without a .rmp index at the content root the game exits with \"Could not load basic content\". Any .zip or .uqm in content/packages is mounted, the name is not read. The RetroPie scriptmodule downloads it into content/packages." source_ref: "sc2/src/uqm/starcon.c:194-204, sc2/src/uqm/setup.c:113-115, sc2/src/options.c:354-359, sc2/src/options.c:463-489, sc2/src/options.c:491-515, sc2/build/win32_install/packages.nsh:3-5" - name: uqm-0.8.0-3domusic.uqm path: uqm/content/addons/uqm-0.8.0-3domusic.uqm system: ur-quan-masters category: game_data required: false installed_on: [retropie] md5: "9e5801d45ca12028b486cdeb83568c02" description: "UQM 3DO music track pack" note: "The RetroPie scriptmodule downloads it into content/addons." source_ref: "sc2/build/win32_install/packages.nsh:6-8; sc2/build/win32_install/uqm-installer.nsi:315-327, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132" - name: uqm-0.8.0-voice.uqm path: uqm/content/addons/uqm-0.8.0-voice.uqm system: ur-quan-masters category: game_data required: false installed_on: [retropie] md5: "fc89f77d7b66c2669abca6c157f5259a" description: "UQM alien-race voice-over pack" note: "The RetroPie scriptmodule downloads it into content/addons." source_ref: "sc2/build/win32_install/packages.nsh:9-11; sc2/build/win32_install/uqm-installer.nsi:329-341, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132" - name: uqm-remix-disc1.uqm path: uqm/content/addons/uqm-remix-disc1.uqm system: ur-quan-masters category: game_data required: false md5: "09f242d8d72166d1d5ccbd3d99c93e7d" description: "Precursor Remix disc 1 (modern remixes)" source_ref: "sc2/build/win32_install/packages.nsh:12-14; sc2/build/win32_install/uqm-installer.nsi:345-358, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132" - name: uqm-remix-disc2.uqm path: uqm/content/addons/uqm-remix-disc2.uqm system: ur-quan-masters category: game_data required: false md5: "fbc8bdcb709939d559d8c7216ad15cc2" description: "Precursor Remix disc 2" source_ref: "sc2/build/win32_install/packages.nsh:15-17, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132" - name: uqm-remix-disc3.uqm path: uqm/content/addons/uqm-remix-disc3.uqm system: ur-quan-masters category: game_data required: false md5: "5ccc6d4ac301ae98e172ac6835dcdead" description: "Precursor Remix disc 3" source_ref: "sc2/build/win32_install/packages.nsh:18-20, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132" - name: uqm-remix-disc4-1.uqm path: uqm/content/addons/uqm-remix-disc4-1.uqm system: ur-quan-masters category: game_data required: false md5: "3fb63f4ac514343ed4b4b5b194c413fb" description: "Precursor Remix disc 4-1" source_ref: "sc2/build/win32_install/packages.nsh:21-23, sc2/src/options.c:393-402, 518-551, sc2/src/uqm/setup.c:118-132"