BIOS, Firmware, Cores, and Dependency Files
Learn what BIOS, firmware, emulator cores, and dependency files do; how LaunchBox verifies supported dependencies; and how to place, troubleshoot, and back them up safely.
Written By launchbox
Last updated 7 days ago
Some emulated systems need more than an emulator and a game file. They may also require a BIOS image, firmware, encryption keys, fonts, a hard-disk image, or an emulator core. These components do different jobs and usually belong in locations defined by the emulator, not by the game’s entry in LaunchBox.
Use only files you are legally permitted to use. LaunchBox does not provide proprietary BIOS, firmware, encryption keys, or commercial game files. Laws vary by location, so follow the emulator project’s official dumping or installation instructions. Some supported emulator installations can retrieve freely redistributable support files from an official project, but that does not include proprietary system files.
The terms beginners encounter most
BIOS: low-level system software originally stored on the emulated hardware. An emulator or core may require a particular revision, region, filename, and file hash.
Firmware: other system software used by the emulated hardware. It can include system modules, menus, fonts, update data, or device firmware.
Core: an emulation module loaded by a frontend such as RetroArch. A core is executable emulation software; it is not a BIOS file.
Dependency file: LaunchBox’s general label for an additional file described by a supported emulator plugin. It can represent a BIOS, firmware image, key, font, hard-disk image, or another support file.
A ROM or disc image contains game data. BIOS and firmware files represent system software. A core performs emulation. One cannot be substituted for another.
LaunchBox versus the emulator
LaunchBox organizes games and starts the configured emulator. The emulator or selected RetroArch core ultimately decides which files are valid, what they must be named, and where they must be stored.
Importing a game does not automatically satisfy its emulator’s system-file requirements.
Changing a game’s Application Path does not change the emulator’s BIOS or firmware directory.
Metadata and media downloads do not include emulator dependencies.
A correct-looking filename can still contain the wrong revision or damaged data.
A green LaunchBox dependency indicator is useful evidence, but the emulator’s own log and current documentation remain authoritative.
Start with the exact emulator or core documentation
Requirements can differ between emulators that run the same platform, and between cores inside RetroArch. Before moving files, record:
The required filename and extension, including capitalization where relevant.
The required region or hardware revision.
The expected checksum or hash, when one is published.
The exact destination directory and any required subfolder.
Whether every game needs the file or only particular titles or features do.
Whether the emulator supplies an official installer, import tool, or dumping procedure.
A tutorial written for another emulator, core, operating system, or old version may not apply to your setup.
Using LaunchBox Dependency Files
LaunchBox can show dependency definitions supplied by emulator support plugins:
Open Tools > Manage > Emulators....
Select the emulator and choose Edit.
Select Dependency Files.
Choose the applicable platform/core entry from the Platform list.
The list depends on the emulator name, its application path, the selected Associated Platforms entry, its core or command line, and whether LaunchBox has a support plugin with definitions for that combination. Therefore, No Dependency Files Required can also mean that LaunchBox has no applicable definitions to display. It is not a universal guarantee that the emulator needs no external files.
Each entry shows the destination LaunchBox expects and a status indicator:
Green: LaunchBox found a file that satisfies its recorded check.
Yellow: a file with the expected name exists, but its MD5 does not match the value on record.
Red: LaunchBox did not find a satisfying file.
When an MD5 is recorded, clicking a missing or mismatched status indicator copies that expected MD5 to the clipboard. When no MD5 is recorded, LaunchBox can confirm only that the expected filename exists; it cannot prove that the file’s contents are correct.
Browse to file... selects a source file and copies it into the destination defined for that dependency, creating the destination directory if necessary and using the expected destination filename. If a file already exists at that destination, LaunchBox overwrites it. Keep an untouched copy of your original dump before using this action. Open Location... opens the expected destination folder.
Important: LaunchBox may recognize matching MD5 content elsewhere in the expected directory even if its current filename differs. The emulator may still require an exact filename, so use the destination shown by LaunchBox and verify it against the emulator’s documentation.
What “required” and grouped alternatives mean
A red exclamation mark means the emulator support definition marks an individual file or a group as required for the selected configuration. A group can specify either:
One of the following items is required: any one valid alternative satisfies the group, such as one acceptable regional BIOS revision.
All the following items are required: every listed item must be present.
Entries without the required mark are optional in LaunchBox’s definition. They might enable a system menu, improve compatibility, support a region, or be needed by only certain games or features. Conversely, “required” describes the supported configuration, not a legal source for the file and not a promise that every emulator version behaves identically. Check the emulator’s current documentation when the list and its behavior disagree.
RetroArch: cores are separate from system files
RetroArch keeps emulation cores and BIOS/firmware files in separate locations:
A core is normally a
.dllfile in RetroArch’s configured cores directory. LaunchBox selects the core for a platform under Tools > Manage > Emulators... > RetroArch > Edit > Associated Platforms.BIOS and firmware normally belong in RetroArch’s configured System/BIOS directory or a core-specific subfolder beneath it.
Each core can define its own required names, hashes, subfolders, and optional files.
Installing a core does not install its proprietary BIOS. Putting a BIOS in the cores directory will not satisfy a core that searches the System/BIOS directory.
In RetroArch, check Settings > Directory > System/BIOS, then consult that core’s official information page. LaunchBox’s built-in RetroArch support reads the system_directory value from retroarch.cfg when it can; otherwise it assumes a system folder beside the RetroArch installation. Because RetroArch supports special directory values and configuration overrides, confirm the effective path inside RetroArch if LaunchBox and RetroArch disagree.
For further verification, see the official Libretro BIOS Information Hub and RetroArch directory documentation.
Standalone emulators
A standalone emulator may store dependencies:
Inside its portable application directory.
In a subfolder such as
bios,firmware,keys, orsystem.Under
Documents,AppData, or another per-user data directory.In a custom location selected in the emulator’s settings or configuration file.
Placing an emulator beneath LaunchBox\Emulators does not automatically make all of its data portable. Some emulators use external user-data directories unless their own portable mode is enabled. PCSX2 and xemu, for example, can use different data locations depending on their configuration, so rely on the path shown in that emulator and its official documentation rather than guessing from the executable location.
For examples of project-specific requirements, see PCSX2’s official BIOS dumping guide and xemu’s official Required Files guide.
Hashes explain “right name, wrong file”
A checksum or hash is a fingerprint calculated from a file’s contents. LaunchBox’s Dependency Files implementation currently uses recorded MD5 values where available; emulator documentation may publish MD5, SHA-1, SHA-256, or another format. Compare only values produced with the same algorithm.
A mismatch can indicate:
A different region or hardware revision.
A header, patch, or other modification.
A compressed archive selected instead of the file inside it.
An incomplete or corrupted dump.
An update installer rather than the installed firmware data the emulator expects.
Renaming a file changes only its name, not its contents or hash. Do not rename a mismatched file merely to silence a filename check.
A safe setup and troubleshooting workflow
Read the current official documentation for the exact emulator or RetroArch core.
Obtain or dump the required file through a method you are legally permitted to use.
Keep an untouched backup of the original dump.
Verify its hash when the project publishes one.
Use the emulator’s supported installer/import method, or LaunchBox’s Dependency Files page when an applicable definition is available.
Confirm the final filename and directory.
Close and reopen the emulator if it caches system-file status.
Test a known-compatible game directly in the emulator first.
Once that succeeds, test the same game from LaunchBox.
If it still fails:
Read the emulator’s log or exact error message.
Confirm the game format is supported by the selected emulator or core.
In the game editor, check Launching > Emulation for the correct emulator.
Under the emulator’s Associated Platforms, verify the platform name, core, and command line.
Recheck the effective dependency directory, exact filename, revision, region, and hash.
Check whether the emulator is loading another configuration or user-data directory.
See Setting Up an Emulator Manually for LaunchBox configuration and My Game Won’t Play in LaunchBox for the full launch-chain diagnostic.
Back up more than LaunchBox data
LaunchBox’s built-in Create Data Backup archives the LaunchBox\Data directory. It does not include emulator folders, BIOS or firmware, encryption keys, RetroArch cores, ROMs, media, save files, or dependencies stored elsewhere—even when LaunchBox knows their paths.
For a recoverable setup, separately back up files you are legally permitted to retain, plus emulator configuration, cores, saves, and any external user-data directories. Preserve their folder structure and configuration paths. If the setup uses a removable drive, keep its Windows drive letter consistent or update the affected emulator settings after reconnecting or migrating it.