Last updated: September 2026
The DS is the system where the BIOS question changed under everyone’s feet. For years melonDS refused to start without three dumped files. Then version 0.9.4 shipped with a replacement BIOS and generated firmware, and suddenly the files were optional. Half the guides online still say “required”, the other half say “not needed”, and both are describing a real version of the emulator.
Here is the current state. Which files exist, what each one is for, which emulators still want the real thing, where the folder is on each platform, and how to dump your own from a DS, DS Lite, DSi or 3DS. This is the DS half of my RetroArch BIOS reference.
The DS Files
| File | Size | MD5 | What it is |
|---|---|---|---|
bios7.bin | 16,384 bytes | df692a80a5b1bc90728bc3dfc76cd948 | ARM7 BIOS (sound, wireless, cart access) |
bios9.bin | 4,096 bytes | a392174eb3e572fed6447e956bde4b25 | ARM9 BIOS (the main CPU’s boot and interrupt code) |
firmware.bin | 128, 256 or 512 KB | varies per console | The DS menu, WiFi settings, your nickname and colour |
The two BIOS files are identical on every DS ever made, so the hashes are fixed. The firmware is not. It carries the console’s own settings and its WiFi MAC address, so every dump has a different hash, and the size tells you which console it came from:
| Firmware size | Source console | Bootable? |
|---|---|---|
| 256 KB (262,144 bytes) | DS, DS Lite | Yes |
| 512 KB (524,288 bytes) | iQue DS (China) | Yes |
| 128 KB (131,072 bytes) | DSi or 3DS in DS mode | No. Configuration data only. |
That last row causes most of the confusion. A DSi or 3DS dumps a DS-mode firmware that is half the size, and it contains no menu code. melonDS accepts it for direct boot, where the game launches straight away, but firmware boot, where you see the DS menu and pick the game, needs a dump from an original DS or DS Lite.
The DSi Files
DSi mode, which is what you need for DSiWare and the DSi-enhanced games, wants four more files:
| File | Size | Notes |
|---|---|---|
dsi_bios7.bin | 65,536 bytes | Not the same as bios7.bin; four times the size |
dsi_bios9.bin | 65,536 bytes | Same story |
dsi_firmware.bin | 131,072 bytes | DSi firmware |
dsi_nand.bin | about 240 MB | The DSi’s internal storage, per console, with its nocash footer |
There are no published hashes for the DSi BIOS files, and the NAND is unique to your console. All four are required for DSi mode in melonDS; there is no replacement for any of them.
Which Emulators Need Them
| Emulator | DS files | DSi files |
|---|---|---|
| melonDS standalone, 0.9.4 and later | Optional. Uses the DraStic replacement BIOS and a generated firmware if nothing is provided. | All four required for DSi mode |
| melonDS standalone, 0.9.3 and earlier | Required | Required |
| melonDS (RetroArch core) | Optional | Optional |
| melonDS DS (the newer RetroArch core) | Optional, built-in replacements “work with most games” | DSi BIOS required in DSi mode; firmware and NAND selectable |
| DeSmuME (RetroArch) | Optional. Enable Use External BIOS/Firmware and restart the core to use them. | Not supported |
| DraStic (Android) | Not needed. DraStic’s built-in BIOS is the one melonDS adopted as its FreeBIOS. | Not supported |
What you lose with the replacement: the real DS menu (no firmware boot), the nickname and colour a game reads from the firmware, and a small number of titles that hit BIOS edge cases. The 0.9.5 release notes fixed Yoshi’s Island under FreeBIOS, which tells you the kind of game that finds the gaps. If you own a DS, dump the files and stop thinking about it.
Where the Files Go
melonDS standalone
There is no fixed folder. Open Config > Emu Settings, and on the DS-mode tab pick each file by path. The DSi-mode tab does the same for the four DSi files. I keep every BIOS I own in one Emulation/bios/ folder and point melonDS there; it saves the paths in its config file next to the executable on Windows or under ~/.config/melonDS/ on Linux.
RetroArch
Both melonDS cores and DeSmuME read from the system directory, files at the root:
| Platform | System directory |
|---|---|
| Windows | RetroArch\system\ |
| Linux | ~/.config/retroarch/system/ |
| Android | /storage/emulated/0/RetroArch/system/ |
| Steam Deck (Flatpak) | ~/.var/app/org.libretro.RetroArch/config/retroarch/system/ |
melonDS DS is the one core on this site that also accepts a subfolder: it looks in the system root and in a melonDS DS folder inside it. The older melonDS core and DeSmuME want the root.
After loading the core, Quick Menu > Information > Core Information shows bios7.bin and bios9.bin as Present or Missing with hashes. The firmware line always shows Present without a hash check because every dump differs.
EmuDeck on Steam Deck
Emulation/bios/, files at the root. EmuDeck’s docs are explicit that a subfolder will not be picked up, and they note that the open-source BIOS is on by default for melonDS, so the emulator runs before you add anything. DSiWare needs all four DSi files in the same folder.
Linux and Android handhelds
| Firmware | BIOS folder |
|---|---|
| ROCKNIX / ArkOS | roms/bios/ on the games card |
| Knulli | /userdata/bios/ (the bios network share) |
| muOS | MUOS/bios/ on the OS card; DraStic is the default DS emulator and does not read them |
| OnionOS (Miyoo Mini) | BIOS/ at the SD card root; DS runs on DraStic there too |
| Android (Retroid, AYN, Anbernic) | Whatever folder you pick in melonDS; DraStic needs nothing |
On Android handhelds the choice is DraStic for speed or melonDS for accuracy and DSi. Only the second one cares about this page.
How to Dump Your Own
From a DS, DS Lite, DSi or 3DS with a flashcart
The tool is dsbf_dump from the DS-Homebrew team, on GitHub. Copy dsbf_dump.nds to the root of your flashcart’s SD card, launch it, and it writes a folder named FW followed by your console’s MAC address. Inside are the ARM7 BIOS, ARM9 BIOS and firmware, named BIOSNDS7.ROM, BIOSNDS9.ROM and a firmware file named after the MAC address with a .BIN extension. Rename them to bios7.bin, bios9.bin and firmware.bin.
It works from a Slot-1 or Slot-2 cart on a DS or DS Lite, and from a Slot-1 cart on a DSi without Unlaunch or a 3DS. Remember the size rule: a DSi or 3DS gives you the 128 KB DS-mode firmware, which is fine for direct boot and useless for the menu. If you want a bootable firmware, dump a DS or DS Lite.
DSi files, from a DSi with Unlaunch
dsibiosdumper runs on a DSi with Unlaunch installed. Hold A and B while powering on to get Unlaunch’s menu, launch the dumper, press A, and it writes the DSi BIOS pair, the NAND with its nocash footer, and the DS-mode firmware into a dsidump folder on the SD card. The NAND is the console’s whole internal storage, so it takes a few minutes and about 240 MB. The wiki page for both dumpers is at wiki.ds-homebrew.com.
Back the DSi files up somewhere safe. The NAND in particular cannot be recreated if the console dies.
Common Problems
Firmware boot hangs on a black screen or drops to a menu that does nothing. You have the 128 KB DSi/3DS firmware. Switch to direct boot, or dump a DS Lite.
DSi mode will not start. One of the four DSi files is missing or in a subfolder. melonDS needs every one of them.
EmuDeck does not see the files. They are in a subfolder under Emulation/bios/. Move them to the root.
The file is the wrong size. bios7.bin is exactly 16,384 bytes and bios9.bin exactly 4,096. Anything else is a bad dump or a mislabelled DSi BIOS.
Nickname shows as a default name. You are on generated firmware. Only a real firmware.bin carries your profile.
Game runs on DraStic but not melonDS with FreeBIOS. It is one of the edge cases. Add the real BIOS files.
Why No Download Links
The BIOS and firmware are Nintendo’s copyrighted code, and the firmware carries a real console’s identity. A DS Lite costs less than a flashcart did in 2008, the dump takes two minutes, and the result is yours forever. The download sites bundle the files with whatever pays them that month.
FAQ
Does melonDS need a BIOS?
Not since 0.9.4. It ships a replacement BIOS and generates firmware. The real files are still better: they enable firmware boot, keep your nickname, and fix the few games that break on the replacement.
Does DraStic need a BIOS?
No. It has its own built-in BIOS, and that code is what melonDS now uses as its FreeBIOS.
Can I use the DSi BIOS as a DS BIOS?
No. They are different files at different sizes, and melonDS keeps them in separate slots.
Why does my firmware.bin fail the hash check?
It does not have one. Every firmware dump is unique to its console, so RetroArch lists it without a hash.
Which console gives the best firmware dump?
A DS or DS Lite, for the 256 KB bootable image. A DSi or 3DS only gives the 128 KB configuration file.
melonDS | melonDS FAQ | melonDS core docs | dsbf_dump
Last verified: September 2026