BlastEm
BlastEm emulates Sega Mega Drive, Sega Mega CD, Sega 32X and 7 more systems. It reads 13 files, 9 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.
Run on its own, the app keeps its data in this folder:
<folder of blastem.exe>/
Source: paths.c:378-397, paths.c:581-594
<folder of the blastem executable>/
Source: paths.c:445-487, paths.c:581-594
<folder of the blastem executable>/
A package built with DATA_PATH reads that folder instead (Makefile:338-340).
Source: paths.c:445-487, paths.c:581-594
About this profile
Install this emulator's files
For BlastEm inside RetroArch, Batocera or another setup. The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator blastemOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator blastemOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator blastemSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator blastemOpen 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://abdess.github.io/retrobios/i | sh -s -- --emulator blastemTechnical notes
BlastEm emulates the Mega Drive/Genesis, Sega CD, 32X, Master System, Game Gear, SG-1000, SC-3000, Pico, Copera, ColecoVision and the Pioneer LaserActive player. The libretro port lives in libblastem.c and offers every machine the standalone can force except the Jaguar (libblastem.c:20-44).
Each firmware path is a config key. The libretro core writes <system_dir>/<name> into those keys before any machine is built (libblastem.c:497-530). The names are opened exactly as written, with no hash or size check.
The standalone build leaves the keys unset by default (default.cfg), so each loader falls back to its own default name. The Sega CD BIOS, the ColecoVision BIOS, the LaserActive firmware and the TMSS ROM are then read beside the executable through read_bundled_file() (paths.c:596-631). The 32X BIOS ROMs are opened by bare name, relative to the working directory (32x.c:1072, 1417, 1449).
A fatal error while a game loads unwinds to retro_load_game(), which reports the failure to the frontend (libblastem.c:975-989, 1053-1058). Missing Sega CD BIOS and missing TMSS ROM end there.
The default Mega Drive model is md1va3, which has no TMSS (libblastem.c:355-359, systems.cfg:12-20). md1va6, md2va1, md2va2, md3va1 and md3va2 enable it (systems.cfg:23-75) and can be picked with the blastem_model option (libblastem.c:185-187).
13 files: 9 required, 4 optional. 2 have an HLE fallback.
In this collection: 9 in repo and 4 missing.
Required
Section titled “Required”| File | Status | Hash |
|---|---|---|
bios_CD_U.bin
Source
| required for Sega Mega CD in repo libretro Region: North America and Latin America | - |
bios_CD_E.bin
Source
| required for Sega Mega CD in repo libretro Region: Europe and Oceania | - |
bios_CD_J.bin
Source
| required for Sega Mega CD in repo libretro Region: Japan | - |
cdbios.bin
Unread setups and source
| required for Sega Mega CD missing standalone | - |
32X_M_BIOS.bin
Source
| required for Sega 32X in repo | - |
32X_S_BIOS.bin
Source
| required for Sega 32X in repo | - |
colecovision.rom
Source
| required for ColecoVision in repo libretro | - |
colecovision_bios.col
Unread setups and source
| required for ColecoVision missing standalone | - |
laseractive_dyw_1322a.bin
Hashes and source
| required for Pioneer LaserActive in repo | MD5 d6ccd1da5c4a |
Optional
Section titled “Optional”| File | Status | Hash |
|---|---|---|
rom.db
Hashes and source
| missing HLE fallback standalone installed with the standalone emulator | MD5 48b457c7e2df |
32X_G_BIOS.bin
Source
| in repo HLE fallback | - |
tmss.md
Source
| in repo libretro | - |
tmss.md
Hashes and source
| missing standalone installed with the standalone emulator | MD5 1929426a8888 |
Profile data
Section titled “Profile data”Source analysis
-
tmss:
-
default model: md1va3
-
tmss models:
- md1va6
- md2va1
- md2va2
- md3va1
- md3va2
-
rom filename: tmss.md
-
libretro fallback name: bios_MD.bin
-
config path: system tmss_path
-
source ref:
libblastem.c:355-359(emulator code, libretro port),libblastem.c:514-529(emulator code, libretro port),genesis.c:3036-3051(emulator code, libretro port) -
note: The libretro core exposes the model as blastem_model and points system/tmss_path at the system directory. The standalone falls back to tmss.md beside the executable.
-
-
sega cd:
-
region keys:
- scd_bios_us
- scd_bios_eu
- scd_bios_jp
-
standalone default: cdbios.bin
-
source ref:
segacd.c:1573-1615(emulator code, libretro port),segacd.c:1644-1647(emulator code, libretro port) -
note: The region comes from the disc header, or from the default region when the header allows it. A Mode 1 cartridge that finds no BIOS runs without the Sega CD (genesis.c:3156-3162).
-
-
s32x:
- source ref:
libblastem.c:998-1017(emulator code, libretro port),libblastem.c:1098-1104(emulator code, libretro port) - note: The libretro core checks that both SH2 BIOS files exist and carry a non-zero reset vector before it builds a 32X machine.
- source ref:
-
jaguar bios:
- libretro relevant: no
- source ref:
jaguar.c:571-575(emulator code, libretro port) - note: blastjag is a separate standalone binary, not compiled into the libretro core. It reads the BIOS from its first command line argument.
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