Files
libretro/emulators/blastem.yml
T
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
2026-10-20 07:17:05 +02:00

92 lines
3.7 KiB
YAML

emulator: BlastEm
type: standalone + libretro
core_classification: official_port
source: "https://github.com/libretro/blastem"
upstream: "https://www.retrodev.com/blastem/"
profiled_date: "2026-03-23"
source_commit: "1e0de94dc7e669c0925a22c0fccf6cdc837af0a0"
core_version: "v0.6.3-pre"
display_name: "Sega - Mega Drive - Genesis (BlastEm)"
cores:
- blastem
systems:
- sega-megadrive
- sega-mastersystem
notes: |
BlastEm is a cycle-accurate Sega Mega Drive/Genesis emulator with basic
Master System support. In standalone mode it supports TMSS ROM loading and
multiple hardware models (MD1 VA0 through MD3 VA2, Teradrive). The Jaguar
emulator (blastjag) is a separate standalone binary, not part of the
libretro core.
The libretro port (libblastem.c) does NOT expose any core options and
defaults to model md1va3 which has TMSS disabled. There is no way to
select a TMSS-enabled model through the libretro interface.
Even if a TMSS-enabled model were forced, read_bundled_file() in the
libretro build only serves rom.db and returns NULL for tmss.md, so TMSS
ROM loading would fail (fatal_error at genesis.c:3043).
Sega CD / Mega CD is not supported (only a TODO comment in system.c:16).
No BIOS files are required or loaded by the libretro core.
files:
# rom.db is embedded in the libretro binary (libblastem.c:1436-1455,
# extern const char rom_db_data[]) and no external copy is read there.
# The standalone build reads it beside the executable. The .info lists it
# as firmware0_opt=true.
# .info sha1 E5414FB1C4CC7D7F5101C07E4547316779BA3D97 does not match
# the version in our repo (sha1 02c287d1...): rom.db changes between
# BlastEm releases.
- name: rom.db
system: sega-megadrive
required: false
mode: standalone
bundled: true
sha1: "9109da664801e8ba02e790c085cbdca58068e50a"
md5: "48b457c7e2df6ec7c16ae34d8f24c4b6"
hle_fallback: true
note: "ROM feature database (game-specific mapper/save config). Shipped beside the executable in the 1.0.0 Windows and Linux archives, whose copy the hashes describe. The libretro core compiles it in and reads no external copy."
source_ref: "romdb.c:44-53 get_rom_db(), libblastem.c:1436-1455 read_bundled_file()"
# TMSS ROM, only used in standalone mode with tmss-enabled model
# libretro build returns NULL for tmss.md (libblastem.c:541)
- name: tmss.md
system: sega-megadrive
required: false
mode: standalone
bundled: true
size: 4014
sha1: "d0fd0c163b693d819fc907538fbdec76d7ec669d"
md5: "1929426a8888785411d30f24bd0f8139"
note: "TMSS startup ROM for models md1va6, md2va1 and later. The 1.0.0 Windows and Linux archives ship BlastEm's own replacement, built from tmss.s68, under this name. Any size is accepted: the image is padded and mirrored to fill the TMSS space."
source_ref: "genesis.c:3036-3065"
analysis:
tmss:
standalone_support: true
libretro_support: false
default_model: md1va3
default_tmss: "off"
rom_filename: tmss.md
rom_size: 2048 # 2 KB
config_path: "system\0tmss_path\0"
source_ref: "genesis.c:1919-1929"
note: |
TMSS ROM is loaded from tmss.md (configurable via system/tmss_path).
Models with tmss=on: md1va6, md2va1, md2va2, md3va1, md3va2.
Models with tmss=off: md1va0, md1va3 (default), teradrive.
The libretro build uses md1va3 (tmss off) with no option to change.
sega_cd:
supported: false
source_ref: "system.c:16"
note: "TODO comment only: 'Differentiate between vanilla Genesis and Sega CD/32X games'"
jaguar_bios:
libretro_relevant: false
note: |
blastjag (jaguar.c) is a separate standalone binary, not compiled
into the libretro core. Requires BIOS as first CLI argument.