Supermodel Legacy¶
Technical notes
Supermodel at trzy/Supermodel 0eef09b of 2022-08-19, the revision Batocera builds as supermodel-legacy for boards without OpenGL 4.1, the version the renderer moved to after it. Batocera applies five patches: 001 rewrites the fixed paths below, the others touch the INI template, the build rules, audio volume and an evdev light gun input system. ref: Src/Version.h:32
All paths are compiled in and relative to the working directory: Config/Games.xml, Config/Supermodel.ini, NVRAM/<game>.nv and Saves/<game>.st<slot>. There is no per-OS path resolution at this revision. Batocera's patch replaces them with /usr/share/supermodel/Games.xml, /userdata/system/configs/supermodel/Supermodel.ini, /userdata/saves/supermodel/NVRAM/<game>.nv and /userdata/saves/supermodel/<game>.st<slot>. ref: Src/OSD/SDL/Main.cpp:1320-1321, Src/OSD/SDL/Main.cpp:579, Src/OSD/SDL/Main.cpp:638, Src/OSD/SDL/Main.cpp:661
ROM sets are MAME format per game archives identified by the CRC32 values in Games.xml, 60 sets at this revision. A child set missing files makes the loader open <parent>.zip from the same directory. Parents are regional or revision variants of one game, not a shared BIOS. Each Model 3 board carries its own program, video, sound and drive board ROMs, so no system ROM is read outside those archives. ref: Src/GameLoader.cpp:858-893
Supermodel.ini is optional: when it cannot be opened the compiled-in defaults apply. The emulator writes it only after interactive input configuration. Batocera generates it from its own template before each launch. ref: Src/Util/ConfigBuilders.cpp:134-142, Src/OSD/SDL/Main.cpp:1356-1358, Src/OSD/SDL/Main.cpp:1861
NVRAM/<game>.nv is loaded after the ROMs when present, silently skipped when absent, and written on exit. Batocera ships 43 .nv files, copied into the save directory by its launcher, preset so the games start without a pass through the service menu. ref: Src/OSD/SDL/Main.cpp:656-688, Src/OSD/SDL/Main.cpp:900, Src/OSD/SDL/Main.cpp:1297
Crosshairs are drawn as GL primitives. No Assets/ bitmap and no Music.xml are read at this revision. External GLSL shaders are read only when a VertexShader or FragmentShader key names a file, and all six keys default to empty. ref: Src/OSD/SDL/Main.cpp:703-712, Src/OSD/SDL/Main.cpp:1420-1425, Src/Graphics/Shader.cpp:93-100
1 files | 1 required, 0 optional | 1 in repo, 0 missing
Games.xml required in repo bundled #
ROM set definitions
- Path:
Config/Games.xml - Size: 148.9 KB
- SHA1:
599a74894c61c1849e2aeff17507c233e2f459d6 - MD5:
84b66c6c9eb9370e983d88c4d187ea05 - Source:
Src/OSD/SDL/Main.cpp:1321,Src/OSD/SDL/Main.cpp:1412,Src/OSD/SDL/Main.cpp:1866-1874,Src/GameLoader.cpp:492-502,Src/GameLoader.cpp:689-693,Src/GameLoader.cpp:895-898 - Collection copy:
bios/Sega/Model 3/Config/.variants/Games.xml.84b66c6c - Parsed by the GameLoader constructor before the ROM archive is opened. A file that fails to parse leaves no game defined, no set in the archive is recognised, and main returns 1. The path is the GameXMLFile key, so -game-xml-file moves it, and Batocera's patch sets the default to /usr/share/supermodel/Games.xml. The hash is that of Config/Games.xml at the pinned revision, which Batocera installs.
Generated on 2026-10-20T03:49:43Z