# gaps

layer: platform
platform_id: batocera
platform: Batocera
system: sony-playstation
name: scph1001.bin
status: ok
discrepancy:
Batocera says OK but epsxe says md5 mismatch: got dc2b9bf8da62ec93e868cfd29f0d067d, accepted [924e392ed05558ffdb115408c263dccf]


layer: platform
platform_id: lakka
platform: Lakka
system: sony-playstation
name: scph1001.bin
status: ok
discrepancy:
file present (OK) but rustation says sha256 mismatch: got 71af94d1e47a68c11e8fdb9f8368040601514a42a5a399cda48c7d3bff1e99d3, accepted [42e4124be7623e2e28b1db0d8d426539646faee49d74b71166d8ba5bd7c472ed]


layer: platform
platform_id: lakka
platform: Lakka
system: sony-playstation
name: scph3000.bin
status: ok
discrepancy:
file present (OK) but rustation says sha256 mismatch: got 5eb3aee495937558312b83b54323d76a4a015190decd4051214f1b6df06ac34b, accepted [6f71ca1e716da761dc53187bd39e00c213f566e55090708fd3e2b4b425c8c989]


layer: platform
platform_id: lakka
platform: Lakka
system: sony-playstation
name: scph3500.bin
status: ok
discrepancy:
file present (OK) but rustation says sha256 mismatch: got 6f71ca1e716da761dc53187bd39e00c213f566e55090708fd3e2b4b425c8c989, accepted [0c8359870cbac0ea091f1c87f188cd332dcc709753b91cafd9fd44a4a6188197]


layer: platform
platform_id: lakka
platform: Lakka
system: sony-playstation
name: scph5000.bin
status: ok
discrepancy:
file present (OK) but epsxe says md5 mismatch: got eb201d2d98251a598af467d4347bb62f, accepted [57a06303dfa9cf9351222dfcbb4a29d9]


layer: platform
platform_id: recalbox
platform: Recalbox
system: sony-playstation
name: scph1001.bin
status: ok
discrepancy:
Recalbox says OK but epsxe says md5 mismatch: got dc2b9bf8da62ec93e868cfd29f0d067d, accepted [924e392ed05558ffdb115408c263dccf]


layer: platform
platform_id: retrobat
platform: RetroBat
system: apple2
name: disk2-13seq.rom
status: ok
discrepancy:
RetroBat says OK but mednafen says sha256 mismatch: got 2d2599521fc5763d4e8c308c2ee7c5c4d5c93785b8fb9a4f7d0381dfd5eb60b6, accepted [4234aed053c622b266014c4e06ab1ce9e0e085d94a28512aa4030462be0a3cb9]


layer: platform
platform_id: retrodeck
platform: RetroDECK
system: sony-playstation
name: scph1001.bin
status: ok
discrepancy:
RetroDECK says OK but rustation says sha256 mismatch: got 71af94d1e47a68c11e8fdb9f8368040601514a42a5a399cda48c7d3bff1e99d3, accepted [42e4124be7623e2e28b1db0d8d426539646faee49d74b71166d8ba5bd7c472ed]


layer: platform
platform_id: retrodeck
platform: RetroDECK
system: sony-playstation
name: scph3000.bin
status: ok
discrepancy:
RetroDECK says OK but rustation says sha256 mismatch: got 5eb3aee495937558312b83b54323d76a4a015190decd4051214f1b6df06ac34b, accepted [6f71ca1e716da761dc53187bd39e00c213f566e55090708fd3e2b4b425c8c989]


layer: platform
platform_id: retrodeck
platform: RetroDECK
system: sony-playstation
name: scph3500.bin
status: ok
discrepancy:
RetroDECK says OK but rustation says sha256 mismatch: got 6f71ca1e716da761dc53187bd39e00c213f566e55090708fd3e2b4b425c8c989, accepted [0c8359870cbac0ea091f1c87f188cd332dcc709753b91cafd9fd44a4a6188197]


layer: platform
platform_id: retrodeck
platform: RetroDECK
system: sony-playstation
name: scph5000.bin
status: ok
discrepancy:
RetroDECK says OK but epsxe says md5 mismatch: got eb201d2d98251a598af467d4347bb62f, accepted [57a06303dfa9cf9351222dfcbb4a29d9]


layer: platform
platform_id: rocknix
platform: ROCKNIX
system: sony-playstation
name: scph1001.bin
status: ok
discrepancy:
ROCKNIX says OK but epsxe says md5 mismatch: got dc2b9bf8da62ec93e868cfd29f0d067d, accepted [924e392ed05558ffdb115408c263dccf]


layer: platform
platform_id: romm
platform: RomM
system: sony-playstation
name: scph1001.bin
status: ok
discrepancy:
RomM says OK but rustation says sha256 mismatch: got 71af94d1e47a68c11e8fdb9f8368040601514a42a5a399cda48c7d3bff1e99d3, accepted [42e4124be7623e2e28b1db0d8d426539646faee49d74b71166d8ba5bd7c472ed]


layer: platform
platform_id: romm
platform: RomM
system: sony-playstation
name: scph3000.bin
status: ok
discrepancy:
RomM says OK but rustation says sha256 mismatch: got 5eb3aee495937558312b83b54323d76a4a015190decd4051214f1b6df06ac34b, accepted [6f71ca1e716da761dc53187bd39e00c213f566e55090708fd3e2b4b425c8c989]


layer: platform
platform_id: romm
platform: RomM
system: sony-playstation
name: scph3500.bin
status: ok
discrepancy:
RomM says OK but rustation says sha256 mismatch: got 6f71ca1e716da761dc53187bd39e00c213f566e55090708fd3e2b4b425c8c989, accepted [0c8359870cbac0ea091f1c87f188cd332dcc709753b91cafd9fd44a4a6188197]


layer: platform
platform_id: romm
platform: RomM
system: sony-playstation
name: scph5000.bin
status: ok
discrepancy:
RomM says OK but epsxe says md5 mismatch: got eb201d2d98251a598af467d4347bb62f, accepted [57a06303dfa9cf9351222dfcbb4a29d9]


layer: emulator
emulator: A7800
system: atari-7800
name: a7800.zip
status: bios
in_repo: 1
reason:
Merged console BIOS archive documented by the manual at bios/a7800.zip. Serves all eight machines through the parent chain, since the PAL machines are clones of a7800 rather than of a7800p.


layer: emulator
emulator: A7800
system: atari-7800
name: hiscore.zip
status: bios
in_repo: 1
reason:
Software list set for the High Score Cartridge configuration (CX78HSC, slot a78_hsc). Fatal when that configuration is selected and the set is absent.


layer: emulator
emulator: A7800
system: atari-7800
name: xm.zip
status: bios
in_repo: 1
reason:
Software list set for the XM Expansion Module configuration (slot a78_xm), which reuses the High Score Cartridge ROM alongside 128KB RAM, POKEY and YM2151. Fatal when that configuration is selected and the set is absent.


layer: emulator
emulator: ACE-DL
system: amstrad-cpc
name: OS6128_UK.rom
status: bios
in_repo: 1
reason:
CPC 6128 English. Firmware v3 followed by BASIC 1.20. Absence stops startup with "Error initializing ROMs!".


layer: emulator
emulator: ACE-DL
system: amstrad-cpc
name: OS464_FR.rom
status: bios
in_repo: 1
reason:
CPC 464 French. Firmware f1 followed by a French BASIC 1.0 that the upstream MorphOS release does not carry.


layer: emulator
emulator: ACE-DL
system: amstrad-cpc
name: Amsdos.rom
status: bios
in_repo: 1
reason:
AMSDOS disc ROM. Absence prints "Error loading AMSDOS ROM" then "Error initializing ROMs!" and stops startup. Length is not checked.


layer: emulator
emulator: ACE-DL
system: amstrad-cpc
name: hacker481fr.rom
status: bios
in_repo: 1
reason:
Le Hackeur 4.81, the French edition of the same Siren Software ROM, French flavour of the Hacker plugin.


layer: emulator
emulator: AdvanceMAME
name: cheat.dat
status: bios
in_repo: 1
system:
snk-neogeo-mvs;igs-pgm;sega-stv;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;super-kaneko-nova;konami-gx;konami-gv;century-cvs;capcom-zn1;capcom-zn2;tecmo-tps;taito-fx1;eighting-zn1;atlus-zn1;atari-zn1;acclaim-zn1;hyper-neogeo64;arcadia-systems;exidy-maxaflex;brezzasoft-crystal;imax-macs

reason:
Cheat definitions, selected by misc_cheatfile (advance/osd/glue.c:799,3291) and read only when misc_cheat is on, which it is not by default. Absent, the cheat menu reads "cheat database not found" (src/cheat.c:2536).


layer: emulator
emulator: AdvanceMAME
name: event.dat
status: bios
in_repo: 1
system:
snk-neogeo-mvs;igs-pgm;sega-stv;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;super-kaneko-nova;konami-gx;konami-gv;century-cvs;capcom-zn1;capcom-zn2;tecmo-tps;taito-fx1;eighting-zn1;atlus-zn1;atari-zn1;acclaim-zn1;hyper-neogeo64;arcadia-systems;exidy-maxaflex;brezzasoft-crystal;imax-macs

reason:
Event and safequit definitions, selected by misc_eventfile and read straight from $home then $data rather than through the file type table. Absent, the exit menu always prompts instead of checking coin and play state.


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: atari-800-os-b-ntsc-xformer.rom
status: bios
in_repo: 1
reason:
OS-B patched by Xformer, reported as the OS-B specific firmware. Usually distributed as ATARIOSB.ROM (ATHelpFile/source/options-firmware.xml).


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: happy-810-prev7-3k.rom
status: bios
in_repo: 1
reason:
The image is 6144 bytes; Altirra identifies it by a checksum taken over the functional 3K, which its firmware list reports as the size.


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: atari-1090-firmware-rev-9.rom
status: bios
in_repo: 1
reason:
The predefined internal 1090 firmware resolves to no resource, so this image has no fallback (firmwaremanager.cpp:190-211).


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: atari-1090-charset.rom
status: bios
in_repo: 1
reason:
Character generator. Synthesised from the internal XL kernel charset when absent (firmwaremanager.cpp:258-268).


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: xf551-7.7-720k.rom
status: bios
in_repo: 1
reason:
Modified for 720K 3.5" drives. 8K image; the loader reads the first 4K and splits it into two 2K banks.


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: super-archiver.rom
status: bios
in_repo: 1
reason:
Shared by the Super Archiver and Super Archiver with BitWriter device types (diskdrivefull.cpp:1173-1174).


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: atari-1030-download.rom
status: missing
in_repo: 0
reason:
Altirra builds its own download image from src/Kernel/source/1030/firmware.s when none is registered.


layer: emulator
emulator: Altirra
system: atari-400-800;xegs;atari-5200
name: Additions.atr
status: bios
in_repo: 1
reason:
Disk image carrying the handler software several emulated devices need: ALTXEP80.SYS for the XEP80, BOOT850.COM for the 850 interface, BOOT1030.COM for the 1030 modem, ATDEBUGX.SYS for the debug link. The user mounts it as an ordinary disk image.


layer: emulator
emulator: Amiberry
system: commodore-amiga;commodore-cd32;commodore-cdtv
name: aros-ext.bin
status: bios
in_repo: 1
reason:
AROS extended ROM replacement, used when no Kickstart ROM is found. Looked up in the configured ROM directories, and only in a directory that also holds aros-rom.bin.


layer: emulator
emulator: Amiberry
system: commodore-amiga;commodore-cd32;commodore-cdtv
name: aros-rom.bin
status: bios
in_repo: 1
reason:
AROS main ROM replacement, used with aros-ext.bin as Kickstart fallback. Looked up in the configured ROM directories, and only in a directory that also holds aros-ext.bin.


layer: emulator
emulator: aPS3e
system: sony-playstation-3
name: <game>.dkey
status: unsourceable
in_repo: 0
reason:
per-disc AES-128 key named after the image it decrypts, one per title, carried by disc dump catalogues rather than by the emulator


layer: emulator
emulator: aPS3e
system: sony-playstation-3
name: <content_id>.rap
status: unsourceable
in_repo: 0
reason:
per-title activation licence tied to the account that bought the content, never distributed generically


layer: emulator
emulator: aPS3e
system: sony-playstation-3
name: <font>.ttf
status: unsourceable
in_repo: 0
reason:
any TrueType, TrueType collection or OpenType face the user picks, with no name or version the code expects


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: pepflashplayer.dll
status: bios
in_repo: 1
reason:
Handed to Chromium as --ppapi-flash-path and resolved against the process working directory. Without it no plugin is registered, SWFObject finds no player and the movie is never embedded. The page asks for a reported version of at least 32.0.0; the build that ships is the 32-bit 32.0.0.371.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: flash.html
status: bios
in_repo: 1
reason:
Every local SWF goes through it, carrying the path and the two dimensions in the query string. Absent, the view is pointed at a file that does not exist and nothing plays.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: swfobject.js
status: bios
in_repo: 1
reason:
The only definition of swfobject, included by flash.html before the script that calls embedSWF. It reads the player version from the Shockwave Flash plugin description, refines it from a probe object's $version, and refuses to embed below the version the page asks for.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: background.jpg
status: bios
in_repo: 1
reason:
Drawn behind the movie by the page's bg div. The same image is compiled into the binary for the QML side, so only this copy is read from disk.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: swfdump.exe
status: bios
in_repo: 1
reason:
Run through cmd /C with -X -Y and the output redirected to swf.txt, then parsed as the second and fourth whitespace fields. Skipped when both -swfwidth: and -swfheight: are given. Absent, the redirection still creates an empty file, both fields parse to NaN and the page sizes the object from that.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: antimicro.exe
status: bios
in_repo: 1
reason:
Started hidden before the movie loads, only when -profilantimicro: is given. The copy that ships is a 2016 build carrying its own Qt 5 runtime in the same folder.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: arcadeflashweb.gamecontroller.amgp
status: bios
in_repo: 1
reason:
Passed to AntiMicro as --profile under the name -profilantimicro: gives; the name that ships is the one the built-in help quotes. With -controleurantimicro: also set the call carries --profile-controller instead and no profile file is read.


layer: emulator
emulator: ArcadeFlashWeb
system: flash
name: pepper.vch
status: bios
in_repo: 1
reason:
Named in the Flash library's own string table next to PepperFlashPlayer. PKCS#7 over 446144 opaque bytes, signed through the Adobe Flash Access chain under subject CN AdobeIV-202002031156. It carries DRM material and no plain SWF needs it.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: 6502Tube.rom
status: bios
in_repo: 1
reason:
Copied into tube RAM at 0xf800 on every 65C02 reset. An error is reported unless 2048 bytes are read.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: Z80.rom
status: bios
in_repo: 1
reason:
Loaded for TubeDevice::AcornZ80. An error is reported unless 4096 bytes are read. Jonathan Harston's v1.21; the Acorn v1.20 ships as Z80-1.20.rom and is used by renaming it onto this path.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: CCPN102.rom
status: bios
in_repo: 1
reason:
Loaded for TubeDevice::TorchZ80. Up to 8192 bytes are read and a short image is mirrored to fill the 8 KB window: a 2 KB image is repeated four times, a 4 KB image twice. No size is rejected.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: BIOS.rom
status: bios
in_repo: 1
reason:
Loaded at 0xf0000 and mirrored three times to fill the top of the 1 MB space. An error is reported unless 0x4000 bytes are read.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: ARMeval_100.rom
status: bios
in_repo: 1
reason:
Rejected as InvalidROM unless the file is exactly ROM_SIZE, which Arm.h defines as 0x4000. The dialog text at BeebWin.cpp:1043 says 4096 bytes and does not match the constant it reports on.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: Sprow.rom
status: bios
in_repo: 1
reason:
512 KB on-board flash carrying the system software and BASIC. Rejected as InvalidROM unless the file is exactly 0x80000 bytes.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: Teletext.fnt
status: bios
in_repo: 1
reason:
Read from the program directory. The only file whose absence stops the emulator: BuildMode7Font failure makes Initialise return false and Main.cpp then exits with status 1.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: Roms.cfg
status: bios
in_repo: 1
reason:
Without it Load returns before the DefaultRoms backfill, every slot stays an empty string and no ROM is loaded. Overridable with -Roms.


layer: emulator
emulator: beebem
system: bbc-micro-b;bbc-micro-bplus;bbc-master-128;bbc-master-et
name: Econet.cfg
status: bios
in_repo: 1
reason:
Read when Econet is enabled, which is off by default. A read failure makes EconetReset return false and Econet stays off. Overridable with -EconetCfg.


layer: emulator
emulator: Beetle PSX (Mednafen PSX)
system: sony-playstation
name: openbios.bin
status: bios
in_repo: 1
reason:
override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.cpp:2157-2159).


layer: emulator
emulator: beetle_saturn
system: sega-saturn
name: satar4mp.bin
status: bios
in_repo: 1
reason:
Action Replay 4M Plus firmware. Unfinished in source (ar4mp.c:22-24), needs CPU UBC emulation. Cart type not exposed in core options.


layer: emulator
emulator: C64.emu
name: kernal-901227-03.bin
status: bios
in_repo: 1
system:
commodore-c64;commodore-c64-supercpu;commodore-c64dtv;commodore-c128;commodore-vic20;commodore-plus4;commodore-pet;commodore-cbm-ii


layer: emulator
emulator: C64.emu
name: dtvrom.bin
status: bios
in_repo: 1
reason:
Read into the 2 MB flash. When the file is absent the emulator builds the flash from the loaded kernal, BASIC and chargen instead.


layer: emulator
emulator: C64.emu
name: bootromCMDHD-v2-80.bin
status: bios
in_repo: 1
reason:
The MAME dump cmd_hd_bootrom_v280.bin reads the chip over 32 KB and its two halves are identical; the image here is the first half, the 16 KB the loader asks for.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: boot9.bin
status: bios
in_repo: 1
reason:
AES key section read at offset 55760, RSA modulus and exponent at 0xB3E0 and 0xB4E0. Both readers bail on any other size.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: sector0x96.bin
status: bios
in_repo: 1
reason:
First 16 bytes decrypt the slot 0x15 KeyX of the New 3DS safe mode native firm, title 0x0004013820000003. A file of 16 bytes or less trips a live assert: Android compiles out ASSERT_MSG, not ASSERT.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: 00000000.app.romfs
status: bios
in_repo: 1
reason:
First step of the shared font chain, holding cbf_std.bcfnt.lz in its RomFS. This title low ID is the one the embedded open-source font answers.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: shared_font.bin
status: bios
in_repo: 1
reason:
Copied whole into the shared memory block, so the file carries the 0x80 byte APT header. Tried after the system archive and before the regional BCFNT files.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: cbf_std.bcfnt
status: bios
in_repo: 1
reason:
Read to offset 0x80 of the shared memory block, so the file is a bare uncompressed BCFNT. Selected for every CFG region other than CHN, KOR and TWN. The embedded open-source font answers the archive request first, so this file is only reached when that archive path is taken out.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: cbf_zh-Hans-CN.bcfnt
status: bios
in_repo: 1
reason:
Selected when the CFG region is CHN. The embedded font does not cover archive 0x00014102, so the session ends with ErrorSystemFiles without this file or shared_font.bin.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: cbf_ko-Hang-KR.bcfnt
status: bios
in_repo: 1
reason:
Selected when the CFG region is KOR. The embedded font does not cover archive 0x00014202, so the session ends with ErrorSystemFiles without this file or shared_font.bin.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: cbf_zh-Hant-TW.bcfnt
status: bios
in_repo: 1
reason:
Selected when the CFG region is TWN. The embedded font does not cover archive 0x00014302, so the session ends with ErrorSystemFiles without this file or shared_font.bin.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: 00000000.app.romfs
status: bios
in_repo: 1
reason:
Split-off RomFS served in place of the NCCH the title tree resolves to. An open-source replacement is built into the binary.


layer: emulator
emulator: Citra MMJ
system: nintendo-3ds
name: 00000000.tmd
status: bios
in_repo: 1
reason:
Read to resolve the content ID of index 0, which the shipped metadata gives as 0x1f. Without it the path falls back to content ID 0 and the module is not found.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: CPC6128.ROM
status: bios
in_repo: 1
reason:
CPC 6128 firmware and BASIC. Loaded for the shipped CPC_TYPE 2 and opened twice, once per block. Foreground ROM header 80 01 02 00.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: CPC464.ROM
status: bios
in_repo: 1
reason:
CPC 464 firmware and BASIC, selected by CPC_TYPE 0 or the -t 0 command line. Foreground ROM header 80 01 00 00.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: CPC664.ROM
status: bios
in_repo: 1
reason:
CPC 664 firmware and BASIC, selected by CPC_TYPE 1 or the -t 1 command line. Foreground ROM header 80 01 01 00.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: CPCADOS.ROM
status: bios
in_repo: 1
reason:
AMSDOS disc ROM, the 8 KB image zero-padded to 16 KB. Declared for every machine by the shipped configuration, so startup ends on status 3 without it; dropping the ROM_BLOCK line instead boots with "ROM: No AMSDOS ROM found." and no disc support. Length is not checked, an 8 KB file installs the AMSDOS speedup all the same.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: M4.ROM
status: bios
in_repo: 1
reason:
M4 board firmware by Duke. Declared by the shipped configuration, so startup ends on status 3 without it even when M4_ENABLED is 0. Contents are checked, a zeroed file boots and reports "M4 ROM not valid."


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: HACK.ROM
status: bios
in_repo: 1
reason:
M4 hack ROM, the lower ROM behind the Shift+F1 menu. Opened at every startup, and superseded by a NMIROM.BIN on the emulated SD card. Missing prints "Unable to load HACK.ROM" and emulation continues.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: CPC6128.ROM.UK
status: bios
in_repo: 1
reason:
English CPC 6128 firmware, the same image as CPC6128.ROM. Ships in the National folder without being named by any path constant.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: CPC6128.ROM.SE
status: bios
in_repo: 1
reason:
Swedish CPC 6128 firmware. Ships in the National folder without being named by any path constant, the layout dialog offering English, French, Spanish and Danish only.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: XDDOS210.ROM
status: bios
in_repo: 1
reason:
X-DDOS 2.10 by Dobbertin, the disc operating system of the HD20 hard disk. Required in a ROM slot to use DOBBERTIN_HD_ENABLED = 1. Added in 3.0, not shipped with 2.5.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: COPYMATE.ROM
status: bios
in_repo: 1
reason:
Copy utility ROM, carrying a 128-byte AMSDOS file header ahead of the 16 KB image. Shipped as the example expansion ROM of the configuration file and loaded once the line is uncommented.


layer: emulator
emulator: CPCemu
system: amstrad-cpc
name: multface.rom
status: data
in_repo: 1
reason:
Romantic Robot Multiface Two ROM. Ships in the ROM folder for the user to map into a slot, no path constant naming it.


layer: emulator
emulator: CSpect
system: sinclair-zx-spectrum-next;sinclair-zx-spectrum
name: enNextZX.rom
status: bios
in_repo: 1
reason:
Paged as four 16K banks, so anything shorter than 65536 bytes leaves the top bank unreadable. The image failing to hold it ends the process through Environment.FailFast. Bytes 6 and 7 carry the NextZXOS version as b[6] + ((b[7] & 0x0f) << 8), and a value of 518 or less clears the flag that arms the program counter watch the CPU runs before each instruction.


layer: emulator
emulator: CSpect
system: sinclair-zx-spectrum-next;sinclair-zx-spectrum
name: enNxtmmc.rom
status: bios
in_repo: 1
reason:
Read into the 8K DivMMC bank. Its absence ends the process through the same Environment.FailFast as enNextZX.rom, except under -fw, where the test is skipped because TBBLUE.FW replaces both reads.


layer: emulator
emulator: CSpect
system: sinclair-zx-spectrum-next;sinclair-zx-spectrum
name: enNextMf.rom
status: bios
in_repo: 1
reason:
Read into the 8K Multiface bank with no test of any kind, so a card without it boots and runs. The bank read indexes the array directly, which faults the moment the Multiface is paged in.


layer: emulator
emulator: CSpect
system: sinclair-zx-spectrum-next;sinclair-zx-spectrum
name: TBBLUE.FW
status: bios
in_repo: 1
reason:
Read from the root of the card under -fw only, in place of the three ROMs. Word 0 of its header gives the payload offset as (n + 1) * 512 and word 1 the payload length as n * 512, and those bytes are written to memory from 0x6000. A .fw file named on the command line takes the same route.


layer: emulator
emulator: CSpect
system: sinclair-zx-spectrum-next;sinclair-zx-spectrum
name: <sdcard>.img
status: unsourceable
in_repo: 0
reason:
A FAT image the user builds or downloads, under whatever name is passed to -mmc= or given as the positional argument. CSpect fetches the current one from https://zxnext.uk/hosted/ on demand, and the machine writes to it.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: fpr21042_m29w160et.bin
status: bios
in_repo: 1
reason:
Checked for existence, opened, and rejected unless it is exactly 2 MB; each failure ends the run with a message naming the file and the EmuMediaBoard folder. Read once, to write out the two SEGABOOT halves when they are absent. It is also the target a Chihiro title returns to when it reboots with an empty launch path.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: ic10_g24lc64.bin
status: bios
in_repo: 1
reason:
Memory mapped read/write at JVS setup, and the run ends when it cannot be opened. Byte 0x1F00 is dereferenced straight after loading, which is the floor the size carries: it holds the board region and is rewritten to USA, export or Japan when the running title's BootID rejects the current value. Titles read it through JvsFirmwareDownload and overwrite it through JvsFirmwareUpload.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: pc20_g24lc64.bin
status: bios
in_repo: 1
reason:
Memory mapped read/write at JVS setup, and the run ends when it cannot be opened. Served to titles through JvsScFirmwareDownload and rewritten through JvsScFirmwareUpload.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: ic11_24lc024.bin
status: bios
in_repo: 1
reason:
Memory mapped read/write at JVS setup, and the run ends when it cannot be opened. Writes from JvsEEPROM_Write are synced back to disk immediately, so cabinet settings a title stores persist across runs.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: backup_ram.bin
status: missing
in_repo: 0
reason:
The only one of the four JVS images the emulator will produce itself: when the file is missing it writes 128 KB of zeros and maps that, so a fresh board starts blank. Titles keep bookkeeping and high scores here through JvsBACKUP_Read and JvsBACKUP_Write.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: Partition2.bin
status: bios
in_repo: 1
reason:
Written by the emulator from the first megabyte of fpr21042_m29w160et.bin when either half is missing, and mounted as the mbrom0 device. Supplying it does not remove the need for the ROM, whose existence is checked before the extraction block is reached.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: Partition3.bin
status: bios
in_repo: 1
reason:
Written from the second megabyte of fpr21042_m29w160et.bin under the same condition as the old half, mounted as the mbrom1 device, and launched as the XBE that boots the title.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: xboxdash.xbe
status: bios
in_repo: 1
reason:
Read from the shell partition of the emulated disk when a title reboots with an empty launch path and when the Open Dashboard menu entry is used. Its absence is handled as the console handles it, with the unrecoverable error screen and the LED sequence that goes with it, the code carrying the dashboard's own reason when the launch data page supplies one. Titles run without it.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: EEPROM.bin
status: bios
in_repo: 1
reason:
Opened at startup and mapped read/write; the file is created and filled with defaults when it does not exist, and a file that is not 256 bytes ends the run. Section checksums are recomputed on every load. The hard disk key is taken from it, and the game region it carries becomes the factory region. The GUI exposes an editor over the same file.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: keys.bin
status: missing
in_repo: 0
reason:
Two 16 byte keys read in order, the EEPROM key then the certificate key, as produced by dump-xbox. A file of any other length is refused with a warning naming the expected length, and an absent file only costs the ability to read save data from a real console. The certificate key derives the LAN, signature and alternate signature keys of the running title; the EEPROM key checks the EEPROM header and is read again by the EEPROM editor to recompute the checksum it writes.


layer: emulator
emulator: Cxbx-Reloaded
system: microsoft-xbox;sega-chihiro
name: dokan2.dll
status: bios
in_repo: 1
reason:
Loaded by name with every entry point resolved individually, and the failure message tells the user to install the upstream signed Dokany runtime. It backs the only path that reads a disc image: an .iso or .xiso is mounted to a drive letter and the default.xbe of the mount is opened, so without it only unpacked titles load. The build produces an import library from the Dokany definition file and takes headers from the vendored tree, but ships no runtime of its own.


layer: emulator
emulator: DirectXBox
system: xbox
name: cromwell_1024.bin
status: bios
in_repo: 1
reason:
Cromwell open-source Xbox BIOS (1024 KB variant). Loaded as the flash ROM and mirrored across the 16 MB flash region at 0xFF000000. Size must be a multiple of 0x10000. This is the only BIOS that currently boots in the emulator. The Microsoft retail BIOS (xbox-3944.bin) is referenced in commented-out code but does not work yet.


layer: emulator
emulator: Dolphin MMJR
system: nintendo-gamecube;nintendo-wii
name: keys.bin
status: bios
in_repo: 1
reason:
Read at every key store construction, so on every Wii title. Supplies the console private key and signature, the MS and CA identifiers, the NAND key and HMAC and the backup key. A short read leaves the built-in keys in place, the structure being fixed at 0x400 bytes.


layer: emulator
emulator: Dolphin MMJR
system: nintendo-gamecube;nintendo-wii
name: SYSCONF
status: bios
in_repo: 1
reason:
Opened through the emulated filesystem and accepted only at 0x4000 bytes; anything else is replaced by a freshly generated one.


layer: emulator
emulator: Dolphin MMJR
system: nintendo-gamecube;nintendo-wii
name: setting.txt
status: bios
in_repo: 1
reason:
Read for its serial number at Wii boot, then deleted and written again from the emulated region settings. The read fills a fixed 0x100 byte buffer, so a shorter file yields nothing.


layer: emulator
emulator: Dolphin MMJR
system: nintendo-gamecube;nintendo-wii
name: wiitdb.txt
status: bios
in_repo: 1
reason:
One title id equals name pair per line, ids of four characters and up. titles.txt is read only when wiitdb.txt yields nothing. Overlays the per-language databases shipped in the Sys directory.


layer: emulator
emulator: Dolphin MMJR
system: nintendo-gamecube;nintendo-wii
name: mios-ipl.map
status: missing
in_repo: 0
reason:
Read from Maps/ in the user directory when MIOS starts, and a successful load re-applies the HLE function patches against the symbols it names.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: keys.bin
status: bios
in_repo: 1
reason:
Read at every key store construction, so on every Wii title. Supplies the console private key and signature, the MS and CA identifiers, the NAND key and HMAC and the backup key. A short read leaves the built-in keys in place, the structure being fixed at 0x400 bytes. NAND import writes this file from the keys appended to the image.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: setting.txt
status: bios
in_repo: 1
reason:
Read for its serial number and model at Wii boot, then written again from the emulated region settings. The read fills a fixed 0x100 byte buffer, so a shorter file yields nothing.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: WiiSD.raw
status: bios
in_repo: 1
reason:
Opened read-write when the SD device is opened; a 128 MB image is created when the file is missing. The configured override is empty by default, so the file stays under Load/.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: clientca.pem
status: bios
in_repo: 1
reason:
Read from the NAND root when a title asks for the built-in client certificate, and refused when the sha256 does not match the value in the source. One panic alert per IOS instance covers this file and the key together. NAND import carves it out of the IOS13 content by its DER header.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: clientcakey.pem
status: bios
in_repo: 1
reason:
Read alongside the client certificate and parsed as the private key for it; either one failing leaves the connection without a client certificate.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: mii.bin
status: missing
in_repo: 0
reason:
Read from the NAND root when an emulated Wii Remote is reset, and copied into both Mii blocks of its EEPROM. Absent, the EEPROM keeps its default contents.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: nwc24msg.cfg
status: bios
in_repo: 1
reason:
Read as one packed structure, so a shorter file fails the read and a default configuration is generated and written back. A file that reads is then checked for the WcCf magic, its own checksum, an id generation under 0x20 and version 8, each mismatch logged.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: nwc24dl.bin
status: bios
in_repo: 1
reason:
Read as one packed structure of a 128 byte header plus 120 records and 120 entries, so a shorter file fails the read and leaves the list empty. A file that reads is checked for the WcDl magic and version 1.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: nwc24fl.bin
status: bios
in_repo: 1
reason:
Placed in the NAND by the Sys/Wii copy and read from there by the running title. Titles such as Mario Kart Wii expect the WiiConnect24 files to exist even on a first launch, which is why the copy happens without the system menu ever running.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: misc.bin
status: bios
in_repo: 1
reason:
Placed in the NAND by the Sys/Wii copy. The time device carries a note about writing it but no code path does.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: wc24recv.ctl
status: bios
in_repo: 1
reason:
Placed in the NAND by the Sys/Wii copy, which recurses into mbox and never overwrites a file the NAND already holds.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: wc24recv.mbx
status: bios
in_repo: 1
reason:
Placed in the NAND by the Sys/Wii copy. The bundled file is a stub; the note shipped beside it gives 0x700000 as the size on a console.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: wc24send.mbx
status: bios
in_repo: 1
reason:
Placed in the NAND by the Sys/Wii copy. The bundled file is a stub; the note shipped beside it gives 0x200000 as the size on a console.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: Readme.txt
status: bios
in_repo: 1
reason:
The Sys/Wii copy walks the directory and takes every entry, so this file lands in the NAND with the mailboxes. It records the console sizes of the two mbx files. The hash names the file carried in the source tree, the only form it has, and is not a check the code performs; without it the name alone matches any readme.


layer: emulator
emulator: Dolphin MMJR2
system: nintendo-gamecube;nintendo-wii
name: wiitdb.txt
status: bios
in_repo: 1
reason:
One title id equals name pair per line, ids of four characters and up. titles.txt is read only when wiitdb.txt yields nothing. Overlays the per-language databases shipped in the Sys directory, which cover ten languages; the Portuguese and Russian files also present there are never registered.


layer: emulator
emulator: DOSBox Pure Unleashed
system: dos
name: DOSBOX.SF2
status: bios
in_repo: 1
reason:
Any .SF2 or .SF3 in the system directory is listed in the MIDI option. DOSBOX.SF2 is the fixed name looked up on the mounted C: drive as a per game override.


layer: emulator
emulator: DOSBox Staging
system: dos;ibm-pc;ibm-pcjr;tandy-1000
name: system.rom
status: missing
in_repo: 0
reason:
read during PCjr cartridge boot from the current DOS drive, then from the host working directory; bytes 0x3000 to 0xDFFF are copied to physical F3000. A short read leaves the region untouched and the cartridge still boots


layer: emulator
emulator: DOSBox Staging
system: dos;ibm-pc;ibm-pcjr;tandy-1000
name: IBM PC Cassette BASIC ROM
status: missing
in_repo: 0
reason:
accepted when the file is exactly 32768 bytes, starts with E9 8F 7E and carries the string IBM at offset 0x4CD4


layer: emulator
emulator: DOSBox Staging
system: dos;ibm-pc;ibm-pcjr;tandy-1000
name: Video BIOS ROM
status: missing
in_repo: 0
reason:
accepted when the file is 16384 bytes or larger, starts with 55 AA, has byte 3 masked to E8 and carries the string IBM at offset 0x1E; needs an EGA or better machine type


layer: emulator
emulator: DOSBox-X
system: dos;ibm-pc;ibm-pcjr;tandy-1000;pc-98
name: ANEX86.BMP
status: bios
in_repo: 1
reason:
2048 by 2048 monochrome Windows bitmap, biSize 40, one plane, one bit per pixel, no compression, inverse colour scheme; the first row is the 8x16 single-width set and the rest is 16x16 full-width. Also reachable through the pc-98 anex86 font setting, which is tried before FONT.ROM


layer: emulator
emulator: DOSBox-X
system: dos;ibm-pc;ibm-pcjr;tandy-1000;pc-98
name: SarasaGothicFixed.ttf
status: bios
in_repo: 1
reason:
tried by the TTF output on PC-98 and on double-byte code pages when ttf.font is unset, and by the printer when the selected typeface file is missing; ships in the resource directory


layer: emulator
emulator: DOSBox-X
system: dos;ibm-pc;ibm-pcjr;tandy-1000;pc-98
name: Video BIOS option ROM
status: missing
in_repo: 0
reason:
read by LOADROM.COM from a mounted local drive; accepted when the file starts with 55 AA, byte 3 masked with 0xFC equals 0xE8 and the string IBM appears at offset 0x1E, and the machine is EGA or better


layer: emulator
emulator: DOSBox-X
system: dos;ibm-pc;ibm-pcjr;tandy-1000;pc-98
name: IBMROMBASIC-F6000h-1982-10-27.ROM
status: bios
in_repo: 1
reason:
the ibm rom basic setting maps it just below the ROM BIOS and accepts 32 KB to 64 KB in 4 KB steps; LOADROM.COM maps the same image at F600:0 when it is exactly 32768 bytes, starts with E9 8F 7E and carries the string IBM at offset 0x4CD4


layer: emulator
emulator: DOSBox-X
system: dos;ibm-pc;ibm-pcjr;tandy-1000;pc-98
name: system.rom
status: missing
in_repo: 0
reason:
read during PCjr cartridge boot; bytes 0x3000 to 0xDFFF are copied to physical F3000. A short read leaves the region untouched and the cartridge still boots


layer: emulator
emulator: DOSBox-X
system: dos;ibm-pc;ibm-pcjr;tandy-1000;pc-98
name: System BIOS image
status: missing
in_repo: 0
reason:
loaded at the top of the first megabyte, rounded up to a paragraph and truncated to 128 KB, or to 96 KB on PC-98; a larger image is clamped rather than rejected


layer: emulator
emulator: DOSBox Pure
system: dos
name: DOSBOX.SF2
status: bios
in_repo: 1
reason:
Any .SF2 or .SF3 file in the system directory works. The core lists all found SoundFonts in the MIDI config dropdown. DOSBOX.SF2 is the conventional name and is also auto-detected when placed inside game content on C: drive.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: nds_bios_arm9.bin
status: bios
in_repo: 1
reason:
First candidate for the ARM9 slot. Booting continues on the free replacement when it is absent, and the slot ending empty is fatal.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: drastic_bios_arm9.bin
status: bios
in_repo: 1
reason:
Second candidate for the ARM9 slot, written by Exophase from public documentation and released under a BSD licence. Installed from the package assets on first run.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: nds_bios_arm7.bin
status: bios
in_repo: 1
reason:
First candidate for the ARM7 slot, and the only image carrying the Blowfish key table at offset 0x30 that the card secure area is decrypted with.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: drastic_bios_arm7.bin
status: bios
in_repo: 1
reason:
Second candidate for the ARM7 slot. Offset 0x30 is zero filled, so cards whose secure area is encrypted do not decrypt under it.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: nds_firmware.bin
status: bios
in_repo: 1
reason:
Absent, the region is zeroed and patch_firmware_header_data writes a header, a console identity and a user settings block into it, so the emulator boots either way. r2.6.0.4a reads nds_firmware_modified.bin before this.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: game_database.xml
status: bios
in_repo: 1
reason:
Parsed from the root of the data directory. A failed open logs an error and the session continues without it. Installed from the package assets on first run.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: usrcheat.dat
status: bios
in_repo: 1
reason:
Read from the root of the data directory and written back when a cheat is toggled, so the file carries the enabled state. Installed from the package assets on first run.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: drastic_bios.zip
status: bios
in_repo: 1
reason:
Copied to the root of the data directory on first run and never read back. Holds bios_common.S, a Makefile, the BSD licence notice and the two built images.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: LC_default.dat
status: bios
in_repo: 1
reason:
Android only. Copied out of the package assets into config on first run, and offered from there by the layout list, which filters that directory on the .dat extension.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: drastic_logo_0.raw
status: bios
in_repo: 1
reason:
Read from the root of the data directory in one 120000 byte request, so a shorter file is rejected. One of the two indices is picked at random and a missing file skips the splash.


layer: emulator
emulator: DraStic
system: nintendo-ds
name: nds_firmware_modified.bin
status: unsourceable
in_repo: 0
reason:
written by the firmware editor of r2.6.0.4a from the emulated user settings, so no dump of it exists


layer: emulator
emulator: EasyRPG Player
system: rpgmaker
name: easyrpg.soundfont
status: bios
in_repo: 1
reason:
General MIDI soundfont (SF2 format) for MIDI music playback. Many RPG Maker games use MIDI for background music. Without a soundfont, MIDI falls back to the built-in FmMidi synthesizer (lower quality). Any GM-compatible .sf2 works.


layer: emulator
emulator: EasyRPG Player
system: rpgmaker
name: wildmidi.cfg
status: bios
in_repo: 1
reason:
WildMidi configuration file pointing to GUS patch sets for MIDI playback. Alternative to FluidSynth/SF2. Only used if WildMidi support is compiled in and FluidSynth is not available or disabled.


layer: emulator
emulator: EasyRPG Player
system: rpgmaker
name: RPG Maker 2000 RTP
status: data
in_repo: 1
reason:
Run-Time Package for RPG Maker 2000 games. Contains default tilesets, character sprites, battle animations, music, and sound effects. Only needed by games that reference RTP assets instead of bundling them. Multiple RTP variants exist (Japanese official, English official, Don Miguel English translation). EasyRPG auto-detects which variant a game expects.


layer: emulator
emulator: EasyRPG Player
system: rpgmaker
name: RPG Maker 2003 RTP
status: data
in_repo: 1
reason:
Run-Time Package for RPG Maker 2003 games. Same concept as the 2000 RTP but with additional battle system assets for the side-view ATB combat. Multiple variants exist (Japanese official, English official, RPG Advocate English, Vlad Russian, Korean, Traditional Chinese).


layer: emulator
emulator: EmuCoreV
system: sony-playstation-vita
name: app_compat_db.xml
status: bios
in_repo: 1
reason:
Downloaded as app_compat_db.xml.zip from the Vita3K compatibility releases, unpacked into the compatibility directory of internal storage and parsed for the badges the library and catalog screens draw. The native side looks for the same filename in the cache directory at bootstrap and logs a warning when it finds none.


layer: emulator
emulator: EmuCoreV
system: sony-playstation-vita
name: commercial_list.json
status: bios
in_repo: 1
reason:
Fetched from the Vita3K web API and merged over the XML snapshot, so a title the database does not carry still resolves. Read only when the file is present and not empty.


layer: emulator
emulator: EmuCoreV
system: sony-playstation-vita
name: psvita_games.db
status: bios
in_repo: 1
reason:
SQLite catalog carried in the package assets and copied into internal storage the first time the catalog screen opens, then reopened read only from there. A copy already present is kept.


layer: emulator
emulator: EmuCoreV
system: sony-playstation-vita
name: PATCHLIST.TXT
status: bios
in_repo: 1
reason:
Read alongside the per-title files whatever the running title is, the name matched case insensitively as a substring. Its headers take a title id and an optional binary, so one file holds patches for several titles, and the lines under a header for another title are skipped.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: ps2-0230a-20080220.rom1
status: bios
in_repo: 1
reason:
Tried as {bios}.rom1 then {biosbase}.rom1, with a case-insensitive retry on the open. Copied to the ROM1 region and truncated to 4 MB. Logged and skipped when absent. The storage access framework import does not carry this extension, so it is reachable only from a plain BIOS folder path.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: ps2-0230a-20080220.rom2
status: bios
in_repo: 1
reason:
Same two-step naming as rom1, copied to the ROM2 region. Present on Chinese region consoles. Carried by the same import restriction as rom1.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: ps2-0230a-20080220.nvm
status: bios
in_repo: 1
reason:
Read at the BIOS path with the extension replaced by nvm, case-insensitively. Carries the console id, the iLink id, the model number and the OSD configuration. A 1024 byte image is built in memory when the file is absent, short, or carries a blank config block, filled with a fixed iLink id and the language and region defaults of the detected BIOS region.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: ps2-0230a-20080220.mec
status: bios
in_repo: 1
reason:
Read at the BIOS path with the extension replaced by mec. Defaults to 0x00020603 and is written back at that path when it cannot be read.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: eeprom.dat
status: bios
in_repo: 1
reason:
Opened from the working directory when the network adapter starts and mapped over 64 bytes. A compiled-in image stands in when the file is missing or cannot be mapped.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: flash.dat
status: missing
in_repo: 0
reason:
Opened from the working directory at network adapter init and read as 1024 blocks of 16 pages of 512 bytes plus 16 ECC bytes. The card is filled with 0xFF when the file is absent.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: RedumpDatabase.yaml
status: bios
in_repo: 1
reason:
Opened from the resources directory and parsed into the hash database used to name a disc from its dump.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: patches.zip
status: bios
in_repo: 1
reason:
Opened read only from the resources directory as a zip source and searched for the pnach matching the running serial and CRC. A failure to open is reported once and the built-in patches are dropped for the session.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: Roboto-Regular.ttf
status: bios
in_repo: 1
reason:
Read by the adapter's own font setup before the VM starts and handed to the core as the standard font. An empty font list is logged as a setup failure.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: tfx.glsl
status: bios
in_repo: 1
reason:
Read from the resources directory when the Vulkan device is created. A read failure is reported and device creation fails.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: cas.glsl
status: bios
in_repo: 1
reason:
Read as a compute shader and its two include lines substituted with the contents of the common headers. The Vulkan device compiles the CAS pipelines unconditionally and returns on a failure, so a missing file stops device creation rather than dropping the feature.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: cas.glsl
status: bios
in_repo: 1
reason:
Read as a compute program with the two include lines substituted, and needs an ES 3.1 or 3.2 context. A failure turns CAS sharpening off.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: fxaa.fx
status: bios
in_repo: 1
reason:
Read as the fragment stage of the FXAA pipeline on Vulkan, inside the post-processing pipelines the device creation chain requires, so a missing file stops device creation there. On OpenGL the program is compiled on its own and an invalid one makes the FXAA pass return without drawing.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: ffx_a.h
status: bios
in_repo: 1
reason:
Read from the resources directory and pasted over the matching include line of the CAS shader, the compilers having no include support. It shares the fate of the CAS shader it is pasted into: fatal to device creation on Vulkan, and only the sharpening feature on OpenGL.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: ffx_cas.h
status: bios
in_repo: 1
reason:
Read and substituted the same way as the other CAS header, with the same consequence per renderer when it is missing.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: message.wav
status: bios
in_repo: 1
reason:
Played from the resources directory whenever an achievement notification is raised and no custom sound is configured. Sound effects and the notification sound both default on. The vendored tree carries only the README for this directory, so the file has to be supplied; the Android sound callback returns without playing when the path is not a file. Upstream v2.7.316 ships it at 15696 bytes.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: unlock.wav
status: bios
in_repo: 1
reason:
Played on an unlock under the same two settings, both on by default. Absent from the vendored tree. Upstream v2.7.316 ships it at 202702 bytes.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: lbsubmit.wav
status: bios
in_repo: 1
reason:
Played on a leaderboard submission under the same two settings, both on by default. Absent from the vendored tree. Upstream v2.7.316 ships it at 82096 bytes.


layer: emulator
emulator: EmuCoreX
system: sony-playstation-2
name: games.db
status: bios
in_repo: 1
reason:
SQLite catalog carried in the package assets and copied into internal storage the first time the catalog is queried, then read from there. A copy already present is kept.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: scph102_v44.bin
status: bios
in_repo: 1
reason:
Windows names this image scph102A - PAL and identifies it by id 0x9337252b, the A and B suffixes separating the two SCPH-102 revisions.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: scph5000_b.bin
status: bios
in_repo: 1
reason:
Recognised by Windows alone, as scph5000 - JP with id 0xa63468aa. That record is pinned on a checksum, not on a hash the code spells out; the md5 here is the dump that reproduces the checksum. TOSEC tags the same dump [b].


layer: emulator
emulator: ePSXe
system: sony-playstation
name: scph5502_b.bin
status: bios
in_repo: 1
reason:
Recognised by Windows alone, as scph5502 - PAL with id 0x702fa307, resolved the same way as the SCPH-5000 bad dump above. TOSEC tags it [b].


layer: emulator
emulator: ePSXe
system: sony-playstation
name: database.dat
status: missing
in_repo: 0
reason:
Opened read only from cheats at startup. Absent, the session runs with no library behind the per-title files.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: dataconf.dat
status: missing
in_repo: 0
reason:
Read after database.dat into CheatDataConf, mapping serials such as SLUS_011.60 onto entries of the library.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: gpuCore.slv
status: bios
in_repo: 1
reason:
One directory per effect. A stage that will not open logs the unable to read shader file message and the effect is dropped. The shaders pack on epsxe.com carries the set.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: gpuPeteOGL2.slv
status: bios
in_repo: 1
reason:
Resolved under the configured shader directory, defaulting to SHADERS\. Selected by the GLSlang shader effect setting.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: gpuPeteOGL2.vp
status: bios
in_repo: 1
reason:
The ARB alternative to the GLSlang pair, taken by a different value of the shader effect setting, and reporting the offset when the program fails to assemble.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: liboglplugin2.so
status: missing
in_repo: 0
reason:
Android only. Read when the renderer setting is 5: a copy found under plugins is staged into the private directory and used, otherwise the one inside the package answers and the setting falls back to the software renderer if neither is there.


layer: emulator
emulator: ePSXe
system: sony-playstation
name: libopenglplugin.so
status: missing
in_repo: 0
reason:
Android only. Named by the gpuPref setting, which points at the root of shared storage by default and is also looked for under the package library directory and the secondary card.


layer: emulator
emulator: FB Alpha 2012
system: arcade;neogeo;cps1;cps2;cps3;pgm
name: dkong.zip
status: bios
in_repo: 1
reason:
WAV samples for Donkey Kong and clones (dkongo, dkongj, dkongjo, dkongjo1, dkongf, dkongx, dkongx11)


layer: emulator
emulator: FB Alpha 2012
system: arcade;neogeo;cps1;cps2;cps3;pgm
name: dkongjr.zip
status: bios
in_repo: 1
reason:
WAV samples for Donkey Kong Jr and clones (dkongjrj, dkongjnrj, dkongjrb, jrking, dkingjr, dkongjre)


layer: emulator
emulator: FinalBurn Neo
name: donpachi.zip
status: large_file
in_repo: 1
reason: DonPachi CD-quality soundtrack samples (14 WAVs)
system:
snk-neogeo-mvs;snk-neogeo-aes;snk-neogeo-cd;snk-neogeo-pocket;capcom-cps3;igs-pgm;fairchild-channelf;coleco-colecovision;sinclair-spectrum;msx;nes-fds;super-kaneko-nova;deco-cassette;namco-na1;namco-nb1;sega-system16b;konami-bubsys;nmk16;midway-mcr;snes;taito-cchip;ym2608


layer: emulator
emulator: FCEUmm
system: nintendo-nes;nintendo-fds
name: nes.pal
status: bios
in_repo: 1
reason:
RGB triplets (64 standard or 512 with de-emphasis). Only loaded when palette core option is set to Custom.


layer: emulator
emulator: Flycast
system: sega-dreamcast;sega-naomi;sega-naomi2;sega-atomiswave
name: dc_nvmem.bin
status: bios
in_repo: 1
reason:
Dreamcast flash memory / NVRAM. Created if not found. Code searches prefix + nvmem.bin, flash_wb.bin, flash.bin, flash.bin.bin sequentially.


layer: emulator
emulator: Flycast Dojo
system: sega-dreamcast;sega-naomi;sega-naomi2;sega-atomiswave
name: gamecontrollerdb.txt
status: bios
in_repo: 1
reason:
SDL controller mapping database, read from the data directory then the config directory. Not part of the release archive. SDL built-in mappings are used when absent.


layer: emulator
emulator: FPse
system: sony-playstation
name: LibPS.exe
status: missing
in_repo: 0
reason:
Loaded by bare name through the same loader as any PS-X EXE, reporting "LibPS.exe found and loaded." on success and continuing untouched when the loader returns -1. Not carried by the package, and the core never chdirs, so it resolves against the working directory of the process.


layer: emulator
emulator: FPse
system: sony-playstation
name: libsoft1.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("soft1") and listed in DT_NEEDED by the core. 0.11.190 listed it the same way without shipping it, tested for the file in the private directory and stopped on an error dialog before the core when it was absent, the file coming from plugins267.zip.


layer: emulator
emulator: FPse
system: sony-playstation
name: libspuplugin.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("spuplugin") and listed in DT_NEEDED. 0.11.190 picked libspupluginex.so, libspuplugin2.so or libspuplugin1.so by device and API level and copied the winner over this name.


layer: emulator
emulator: FPse
system: sony-playstation
name: libopengl.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("opengl") and listed in DT_NEEDED. A plugin chosen from the .so browser is copied over libopengl1.so, which 0.11.190 in turn copied over this name, the ex variant standing in for it on the devices that ask for it.


layer: emulator
emulator: FPse
system: sony-playstation
name: libnfsplugin.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("nfsplugin") and listed in DT_NEEDED. Called libnfs.so through the 0.11.x line.


layer: emulator
emulator: FPse
system: sony-playstation
name: libneon.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("neon") and listed in DT_NEEDED, which resolves bgr555rgb565neon for the core.


layer: emulator
emulator: FPse
system: sony-playstation
name: libuncompress.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("uncompress") and the only one of the plugins the core does not list in DT_NEEDED. 0.11.190 loaded it on demand from the private directory.


layer: emulator
emulator: FPseNG
system: sony-playstation
name: vrback.raw
status: bios
in_repo: 1
reason:
Opened read only at the root of shared storage and read as 640 by 512 sixteen bit pixels. Not carried by the package: the application downloads fpse.net/vrback.zip, extracts it at that root and deletes the archive. The distributed file is 655364 bytes.


layer: emulator
emulator: FPseNG
system: sony-playstation
name: LibPS.exe
status: missing
in_repo: 0
reason:
Loaded by bare name during "Loading files..." when the matching option bit is set, reporting "LibPS.exe found and loaded." on success and continuing untouched when the loader returns -1. Not carried by the package, and the core never chdirs, so it resolves against the working directory of the process.


layer: emulator
emulator: Frodo
system: commodore-c64
name: Basic ROM
status: bios
in_repo: 1
reason:
Embedded as builtin_basic_rom[] in Basic_ROM.h. External file never loaded in practice (DATADIR is empty, path is bare filename in cwd).


layer: emulator
emulator: Frodo
system: commodore-c64
name: Kernal ROM
status: bios
in_repo: 1
reason:
Embedded as builtin_kernal_rom[] in Kernal_ROM.h. Patched at runtime for fast reset and 1541 IEC traps.


layer: emulator
emulator: Frodo
system: commodore-c64
name: 1541 ROM
status: bios
in_repo: 1
reason:
Embedded as builtin_drive_rom[] in 1541_ROM.h. Patched at runtime to disable checksum and trap disk I/O.


layer: emulator
emulator: future-pinball
system: fpinball
name: Newton.dll
status: bios
in_repo: 1
reason:
83 functions are bound from it, the largest third party surface in the binary. The process does not start without it.


layer: emulator
emulator: future-pinball
system: fpinball
name: fmod.dll
status: bios
in_repo: 1
reason:
22 functions bound, FSOUND_Init through the sample and stream calls. Every one of those calls passes FSOUND_LOADMEMORY, so it decodes the table's own buffers rather than reading files.


layer: emulator
emulator: future-pinball
system: fpinball
name: devil.dll
status: bios
in_repo: 1
reason:
8 functions bound, ilInit through ilLoadL. Spelled DevIL.dll in the import descriptors and shipped lowercase, which the case insensitive loader treats as one name.


layer: emulator
emulator: future-pinball
system: fpinball
name: ilu.dll
status: bios
in_repo: 1
reason:
4 functions bound: iluInit, iluScale, iluEnlargeCanvas and iluImageParameter, used to fit imported artwork to texture dimensions.


layer: emulator
emulator: future-pinball
system: fpinball
name: ilut.dll
status: bios
in_repo: 1
reason:
3 functions bound: ilutRenderer, ilutConvertToHBitmap and ilutGetBmpInfo, which produce the preview bitmaps the editor's manager windows draw.


layer: emulator
emulator: future-pinball
system: fpinball
name: libcurl.dll
status: bios
in_repo: 1
reason:
Only four functions are bound, curl_easy_init, setopt, perform and cleanup, and the single use is fetching the table list from http://www.pinsimdb.org/fpreleases/backend_xml.php under the user agent FuturePinball-agent/1.0. The binding is static all the same, so the process still refuses to start without the file.


layer: emulator
emulator: future-pinball
system: fpinball
name: SciLexer.dll
status: bios
in_repo: 1
reason:
The one library taken with LoadLibraryA rather than the import directory. A null return puts up "The Scintilla DLL could not be loaded.", stores a null handle and falls through to the rest of startup, so the program runs and only the script editor is lost.


layer: emulator
emulator: future-pinball
system: fpinball
name: fpModels.fpl
status: bios
in_repo: 1
reason:
Models cannot be authored outside the development team, so a table that wants a bumper cap or a flipper bat either embeds a copy or links here, and the Model Manager documents linking as the recommended choice. Absent, the table still loads and every model it linked is missing.


layer: emulator
emulator: future-pinball
system: fpinball
name: fpTextures.fpl
status: bios
in_repo: 1
reason:
Carries the surface art the built in parts expect, bulbs, triggers, plungers and the rest. Resolved the same way as every other library.


layer: emulator
emulator: future-pinball
system: fpinball
name: fpRamps.fpl
status: bios
in_repo: 1
reason:
Storage names encode the shape and the dimensions, ramp-pool-t1_w30_h20 and so on, with a left and a right variant of each.


layer: emulator
emulator: future-pinball
system: fpinball
name: fpSphereMaps.fpl
status: bios
in_repo: 1
reason:
Storage names are bracketed, [chrome-silver], [chrome-gold] and similar, which is how a material references one.


layer: emulator
emulator: future-pinball
system: fpinball
name: fpScripts.fpl
status: bios
in_repo: 1
reason:
The manual's worked example is ExecuteGlobal LoadExternalScript("fpScripts.fpl\myscript"), which is the branch taken when a reference carries the .fpl extension. What ships is a single storage named testscript.


layer: emulator
emulator: future-pinball
system: fpinball
name: NewTable.fpt
status: bios
in_repo: 1
reason:
The install directory is copied into the default table path buffer and this name appended, then the result goes through the ordinary table open. It is a full table with a playfield and a plunger, not an empty document.


layer: emulator
emulator: future-pinball
system: fpinball
name: Future Pinball Manual.chm
status: bios
in_repo: 1
reason:
Opened with ShellExecuteA on the install directory plus this path when the help command carries id 0x8043. It is the only description of the library link mechanism and of LoadExternalScript.


layer: emulator
emulator: future-pinball
system: fpinball
name: Script56.chm
status: bios
in_repo: 1
reason:
The script editor's help falls to this path for every command id other than 0x8043, again through ShellExecuteA against the install directory. No Future Pinball release ships it: table scripts are VBScript and this is Microsoft's own reference for the language, expected to be dropped into Help beside the manual.


layer: emulator
emulator: future-pinball
system: fpinball
name: fpLatestTables.xml
status: bios
in_repo: 1
reason:
libcurl writes it, CreateFileA with OPEN_EXISTING reads it back and DeleteFileA drops it when the panel refreshes. The code builds the path as feeds\ against a directory the installer creates as Feeds. A snapshot ships with the release, so the panel has something to show before any fetch.


layer: emulator
emulator: future-pinball
system: fpinball
name: NPClient.dll
status: missing
in_repo: 0
reason:
The directory is read from HKCU\Software\NaturalPoint\NATURALPOINT\NPClient Location, this name appended and the result given to LoadLibraryA; NP_GetSignature and the rest are then bound with GetProcAddress. A null handle jumps past all tracking setup. It comes from a TrackIR install, not from any Future Pinball distribution, which is why no path is given here.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: BAM.dll
status: bios
in_repo: 1
reason:
Taken from the loader's directory, else from C:\Games\Future Pinball\BAM\. Neither present ends the loader with a message box.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: renderingengine.dll
status: bios
in_repo: 1
reason:
Bound statically by BAM.dll, so the injected LoadLibraryA fails without it. The loader adds its own directory to %PATH% for this file alone.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: Future Pinball.exe
status: bios
in_repo: 1
reason:
Probed with GetFileAttributesA at four locations, /FPEXE first. Absent, the loader stops before creating any process. The size is that of release 1.9.1.20101231.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: BAM-Tracker.exe
status: bios
in_repo: 1
reason:
Imports BAM.dll and runs it outside the game. BAM.dll lowercases the host command line and looks for this name to know it is hosted by the tracker rather than by Future Pinball.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: ModelImporter.exe
status: bios
in_repo: 1
reason:
Bound to renderingengine.dll for the Assimp side. Its open dialog accepts .fpm, .obj, .ms3d, .md5mesh and .fbx.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: bam.cfg
status: bios
in_repo: 1
reason:
Keyboard.cfg is the older name and is renamed on sight. 9999 in a key slot leaves the function unbound.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: default.seq
status: bios
in_repo: 1
reason:
Read as text. Every line is a comment to Future Pinball's own parser and carries a position, a scale, two angles and a duration.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: default.xml
status: bios
in_repo: 1
reason:
Same document shape as the presets under XML\. The save path produces one by extracting resource 464 of type XML from Future Pinball, 6264 bytes, so no copy ships.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: default.zip
status: bios
in_repo: 1
reason:
Holds BMP/<id>.bmp entries keyed by Future Pinball resource id, the form the ball packs and the Zendonius packs use.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: XML_Presets.txt
status: missing
in_repo: 0
reason:
Read whole and split on "%d: %s" lines. The menu entry Add current XML appends to it, which is how the files under XML\ become reachable.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: Reality.dat
status: bios
in_repo: 1
reason:
Read at startup and rewritten from the Reality submenu. Head tracking and stereo geometry are computed from it.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: HT-PS3Eyes.dll
status: bios
in_repo: 1
reason:
Keeps its calibration in HT-PS3Eyes.dat and HT-PS3Eyes-FixCamExport.dat beside itself, both produced by the calibration pass.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: TrackIR.dll
status: bios
in_repo: 1
reason:
Matches the name NPClient with strstr and pairs LoadLibraryA with GetProcAddress on it. The plugin imports no registry function, so the client library is resolved as a plain module name.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: PostFX.dll
status: bios
in_repo: 1
reason:
Named in BAM.dll and compared against the enumerated file names, so it is the one plugin the mod knows by name. Its nine GLSL programs are TEXT resources inside the plugin, read with FindResourceA. Two builds circulate under this name, the 39632 bytes of bam-setup.exe and 191240 bytes in BAM-OpenVR.zip.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: icom.dll
status: bios
in_repo: 1
reason:
Matches created objects against PinUpPlayer, Vpinmame, B2S, PUPDMDControl, UltraDMD, PinSSF and DirectOutput.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: opencv_ffmpeg2410.dll
status: bios
in_repo: 1
reason:
LoadLibraryA followed by GetProcAddress on cvCreateFileCapture_FFMPEG, cvGrabFrame_FFMPEG and the rest. A null handle leaves the entry points unbound and only the file source is lost.


layer: emulator
emulator: future-pinball-fploader
system: fpinball
name: NPClient.dll
status: missing
in_repo: 0
reason:
Comes from a TrackIR install rather than from any BAM distribution, which is why no path is given here.


layer: emulator
emulator: Gargoyle
name: Gargoyle-Mono.ttf
status: bios
in_repo: 1
system:
adrift;advsys;agt;alan;glulx;hugo;jacl;level9;magnetic-scrolls;scott-adams;scott-adams-plus;tads;taylormade;zmachine


layer: emulator
emulator: Gargoyle
name: unifont.otf
status: bios
in_repo: 1
reason:
Covers glyphs missing from the text fonts. Loaded directly rather than through the system font mechanism, so it is not installed system-wide.


layer: emulator
emulator: GBA.emu
system: nintendo-gba
name: Motocross Challenge.7z
status: bios
in_repo: 1
reason:
Opened from the application bundle by the name the build gives it, the Linux build dropping the space.


layer: emulator
emulator: Geolith
system: snk-neogeo-mvs;snk-neogeo-aes;snk-neogeo-cd
name: irrmaze.zip
status: bios
in_repo: 1
reason:
The Irritating Maze auxiliary BIOS. Loaded in MVS mode for trackball support; on failure the game runs without trackball.


layer: emulator
emulator: Gopher2600
system: atari-2600
name: Schweber OQ.bin
status: bios
in_repo: 1
reason:
Recognised by the MD5 of the 256 bytes at 0x300, so the name is the one the dump carries rather than one the code fixes. The carousel ROMs are only read once this image has been accepted.


layer: emulator
emulator: GroovyMAME
name: systemy2.zip
status: bios
in_repo: 1
system:
snk-neogeo-mvs;snk-neogeo-aes;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;sega-lindbergh;sega-hikaru;sega-chihiro;sega-triforce;deco-cassette;nintendo-playch10;sega-megaplay;sega-megatech;nintendo-sfcbox;nintendo-nss;philips-cdi;commodore-cubo;namco-system246;namco-system256;namco-system573;konami-viper;super-kaneko-nova;capcom-zn1;capcom-zn2;konami-gv;konami-twinkle;panasonic-3do;hyper-neogeo64;apple2gs;apf-m1000;bally-astrocade;coleco-adam;crvision;entex-advision;sega-ai;sega-beena;bandai-rx78;camplynx;tiger-game-com;gamepark-gp32;gamate;gamepock;hartung-game-master;fm7;laser310;vtech-socrates;vtech-vsmile;casio-loopy;casio-pv1000;casio-pv2000;pegasus;pcw;interton-vc4000;philips-vg5k;ti99;tutor;tandy-vis;trs80;vgmplay


layer: emulator
emulator: hakuX
system: microsoft-xbox
name: xbox_hdd.qcow2
status: bios
in_repo: 1
reason:
Copied under the fixed name hdd.img, in qcow2 or raw form, and attached as index 0 with locked=on and cache=writethrough. An empty setting attaches no drive at all and an unopenable one only queues a message, but the launcher refuses to leave the wizard until the file resolves. The formatter builds FATX partitions inside an image that already exists and needs at least 0x1DD156000 bytes for the retail layout; it never creates the image. A qcow2 with a backing file is reported at load because the sectors it did not modify are read from that other file.


layer: emulator
emulator: hakuX
system: microsoft-xbox
name: eeprom.bin
status: bios
in_repo: 1
reason:
Always pointed at x1box/eeprom.bin, a path the wizard never asks for. Generated as XBOX_EEPROM_VERSION_R1 when it does not exist, so a dump is needed only to carry over a console serial, region or HDD key. It is attached through the smbus-storage device; a size other than 256 bytes, or a generation that fails, clears autostart. Preparing Insignia and the EEPROM editor write to it in place.


layer: emulator
emulator: hakuX
system: microsoft-xbox
name: X1_Covers.txt
status: bios
in_repo: 1
reason:
Read from the assets and turned into a lookup from normalised game name to a URL under the X1_Covers repository, which the library fetches and caches per title. Only lines ending in .png are kept.


layer: emulator
emulator: Handy
system: atari-lynx
name: howard.o
status: bios
in_repo: 1
reason:
Loaded only for headerless carts (no LNX/BS93 header). Resolved relative to the BIOS file path (system directory). Passed to CRam for execution. Most commercial games have headers and skip this entirely.


layer: emulator
emulator: Hatari
system: atari-st;atari-ste;atari-tt;atari-falcon
name: BOOT.ST
status: bios
in_repo: 1
reason:
Floppy image used for GEMDOS HD bootstrapping with .gem files. Libretro port addition (not in upstream Hatari).


layer: emulator
emulator: Hypseus Singe
system: arcade-laserdisc
name: cputest.zip
status: bios
in_repo: 1
reason:
Z80 CPU test programs, shipped under roms/cputest/ in the emulator source. Loaded by cputest, mcputest


layer: emulator
emulator: idTech4A++
name: uzdoom.pk3
status: bios
in_repo: 1
system:
doom;doom3;doom3-bfg;quake;quake2;quake3;quake4;prey;wolfenstein3d;return-to-castle-wolfenstein;wolfenstein-enemy-territory;realrtcw;the-dark-mod;jedi-academy;jedi-outcast;medal-of-honor-allied-assault;urban-terror;enemy-territory-quake-wars;skin-deep;quadrilateral-cowboy;icarus-starship-command-simulator;hexen2;half-life;half-life-2;serious-sam

reason:
Named by BASEWAD and searched before anything else; a miss ends the process with "Cannot find uzdoom.pk3". Carries the hex font, the widget resources and the script definitions the engine needs before a game is chosen. Copied out of the apk with the rest of the UZDOOM resource directory.


layer: emulator
emulator: idTech4A++
name: game_support.pk3
status: bios
in_repo: 1
system:
doom;doom3;doom3-bfg;quake;quake2;quake3;quake4;prey;wolfenstein3d;return-to-castle-wolfenstein;wolfenstein-enemy-territory;realrtcw;the-dark-mod;jedi-academy;jedi-outcast;medal-of-honor-allied-assault;urban-terror;enemy-territory-quake-wars;skin-deep;quadrilateral-cowboy;icarus-starship-command-simulator;hexen2;half-life;half-life-2;serious-sam

reason:
Named by OPTIONALWAD and opened as the second file of the IWAD manager. It holds the IWADINFO lump, so without it no IWAD is recognised and startup ends on "Cannot find a game IWAD" even when the WAD is in place. Also carries the per-game filter trees keyed by IWAD identity.


layer: emulator
emulator: idTech4A++
name: lights.pk3
status: bios
in_repo: 1
reason:
Searched by name on the user choice recorded at first start, and offered a second time as a launcher switch that appends it to the file list.


layer: emulator
emulator: idTech4A++
name: uzdoom.sf2
status: bios
in_repo: 1
reason:
Collected by scanning a `soundfonts` directory added to the search paths of the config file; every .sf2 and zipped GUS patch set found there becomes a menu entry.


layer: emulator
emulator: idTech4A++
name: GENMIDI.GS.wopl
status: bios
in_repo: 1
reason:
Collected from an `fm_banks` directory added to the search paths beside the soundfont directory, for the OPL synthesiser.


layer: emulator
emulator: idTech4A++
name: glprogs.pk4
status: bios
in_repo: 1
reason:
Unpacked into the standalone directory as `glslprogs/`, the tree the renderer compiles its programs from. Version-stamped with the engine release so a Dark Mod update replaces it.


layer: emulator
emulator: idTech4A++
name: renderprogs.pk4
status: bios
in_repo: 1
reason:
Unpacked into `base/renderprogs/` beside the game resources. The shipped BFG data carries the desktop HLSL set, which this build cannot use.


layer: emulator
emulator: idTech4A++
name: zzz_etqwbase.pk4
status: bios
in_repo: 1
reason:
Unpacked into the ETQW base folder. The name sorts last so the entries override the ones the retail archives carry.


layer: emulator
emulator: idTech4A++
name: legacy_v2.83.2.pk3
status: bios
in_repo: 1
reason:
Copied into the `legacy` folder, the mod the engine runs by default; the retail Enemy Territory data in `etmain` stays the user's to supply. The file name is built from the engine version, so a Legacy update lands under a new name.


layer: emulator
emulator: idTech4A++
name: extras.pk3
status: bios
in_repo: 1
reason:
Mounted ahead of every game directory from the path in XASH3D_EXTRAS_PAK1. It carries the touch-control textures the mobile build draws and the gamecontrollerdb.txt the SDL joystick layer reads through the virtual filesystem.


layer: emulator
emulator: idTech4A++
name: cs16client-extras.pk3
status: bios
in_repo: 1
reason:
Extracted right after the base extras and mounted the same way, for the cs16 and cs16_yapb server classes the launcher offers.


layer: emulator
emulator: idTech4A++
name: extras.zip
status: bios
in_repo: 1
reason:
Unpacked into `files/` under the Source standalone directory. It carries the DejaVu, Droid Sans Fallback, Itim and Liberation faces the engine substitutes for the Windows fonts, and extras_dir.vpk.


layer: emulator
emulator: idTech4A++
name: d3_sabot_a7.pk4
status: bios
in_repo: 1
reason:
Extracted on request into the current mod folder under a name prefixed to sort last. It holds the defs, scripts and multiplayer AAS files the bot commands need. A second entry repacks only the `maps/` tree into zzz_idTech4Amm_d3_sabot_a7_aas.pk4 for users who already have the mod.


layer: emulator
emulator: idTech4A++
name: q4_sabot_a9.pk4
status: bios
in_repo: 1
reason:
The Quake 4 counterpart, extracted the same way, with the same maps-only variant written as zzz_idTech4Amm_q4_sabot_a9_aas.pk4.


layer: emulator
emulator: idTech4A++
name: play_original_doom3_level.pk4
status: bios
in_repo: 1
reason:
Extracted on request into the `rivensin` mod folder, the one patch tied to a named mod rather than to whichever mod is selected.


layer: emulator
emulator: idTech4A++
name: doom3_chinese_translation_doom3bfg.pk4
status: bios
in_repo: 1
reason:
Copied into the DOOM 3 base folder on request. It pairs with the wide-character language and BFG font support compiled into the engine.


layer: emulator
emulator: idTech4A++
name: controls_theme.zipak
status: bios
in_repo: 1
reason:
Read in place from the assets, never extracted. Archives with this suffix are folded into the search path wherever they are found, and the `controls_theme/` folders inside become named entries in the theme chooser; this one carries the cs16-client and source-engine sets.


layer: emulator
emulator: idTech4A++
name: btn_jump.png
status: bios
in_repo: 1
reason:
Read from the assets root when the theme is the built-in one. The set covers the alphabet, the digits and the named actions the games bind, and any of the 52 names can be replaced by putting a file of the same name in one of the external search paths.


layer: emulator
emulator: idTech4A++
name: generic.json
status: bios
in_repo: 1
reason:
Read straight from the assets when the on-screen keyboard is built, without going through the external search path, so nothing outside the archive replaces it.


layer: emulator
emulator: idTech4A++
name: autoexec.cfg
status: bios
in_repo: 1
reason:
Executed by the id-derived engines from the mod folder and from the base folder. The launcher lists both positions next to the config file each game writes for itself, DoomConfig.cfg, Quake4Config.cfg, preyconfig.cfg, q3config.cfg, wolfconfig.cfg, Darkmod.cfg, uzdoom.ini and the rest, and opens any of them in its editor. The config files are written by the engines; this one only ever comes from the user.


layer: emulator
emulator: idTech4A++
name: description.txt
status: bios
in_repo: 1
reason:
Read from the root of a mod folder when the mod list is built and shown under the folder name with its size. The control theme chooser reads a file of the same name from a theme folder, there with an optional language suffix.


layer: emulator
emulator: iNES
system: nintendo-nes;nintendo-fds
name: DISKSYS.ROM
status: bios
in_repo: 1
reason:
Opened by bare name, so it resolves against the working directory and then against the home directory. Read as 0x2000 bytes into RAM at 0xE000; a missing file reports NOT FOUND and a short read FAILED, and either aborts the disk load. Only the length of that read is checked, so a longer file passes on its first 8192 bytes and no hash is compared. The open is gzip transparent, so a compressed copy answers too.


layer: emulator
emulator: iNES
system: nintendo-nes;nintendo-fds
name: CART.NES
status: bios
in_repo: 1
reason:
The only entry in assets/memfs.mp3, which MainActivity reads whole and jniStart mounts as an in-memory filesystem. A 16 byte header plus one 16 KB PRG bank and one 8 KB CHR bank. Application passes this name to StartNES when it is invoked without a ROM, so launching through ES-DE never reaches it.


layer: emulator
emulator: iNES
system: nintendo-nes;nintendo-fds
name: names.dat
status: bios
in_repo: 1
reason:
Parsed from assets as lines of key colon title, keys reading NES-4C629A95. The copy at <HomeDir>/names.dat is read straight afterwards into the same map, so user entries extend and override the packaged ones.


layer: emulator
emulator: iNES
system: nintendo-nes;nintendo-fds
name: ROOT.chts
status: bios
in_repo: 1
reason:
Looked up in the package assets first, then through the home directory, its subdirectories and Downloads, with <HomeDir>/Cheats as the default cheat directory. Include lines pull further sets through the same lookup; the package carries seven of them, battle-toads, dragon-warrior, dragon-warrior-2, fceu, final-fantasy-2, final-fantasy-3 and super-mario-brothers.


layer: emulator
emulator: Infinity
system: pico8
name: common.vert.spv
status: bios
in_repo: 1
reason:
Opened first whenever the Vulkan backend starts, whatever the display filter. Bytes from versionCode 404.


layer: emulator
emulator: Infinity
system: pico8
name: none.frag.spv
status: bios
in_repo: 1
reason:
Chosen for any display filter value other than 1 and 2, the stored default being 0. Bytes from versionCode 404.


layer: emulator
emulator: Infinity
system: pico8
name: 7x7demake.p8.png
status: bios
in_repo: 1
reason:
Held as a file:///android_asset URI and prepended to the library when the built-in carts switch is on, the loader taking the path after the scheme and reading it from the assets.


layer: emulator
emulator: Infinity
system: pico8
name: fake-08.md
status: bios
in_repo: 1
reason:
First of four names paired with the library names fake-08, coil, okio and DocumentFileCompat, each read from the assets when its entry is opened.


layer: emulator
emulator: izapple2
system: apple-ii
name: ProDOS_2.4.3_TJ.po
status: bios
in_repo: 1
reason:
Fetched from https://github.com/Alex-Kw/ProDOS-ROM-Drive-Images/raw/main/ProDOS_2.4.3_TJ.po when the card is added with no image parameter. The card slot ROM is read at offset 0x300. No size or hash check.


layer: emulator
emulator: izapple2
system: apple-ii
name: ProDOS-ROMCARD3_4MB_A2D.v1.4_v37.po
status: bios
in_repo: 1
reason:
Fetched from https://github.com/rallepalaveev/ProDOS-Romcard3/raw/main/ProDOS-ROMCARD3_4MB_A2D.v1.4_v37.po when the card is added with no image parameter. The card slot ROM is read at offset 0x200. Rejected unless exactly 4 MB.


layer: emulator
emulator: J2ME Loader
system: j2me
name: Roboto-Regular.ttf
status: bios
in_repo: 1
reason:
Built into a Typeface at CanvasWrapper construction, which is a field initializer of Canvas and therefore runs for every MIDlet that opens one. Drives the key captions, the soft bar and the FPS counter.


layer: emulator
emulator: J2ME Loader
system: j2me
name: system.props
status: bios
in_repo: 1
reason:
Read from assets/defaults when a profile is created and again when the config screen or updateSystemProperties fills the field. Each line becomes a System.setProperty pair at MIDlet startup, carrying microedition.configuration, microedition.platform, the JSR version strings and the vendor identity values.


layer: emulator
emulator: J2ME Loader
system: j2me
name: simple.vsh
status: bios
in_repo: 1
reason:
Compiled when the GL surface is created and no user shader is selected. Graphics mode 1 is the default, so this is the standard display path. Also compiled as the Simple program of the Mascot Capsule renderer.


layer: emulator
emulator: J2ME Loader
system: j2me
name: color.vsh
status: bios
in_repo: 1
reason:
Program.create builds the tex, color, simple and sprite programs together the first time the Mascot Capsule renderer initializes, so all four pairs are read on the first micro3d frame.


layer: emulator
emulator: J2ME Loader
system: j2me
name: libjavam3g.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary("javam3g") outside any catch, the first time the toolkit reports the UI thread available. Built by ndkBuild from the m3g sources against GLES 1.1.


layer: emulator
emulator: J2ME Loader
system: j2me
name: libmicro3d.so
status: bios
in_repo: 1
reason:
Loaded from the static initializer of Utils, so the first Mascot Capsule call brings it in. Holds fillBuffer, glReadPixels and the bone transform.


layer: emulator
emulator: J2ME Loader
system: j2me
name: appcenter.cer
status: bios
in_repo: 1
reason:
Read into a trust store only when a crash report is sent from Android 4.1 through 4.4, where TLSv1.2 is forced. A read or certificate failure falls back to the default socket factory.


layer: emulator
emulator: JL-Mod
system: j2me
name: system.props
status: bios
in_repo: 1
reason:
Read from assets/defaults when a profile is created, when the config screen has no stored value and when updateSystemProperties fills the field. Each line becomes a System.setProperty and MidletSystem.setProperty pair at MIDlet startup, carrying microedition.configuration, microedition.platform, the JSR version strings and the vendor identity values.


layer: emulator
emulator: JL-Mod
system: j2me
name: color.vsh
status: bios
in_repo: 1
reason:
Program.create builds the tex, color, simple and sprite programs together the first time the Mascot Capsule renderer draws, so all four pairs are read on the first micro3d frame.


layer: emulator
emulator: JL-Mod
system: j2me
name: m3d.vsh
status: bios
in_repo: 1
reason:
Compiled when a MIDlet first binds a com.nokia.mid.m3d context. Carries the position, texture coordinate and matrix inputs.


layer: emulator
emulator: JL-Mod
system: j2me
name: patches.bin
status: bios
in_repo: 1
reason:
Index of class CRC32 to patch offset, read by the static field initializer of AndroidProducer and again for each matching class the dexer instruments. A read failure outside end of file is rethrown as RuntimeException, which breaks class initialization and therefore every conversion. Patch entries are applied by the SRC/EXT/FWD/BWD opcode stream of BinaryPatcher.


layer: emulator
emulator: JL-Mod
system: j2me
name: appcenter.cer
status: bios
in_repo: 1
reason:
Named as an ACRA certificate path only when the crash sender is configured on Android 4.1 through 4.4, where TLSv1.2 is forced. Every other release uses the default socket factory.


layer: emulator
emulator: JL-Mod
system: j2me
name: libc++_shared.so
status: bios
in_repo: 1
reason:
Named ahead of every other native library, in the static initializers of GLESUtils and micro3d Utils, in the M3G toolkit init and in both synthesizer classes.


layer: emulator
emulator: JL-Mod
system: j2me
name: libgles_utils.so
status: bios
in_repo: 1
reason:
Loaded from the static initializer of GLESUtils, so the first blit brings it in. Holds the GLES1 and GLES2 bitmap blits.


layer: emulator
emulator: JL-Mod
system: j2me
name: libjavam3g.so
status: bios
in_repo: 1
reason:
Named by System.loadLibrary outside any catch, the first time the toolkit reports the UI thread available. Built by ndkBuild from the m3g sources against GLES 1.1.


layer: emulator
emulator: JL-Mod
system: j2me
name: liboboe.so
status: bios
in_repo: 1
reason:
Named by both synthesizer classes ahead of their own libraries. Reached only when a sound bank is selected, and SynthPluginFactory catches the load failure and falls back to the Android synthesizer.


layer: emulator
emulator: JL-Mod
system: j2me
name: libmmapi_eas.so
status: bios
in_repo: 1
reason:
Loaded from the static initializer of LibEAS when a sound bank is selected. Links the sonivox wavetable engine statically and reads the bank as a DLS collection. A failure leaves the TinySoundFont plugin or the Android synthesizer.


layer: emulator
emulator: JL-Mod
system: j2me
name: libmmapi_tsf.so
status: bios
in_repo: 1
reason:
Loaded from the static initializer of LibTSF when a sound bank is selected. Reads the bank as a SoundFont and plays standard MIDI files. A failure leaves the EAS plugin or the Android synthesizer.


layer: emulator
emulator: KEGS
system: apple-iigs;apple-ii
name: c600.rom
status: bios
in_repo: 1
reason:
Replaces the built-in PROM. The first 256 bytes are read into slot 6 and a shorter file is rejected.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: M7_EmuSmw7.dll
status: bios
in_repo: 1
reason:
First branch of the MMFPlayer probe, taken only when M7_EmuHw.dll sits beside it and the caller did not pass notMmf. Selects MODE_MA7, the only mode carrying phrase audio tracks. Distributed with the SoftBank MEXA emulator.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: M7_EmuHw.dll
status: bios
in_repo: 1
reason:
Tested for existence next to M7_EmuSmw7.dll; the MA-7 branch is skipped unless both are present. Loaded by the Windows loader as a dependency of the sequencer library, which is the path handed to Native.load.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: M5_EmuSmw5.dll
status: bios
in_repo: 1
reason:
Second branch of the probe, taken when the MA-7 pair is absent or the caller passed notMmf and M5_EmuHw.dll sits beside it. Selects MODE_MA5, whose init walks a 1024-byte allocation to an address ending in 0x81 before calling MaSound_EmuInitialize.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: ma3smwemu.dll
status: bios
in_repo: 1
reason:
Last branch of the probe and the only one satisfied by a single file. Selects MODE_MA3, whose init calls MaSound_Initialize directly. Present in a stock install, so .mmf playback needs nothing from the user on the 32-bit Windows build.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: jsr184client.dll
status: bios
in_repo: 1
reason:
Loaded from the executable's directory by the static initializers of the SWERVE javax.microedition.m3g classes, with a System.loadLibrary fallback on the library path. Reached only when the 3D engine setting is SWERVE, the LWJGL engine being the default.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: java_micro3d_v3_32.dll
status: bios
in_repo: 1
reason:
System.loadLibrary from the static initializers of the com.mascotcapsule.micro3d.v3 classes, reached only when the Mascot Capsule engine setting is DLL. Its import table names micro3d_v3_32.dll.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: amrdecoder.dll
status: bios
in_repo: 1
reason:
System.load on a name composed from os.name and os.arch, resolved against the executable's directory. The 32-bit Windows build asks for amrdecoder.dll unconditionally. A load failure is printed and swallowed.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: s60snr.ttf
status: bios
in_repo: 1
reason:
Read from /res inside the jar the first time a FontAWT is built for the Series 60 face, then cached and derived per style and size.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: presets.xml
status: bios
in_repo: 1
reason:
Devices.load reads the PresetsPath setting, /res/presets.xml by default, as a jar resource and falls back to a disk read when the resource is absent, which is how a user-supplied preset file is picked up.


layer: emulator
emulator: KEmulator nnmod
system: j2me
name: en.txt
status: bios
in_repo: 1
reason:
Read from the lang directory next to the executable at startup and kept as the fallback bundle; the language setting names a sibling in the same directory. Every lookup that misses both bundles falls back to the string built into the call site.


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: title.keys
status: bios
in_repo: 1
reason:
Read beside prod.keys and passed to the same key file reader. Tickets found in a container are imported into the key set at load time, so a title shipping its own ticket does not need an entry here. The importer validates each line as two 32-character hexadecimal fields.


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: console.keys
status: bios
in_repo: 1
reason:
Read beside prod.keys and passed to the same key file reader as the console-specific set. Validated as "name = value" lines like prod.keys.


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: dev.keys
status: bios
in_repo: 1
reason:
Read beside prod.keys and handed to the key file reader as the development set, alongside the production one rather than instead of it. Validated as "name = value" lines.


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: key_retail.bin
status: bios
in_repo: 1
reason:
Read from the system directory under the data root and split into two 80-byte master keys, the data key then the tag key, each being a 16-byte HMAC key, a 14-byte type string, a reserved byte, a magic size byte, 16 magic bytes and a 32-byte XOR pad. Any total other than 160 bytes throws and the scan fails. The desktop window hides its amiibo-from-dump entry when the file is absent. Only the desktop scan path decrypts a dump; the Android slots hand the raw bytes to the tag buffer instead.


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: SDL_GameControllerDB.txt
status: bios
in_repo: 1
reason:
Read from the data root and handed to SDL_AddGamepadMappingsFromFile when the SDL3 driver starts, which happens on the desktop build only. Guarded by an existence test, and SDL carries its own built-in mappings, so a missing file costs only the extra pad definitions.


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: <amiibo>.bin
status: unsourceable
in_repo: 0
reason:
dump of one physical amiibo figure, tied to the tag it was read from and never distributed generically


layer: emulator
emulator: Kenji-NX
system: nintendo-switch
name: <CaCertificateId>.der
status: unsourceable
in_repo: 0
reason:
replacement certificate the user picks for one certificate authority, with no canonical artefact behind the name


layer: emulator
emulator: Lime3DS
system: nintendo-3ds
name: shared_font.bin
status: bios
in_repo: 1
reason:
legacy path, tried after the shared font system archive; decompressed BCFNT with the 0x80 byte APT header


layer: emulator
emulator: Lime3DS
system: nintendo-3ds
name: CTCert.bin
status: bios
in_repo: 1
reason:
console client certificate; signature type must be 0x010005 and the issuer one of the two Nintendo CA G3 strings. The certificate here is assembled from a console OTP: signature and expiry read at 0x44 and 0x20, public key derived from the private key at 0x24 over sect233r1, and the whole body checked against Nintendo's root public key


layer: emulator
emulator: LinApple
system: apple-ii
name: Master.dsk
status: bios
in_repo: 1
reason:
Inserted only when the Slot 6 Autoload preference is off; when it is on, the two configured disk images are loaded instead. Asset_FindMasterDisk prints a warning and returns 255 when no search path holds the file, and the emulator starts with an empty drive. No hash or content check is performed. DoDetect also accepts the discrete sizes 143403 and 143488 for DOS-order images. LinApple and Batocera ship different images under this name, both 143360 bytes.


layer: emulator
emulator: LinApple
system: apple-ii
name: APPLE2E.SYM
status: bios
in_repo: 1
reason:
Preloaded into the Main table when the debugger initialises. Parsed as text lines of address and symbol name, with no size or hash check.


layer: emulator
emulator: LinApple
system: apple-ii
name: A2_BASIC.SYM
status: bios
in_repo: 1
reason:
Preloaded into the Basic table when the debugger initialises. Parsed as text lines of address and symbol name, with no size or hash check.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: libCg2.so
status: bios
in_repo: 1
reason:
Searched at LIBCG_PATH, /app/lib32/libCg2.so, $APP_IMG_ROOT/usr/lib32/ libCg2.so, then ./libCg.so and $LINDBERGH_LOADER_CURRENT_DIR/libCg.so. The loader reads 8 bytes at offset 0x226d84 and requires exactly "2.0.0.12"; a missing file, a different version string or a failed dlopen of cgCreateContext, cgCreateProgram, cgGetProgramString, cgDestroyContext or cgDestroyProgram each call exit(EXIT_FAILURE). Upstream vendors the build as libs/libCg.so and both installers rename it to libCg2.so so it can sit beside the Cg 3.1 library of the same original name that the games link.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: libCgGL.so
status: bios
in_repo: 1
reason:
Resolved by the dynamic linker for the game ELF through the LD_LIBRARY_PATH the launcher builds, not opened by loader code. Upstream takes it from Cg-3.1_April2012_x86.tgz and ships it in libs/Cg-3.1.zip. Game dumps generally carry their own copy in the game directory, so the Batocera generator only writes one when the file is absent or differs.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: libCg.so
status: bios
in_repo: 1
reason:
Same origin and mechanism as libCgGL.so, and a different build from the 2.0.0.12 library the shader recompiler loads. Batocera keeps the two Cg generations apart as libCg.so.harley and libCg.so.other and copies the matching pair into the ROM directory per game, overwriting the dump's own copy for the titles where it renders shadows and textures incorrectly.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: libcrypto.so.0.9.7
status: bios
in_repo: 1
reason:
Vendored as libs/libcrypto.so.0.9.7 and installed into the runtime library directory by both the AppImage and Flatpak builds. Resolved by the dynamic linker for the game ELF.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: libopenal.so.0
status: bios
in_repo: 1
reason:
When the ELF is q2satl_lind the launcher looks the file up through findPreloadLibrary and appends it to LD_PRELOAD. Absence prints "You might not get sound because libopenal.so.0 was not found" and the game still runs. Vendored as libs/libopenal.so.0.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: logo.tga
status: bios
in_repo: 1
reason:
Read from the game directory only when DISABLE_BUILTIN_LOGOS is set. Otherwise the logoLL array in resources/logo.h answers the read.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: logo_red.tga
status: bios
in_repo: 1
reason:
Read from the game directory only when DISABLE_BUILTIN_LOGOS is set. Otherwise the logoLLRed array in resources/logo.h answers the read.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: SEGA_KakuGothic-DB-Roman_12.tga
status: missing
in_repo: 0
reason:
Read from the game directory only when DISABLE_BUILTIN_FONT is set. The built-in is one shared 128x256 atlas (fontTGA) and one metrics table (fontABC) answering all four font paths, so it substitutes for the Sega originals rather than reproducing either of them. The .abc is the metrics sidecar of the .tga atlas, named for the GDI ABC width triple. Header of 28 bytes: renderOffset, renderHeight, atlas width, atlas height, lineHeight, then firstSymbol and lastSymbol as uint16 and a uint32 symbol count; then one 24-byte record per glyph, four float32 giving the normalised UV rectangle followed by leftMargin, width, rightMargin and a pad as uint16. Field names come from JayFoxRox/lindbergh-tools Utilities/src/font.c, written against a real LucidaConsole_12.abc rather than against this substitute. The built-in itself is Liberation Mono Bold rasterised at 18 px: 95 of its 96 glyphs are byte-identical to that rendering, cropped at the UV rectangles its own metrics declare. Liberation carries a 2010 and 2012 digitisation copyright, so it cannot be a 2005 Sega asset. Otherwise the fontTGA array in resources/font.h answers the read.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: SEGA_KakuGothic-DB-Roman_12.abc
status: missing
in_repo: 0
reason:
Read from the game directory only when DISABLE_BUILTIN_FONT is set. The built-in is one shared 128x256 atlas (fontTGA) and one metrics table (fontABC) answering all four font paths, so it substitutes for the Sega originals rather than reproducing either of them. The .abc is the metrics sidecar of the .tga atlas, named for the GDI ABC width triple. Header of 28 bytes: renderOffset, renderHeight, atlas width, atlas height, lineHeight, then firstSymbol and lastSymbol as uint16 and a uint32 symbol count; then one 24-byte record per glyph, four float32 giving the normalised UV rectangle followed by leftMargin, width, rightMargin and a pad as uint16. Field names come from JayFoxRox/lindbergh-tools Utilities/src/font.c, written against a real LucidaConsole_12.abc rather than against this substitute. The built-in itself is Liberation Mono Bold rasterised at 18 px: 95 of its 96 glyphs are byte-identical to that rendering, cropped at the UV rectangles its own metrics declare. Liberation carries a 2010 and 2012 digitisation copyright, so it cannot be a 2005 Sega asset. Otherwise the fontABC array in resources/font.h answers the read, with ftell returning fontABClen.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: LucidaConsole_12.abc
status: missing
in_repo: 0
reason:
Read from the game directory only when DISABLE_BUILTIN_FONT is set. The built-in is one shared 128x256 atlas (fontTGA) and one metrics table (fontABC) answering all four font paths, so it substitutes for the Sega originals rather than reproducing either of them. The .abc is the metrics sidecar of the .tga atlas, named for the GDI ABC width triple. Header of 28 bytes: renderOffset, renderHeight, atlas width, atlas height, lineHeight, then firstSymbol and lastSymbol as uint16 and a uint32 symbol count; then one 24-byte record per glyph, four float32 giving the normalised UV rectangle followed by leftMargin, width, rightMargin and a pad as uint16. Field names come from JayFoxRox/lindbergh-tools Utilities/src/font.c, written against a real LucidaConsole_12.abc rather than against this substitute. The built-in itself is Liberation Mono Bold rasterised at 18 px: 95 of its 96 glyphs are byte-identical to that rendering, cropped at the UV rectangles its own metrics declare. Liberation carries a 2010 and 2012 digitisation copyright, so it cannot be a 2005 Sega asset. Otherwise the fontABC array in resources/font.h answers the read.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: gamecontrollerdb.txt
status: bios
in_repo: 1
reason:
Loaded from the path given by -d or --controllerdb, passed through the LINDBERGH_CONTROLS_DB_PATH environment variable. The built-in mappings in gameControllerMappings.c load first and remain when no file is supplied.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: segaboot
status: unsourceable
in_repo: 0
reason:
Lives at /usr/sbin/segaboot on the board's hard disk, which no dump project covers. The /usr partition images that circulate are encrypted and no key is public.


layer: emulator
emulator: Lindbergh Loader
system: sega-lindbergh
name: lindbergrc
status: unsourceable
in_repo: 0
reason:
/root is a symlink to /usr/local/root, so the file sits on the same unpreserved hard-disk partition as segaboot. Nothing canonical exists to reproduce either: every key is a site or unit specific development setting, and a stock production machine ships no lindbergrc at all.


layer: emulator
emulator: MAME
name: trs80l2.zip
status: bios
in_repo: 1
reason:
TRS-80 Model I Level II Basic (1978). Separate parent machine from trs80 (Level I).
2 BIOS variants: Radio Shack Level II and R/S L2 (alternate dumps).
MACHINE_NOT_WORKING.


layer: emulator
emulator: MAME
name: eg3003.zip
status: bios
in_repo: 1
reason:
EACA Video Genie EG3003 (1980). TRS-80 Level II compatible clone.
Parent for sys80/sys80p/ht1080z/ht1080z2/ht108064 clones.
MACHINE_NOT_WORKING.


layer: emulator
emulator: MAME 2003
name: cheat.dat
status: bios
in_repo: 1
reason: cheat definitions, requires cheats core option enabled
system:
snk-neogeo-mvs;snk-neogeo-aes;igs-pgm;sega-stv;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;super-kaneko-nova;konami-gx;century-cvs;zn1-capcom;zn2-capcom;zn1-taito;zn1-tecmo;zn1-video-system;zn1-acclaim


layer: emulator
emulator: MAME 2003-Plus
name: cheat.dat
status: bios
in_repo: 1
reason: cheat definitions, requires cheats core option enabled
system:
snk-neogeo-mvs;snk-neogeo-aes;igs-pgm;sega-stv;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;super-kaneko-nova;konami-gx;zn1-capcom;zn2-capcom;zn1-taito;zn1-tecmo;zn1-video-system;zn1-acclaim;zn1-atlus;century-cvs


layer: emulator
emulator: MAME 2009
name: sys573.zip
status: bios
in_repo: 1
system:
snk-neogeo-mvs;snk-neogeo-aes;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;sega-hikaru;sega-chihiro;sega-triforce;deco-cassette;nintendo-playch10;nintendo-nss;sega-megaplay;sega-megatech;super-kaneko-nova;konami-gx;konami-gv;namco-system246;namco-system256;namco-system573;konami-viper


layer: emulator
emulator: MAME 2010
name: cheat.zip
status: bios
in_repo: 1
reason: per-game XML cheat files in ZIP, cheatpath never initialized in libretro port (non-functional)
system:
snk-neogeo-mvs;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sega-stv;sega-hikaru;sega-chihiro;sega-triforce;sega-model2;commodore-cd32;philips-cdi;deco-cassette;nintendo-playch10;sega-megaplay;sega-megatech;nintendo-sfcbox;nintendo-nss;snk-neogeo-aes;sammy-atomiswave;taito-type-x;namco-system246;namco-system256;namco-system573;konami-viper;cave-cv1000


layer: emulator
emulator: MAME 2015
name: sys573.zip
status: bios
in_repo: 1
system:
snk-neogeo-mvs;snk-neogeo-aes;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;sega-lindbergh;sega-hikaru;sega-chihiro;sega-triforce;deco-cassette;nintendo-playch10;sega-megaplay;sega-megatech;nintendo-sfcbox;nintendo-nss;philips-cdi;commodore-cubo;namco-system246;namco-system256;namco-system573;konami-viper;taito-gnet;super-kaneko-nova;capcom-zn1;capcom-zn2;konami-gv;panasonic-3do;hyper-neogeo64;konami-twinkle


layer: emulator
emulator: MAME4droid (0.139u1)
name: cheat.zip
status: bios
in_repo: 1
system:
arcade;snk-neogeo-mvs;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;sega-hikaru;sega-chihiro;sega-triforce;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;nintendo-sfcbox;nintendo-aleck64;philips-cdi;commodore-cubo;namco-system246;namco-system256;namco-system573;konami-gx;konami-gv;konami-viper;konami-twinkle;capcom-zn1;capcom-zn2;taito-fx1;taito-gnet;acclaim-zn1;atari-zn1;atlus-zn1;videosystem-zn1;eighting-zn1;tecmo-tps;super-kaneko-nova;hyper-neogeo64;imax-macs;arcadia-systems;alg-laserdisc;atari-system1;exidy-maxaflex;brezzasoft-crystal;ces-galaxy-games

reason:
cheat_list_load opens cheat/<gamename>.xml and fopen_attempt_zipped rewrites the directory component to cheat.zip. Loaded when the cheat setting is on. Seeded from the package assets on first run; the hash identifies that drop, the engine reads members without checking the container.


layer: emulator
emulator: MAME4droid (0.139u1)
name: Category.ini
status: bios
in_repo: 1
system:
arcade;snk-neogeo-mvs;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;sega-hikaru;sega-chihiro;sega-triforce;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;nintendo-sfcbox;nintendo-aleck64;philips-cdi;commodore-cubo;namco-system246;namco-system256;namco-system573;konami-gx;konami-gv;konami-viper;konami-twinkle;capcom-zn1;capcom-zn2;taito-fx1;taito-gnet;acclaim-zn1;atari-zn1;atlus-zn1;videosystem-zn1;eighting-zn1;tecmo-tps;super-kaneko-nova;hyper-neogeo64;imax-macs;arcadia-systems;alg-laserdisc;atari-system1;exidy-maxaflex;brezzasoft-crystal;ces-galaxy-games

reason:
Read from the installation root with a plain fopen the first time the category filter is used, then sorted for binary search. Seeded from the package assets on first run; the hash identifies that drop, the reader checks nothing.


layer: emulator
emulator: MAME4droid (0.139u1)
name: ui.bdf
status: missing
in_repo: 0
system:
arcade;snk-neogeo-mvs;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;sega-hikaru;sega-chihiro;sega-triforce;sega-megaplay;sega-megatech;deco-cassette;nintendo-playch10;nintendo-nss;nintendo-sfcbox;nintendo-aleck64;philips-cdi;commodore-cubo;namco-system246;namco-system256;namco-system573;konami-gx;konami-gv;konami-viper;konami-twinkle;capcom-zn1;capcom-zn2;taito-fx1;taito-gnet;acclaim-zn1;atari-zn1;atlus-zn1;videosystem-zn1;eighting-zn1;tecmo-tps;super-kaneko-nova;hyper-neogeo64;imax-macs;arcadia-systems;alg-laserdisc;atari-system1;exidy-maxaflex;brezzasoft-crystal;ces-galaxy-games

reason:
Opened from fontpath, which defaults to the installation root. A miss falls back to the font compiled into the binary. A successful load writes a ui.bdc cache next to it.


layer: emulator
emulator: MAME4droid (0.139u1)
name: cross1.png
status: missing
in_repo: 0
reason:
create_bitmap looks in crosshair/<gamename>/ first, then crosshair/, and falls back to the bitmap compiled into the binary. Loaded only for players whose input has a crosshair axis.


layer: emulator
emulator: MAME4droid (0.139u1)
name: mac2bios.zip
status: bios
in_repo: 1
reason:
Both ROMs, macs2os_l.bin and macs2os_h.bin, are NO_DUMP, so handle_missing_file counts a warning rather than an error and the machine runs. Nothing exists to collect.


layer: emulator
emulator: MAME4droid 2024
name: unifont.bdf
status: bios
in_repo: 1
system:
arcade;acclaim-zn1;alg-laserdisc;allied-leisure-pinball;andamiro-pumpitup;arcadia-systems;aristocrat-mk5;aristocrat-mk6;aristocrat-mk7;atari-system1;atari-zn1;atlus-zn1;barcrest-mpu4;brezzasoft-crystal;capcom-zn1;capcom-zn2;ces-galaxy-games;commodore-cubo;deco-cassette;efo-cedar-magnet;eighting-zn1;exidy-maxaflex;gameplan-mpu1;gottlieb-system1;hyper-neogeo64;igs-pgm;imax-macs;itech-eagle;konami-bubblesystem;konami-endeavour;konami-gv;konami-gx;konami-python;konami-python2;konami-twinkle;konami-viper;miuchiz;namco-system246;namco-system256;namco-system573;nichibutsu-hrdvd;nintendo-aleck64;nintendo-nss;nintendo-playch10;nintendo-sfcbox;panasonic-3do;pce-tourvision;philips-cdi;recel-system3;sammy-atomiswave;sammy-medal;sega-chihiro;sega-hikaru;sega-isgsm;sega-lindbergh;sega-megaplay;sega-megatech;sega-naomi;sega-naomi2;sega-naomigd;sega-shootingzone;sega-stv;sega-systemsp;sega-triforce;sielectronics-y2;snk-neogeo-mvs;super-kaneko-nova;tab-silverball;taito-fx1;taito-gnet;taito-typezero;tecmo-tps;videosystem-zn1;virtuality-su2000

reason:
Passed as -uifont when the language is Chinese, Japanese or Korean on the low-resolution OSD, or when the unifont setting is on. render_font opens it from fontpath, which defaults to the installation root; a miss falls back to the font compiled into the binary. Seeded from the package assets on first run; the hash identifies that drop, the loader checks nothing.


layer: emulator
emulator: MAME4droid 2024
name: uismall.bdf
status: bios
in_repo: 1
system:
arcade;acclaim-zn1;alg-laserdisc;allied-leisure-pinball;andamiro-pumpitup;arcadia-systems;aristocrat-mk5;aristocrat-mk6;aristocrat-mk7;atari-system1;atari-zn1;atlus-zn1;barcrest-mpu4;brezzasoft-crystal;capcom-zn1;capcom-zn2;ces-galaxy-games;commodore-cubo;deco-cassette;efo-cedar-magnet;eighting-zn1;exidy-maxaflex;gameplan-mpu1;gottlieb-system1;hyper-neogeo64;igs-pgm;imax-macs;itech-eagle;konami-bubblesystem;konami-endeavour;konami-gv;konami-gx;konami-python;konami-python2;konami-twinkle;konami-viper;miuchiz;namco-system246;namco-system256;namco-system573;nichibutsu-hrdvd;nintendo-aleck64;nintendo-nss;nintendo-playch10;nintendo-sfcbox;panasonic-3do;pce-tourvision;philips-cdi;recel-system3;sammy-atomiswave;sammy-medal;sega-chihiro;sega-hikaru;sega-isgsm;sega-lindbergh;sega-megaplay;sega-megatech;sega-naomi;sega-naomi2;sega-naomigd;sega-shootingzone;sega-stv;sega-systemsp;sega-triforce;sielectronics-y2;snk-neogeo-mvs;super-kaneko-nova;tab-silverball;taito-fx1;taito-gnet;taito-typezero;tecmo-tps;videosystem-zn1;virtuality-su2000

reason:
Passed as -uifont for the low-resolution OSD in a Latin language. Same content as MAME 0.289's uismall.bdf, with CRLF line endings. The identical font is also compiled into the binary as the last fallback.


layer: emulator
emulator: MAME4droid 2024
name: history.db
status: bios
in_repo: 1
system:
arcade;acclaim-zn1;alg-laserdisc;allied-leisure-pinball;andamiro-pumpitup;arcadia-systems;aristocrat-mk5;aristocrat-mk6;aristocrat-mk7;atari-system1;atari-zn1;atlus-zn1;barcrest-mpu4;brezzasoft-crystal;capcom-zn1;capcom-zn2;ces-galaxy-games;commodore-cubo;deco-cassette;efo-cedar-magnet;eighting-zn1;exidy-maxaflex;gameplan-mpu1;gottlieb-system1;hyper-neogeo64;igs-pgm;imax-macs;itech-eagle;konami-bubblesystem;konami-endeavour;konami-gv;konami-gx;konami-python;konami-python2;konami-twinkle;konami-viper;miuchiz;namco-system246;namco-system256;namco-system573;nichibutsu-hrdvd;nintendo-aleck64;nintendo-nss;nintendo-playch10;nintendo-sfcbox;panasonic-3do;pce-tourvision;philips-cdi;recel-system3;sammy-atomiswave;sammy-medal;sega-chihiro;sega-hikaru;sega-isgsm;sega-lindbergh;sega-megaplay;sega-megatech;sega-naomi;sega-naomi2;sega-naomigd;sega-shootingzone;sega-stv;sega-systemsp;sega-triforce;sielectronics-y2;snk-neogeo-mvs;super-kaneko-nova;tab-silverball;taito-fx1;taito-gnet;taito-typezero;tecmo-tps;videosystem-zn1;virtuality-su2000

reason:
The data plugin opens homepath/data/history.db, homepath defaulting to the installation root, and creates it when absent. Each info file is imported once and then read from the database, so the plugin needs no dat file next to it: this drop carries history.xml 2.88d, mameinfo.dat 0.290GIT, command.dat 0.273, gameinit.dat v0.250 and messinfo.dat. The plugin autostarts, its plugin.json declaring start true.


layer: emulator
emulator: MAME4droid 2024
name: cheat.7z
status: bios
in_repo: 1
reason:
cheat_manager::load_cheats opens <basename>.xml over cheatpath, which defaults to cheat, and emu_file's archive fallback rewrites the directory component to cheat.7z or cheat.zip before looking inside. It runs when -cheat is on, which the app passes from its cheats setting; the Lua cheat plugin reads the same collection when it is enabled. The collection distributed with it dates itself 03 April 2024, base release for MAME 0.264.


layer: emulator
emulator: MAME4droid 2024
name: boot.lua
status: bios
in_repo: 1
reason:
Opened by name from pluginspath after the plugin directories are scanned. Without it no plugin runs, so hiscore, autofire, inputmacro and data stay silent; the emulator itself is unaffected. A script that is present but fails to load is fatal.


layer: emulator
emulator: MAME4droid 2024
name: shaders.cfg
status: bios
in_repo: 1
reason:
load_filters reads it from the installation root and opens each shader it lists under shaders/. A missing file means no effect shaders; a listed shader that cannot be opened raises. 53 of the 65 shipped shaders are loaded: ten more are commented out, and stock.glsl and vector_halo-fringe - copia.glsl are named nowhere.


layer: emulator
emulator: MAME4droid 2024
name: cross1.png
status: missing
in_repo: 0
reason:
create_bitmap looks for the name set on the input, then crosshair/<gamename>/cross<N>.png, then crosshair/cross<N>.png, and falls back to the bitmap compiled into the binary. crosshair_manager builds one per player and MAX_PLAYERS is 10. No crosshair directory ships with the app.


layer: emulator
emulator: MAME4droid 2024
name: mac2bios.zip
status: bios
in_repo: 1
reason:
Both halves of the BIOS, macs2os_l.bin and macs2os_h.bin, are NO_DUMP, so handle_missing_file counts them as known-bad rather than errors and the machine still runs.


layer: emulator
emulator: MAME Arcade
name: sys573.zip
status: bios
in_repo: 1
system:
snk-neogeo-mvs;igs-pgm;sega-naomi;sega-naomi2;sega-naomigd;sammy-atomiswave;sega-stv;deco-cassette;nintendo-playch10;sega-megaplay;sega-megatech;nintendo-nss;philips-cdi;commodore-cubo;namco-system573;konami-viper;super-kaneko-nova;capcom-zn1;capcom-zn2;konami-gv;konami-twinkle;konami-bubble-system;konami-gx;hyper-neogeo64;sammy-medal;sega-isgsm;nintendo-aleck64;taito-fx1;taito-gnet;acclaim-zn1;atari-zn1;atlus-zn1;videosystem-zn1;eighting-zn1;tecmo-tps;imax-macs;arcadia-systems;atari-system1;exidy-maxaflex;brezzasoft-crystal;ces-galaxy-games;efo-cedar-magnet;itech-eagle;andamiro-pumpitup


layer: emulator
emulator: MAME MESS
name: ekara.zip
status: bios
in_repo: 1
system:
apple2;apple2gs;astrocde;astrocade;coleco-adam;crvision;entex-advision;bandai-rx78;mattel-aquarius;camplynx;cgenie;atom;tiger-game-com;gamepark-gp32;gamate;gamepock;hartung-game-master;fm7;laser310;vtech-socrates;casio-loopy;casio-pv2000;mz700;mz2000;mz2500;mz800;pc60;mz80k;pegasus;supracan;ti99;interton-vc4000;tandy-vis;trs80


layer: emulator
emulator: Mandarine
system: nintendo-3ds
name: SecureInfo_A
status: bios
in_repo: 1
reason:
console region and serial number; loaded on a size check alone, and paired with LocalFriendCodeSeed_B


layer: emulator
emulator: Mariani
system: apple-ii
name: Apple2_Plus.rom
status: bios
in_repo: 1
reason:
Also read on an original Apple II with a language card in slot 0, where MemInitializeCustomF8ROM copies its last 2 KB over the autostart F8 area.


layer: emulator
emulator: Mariani
system: apple-ii
name: Freezes_Non-autostart_F8_Rom.rom
status: bios
in_repo: 1
reason:
MemInitializeCustomF8ROM copies it over $F800 to $FFFF when the configuration value "The Freeze's F8 Rom" is set and the machine is an Apple II. The application bundle does not ship it, so it has to be placed in Contents/Resources, the only directory PathToResourceNamed searches.


layer: emulator
emulator: Mariani
system: apple-ii
name: Apple2e_Enhanced_Video.rom
status: bios
in_repo: 1
reason:
Read on every start. The original //e set is derived from it by putting the non-alt characters back over the 32 mousetext slots.


layer: emulator
emulator: Mariani
system: apple-ii
name: CHARSET82.bmp
status: bios
in_repo: 1
reason:
Read through GetBitmap on every start, decoded with ImageIO and packed eight pixels to the octet. No size check: the copy stops at the shorter of the image and the requested buffer.


layer: emulator
emulator: Mariani
system: apple-ii
name: DISK2.rom
status: bios
in_repo: 1
reason:
Read when the Disk II card initialises, which is slot 6 by default. Both firmware images are read up front and the one installed at $C600 follows the boot sector format of the inserted image.


layer: emulator
emulator: Mariani
system: apple-ii
name: SSC.rom
status: bios
in_repo: 1
reason:
Read when the card initialises, slot 2 by default. The 256 bytes at offset 0x700 go to the slot ROM and the whole 2 KB stays as expansion ROM.


layer: emulator
emulator: Mariani
system: apple-ii
name: HDC-SmartPort.bin
status: bios
in_repo: 1
reason:
Default firmware of the hard disk card, which no slot holds until the user adds it. Block mode and drive count are patched into the copy afterwards.


layer: emulator
emulator: Mariani
system: apple-ii
name: Hddrvr.bin
status: bios
in_repo: 1
reason:
Selected over the SmartPort firmware when a save state carries a hard disk card older than version 4.


layer: emulator
emulator: Mariani
system: apple-ii
name: Hddrvr-v2.bin
status: bios
in_repo: 1
reason:
Selected when a save state carries hard disk card version 4. The application bundle does not ship it, so it has to be placed in Contents/Resources for that state to restore.


layer: emulator
emulator: Mariani
system: apple-ii
name: APPLE2E.SYM
status: bios
in_repo: 1
reason:
Preloaded into the Main table when the emulator starts. Read from the support directory first, then from the bundle. Parsed as lines of address and name, with no size or hash check.


layer: emulator
emulator: Mariani
system: apple-ii
name: A2_DOS33.SYM2
status: bios
in_repo: 1
reason:
Preloaded into the DOS33 table when the emulator starts. The .SYM2 extension routes it through the debugger script reader instead of the symbol parser, so it is only read from the support directory. The application bundle does not ship it.


layer: emulator
emulator: Mariani
system: apple-ii
name: PrintChar21.ttf
status: bios
in_repo: 1
reason:
Registered from the resource folder by ATSApplicationFontsPath and asked for by family name. CharacterMappings maps Apple II character values to its codepoints.


layer: emulator
emulator: MasterGear
system: sega-mastersystem;sega-gamegear;sega-sg1000;sega-sc3000;sega-sf7000
name: SF7000.ROM
status: bios
in_repo: 1
reason:
Loaded whenever the hardware becomes SF7000, and the only fixed ROM name in the binary. A failed open drops the emulator back to the previous hardware, which makes every disk image refuse to mount. The loader checks neither length nor contents, so the documented 8kB image is padded to 16kB with FFh and no hash is compared. Opened by bare name, so it resolves against the working directory and, on Android, against the home directory as well, and a gzipped copy answers too.


layer: emulator
emulator: MasterGear
system: sega-mastersystem;sega-gamegear;sega-sg1000;sega-sc3000;sega-sf7000
name: MasterGear-Cheats.zip
status: bios
in_repo: 1
reason:
The Android build ships no cheat set. Cheatopedia looks for ROOT.chts in the package assets, then in the home directory and its subdirectories, and takes it from this archive in the Downloads directory, unpacking it into <HomeDir>/Cheats when it is newer. The author publishes it at fms.komkon.org/EmuAndroid/ and the copy read here carries ROOT.chts plus crystal-warriors-gg, dragon-crystal, gamegear, phantasy-star and ultima. No hash is recorded because the archive is refreshed in place at that address.


layer: emulator
emulator: MasterGear
system: sega-mastersystem;sega-gamegear;sega-sg1000;sega-sc3000;sega-sf7000
name: Controls.png
status: bios
in_repo: 1
reason:
Read as <HomeDir>/Controls.png when the joystick shape is set to Custom Skin, and by the layout editor. The author publishes a 320x276 template at fms.komkon.org/EmuAndroid/Controls.png to draw over.


layer: emulator
emulator: Mednafen
name: apple2e.rom
status: bios
in_repo: 1
reason: Loaded unconditionally when apple2.model is iie. Read as 0x4000 bytes at $C000.
system:
apple-ii;apple-iie;atari-lynx;bandai-wswan;bandai-wswanc;nec-pc-engine;nec-pc-engine-cd;nec-pcfx;nec-supergrafx;nintendo-fds;nintendo-gb;nintendo-gbc;nintendo-gba;nintendo-nes;nintendo-snes;nintendo-virtualboy;sega-gamegear;sega-mastersystem;sega-megacd;sega-megadrive;sega-saturn;sega-stv;snk-ngp;snk-ngpc;sony-playstation


layer: emulator
emulator: Mednafen
name: apple2e-video.rom
status: bios
in_repo: 1
system:
apple-ii;apple-iie;atari-lynx;bandai-wswan;bandai-wswanc;nec-pc-engine;nec-pc-engine-cd;nec-pcfx;nec-supergrafx;nintendo-fds;nintendo-gb;nintendo-gbc;nintendo-gba;nintendo-nes;nintendo-snes;nintendo-virtualboy;sega-gamegear;sega-mastersystem;sega-megacd;sega-megadrive;sega-saturn;sega-stv;snk-ngp;snk-ngpc;sony-playstation

reason:
Loading aborts on sha256 0d54ff735c060c55d54b8a22d0112af78a6465ce9c9aae4a865d207e5c8ff1e7, a known bad dump (apple2.cpp:2319-2320). No positive hash check.


layer: emulator
emulator: Mednafen
name: gg.rom
status: bios
in_repo: 1
reason:
Loaded only when nes.gg is enabled; that setting defaults to 0. Path comes from nes.ggrom. A raw image is read as 4352 contiguous bytes. An iNES image takes 4096 bytes of PRG after the 16-byte header, then 256 bytes of CHR at offset 16400, so it needs at least 16656 bytes. The image here is the raw form: the 4096 byte Game Genie PRG, crc 1a3a22a1, followed by the first 256 bytes of its CHR, both from the MAME ggenie set.


layer: emulator
emulator: Mednafen
name: FX-SCSI ROM
status: missing
in_repo: 0
reason:
Path comes from pcfx.fxscsi, which defaults to "0" and is skipped for the values 0, none and the empty string. Mednafen names no default file and opens the path with a bare FileStream, so it is not resolved under the firmware directory. Marked developer-only upstream. 524288 bytes are read and mapped at 0x80780000.


layer: emulator
emulator: Mednafen
name: epr-20091.ic8
status: bios
in_repo: 1
reason:
Default of ss.bios_stv_jp. ST-V dumps are absent from the sanity table, so only the 524288-byte size is enforced. Loaded byte-swapped the other way round from a Saturn BIOS (ss.cpp:1495-1499).


layer: emulator
emulator: Mednafen
name: satar4mp.bin
status: bios
in_repo: 1
reason:
Default of ss.cart.satar4mp_path. 0x40000 bytes are read into the flash array and byte-swapped. The setting is hidden from the documentation and the cart is marked unfinished upstream, pending CPU UBC emulation (ar4mp.cpp:22-24).


layer: emulator
emulator: Mednafen
name: us_scd1_9210.bin
status: bios
in_repo: 1
reason:
Default of md.cdbios. LoadCD is wired into the module and reaches MDCD_Init, which throws unless the file is exactly 131072 bytes. The setting's own help text states that Sega CD emulation is currently nonfunctional.


layer: emulator
emulator: Mednafen
name: GBA BIOS ROM image
status: missing
in_repo: 0
reason:
Path comes from gba.bios, which defaults to the empty string and is skipped for the values 0, none and the empty string, so Mednafen names no default file. When set, the file must be exactly 16384 bytes. Otherwise the built-in HLE BIOS myROM is used, and the setting is ignored outright for GSF playback.


layer: emulator
emulator: Mesen
system: nintendo-nes;nintendo-fds
name: StudyBox.bin
status: bios
in_repo: 1
reason:
256 KB BIOS for the Study Box tape peripheral (mapper 186). Only needed for .stbx tape dumps. Size must be exactly 262144 bytes.


layer: emulator
emulator: Mesen
system: nintendo-nes;nintendo-fds
name: MesenPalette.pal
status: bios
in_repo: 1
reason:
Accepts 192 bytes (64 RGB triplets) or 1536 bytes (512 emphasis combos). Falls back to built-in default if size doesn't match.


layer: emulator
emulator: MesenCE
name: dsp1.rom
status: missing
in_repo: 0
system:
nintendo-nes;nintendo-fds;nintendo-snes;nintendo-satellaview;nintendo-sufami-turbo;nintendo-super-game-boy;nintendo-gb;nintendo-gbc;nintendo-gba;nec-pc-engine;nec-pc-engine-cd;nec-supergrafx;sega-mastersystem;sega-gamegear;sega-sg1000;coleco-colecovision;bandai-wswan;bandai-wswanc;pocket-challenge-v2

reason:
DSP-1 program+data (0x1800+0x800). Split pair dsp1.program.rom + dsp1.data.rom also accepted. Not needed when the game dump embeds the firmware.


layer: emulator
emulator: MesenCE
name: st010.rom
status: missing
in_repo: 0
reason:
ST010 (F1 ROC II) program+data (0xC000+0x1000). Split pair st010.program.rom + st010.data.rom also accepted.


layer: emulator
emulator: MesenCE
name: st011.rom
status: missing
in_repo: 0
reason:
ST011 (Hayazashi Nidan Morita Shogi) program+data. Split pair st011.program.rom + st011.data.rom also accepted.


layer: emulator
emulator: MesenCE
name: st018.rom
status: missing
in_repo: 0
reason:
ST018 ARM coprocessor (Hayazashi Nidan Morita Shogi 2). Missing file leaves the coprocessor ROMs zero-filled.


layer: emulator
emulator: MesenCE
name: StudyBox.bin
status: bios
in_repo: 1
reason:
Famicom Study Box BIOS, mandatory for .studybox tape dumps only. When missing, the BIOS region is zero-filled.


layer: emulator
emulator: MesenCE
name: ymf288_adpcm_rom.bin
status: bios
in_repo: 1
reason:
YMF288 ADPCM rhythm ROM for EPSM expansion audio (NES 2.0 header flag). Without it, EPSM sound is incorrect.


layer: emulator
emulator: MesenCE
name: lh5323m1.bin
status: bios
in_repo: 1
reason:
Famicom Network System kanji ROM. Read without size validation; a zero-filled 256 KB buffer is used when absent.


layer: emulator
emulator: MesenCE
name: MesenNesDB.txt
status: bios
in_repo: 1
reason:
NES game database for mapper and input detection, read from the home folder root. Deployed automatically from the application's embedded Dependencies.zip.


layer: emulator
emulator: MesenCE
name: [BIOS] Games Express CD Card (Japan).pce
status: bios
in_repo: 1
reason:
Games Express CD card, mandatory for Games Express discs (auto-detected by sector signature). Exactly 0x8000 or 0x4000 bytes accepted.


layer: emulator
emulator: MesenCE
name: bootrom_sc.wsc
status: bios
in_repo: 1
reason:
SwanCrystal boot ROM. Loaded only when the UseBootRom setting is enabled and the SwanCrystal model is selected.


layer: emulator
emulator: MesenCE
name: BSX0120-0.bin
status: bios
in_repo: 1
reason:
Satellaview data stream for channel 0120 (time channel). Deployed automatically from the application's embedded Dependencies.zip; user replacements are preserved.


layer: emulator
emulator: MFME
system: fruitmachine
name: PacDrive32.dll
status: bios
in_repo: 1
reason:
Listed in the MFME.exe import descriptors, so the Windows loader resolves it at process start and MFME does not launch when it is absent from the application directory. Drives real cabinet lamps, hoppers and meters through Ultimarc boards; v20.0 updated the library and added PacLed64 and UltimateIO support.


layer: emulator
emulator: MFME
system: fruitmachine
name: LITHOGRB.TTF
status: bios
in_repo: 1
reason:
v19.0 moved font loading from installed system fonts to the Fonts folder where MFME is located. Layouts store a font family name, not a file: the decoded layout stream names Lithograph. A layout whose font is missing shows the name in red in the properties screen and renders with a substitute.


layer: emulator
emulator: MFME
system: fruitmachine
name: ReelGradientMask.bmp
status: bios
in_repo: 1
reason:
Used when the Default option is chosen for the mask in the reel properties window. A custom mask stored in the layout replaces it.


layer: emulator
emulator: MFME
system: fruitmachine
name: HopperMotor1.wav
status: bios
in_repo: 1
reason:
Cabinet specific copies ship under DefaultSounds/Custom/ for ADDER5/Eclipse, EPOCH/Elegance, MPU4/Genesis, MPU5/Genesis, SCORPION4/Eclipse and SCORPION5/Eclipse.


layer: emulator
emulator: MFME
system: fruitmachine
name: Stepper.wav
status: bios
in_repo: 1
reason:
Shipped only as tech copies under DefaultSounds/Custom/ for ELECTROCOIN, MPS2, SRU and SYSTEM80, and as stepper.wav for M1AB. Reel effects were extended to Maygay M1a and made available to other techs in v20.0.


layer: emulator
emulator: Mupen64Plus-Next
system: nintendo-64;nintendo-64dd
name: font.ttf
status: bios
in_repo: 1
reason:
Fallback font for OSD text rendering (FPS counter, messages). System fonts tried first. No impact on emulation.


layer: emulator
emulator: My Boy!
system: nintendo-gba
name: rom_config.ini
status: bios
in_repo: 1
reason:
Opened from the application assets when a game starts and read as the section named by its four character code. Save type, flash size, mirroring, sprite limit, cpu core and the timing hacks become console options, and the addon key arms the solar, tilt, gyroscope and rumble sensors. Byte identical in 1.8.0 and 2.0.3.


layer: emulator
emulator: NEO.emu
system: snk-neogeo-mvs;snk-neogeo-aes
name: gngeo_data.zip
status: bios
in_repo: 1
reason:
Holds rom/<set>.drv for 240 sets plus rom/cmc42.xor and rom/cmc50.xor. A definition is read before anything else and a miss ends the load with "This game isn't recognized". On Android the members are read as assets through the asset manager; elsewhere they are read from this archive at the executable's own directory.


layer: emulator
emulator: Nesoid
system: nintendo-nes;nintendo-fds
name: gg.rom
status: bios
in_repo: 1
reason:
Read only while the Enable Game Genie switch is on and a path is set, through a picker listing names ending .nes, .rom or .bin. The first 16 bytes decide the format: a leading 0x4E is taken as an iNES image, from which 4096 bytes of program ROM are read, then 256 bytes of character ROM 16 KB further in, so such a file needs at least 16656 bytes; anything else is read as a raw 4352 byte image. A failed open or a short read leaves the Game Genie off and the content still runs. No hash is compared.


layer: emulator
emulator: Nestopia UE
system: nintendo-nes;nintendo-fds
name: custom.pal
status: bios
in_repo: 1
reason:
64 RGB triplets (64 x 3 bytes = 192 bytes). Loaded unconditionally at startup; applied only when nestopia_palette core option is set to Custom. Falls back to built-in Royaltea palette. Multiple valid palettes exist so no canonical hash.


layer: emulator
emulator: NP2kai
system: pc-98
name: ide.rom
status: bios
in_repo: 1
reason:
IDE controller BIOS ROM (8 KB). For IDE HDD boot support. Without this, a simulated IDE BIOS is used.


layer: emulator
emulator: NP2kai
system: pc-98
name: pci.rom
status: bios
in_repo: 1
reason:
PCI BIOS ROM (32 KB). For PC-9821 PCI bus emulation. Without this, the built-in PCI BIOS simulator is used.


layer: emulator
emulator: NXEngine
system: cave-story
name: Doukutsu.exe
status: bios
in_repo: 1
reason:
Placed in system/nxengine/. The core extracts ORG music, PXT sounds, stage tile attributes, BMP graphics, and wavetable from this binary at each launch.


layer: emulator
emulator: NXEngine
system: cave-story
name: data/
status: data
in_repo: 1
reason:
Must contain root assets (Arms.pbm, MyChar.pbm, etc.), Npc/ (36 sprite sheets), and Stage/ (333 map/script/tileset files). All files from the original freeware release.


layer: emulator
emulator: NXEngine
system: cave-story
name: data/npc.tbl
status: bios
in_repo: 1
reason:
Located in system/nxengine/data/. Used to validate data directory presence and to load NPC behavior attributes.


layer: emulator
emulator: NXEngine
system: cave-story
name: data/sprites.sif
status: bios
in_repo: 1
reason:
Not shipped in the freeware distribution. If missing, the core uses a compiled-in copy (sprites_sif.h).


layer: emulator
emulator: NXEngine
system: cave-story
name: tilekey.dat
status: bios
in_repo: 1
reason:
Not part of the freeware distribution. Generated by the standalone NXEngine extraction tool. The libretro core has hardcoded defaults in map.cpp:30.


layer: emulator
emulator: Oricutron
system: oric;oricatmos
name: kernel.rom
status: bios
in_repo: 1
reason:
Loaded only when twilighte_board is on (main.c:660). A configured bank file that cannot be read makes twilighte_oric_init return NULL. ReadMe.txt:506-519 records the copy in the tree as Orix v2022.1 and points at repo.orix.oric.org for later builds.


layer: emulator
emulator: Oricutron
system: oric;oricatmos
name: shell.rom
status: bios
in_repo: 1
reason:
Loaded only when twilighte_board is on (main.c:660). ReadMe.txt:506 names kernel.rom in bank 7 and shell.rom in bank 5 as the minimum configuration for the board to start.


layer: emulator
emulator: Parallel Launcher
system: nintendo-64;nintendo-64dd
name: gles2n64rom.conf
status: bios
in_repo: 1
reason:
Read at plugin init when the glN64 graphics plugin is selected, keyed on the name in the ROM header. Global settings stand when absent.


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: MDA font ROM
status: bios
in_repo: 1
reason:
MDA/Hercules character generator ROM. Loaded unconditionally by loadbios() via loadfont() at startup, regardless of selected video card.


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: XT-IDE BIOS
status: bios
in_repo: 1
reason:
XT-IDE Universal BIOS for XT-class machines. Loaded as option ROM at 0xC8000. Used by IBM PC, IBM XT, Generic XT, DTK XT, AMI XT, Tandy, Amstrad, Euro PC, Olivetti, PC2086, PC3086, and other XT clones.


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: AT-IDE BIOS
status: bios
in_repo: 1
reason:
XT-IDE Universal BIOS for AT-class machines. Loaded as option ROM. Used by IBM AT, Compaq Deskpro 386, Phoenix 386, DTK 386.


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: IBM XT BIOS (combined)
status: bios
in_repo: 1
reason:
IBM 5160 XT BIOS (64 KB combined ROM). Fallback: if this file is missing, the core tries the split ROMs 5000027.u19 + 1501512.u18.


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: IBM PS/1 model 2011 BIOS
status: bios
in_repo: 1
reason:
IBM PS/1 model 2011 BIOS (128 KB). 64 KB is read from offset 0x60000. Also loaded separately by PS/1 motherboard init as a high ROM at 0xF80000.


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: Tandy 1000 SL/2 BIOS low
status: bios
in_repo: 1
reason:
Tandy 1000 SL/2 BIOS low chip. Paired with 8079048.hu2. Also loaded by tandy_rom.c for full bank-switched ROM (512 KB).


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: Tandy 1000 SL/2 BIOS high
status: bios
in_repo: 1
reason:
Tandy 1000 SL/2 BIOS high chip. Paired with 8079047.hu1. Also loaded by tandy_rom.c for full bank-switched ROM (512 KB).


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: ATI Mach64 GX BIOS
status: bios
in_repo: 1
reason:
ATI Graphics Pro Turbo (Mach64 GX) video BIOS. Also loaded by the Cirrus Logic init path (copy/paste in source).


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: Paradise WD90C11 BIOS
status: bios
in_repo: 1
reason:
Paradise WD90C11 video BIOS for MegaPC. Uses the MegaPC BIOS ROMs (same files as the MegaPC machine BIOS).


layer: emulator
emulator: PCem
system: ibm-pc;ibm-xt;ibm-at;ibm-pcjr;ibm-ps1;tandy-1000
name: Sound Blaster AWE32 ROM
status: bios
in_repo: 1
reason:
Creative Sound Blaster AWE32 sample ROM for EMU8000 synth chip. Required when SB AWE32 sound card is selected.


layer: emulator
emulator: PicoDrive
name: carthw.cfg
status: bios
in_repo: 1
system:
sega-megadrive;sega-genesis;sega-megacd;sega-segacd;sega-32x;sega-mastersystem;sega-gamegear;sega-sg1000;sega-sc3000;sega-pico

reason:
Cartridge hardware database for special mapper and EEPROM detection. Built-in fallback compiled into the core.


layer: emulator
emulator: PrBoom+
system: doom
name: prboom-plus.wad
status: bios
in_repo: 1
reason:
The code checks existence only, then rejects a file whose header is neither IWAD nor PWAD (prboom2/src/w_wad.c:216-218). Hashes are those of the file rdatawad produces from the data/ assets at this revision, which matches the copy in the v2.6.66 release archive byte for byte. They identify the 2.6.66 build; other versions carry different lumps.


layer: emulator
emulator: PrBoom+
system: doom
name: TimGM6mb.sf2
status: bios
in_repo: 1
reason:
Named by the Windows default of snd_soundfont, where snd_midiplayer also defaults to fluidsynth, so a stock Windows configuration reads it. Any soundfont works: the value is a config string and I_FindFile2 appends .sf2 only when the name as written is missing. A load failure returns 0 from fl_init, and the song falls through to the next player on the list, the built-in OPL2 synth.


layer: emulator
emulator: PrBoom+
system: doom
name: default-GM.sf3
status: bios
in_repo: 1
reason:
The default is an absolute path, which resolves through the unprefixed working directory entry of the search table. Reached once snd_midiplayer is set away from its sdl default, since sdl keeps the fluidsynth player out of the picture entirely. Same fallback to the OPL2 synth as the Windows default.


layer: emulator
emulator: project64
system: nintendo-64;nintendo-64dd
name: Project64.rdb
status: missing
in_repo: 0
reason:
Sections keyed by the ROM identifier CRC1-CRC2-C:country. Backs the whole Rdb_ setting family, among them RDRAM size, counter factor, save chip, VI refresh rate, disk seek timing and the overclock modifier, so it decides how the machine is configured per game. It also carries the microcode identifier table. Absent, every lookup falls through to the Defaults section and the ROM browser lists no known titles.


layer: emulator
emulator: project64
system: nintendo-64;nintendo-64dd
name: Video.rdb
status: missing
in_repo: 0
reason:
Second ini opened by the ROM database setting type, keyed on the same ROM identifier, holding the microcode CRCs the ucode detector matches and the per game video overrides. Without it the plugin asks the user to add an unknown microcode CRC.


layer: emulator
emulator: project64
system: nintendo-64;nintendo-64dd
name: Audio.rdb
status: missing
in_repo: 0
reason:
Third ini opened by the ROM database setting type, same key, carrying the per game audio overrides such as FPSBuffer, Fixed Audio and Sync Audio.


layer: emulator
emulator: project64
system: nintendo-64;nintendo-64dd
name: Project64.rdx
status: missing
in_repo: 0
reason:
Extended per game information the ROM browser shows, loaded into the romlist as m_ExtIniFile alongside the ROM database itself. Absent, the browser columns it feeds stay empty.


layer: emulator
emulator: project64
system: nintendo-64;nintendo-64dd
name: Jabo_Direct3D8.dll
status: missing
in_repo: 0
reason:
Committed as a prebuilt binary under Plugin/Win32 and copied by both the installer and the nightly packager. No source for it exists in the tree, so a build from source cannot produce it. Project64-Video is the default graphics plugin, so it is only selected when the user picks it.


layer: emulator
emulator: project64
system: nintendo-64;nintendo-64dd
name: Jabo_Dsound.dll
status: missing
in_repo: 0
reason:
Committed as a prebuilt binary under Plugin/Win32 and copied by both the installer and the nightly packager, with no source in the tree. Project64-Audio is the default audio plugin.


layer: emulator
emulator: puNES
system: nintendo-nes;nintendo-fds
name: gamegenie.rom
status: bios
in_repo: 1
reason:
Loaded only while the cheat mode is set to Game Genie. The whole file is read, its length taken from the file itself. Absent, gamegenie_load_rom returns early and the cartridge boots directly.


layer: emulator
emulator: puNES
system: nintendo-nes;nintendo-fds
name: nes20db.xml
status: bios
in_repo: 1
reason:
Supplies mapper, submapper, mirroring, region, RAM sizes and Vs. System hardware for dumps whose own header is absent or wrong. A miss leaves info.mapper.nes20db.in_use false and the header carried by the ROM is used.


layer: emulator
emulator: puNES
system: nintendo-nes;nintendo-fds
name: dip.cfg
status: bios
in_repo: 1
reason:
Read on every mapper init. A miss leaves dipswitch.used false, which mappers 001, 043, 045, 176, 215, 412 and 447 and the selection dialog at src/gui/qt.cpp:754 all guard on, so the board runs on its reset value.


layer: emulator
emulator: px68k
system: sharp-x68000
name: cgrom.tmp
status: bios
in_repo: 1
reason:
Alternative font file, used as fallback when cgrom.dat is absent. Typically a font cache generated by the emulator itself on other platforms.


layer: emulator
emulator: QEMU
name: SeaBIOS (128 KB)
status: bios
in_repo: 1
system:
ibm-pc;x86;x86-64;ppc;ppc64;sparc;sparc64;arm;aarch64;mips;mips64;riscv32;riscv64;s390x;m68k;alpha;hppa

reason:
SeaBIOS legacy BIOS for x86/x86_64 PC emulation. Default firmware loaded by pc_sysfw.c for standard PC machine types.


layer: emulator
emulator: QEMU
name: SeaBIOS microvm
status: bios
in_repo: 1
system:
ibm-pc;x86;x86-64;ppc;ppc64;sparc;sparc64;arm;aarch64;mips;mips64;riscv32;riscv64;s390x;m68k;alpha;hppa

reason:
Minimal SeaBIOS for the microvm machine type, a stripped-down x86 virtual machine with reduced device set.


layer: emulator
emulator: QEMU
name: VGA BIOS (ISA)
status: bios
in_repo: 1
reason:
Standard VGA BIOS from LGPL VGA BIOS project. Loaded by ISA VGA device (vga-isa). Default VGA for older machine types.


layer: emulator
emulator: QEMU
name: OpenBIOS PowerPC
status: bios
in_repo: 1
reason:
OpenBIOS (IEEE 1275 Open Firmware) for PowerPC emulation. Default for -M mac99, -M g3beige and other PPC machines.


layer: emulator
emulator: QEMU
name: Petalogix ML605 DTB (MicroBlaze)
status: bios
in_repo: 1
reason:
Device tree blob for Xilinx Petalogix ML605 MicroBlaze board. MicroBlaze target not built in libretro core.


layer: emulator
emulator: QEMU
name: Petalogix S3ADSP1800 DTB (MicroBlaze)
status: bios
in_repo: 1
reason:
Device tree blob for Xilinx Petalogix S3ADSP1800 MicroBlaze board. MicroBlaze target not built in libretro core.


layer: emulator
emulator: RVVM
system: riscv
name: fw_payload.bin
status: bios
in_repo: 1
reason:
M-mode firmware loaded at 0x80000000. Typically OpenSBI with U-Boot payload (fw_payload.bin) or standalone (fw_jump.bin). Referenced by the bootrom= key in the .rvvm config.


layer: emulator
emulator: RVVM
system: riscv
name: Image
status: bios
in_repo: 1
reason:
S-mode kernel payload loaded at offset 0x200000 (rv64) or 0x400000 (rv32) from RAM base. Only needed with fw_jump.bin as bootrom. Referenced by the kernel= key in the .rvvm config.


layer: emulator
emulator: SDL2TRS
system: trs80
name: level2.rom
status: bios
in_repo: 1
reason:
Model I is the model a stock configuration selects (trs_options.c:923), so this is the slot an unconfigured run reads. Without it the machine runs the compiled-in diagnostic stub and nothing else. max_size is the shared ROM buffer ceiling: a longer file is truncated, never rejected, and only the first 14336 bytes reach the plain memory map.


layer: emulator
emulator: SDL2TRS
system: trs80
name: model3.rom
status: bios
in_repo: 1
reason:
Serves Model III and Model 4 alike; the stub text spells out that Model 4 mode needs a Model 3 image (trs_cmd_rom.c:110-115). This is the one slot that also accepts a MODELA/III CMD file, which html/index.html presents as the substitute for a real Model III ROM. Same truncating ceiling as the Model I slot. The image is the Model III memory map: ROM A 8041364.u104 at 0, ROM B 8040332.u105 at 0x2000 and ROM C 8040316c.u106 at 0x3000, the layout MAME declares for the 0x3800 region.


layer: emulator
emulator: SDL2TRS
system: trs80
name: model4p.rom
status: bios
in_repo: 1
reason:
Optional because the compiled-in replacement is a working boot ROM rather than a stub. html/index.html states the free ROM boots only Model 4 operating systems, not Model III, and only from floppy, so the original image is what restores Model III mode and hard-drive booting. Hard drive unit 0 is tried before floppy by the Radio Shack ROM, and F2 held at boot forces floppy (html/Features.html). The image is the 4 KB gate-array boot ROM 8075332.u69, the only ROM the machine carries; the Model III code comes from a boot disk.


layer: emulator
emulator: simple64
system: nintendo-64
name: pif.ntsc.rom
status: bios
in_repo: 1
reason:
Chosen for SYSTEM_NTSC and SYSTEM_MPAL. rom_country_code_to_system_type returns SYSTEM_PAL only for country codes 0x44, 0x46, 0x49, 0x50, 0x53, 0x55, 0x58 and 0x59 and falls through to SYSTEM_NTSC for 0x37, 0x41, 0x45, 0x4a and, on its default arm, every other code, which is why the region is recorded as world rather than an enumeration. main_run reads 1984 bytes, the size of the PIF ROM window, and open_pif digests exactly that span, so the size given here is the length consumed rather than a check the code performs. Two digests are accepted: the current one, which is the image shipped in data/ and the No-Intro entry "[BIOS] Nintendo 64 - PIF (Japan, USA).bin" at 1984 bytes, and the digest of the earlier dump kept for compatibility. On a match the image is byteswapped into PIF memory and the reset vector moves to 0xbfc00000; on a mismatch the core logs "Invalid PIF ROM" and boots through the HLE bootrom instead.


layer: emulator
emulator: simple64
system: nintendo-64
name: pif.pal.rom
status: bios
in_repo: 1
reason:
Chosen for SYSTEM_PAL, which covers the eight country codes 0x44 German, 0x46 French, 0x49 Italian, 0x50 European, 0x53 Spanish, 0x55 Australian, 0x58 and 0x59 European. Same read length, digest span and fallback as the NTSC image. The current digest is the image shipped in data/ and the No-Intro entry "[BIOS] Nintendo 64 - PIF (Europe).bin" at 1984 bytes; the second value is the earlier dump the fork still accepts.


layer: emulator
emulator: sixtyforce
system: nintendo-64;nintendo-64dd
name: Overrides.plist
status: bios
in_repo: 1
reason:
561 entries keyed by the four byte game code, read at cartridge load and carrying the CIC seed, the cartridge memory type, the framebuffer flags and the expanded memory and timing settings. The CIC a game boots with comes from this table, and the code falls back to a checksum of the ROM when the table has no entry for it.


layer: emulator
emulator: sixtyforce
system: nintendo-64;nintendo-64dd
name: Controller-Devices.plist
status: missing
in_repo: 0
reason:
The bundle carries one device list. SFControllerManager loads a bundle property list while it initialises and keeps it in its supportedDevices table, which the handlers read when a HID device arrives or leaves. The user's own mappings are a separate file the manager reads and writes from the application support folder.


layer: emulator
emulator: sixtyforce
system: nintendo-64;nintendo-64dd
name: HID-Usage-Names.plist
status: missing
in_repo: 0
reason:
Read from the bundle to name the HID usages and usage pages shown while mapping a controller element.


layer: emulator
emulator: sixtyforce
system: nintendo-64;nintendo-64dd
name: Key-Names.plist
status: missing
in_repo: 0
reason:
Localised key names for the keyboard controller configuration sheet, read from the bundle through the same loader as the other property lists.


layer: emulator
emulator: sixtyforce
system: nintendo-64;nintendo-64dd
name: Unit.data
status: missing
in_repo: 0
reason:
Read from the bundle while the video controller sets up its OpenGL context and kept as the unitTexture the controller draws with.


layer: emulator
emulator: Skyline
system: nintendo-switch
name: title.keys
status: bios
in_repo: 1
reason:
Read as rights id to title key pairs from the same directory. A title key normally arrives instead from the .tik tickets carried inside an NSP, which are parsed and pushed into the same store, so this file is only needed when no ticket supplies one; that case fails with MissingTitleKey. The importer requires both halves of a pair to be 32 hexadecimal characters.


layer: emulator
emulator: Skyline
system: nintendo-switch
name: FontStandard.ttf
status: missing
in_repo: 0
reason:
Loaded from fonts/ under the application external files directory when present, otherwise from the asset of the same name, which carries Noto Sans CJK. Copied into the shared font block behind a header the emulator generates, so the expected content is the raw TTF payload.


layer: emulator
emulator: Skyline
system: nintendo-switch
name: 0100000000000806
status: unsourceable
in_repo: 0
reason:
stub image the emulator build carries inside its package, not a dump of the system data archive it stands in for


layer: emulator
emulator: Snes9x EX+
system: nintendo-snes;nintendo-satellaview;nintendo-sufami-turbo
name: BSX0120-0.bin
status: bios
in_repo: 1
reason:
Opened by the name the emulated unit asks for, BSXHHHH-D.bin from the channel registers at 0x2188 and 0x218E, under the Satellaview Files path, which defaults to the content directory. The file is measured to size the queue and read 22 bytes at a time; a miss leaves the stream unloaded.


layer: emulator
emulator: Snes9x EX+
system: nintendo-snes;nintendo-satellaview;nintendo-sufami-turbo
name: Bio Worm.7z
status: bios
in_repo: 1
reason:
Opened from the application bundle by the name the build gives it, the Linux build dropping the space, and loaded as content.


layer: emulator
emulator: solarus
system: solarus
name: gamecontrollerdb.txt
status: bios
in_repo: 1
reason:
Looked up next to the executable first, then under SOLARUS_DATADIR_PATH, share/solarus by default (cmake/AddInstallDirs.cmake:14). Installed from assets/gamecontrollerdb.txt when SOLARUS_GAMECONTROLLERDB_INSTALL is on, which is the default (cmake/AddOptions.cmake:51), and carried in the release archives (.gitlab-ci.yml:306). Both probes are guarded by an existence test, and neither hitting leaves SDL on its built-in mappings.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ZXS48.ROM
status: bios
in_repo: 1
reason:
Read as 16384 bytes for the 48kB model, which is the model the emulator starts in when nothing else is asked for. Present in the packaged filesystem and in the Windows and Ubuntu distributions.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ZXS16.ROM
status: missing
in_repo: 0
reason:
Read for the 16kB model under a name of its own, with no fallback to ZXS48.ROM, so the model refuses to start without it however many other ROMs are present. Neither the package nor the desktop distributions carry a copy.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ZXS128.ROM
status: bios
in_repo: 1
reason:
Read as 32768 bytes, two pages. Loaded after ZXS128TR.ROM has been tried when the TR-DOS interface is on as well.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ZXS128TR.ROM
status: bios
in_repo: 1
reason:
Tried in place of ZXS128.ROM when the 128kB model and the TR-DOS interface are both asked for, and ZXS128.ROM is loaded in its place when it fails.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ZXSPLUS2.ROM
status: bios
in_repo: 1
reason:
Read as 32768 bytes for the +2. The +2A bit is cleared ahead of the call whenever the +3 bit is set, so the pair that asks for ZXSPLUS3.ROM cannot leave a second machine standing.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ZXSPLUS3.ROM
status: bios
in_repo: 1
reason:
Read as 65536 bytes, four pages covering both the +2A and the +3, which the loader asks for under one bit pair.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: TC2048.ROM
status: bios
in_repo: 1
reason:
Read as 16384 bytes for the TC2048. Carried in the packaged filesystem only: the Windows and Ubuntu distributions ship no copy.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: TS2068.ROM
status: bios
in_repo: 1
reason:
The loader asks for 49152 bytes while the author's own image is 24576, so the read stops short of what was asked and the machine starts anyway. Carried in the packaged filesystem only.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: PENTAGON.ROM
status: bios
in_repo: 1
reason:
Read as 49152 bytes, three pages. The third is copied into the disk interface window once it has loaded, so the Pentagon carries its own TR-DOS and does not need TRDOS.ROM.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: SCORPION.ROM
status: bios
in_repo: 1
reason:
Read as 65536 bytes, four pages, the last copied into the disk interface window. The Scorpion bit also drops every peripheral bit before the first ROM is opened, so its own service ROM stands in place of the separate interfaces.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: COUPE.ROM
status: bios
in_repo: 1
reason:
Read as 32768 bytes for the Sam Coupe, which is a machine of its own in the same flag word, so selecting it clears every Spectrum bit and the trapdoor devices are switched off with it.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: TRDOS.ROM
status: bios
in_repo: 1
reason:
Opened first of all, before any machine ROM, and read as 16384 bytes. A failed open drops the interface and leaves the emulation running without it. Its presence is also what makes the 128kB model reach for ZXS128TR.ROM.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: IF1.ROM
status: bios
in_repo: 1
reason:
Read as 8192 bytes when the Interface I is on, and dropped silently when it is missing. Snapshots that page it in need it to restore.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: DISCIPLE.ROM
status: bios
in_repo: 1
reason:
Read when the DISCiPLE interface is on, up to 16384 bytes, and dropped silently when it is missing. Neither the package nor the desktop distributions carry a copy.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: PLUSD.ROM
status: bios
in_repo: 1
reason:
Read when the +D interface is on, up to 8192 bytes, and dropped silently when it is missing. Neither the package nor the desktop distributions carry a copy.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: MF1.ROM
status: bios
in_repo: 1
reason:
Read up to 16384 bytes when the Multiface is on behind a 16kB or 48kB machine, and the 8192 bytes at offset 8192 of what it read are copied into the page below the machine ROM. Dropped silently when it is missing.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: MF128.ROM
status: bios
in_repo: 1
reason:
Read up to 16384 bytes when the Multiface is on behind a 128kB or +2 machine, and the 8192 bytes at offset 8192 of what it read are copied into the page below the machine ROM. Dropped silently when it is missing.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: MFPLUS3.ROM
status: missing
in_repo: 0
reason:
Read up to 16384 bytes when the Multiface is on behind a +2A or +3 machine, and the 8192 bytes at offset 8192 of what it read are copied into the page below the machine ROM. Dropped silently when it is missing. Neither the package nor the desktop distributions carry a copy.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: ROOT.chts
status: bios
in_repo: 1
reason:
The package ships no cheat set. Cheatopedia looks for the file in the package assets, then in the home directory and its subdirectories, and takes it from Speccy-Cheats.zip in the Downloads directory when that is newer, unpacking it into <HomeDir>/Cheats. The author publishes that archive at fms.komkon.org/EmuAndroid/Speccy-Cheats.zip and states it is what re-enables the cheat features Google Play made him disable in March 2019; the copy read here holds this one file.


layer: emulator
emulator: Speccy
system: sinclair-zx-spectrum;timex-tc2048;timex-ts2068;sam-coupe
name: Controls.png
status: bios
in_repo: 1
reason:
Read as <HomeDir>/Controls.png by the overlay button loader and by the layout editor. The author publishes the template to draw over at fms.komkon.org/EmuAndroid/Controls.png.


layer: emulator
emulator: SSF
system: sega-saturn;sega-stv
name: epr-20091.ic8
status: bios
in_repo: 1
reason:
Loose 512 KiB EPROM image, read outside the cartridge ZIP. Any of the board revisions is accepted, the code branching on none of them.


layer: emulator
emulator: Starboard
name: starboard-rootfs.tar.gz
status: unsourceable
in_repo: 0
reason:
runtime image the app fetches into its own cache and unpacks into internal storage, leaving no path a user or a pack can write


layer: emulator
emulator: Supermodel
system: sega-model3
name: Games.xml
status: bios
in_repo: 1
reason:
Parsed at startup into the game database. Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it.


layer: emulator
emulator: SUPER ZSNES
system: nintendo-snes
name: dsp1b.rom
status: bios
in_repo: 1
reason:
Default for every DSP cartridge with no table entry, so it covers DSP-1 and DSP-1A titles as well. A mismatched CRC32 warns and the data is used anyway.


layer: emulator
emulator: SUPER ZSNES
system: nintendo-snes
name: dsp3.rom
status: bios
in_repo: 1
reason:
Selected for the half-width katakana header title of SD Gundam GX, 'SD' then $B6 $DE $DD $C0 $DE $D1 then 'GX'.


layer: emulator
emulator: SUPER ZSNES
system: nintendo-snes
name: st011.rom
status: bios
in_repo: 1
reason:
Selected for header title '2DAN MORITA SHOUGI' with $00 as the 21st byte (Hayazashi Nidan Morita Shougi).


layer: emulator
emulator: ti99sim
system: ti99
name: Gram Kracker.ctg
status: bios
in_repo: 1
reason:
SHA1 is of the .ctg convert-ctg builds at the pinned commit. Gram Kracker features disabled without this file.


layer: emulator
emulator: ti99sim
system: ti99
name: ti-pcard.ctg
status: bios
in_repo: 1
reason:
SHA1 is of the .ctg convert-ctg builds at the pinned commit from the .dat in roms/ and the pre-0.174 MAME images scripts/setup fetches. v0.16.0+ only.


layer: emulator
emulator: Triforce
system: sega-triforce;nintendo-wii-arcade;nintendo-gamecube;nintendo-wii
name: IPL_TRI.bin
status: bios
in_repo: 1
reason:
CRC32 is computed over the first 2 MiB and compared against the Redump table, 0xD1883221 being the Triforce revision. An unknown value warns and loading continues. A match also maps SegaBoot as firmware (Source/Core/Core/Boot/Boot.cpp:482-489).


layer: emulator
emulator: Triforce
system: sega-triforce;nintendo-wii-arcade;nintendo-gamecube;nintendo-wii
name: SYSCONF
status: bios
in_repo: 1
reason:
SysConf::Load rejects any size other than SYSCONF_SIZE and falls back to built-in defaults. Generated by the emulator, can come from a NAND backup instead.


layer: emulator
emulator: Triforce
system: sega-triforce;nintendo-wii-arcade;nintendo-gamecube;nintendo-wii
name: setting.txt
status: bios
in_repo: 1
reason:
Read into a fixed 256 byte buffer, then rewritten during Wii boot emulation from the region settings table.


layer: emulator
emulator: Triforce
system: sega-triforce;nintendo-wii-arcade;nintendo-gamecube;nintendo-wii
name: keys.bin
status: bios
in_repo: 1
reason:
Asked for at import time when not appended to the NAND image, and written to the Wii root. Read at every boot, absence falls back to the built-in default key set.


layer: emulator
emulator: Triforce
system: sega-triforce;nintendo-wii-arcade;nintendo-gamecube;nintendo-wii
name: trinetcfg.bin
status: unsourceable
in_repo: 0
reason:
created empty by the emulator on first Triforce launch, written by the guest, no hardware dump equivalent


layer: emulator
emulator: VICE
name: vice/C64/basic-901226-01.bin
status: bios
in_repo: 1
reason: C64 BASIC V2 ROM. Embedded in core.
system:
commodore-c64;commodore-c128;commodore-c64dtv;commodore-vic20;commodore-plus4;commodore-pet;commodore-cbm-ii


layer: emulator
emulator: VICE
name: vice/C128/basic-901226-01.bin
status: bios
in_repo: 1
reason:
C64 BASIC V2 ROM, used by C128 in C64 mode. Libretro build uses C64 filename instead of basic64-901226-01.bin.


layer: emulator
emulator: VICE
name: vice/C128/kernal-901227-03.bin
status: bios
in_repo: 1
reason:
C64 Kernal Rev 3, used by C128 in C64 mode. Libretro build uses C64 filename instead of kernal64-901227-03.bin.


layer: emulator
emulator: VICE
name: vice/SCPU64/scpu-dos-1.4.bin
status: bios
in_repo: 1
reason:
SuperCPU DOS v1.40 external kernal. Optional, selected via core option. Goes in system/vice/SCPU64/.


layer: emulator
emulator: VICE
name: vice/SCPU64/scpu-dos-2.04.bin
status: bios
in_repo: 1
reason:
SuperCPU DOS v2.04 external kernal. Optional, selected via core option. Goes in system/vice/SCPU64/.


layer: emulator
emulator: VICE
name: vice/JiffyDOS_C64.bin
status: bios
in_repo: 1
reason:
JiffyDOS C64 kernal replacement. Optional, proprietary. Requires True Drive Emulation + 1541/1571/1581 drive.


layer: emulator
emulator: VICE x64dtv
system: commodore-c64dtv
name: dtvrom.bin
status: bios
in_repo: 1
reason:
Loaded via sysfile_load from system/vice/C64DTV/. All model variants (V2 PAL/NTSC, V3 PAL/NTSC, Hummer) default to this filename. If not found, the core copies embedded BASIC, kernal and chargen ROMs into flash memory. Without it, the DTV operates as a basic C64 without the built-in DTV games and firmware. The original DTV ROM has distorted colors; a patched ROM is recommended.


layer: emulator
emulator: VICE xvic
system: commodore-vic20
name: kernal.901486-02.bin
status: bios
in_repo: 1
reason:
Not embedded. Loaded via sysfile from system/vice/VIC20/ when VIC-1001 Japanese model selected via vicerc.


layer: emulator
emulator: Virtual Virtual Boy
system: nintendo-virtualboy
name: bundledgames.json
status: bios
in_repo: 1
reason:
Read whole as a raw resource when the repository is built, and decoded into the list the load menu offers. Each record names the title, the content URI serving it, the authors and the MD5 of the image. The leia flavour replaces the file with one pointing at its own authority.


layer: emulator
emulator: visual-pinball
system: vpinball
name: cheat.dat
status: bios
in_repo: 1
reason:
Off by default: PinmameSetConfig zeroes options, and VPX only turns it on from the `cheat` key of <pinmame root>/ini/<romname>.ini, which it also rewrites on every run. With it on, InitCheat loads the database and an absent file leaves the menu showing "cheat database not found" (pinmame src/cheat.c:2463). Same bare-filename resolution as hiscore.dat.


layer: emulator
emulator: X1 BOX
system: microsoft-xbox
name: xbox_hdd.qcow2
status: bios
in_repo: 1
reason:
Taken in qcow2 or raw form and attached as index 0 with locked=on and cache=writethrough. An empty setting attaches no drive at all and an unopenable one only queues a message, but the launcher refuses to leave the wizard until the file resolves. The formatter builds FATX partitions inside an image that already exists and needs at least 0x1DD156000 bytes for the retail layout; it never creates the image. Partitions C and E of this image are what the dashboard import writes into.


layer: emulator
emulator: x16emu
system: commanderx16
name: rom.bin
status: bios
in_repo: 1
reason:
Default filename "rom.bin", loaded from executable directory or via -rom flag. ROM_SIZE = NUM_ROM_BANKS(32) * 16384 = 524288 bytes. exit(1) if file not found. Built from x16-rom repo (open source, derived from C64 KERNAL/BASIC).


layer: emulator
emulator: Xemu
system: microsoft-xbox
name: eeprom.bin
status: bios
in_repo: 1
reason:
Loaded via smbus-storage device (hw/xbox/smbus_storage.c:157).
Auto-generated as XBOX_EEPROM_VERSION_R1 if missing
(system/vl.c:2918-2919). Default path: <config_dir>/eeprom.bin.
Contains serial, MAC, HDD key, region, video standard.
Structure defined in hw/xbox/eeprom_generation.h.


layer: emulator
emulator: Xemu
system: microsoft-xbox
name: xbox_hdd.qcow2
status: bios
in_repo: 1
reason:
Attached as IDE drive index=0 with locked=on.
Must contain Xbox partitions (C, E, X, Y, Z).
Pre-built images available from xemu project.
Not a BIOS file - excluded from retrobios packs.


layer: emulator
emulator: Xenia Edge
system: microsoft-xbox-360
name: dxcompiler.dll
status: bios
in_repo: 1
reason:
Loaded by full path from the D3D12 folder next to the executable, then by plain name from the system search path. PipelineCache::Initialize returns false without it because guest and system shaders are all DXIL, and that failure propagates to "Failed to setup graphics_system!" (emulator.cc:430-435). Windows defaults to gpu = "d3d12" (src/xenia/app/xenia_main.cc:70) and the backend factory only falls back when D3D12GraphicsSystem::IsAvailable() is false, which tests the D3D12 API itself, not the redistributable. Taken from bin/x64/dxcompiler.dll in dxc_2026_05_27.zip of DirectXShaderCompiler release v1.9.2602.24, pinned at sha256 cf658aacf070d3045e31b8f1f8a696c2945f37c1095019481ef7c513368db3b4; bin/arm64 on ARM64 builds.


layer: emulator
emulator: Xenia Edge
system: microsoft-xbox-360
name: dxil.dll
status: bios
in_repo: 1
reason:
Preloaded by full path so dxcompiler's own plain-name load resolves to it and the DXIL leaves signed; spirv_to_dxil queries its validator version to stamp the container the validator will accept. Same archive and pin as dxcompiler.dll, from bin/x64 or bin/arm64.


layer: emulator
emulator: Xenia Edge
system: microsoft-xbox-360
name: D3D12Core.dll
status: bios
in_repo: 1
reason:
The binary exports D3D12SDKVersion 619 and D3D12SDKPath ".\D3D12\", so d3d12.dll loads it at the first device creation. The provider checks for it, offers the download, and returns false when it is still absent. Taken from build/native/bin/x64/D3D12Core.dll in the Microsoft.Direct3D.D3D12 1.619.3 NuGet package, pinned at sha256 43a7d5a3973812eb4b42623fae5275c790a005b8e48b8d7f5bb43cef39e073c5; build/native/bin/arm64 on ARM64 builds. The package version has to match the exported number.


layer: emulator
emulator: Xenia Edge
system: microsoft-xbox-360
name: D3D12SDKLayers.dll
status: bios
in_repo: 1
reason:
Reached only when d3d12_debug is set, which defaults false (src/xenia/ui/d3d12/d3d12_provider.cc:23). Fetching it re-extracts D3D12Core.dll alongside, since the debug layer only loads under the Agility runtime. Same NuGet package and pin as D3D12Core.dll.


layer: emulator
emulator: Xenia Edge
system: microsoft-xbox-360
name: vulkan-1.dll
status: bios
in_repo: 1
reason:
Read only when the Vulkan backend is selected, and the plain-name load that follows finds the copy GPU drivers install system-wide, so the folder next to the executable is a fallback. Taken from VulkanRT-X64-1.4.350.0-Components/x64/vulkan-1.dll in LunarG's vulkan-runtime-components.zip 1.4.350.0, pinned at sha256 23ce69f32cef3e2799617e2b1776cd0c71030d23a91f8375821cc40d76b185b9. The zip carries x64 and x86 only, so the ARM64 build never offers the download.


layer: emulator
emulator: Xenia Edge
system: microsoft-xbox-360
name: vc_redist.x64.exe
status: bios
in_repo: 1
reason:
Not loaded by the emulator. The runtime version is read from HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64, and when it is older than 14.<_MSC_VER - 1900> clamped to 14.44 the installer is downloaded to %TEMP%\xenia_vc_redist.exe and run with "/install /passive /norestart", after which the process relaunches. What the binary actually links is vcruntime140 and msvcp140, resolved by the OS loader. vc_redist.arm64.exe on ARM64 builds.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: IPLROM.DAT
status: bios
in_repo: 1
reason:
XM6.exe carries this ROM internally and only reads the file when it is present, so the emulator boots without it. The embedded copy sits at file offset 1337256 in .rdata of the Unicode build and 1288176 in the MBCS build, stored in the 16-bit pairwise swapped form the loader produces at vm/memory.cpp:278-285; unswapped it is the 131072-byte dump hashed here, catalogued by TOSEC as Sharp X68000 Boot ROM (1987)(Sharp), and it is the version 1.0 (05/07/1987) the startup warning recommends. README.txt:23-25 advises against installing the file at all because reading and swapping it only lengthens startup.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: IPLROMXV.DAT
status: bios
in_repo: 1
reason:
Probed after the base machine loads. Its presence, together with SCSIINROM.DAT, is what makes the XVI machine available; absent, the base X68000 still runs. No internal copy is compiled into XM6.exe.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: IPLROMCO.DAT
status: bios
in_repo: 1
reason:
Probed after XVI. Selects the Compact machine when found, and that machine also needs SCSIINROM.DAT. No internal copy is compiled into XM6.exe.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: IPLROM30.DAT
status: bios
in_repo: 1
reason:
Probed last. Selects the X68030 machine, which also needs ROM30.DAT. No internal copy is compiled into XM6.exe.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: CGROM.DAT
status: bios
in_repo: 1
reason:
Supplies the glyphs for text the X68000 renders. Stock XM6 v2.06 fails initialisation when neither font file loads; XM6 Pro-68k dropped that requirement, so a missing font ROM shows garbage glyphs and the emulator keeps running, and what remains is the suppressible contents warning. The mandatory DLL Package ships this exact 786432-byte file, catalogued by TOSEC as Sharp X68000 CG ROM (1987)(Sharp); the hash identifies that copy and is not verified by the program.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: CGROM.TMP
status: bios
in_repo: 1
reason:
Read only when CGROM.DAT is missing, at the same size. Tools > Synthesize replacement CG-ROM writes it from the installed MS Gothic and MS Mincho fonts and fails when either is absent. No hash is declared because the output depends on the fonts of the machine that generated it. XM6 refuses to use it while CGROM.DAT is present.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: SCSIINROM.DAT
status: bios
in_repo: 1
reason:
Needed to use internal SCSI drives, and also loaded as part of the XVI and Compact machines, so those two models are unavailable without it whatever their IPL. The mandatory DLL Package ships this exact 8192-byte file and the hash identifies that copy; the startup contents check only warns.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: SCSIEXROM.DAT
status: missing
in_repo: 0
reason:
Needed to use the external SCSI interface, which is the only SCSI variant that can coexist with SASI. The loader first reads 0x2000 bytes and, on failure, retries with the 0x1fe0-byte WinX68k layout loaded at buffer offset 0x20, so 8160 is the real floor. The mandatory DLL Package ships the 8192-byte form hashed here.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: SRAM.DAT
status: bios
in_repo: 1
reason:
Read at startup and rewritten on exit when the contents changed, so XM6 creates it on first run and a supplied image only preloads the settings. The Tools > SRAM menu reloads, duplicates and write-protects it, and the boot counter option updates it on exit. Size is the X68000 SRAM size and is not checked by the program.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: 7z.dll
status: bios
in_repo: 1
reason:
Absent from the import directory and looked up by name at runtime, so XM6 starts without it and reports Optional DLL Not Present, Archive support is not available. Enables loading disk images and state files from archives and writing XZ-compressed state files.


layer: emulator
emulator: xm6pro68k
system: sharp-x68000
name: zlib1.dll
status: bios
in_repo: 1
reason:
Looked up by name at runtime alongside 7z.dll and named in the same Optional DLL Not Present dialog. README.txt:322-323 credits the PNG Reference Library and zlib for the screenshot support.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: IPLROM.DAT
status: bios
in_repo: 1
reason:
Covers the first model, ACE, EXPERT, PRO and SUPER. LoadROM reads 0x20000 bytes and fails when fewer are returned, and the failure aborts initialisation. The startup warning naming version 1.00 (05/07/1987) as recommended only advises; it does not reject the file. The recommended source is the free X68BIOSE.LZH package (xm6g.pdf p.6).


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: IPLROMXV.DAT
status: bios
in_repo: 1
reason:
Selects the XVI machine, which also needs SCSIINROM.DAT. The options page offers the machine only when this file is exactly 131072 bytes.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: IPLROMCO.DAT
status: bios
in_repo: 1
reason:
Selects the Compact machine, which also needs SCSIINROM.DAT. Same exact size test as the other IPL ROMs.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: IPLROM30.DAT
status: bios
in_repo: 1
reason:
Upper half of the X68030 and X68030 Compact boot ROM, paired with ROM30.DAT. It carries the SCSI ROM for those machines, so neither SCSIINROM.DAT nor SCSIEXROM.DAT applies to them.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: IPLROM30S.DAT
status: missing
in_repo: 0
reason:
Read in place of IPLROM30.DAT when Expansion ROM is checked on the X68030 options tab, the setting stored as EXTROM. Paired with ROM30S.DAT and intended for ROMs patched for 060turbo.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: ROM30S.DAT
status: missing
in_repo: 0
reason:
The other half of the expansion pair, loaded through the same SCSI ROM slot as ROM30.DAT and read at the same size.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: CGROM.DAT
status: bios
in_repo: 1
reason:
Supplies the glyphs the X68000 renders, mapped at $F00000-$FBFFFF. Used by the base models and as the fallback for every machine whose own CG ROM is absent. Initialisation fails when neither this file nor CGROM.TMP loads.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: CGROM.TMP
status: bios
in_repo: 1
reason:
Read at the same size, only after CGROM.DAT fails. XM6 Utility builds it from the fonts installed on the machine that generated it, so no hash is declared. XM6 TypeG treats it as non-recommended and raises a suppressible startup warning whenever it is in use.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: SCSIINROM.DAT
status: bios
in_repo: 1
reason:
Required by SUPER, XVI and Compact, and by any machine whose SCSI interface option is set to internal, that option defaulting to none. The loader tries 0x20000 bytes first and falls back to 0x2000. A copy carrying "XM6 " at offset 0x1ff8 was synthesised by XM6 Utility and raises the startup warning.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: SCSIEXROM.DAT
status: missing
in_repo: 0
reason:
Drives the CZ-6BS1 board, the only SCSI variant the first model, ACE, EXPERT and PRO can take, and mutually exclusive with the internal interface everywhere else. After 0x20000 and 0x2000 the loader retries at 0x1fe0 bytes into buffer offset 0x20, the WinX68k high-speed layout, so 8160 is the real floor.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: SRAM.DAT
status: bios
in_repo: 1
reason:
Holds the boot device and memory switch settings for the first model, ACE, EXPERT, PRO and SUPER. A supplied image preloads those settings. The standard capacity is the 16 KB X68000 SRAM; the SRAM64K modification the emulator reproduces raises it to 64 KB. No size is enforced.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: SRAMXVI.DAT
status: missing
in_repo: 0
reason:
Per-model SRAM introduced by XM6 TypeG, which keeps one image per machine instead of the single SRAM.DAT of XM6 v2.06.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: RTC.DAT
status: missing
in_repo: 0
reason:
Alarm registers of the battery-backed clock, used by the timer start feature and applying to every machine. XM6 TypeG creates it on exit when it is absent.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: X68Sound.dll
status: bios
in_repo: 1
reason:
One of the three FM engines the sound options offer, alongside the built-in fmgen and ymfm. Not shipped in the archive; without it that engine cannot be selected.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: c86ctl.dll
status: bios
in_repo: 1
reason:
Loaded by name to drive a real YM2151 through a C86BOX class device instead of software synthesis. The executable reads its file version before use.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: pcidebug.dll
status: missing
in_repo: 0
reason:
Loaded on demand and freed again. Absent, the feature that needs it is unavailable and the emulator continues.


layer: emulator
emulator: xm6typeg
system: sharp-x68000
name: SOUND Canvas VA.dll
status: missing
in_repo: 0
reason:
Hosted as the MIDI output device when the VSTi option is selected. The path is fixed to the Roland installation directory and the setting is stored as VstSCVA.


layer: emulator
emulator: XRick
system: xrick
name: xrick/data.zip
status: bios
in_repo: 1
reason:
Placed in system/xrick/data.zip. Contains sounds/ directory with 29 WAV files from the original xrick 0.21212 release. Without this file, standalone mode fails with 'XRick game files missing from frontend system directory'. Ships in the libretro repo root.


layer: emulator
emulator: XRoar
system: dragon32;dragon64;coco;coco3;mc10
name: d200e_26.rom
status: bios
in_repo: 1
reason:
Spanish character set. Loaded into a 4096-byte rombank. Machine works without it (uses standard charset).


layer: emulator
emulator: XRoar
system: dragon32;dragon64;coco;coco3;mc10
name: alpha-boot-v1.0.rom
status: bios
in_repo: 1
reason:
Required for Dragon Professional machine. Loaded as extbas_rom into the BOOT bank. rombank_verify_crc accepts any member of @dragonpro_boot, which also holds 0xd6172b56 for the v0.4 slot.


layer: emulator
emulator: XRoar
system: dragon32;dragon64;coco;coco3;mc10
name: alpha-boot-v0.4.rom
status: bios
in_repo: 1
reason:
Fourth and fifth candidates of the dragonpro_boot romlist, tried when no v1.0 image is found. The crclist carries 0xd6172b56 next to the v1.0 value, but the source labels only the latter, so no crc32 is declared here.


layer: emulator
emulator: XRoar
system: dragon32;dragon64;coco;coco3;mc10
name: dragonfly-1.3.rom
status: bios
in_repo: 1
reason:
Experimental. Second candidate of the ikon romlist, loaded when dragonfly-2.3 is absent. romlist_find appends the extensions "", .rom, .ROM, .dgn, .DGN in that order. ikon.c loads the bank through cart_rom_init and checks nothing: no crclist entry names this ROM.


layer: emulator
emulator: XRoar
system: dragon32;dragon64;coco;coco3;mc10
name: dragonfly-2.3.rom
status: unsourceable
in_repo: 0
reason:
not yet dumped, only v1.3 publicly available, XRoar support is experimental (#ifdef WANT_EXPERIMENTAL)


layer: emulator
emulator: ZEsarUX
name: 48es.rom
status: bios
in_repo: 1
reason: Spanish 48K+ ROM, selected for MACHINE_ID_SPECTRUM_48_PLUS_SPA.
system:
sinclair-zx-spectrum;sinclair-zx-spectrum-next;sinclair-zx80;sinclair-zx81;sinclair-ql;cambridge-z88;jupiter-ace;timex-ts1500;timex-tc2048;timex-ts2068;microdigital-tk85;amstrad-cpc;pcw;sam-coupe;colecovision;sg-1000;sega-mastersystem;msx;spectravideo;science-of-cambridge-mk14


layer: emulator
emulator: ZEsarUX
name: prism_failsafe.rom
status: bios
in_repo: 1
reason:
Loaded straight after prism.rom by prism_load_failsafe_rom(). The only ROM whose absence is fatal: the loader calls cpu_panic both when the file is missing and when the read is not 16384 bytes.


layer: emulator
emulator: ZEsarUX
name: tbblue_loader.rom
status: bios
in_repo: 1
reason:
FPGA loader, mirrored to 16K at src/cpu.c:3555. Bypassed when --tbblue-fast-boot-mode selects 48.rom instead.


layer: emulator
emulator: ZEsarUX
name: tbblue.mmc
status: bios
in_repo: 1
reason:
SD card image carrying the Next system software. Assigned as MMC card 0 by the local-tbblue menu action; the emulator reports 'tbblue.mmc image not found' when absent.


layer: emulator
emulator: ZEsarUX
name: ts2068.rom
status: bios
in_repo: 1
reason:
Read as two blocks: 16384 into the main ROM table, then 8192 into the EX ROM table. Serves TS2068 and TC2068.


layer: emulator
emulator: ZEsarUX
name: zx80.rom
status: bios
in_repo: 1
reason:
Serves ZX80, TK80 and TK82. An 8192-byte file is accepted as-is so the ZX81 ROM can run on a ZX80 (src/cpu.c:3648).


layer: emulator
emulator: ZEsarUX
name: pcw_boot.rom
status: bios
in_repo: 1
reason:
Boot block the PCW pulls into RAM rather than a mapped ROM (src/cpu.c:3739). Serves PCW 8256 and 8512.


layer: emulator
emulator: ZEsarUX
name: esxmmc085.rom
status: bios
in_repo: 1
reason:
divMMC esxdos firmware, the default when --divmmc-rom is unset. Needed by --enable-esxdos-handler, which the ES-DE zxnext command line sets.


layer: emulator
emulator: ZEsarUX
name: zxuno.flash
status: bios
in_repo: 1
reason:
ZX-Uno SPI flash image, loaded by zxuno_load_spi_flash() right after the bootloader. Default for --zxunospifile. ZXUNO_SPI_SIZE is 4096 KB.


layer: emulator
emulator: ZEsarUX
name: transtape3-vA.rom
status: bios
in_repo: 1
reason:
Revision A, reached through the user-set transtape_rom_filename and loaded by the same size-checked path as the defaults.


layer: emulator
emulator: ZEsarUX
name: gs104.rom
status: bios
in_repo: 1
reason:
General Sound firmware v1.04. Shipped alongside gs105a.rom, but GS_ROM_NAME is fixed and there is no option to point the loader elsewhere, so it is usable only in place of gs105a.rom.


layer: emulator
emulator: ZEsarUX
name: plus3e_mmcen3eE.rom
status: bios
in_repo: 1
reason:
+3e v1.38 English for MMC. Resolved by name through find_sharedfile for the +2e/+3e MMC machine preset.


