feat: name the data-storage key of EKA2L1

EKA2L1 keeps its devices under the data-storage folder, data by
default and relative to the working directory
(src/emu/config/include/config/options.inl:45). RetroBat writes
data-storage = bios/eka2l1/data (Eka2l1.Generator.cs:153, 156), so the
layout's data/ folder is placed there.

The SYM.ROM extra at data/roms/nem-4/ of the BIOS root, read by
nobody, leaves the RetroBat manifest: RetroBat declares the file at
eka2l1/data/roms/NEM-4/SYM.ROM, the same slot on its case-folding
filesystem. The files shipped beside the executable are named as read
in the emulator folder.
This commit is contained in:
Abdessamad Derraz committed 2026-11-10 12:20:40 +01:00
1 parent 5255716273
commit 0e0e24d905
2 files changed
+23

No files matched your search

+2
View File
@@ -29,6 +29,8 @@ cores:
systems:
- ngage
- symbian
standalone_directories:
- "data-storage = data"
data_root:
android:
+21
View File
@@ -747,5 +747,26 @@ class FlycastOnEmuELEC(unittest.TestCase):
self.assertEqual(entry["standalone_path"], "dc/" + entry["layout_path"])
def standalone_view(emulator: str, platform: str) -> dict:
profile = load_emulator_profiles(str(REPO_ROOT / "emulators"))[emulator]
config = load_platform_config(platform, str(REPO_ROOT / "platforms"))
(view,) = [v for v, standalone in platform_layouts(emulator, profile, standalone_set(config))
if standalone]
return view
class Eka2l1OnRetroBat(unittest.TestCase):
"""RetroBat writes data-storage = bios/eka2l1/data (Eka2l1.Generator.cs:153, 156)."""
def test_the_device_rom_lands_in_eka2l1_data(self) -> None:
view = standalone_view("eka2l1", "retrobat")
(rom,) = [e for e in view["files"] if e["name"] == "SYM.ROM"]
self.assertEqual(rom["standalone_path"], "eka2l1/data/roms/nem-4/SYM.ROM")
# Shipped beside the executable, in RetroBat's emulator folder.
for entry in view["files"]:
if entry.get("mode") == "standalone":
self.assertEqual(entry.get("unplaced"), "outside_bios_folder", entry["name"])
if __name__ == "__main__":
unittest.main()