emulatorLauncher writes a BIOS path into an emulator's configuration
only when the file exists: string x = Path.Combine(bios, "name");
if (File.Exists(x)) ini.WriteValue(section, key, x). The extractor now
records each such write as a fixed_name launcher record, with the
enclosing if and early-return conditions, and a key that receives the
bios folder itself as passes_path. A path reassigned before the check,
or a write under a loop or an else, is not read.
Generators read at 48cdc616: KegaFusion (SCD and 32X keys, GenesisBIOS
given the folder), Jgenesis, MelonDS (DS), Mupen64, Project64, mGBA.
The RetroBat paragraph of the Kega Fusion profile now lives in the
launcher layer.
Fusion.exe fixes only us_scd1_9210.bin, jp_mcd1_9111.bin and eu_mcd1_9210.bin (0x44b662-0x44b74d). bios_CD_U/J/E.bin are the names RetroBat's generator writes into Fusion.ini (KegaFusion.Generator.cs:105-116), and platforms/retrobat.yml declares all three.
BlastEm and Kega Fusion pick the European Mega CD BIOS for every disc
whose region code is the PAL one, Australian discs included: BlastEm
reads E or bit 8 of the header region (romdb.c:176-215), Fusion the
security byte 0x64 at 0x20B. Both now carry oceania, and a repo-wide
test holds every European Mega CD BIOS to it.
Fusion picks its export Master System BIOS from the CountryOrder
setting or a CRC32 list, never from the cart, so bios_U.sms and
bios_E.sms carry no region.
BizHawk's NDS firmware slot accepts six dumps, two of which the collection holds, and the profile named one. Kega Fusion's US Mega CD BIOS covers the Americas. Sonic 3 A.I.R. data is installed by Batocera in unpacked form. izApple2 downloads its ProDOS images when a card is added, which is no install. The Lakka list now equals a case-keeping RetroArch install less what Lakka's packages install, and the profile hash contradiction count leaves out entries no pack ships. The pipeline table names step 8b.
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.