Supermodel Dojo - RetroBIOS¶
Technical notes
Fork of Supermodel adding delay based netplay, session replay with mid replay takeover, a training mode, and a launcher binary built from Frontend/. The emulator side is upstream merged forward: the dojo branch takes trzy/Supermodel at 77d28ee of 2026-05-28 through merge 627f023, and the commits after it are launcher fixes. The two repositories are not linked on GitHub, so the pin is read from the merge itself, whose second parent 77d28ee resolves in both trees while the first does not. ref: README.md:4-20, Makefiles/Rules.inc:179-186
Windows and macOS return relative names, Config/, Assets/, NVRAM/, Saves/, resolved against the working directory, which is where the release archive puts them and where ES-DE starts the process. Linux uses the working directory when no home directory resolves, $HOME/.supermodel-dojo/
ROM sets are MAME format per game archives identified by the CRC32 values in
Games.xml, 63 sets at this revision. A parent set holds the ROMs a regional
variant reuses, a relation between versions of one game rather than a shared
BIOS: a split child archive makes the loader open
The emulator writes and reads back its own Supermodel.ini, generated from the
built in Dojo defaults whenever it is absent, plus NVRAM/
Two reads take a path the user chooses and have no fixed name: the MP3 tracks named inside Music.xml, and external GLSL vertex and fragment shaders for the legacy 3D engine, whose config keys are empty by default so the built in shader source is compiled instead. ref: Src/Sound/MPEG/MpegAudio.cpp:71-86, Src/OSD/SDL/Main.cpp:1692-1693, Src/Graphics/Shader.cpp:93-99
The repository publishes two release trains. The Dojo builds carry the
dojo-preview tags, Preview 6 of 2025-04-27 being the current one, and ship
supermodel.exe, the dojo.exe launcher, Assets/ and Config/. The
v0.3a-
ES-DE reaches it through the SUPERMODEL-DOJO find rule, present in the Windows set alone among the seven, for the arcade, mame and model3 systems. ref: es-de resources/systems/windows/es_find_rules.xml:1107-1116, es-de resources/systems/windows/es_systems.xml:171, 1068, 1220
4 files | 3 required, 1 optional | 1 in repo, 3 missing
Games.xml required in repo bundled
ROM set definitions
- Path:
Config/Games.xml - Source:
Src/OSD/SDL/Main.cpp:117,Src/OSD/SDL/Main.cpp:1684,Src/OSD/SDL/Main.cpp:2143,Src/OSD/SDL/Main.cpp:2509-2520,Src/GameLoader.cpp:551-561,Src/GameLoader.cpp:1016-1019,Src/OSD/Windows/FileSystemPath.cpp:28-32 - Parsed at startup into the game database. Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it.
p1crosshair.bmp required missing bundled
Player 1 light gun crosshair texture
- Path:
Assets/p1crosshair.bmp - Size: 289.1 KB
- Source:
Src/OSD/SDL/Crosshair.cpp:34-51,Src/OSD/SDL/Main.cpp:2563-2569,Assets/DIR.txt - Both bitmaps are read on every launch whatever CrosshairStyle holds, since the load runs before the style decides anything, and a null surface aborts startup ahead of the Model 3 object. 32 bit BMP with alpha, sides a multiple of 2.
p2crosshair.bmp required missing bundled
Player 2 light gun crosshair texture
- Path:
Assets/p2crosshair.bmp - Size: 289.1 KB
- Source:
Src/OSD/SDL/Crosshair.cpp:35,Src/OSD/SDL/Crosshair.cpp:49-51,Src/OSD/SDL/Main.cpp:2563-2569 - Read in the same call as the player 1 bitmap and equally fatal when it fails to load.
Music.xml optional missing bundled
Custom MPEG music track map
- Path:
Config/Music.xml - Source:
Src/OSD/SDL/Main.cpp:118,Src/OSD/SDL/Main.cpp:967,Src/Sound/MPEG/MpegAudio.cpp:88-108 - Consulted only for a game with a DSB1 or DSB2 board, and skipped when the file is absent. Maps an MPEG ROM offset to an MP3 the user supplies.
Generated on 2026-08-23T16:12:06Z