Supermodel (Sinden fork)
Supermodel (Sinden fork) emulates Sega Model 3 and Real3D Pro-1000. It reads 3 files, 1 of them required: without a required file it does not start games. A required file is needed only by the machines that use it. Each file below cites the line of source code that reads it.
About this profile
Install this emulator's files
With ROCKNIX or RetroPie: the installer finds ROCKNIX or RetroPie and its BIOS folder, then downloads only the files Supermodel (Sinden fork) reads there and checks each one.
Open a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --emulator supermodel3Technical notes
DirtBagXon's Supermodel fork with Sinden light gun support, rebased on trzy's tree at 32c29b0, the revision its version string names. RetroPie builds the main branch on x86 and the arm branch everywhere else, the arm branch at commit 454ed3f when the system SDL2 is 2.0.22 or older. The arm branch is a separate, older line (revision 6ae0cf2f237586c4a3cc791514ec1b0f3cd4c56c, "0.3a-8c6af68-arm-mm") and is described in its own paragraph below. Entries carry the main branch. ref: Src/Version.h:32
RetroPie copies Config/Games.xml, and on x86 the Assets directory, into $md_conf_root/arcade/supermodel3 and starts the emulator from there. On Linux the main branch resolves Config/, Assets/, NVRAM/ and Saves/ relative to the working directory when Config/ exists there, otherwise under ~/.supermodel/ when present, otherwise under the XDG config and data homes. ref: Src/OSD/Unix/FileSystemPath.cpp:99-157, Src/OSD/SDL/Main.cpp:121-123
ROM sets are MAME format archives described by Games.xml. The game is chosen by the archive's own file name, which must match a game name, and the parent archive <parent>.zip is opened from the same directory. ROMs inside are matched by CRC32. Model 3 boards carry their own program, video, sound and drive board ROMs, so a Model 3 game reads nothing outside its archives. ref: Src/GameLoader.cpp:1044-1101
The main branch also emulates the Real3D Pro-1000 image generator, the hardware the Model 3 graphics derive from. Games.xml declares it as the set pro1000, whose two regions are the flash images of the Pro-1000 SDK update: p1_p4.bin (boot stub and loop code) and p2.bin (INIT ROM). The machine refuses to start without either region. A scsi_rom region is optional, a synthetic image is built when it is absent. ref: Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2111-2143, Src/Pro1000/Pro1000.cpp:165-181
Supermodel.ini is optional. It is written from compiled-in defaults when absent. NVRAM/<game>.nv is loaded when present and written on exit. External GLSL shaders are read only when VertexShader or FragmentShader names a file, both default to empty. ref: Src/OSD/SDL/Main.cpp:1416-1436, Src/OSD/SDL/Main.cpp:2365, Src/OSD/SDL/Main.cpp:807-838, Src/OSD/SDL/Main.cpp:1554-1555
The arm branch has no Pro-1000 emulation and no path resolution: the paths Config/Supermodel.ini, Config/Games.xml, NVRAM/<game>.nv and Saves/<game>.st<slot> are fixed and relative to the working directory. Crosshairs are drawn as primitives, no Assets bitmap and no Music.xml are read, which is why RetroPie installs Assets on x86 only. Its Games.xml (63 sets, size 158300, sha1 ccbc64e2f5b9aefd89ff9acd7227eff230aed8ed) differs from the main branch copy.
3 files: 1 required, 2 optional. 4 more files come with the app.
By kind: 6 BIOS and 1 BIOS ZIPs.
| File | Required | Hash |
|---|---|---|
pro1000.zip |
for Real3D Pro-1000 | - |
Assets/3dlogo.cmem |
no | - |
Assets/3dlogo.pmem |
no | - |
Config/Games.xml |
with the app | MD5 f2f5f09ca0a2 |
Assets/p1crosshair.bmp |
with the app | MD5 9012018f50f7 |
Assets/p2crosshair.bmp |
with the app | MD5 866dbf59a0e2 |
Config/Music.xml |
with the app | MD5 ddb4e23db15d |
In this collection: 3 in repo and 0 missing.
Required
Section titled “Required”pro1000.zip required for Real3D Pro-1000 in repo BIOS ZIP
Real3D Pro-1000 firmware set (SDK flash update, loop code 5.4, INIT ROM 54)
- System: Real3D Pro-1000
- Asked for by: upstream emulator and this build
- Source:
Config/Games.xml:1404-1428(upstream emulator),Src/(this build),Pro1000/ Pro1000.cpp:2111-2122 Src/GameLoader.cpp:1066-1071(this build) - Collection copy:
bios/Real3D/ Pro-1000/ pro1000.zip
- Loaded as the content of the pro1000 machine, named after the set. Required to run the Pro-1000 only, Model 3 games never read it.
- Contents (2 members):
p1_p4.bin: Flash parts 1 and 4, boot stub and loop code, loaded at 0xFFF00000, CRC326026a0dbp2.bin: Flash part 2, INIT ROM, loaded at 0xFFF80000, CRC32945bbcf5
Optional
Section titled “Optional”2 files
3dlogo.cmem optional in repo
Pro-1000 SDK logo model, culling data
- Path:
Assets/3dlogo.cmem - System: Real3D Pro-1000
- Asked for by: this build
- Source:
Src/(this build),Pro1000/ SyntheticSCSIROM.cpp:102-125 Src/(this build),Pro1000/ SyntheticSCSIROM.cpp:159-163 Src/(this build)Pro1000/ SyntheticSCSIROM.cpp:232 - Collection copy:
bios/Real3D/ Pro-1000/ Assets/ 3dlogo.cmem
- Read with 3dlogo.pmem into the synthetic SCSI ROM when the set has no scsi_rom region. Both files or neither, one alone is rejected with an error. The .pmem size must equal the polygon word count in the .cmem header, so both come from one model. The machine boots without them.
3dlogo.pmem optional in repo
Pro-1000 SDK logo model, polygon data
- Path:
Assets/3dlogo.pmem - System: Real3D Pro-1000
- Asked for by: this build
- Source:
Src/(this build),Pro1000/ SyntheticSCSIROM.cpp:104-106 Src/(this build),Pro1000/ SyntheticSCSIROM.cpp:119-125 Src/(this build)Pro1000/ SyntheticSCSIROM.cpp:159-163 - Collection copy:
bios/Real3D/ Pro-1000/ Assets/ 3dlogo.pmem
Comes with the app
Section titled “Comes with the app”4 files
Games.xml comes with the app
ROM set definitions
- Path:
Config/Games.xml
- Size: 149.0 KB
- SHA1:
79fa74742f4b18e250c11c1dea5837fdf57cd54c - MD5:
f2f5f09ca0a275696319176b4f41b8d6 - Asked for by: upstream emulator and this build
- Source:
Src/OSD/SDL/Main.cpp:122(upstream emulator),Src/OSD/SDL/Main.cpp:1543(this build),Src/OSD/SDL/Main.cpp:2453-2458(this build),Src/GameLoader.cpp:601-610(this build),Src/GameLoader.cpp:1066-1071(this build),Src/GameLoader.cpp:1111-1113(this build)
- Parsed by the GameLoader constructor. Without it no game is defined, the archive name matches nothing and main returns 1. The path is the GameXMLFile key, so -game-xml-file moves it. The hash is that of Config/Games.xml at the pinned revision, 64 sets, which RetroPie copies on every install. Shipped in the 44c83af Linux, macOS and Windows release archives.
p1crosshair.bmp comes with the app
Player 1 light gun crosshair texture
- Path:
Assets/p1crosshair.bmp
- Size: 289.1 KB
- SHA1:
581cea232c296c7bd76f3101c3ae1bffdf5abf08 - MD5:
9012018f50f707c1707009346eb5d18b - Asked for by: upstream emulator and this build
- Source:
Src/(upstream emulator),OSD/ SDL/ Crosshair.cpp:34-51 Src/OSD/SDL/Main.cpp:2509-2516(this build)
- Both bitmaps are loaded whatever CrosshairStyle holds, and a failed load aborts startup before the machine is created.
p2crosshair.bmp comes with the app
Player 2 light gun crosshair texture
- Path:
Assets/p2crosshair.bmp
- Size: 289.1 KB
- SHA1:
13c5e692c7acf2ec8243ac421d58fdf69c6c2370 - MD5:
866dbf59a0e2d849de2365e1c953cc97 - Asked for by: upstream emulator and this build
- Source:
Src/OSD/SDL/Crosshair.cpp:35(upstream emulator),Src/(this build)OSD/ SDL/ Crosshair.cpp:48-51
- Read in the same call as the player 1 bitmap and equally fatal when it fails to load. Both bitmaps are shipped in the 44c83af release archives.
Music.xml comes with the app
Custom MPEG music track map
- Path:
Config/Music.xml
- Size: 9.0 KB
- SHA1:
b44ed959fe2948a03d81b98e67ca32f2b4c37e78 - MD5:
ddb4e23db15dda67539eee24de23de4b - Asked for by: upstream emulator and this build
- Source:
Src/OSD/SDL/Main.cpp:123(upstream emulator),Src/OSD/SDL/Main.cpp:963(this build),Src/(this build)Sound/ MPEG/ MpegAudio.cpp:88-102 - Collection copy:
bios/Sega/ Model 3/ Config/ Music.xml
- Consulted only for a game with a DSB1 or DSB2 board, and skipped when absent. RetroPie does not copy it. Shipped in the 44c83af release archives, the Windows zip with CRLF line endings (sha1 4c556c3a848ef61205a53a9a73ba5e46970d445f).
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start