Last updated: September 2026

Dreamcast is the system where the BIOS is optional and everyone installs it anyway. Flycast ships a high-level replacement that boots most games, Redream needs nothing at all, and yet the first thing every Dreamcast guide tells you is to find dc_boot.bin. Both positions are right. The replacement runs the library; the real BIOS gets you the Dreamcast boot screen, the date and time menu, the full VMU behaviour and the handful of games that the replacement trips on.

This page covers the two files, the one folder rule Flycast is strict about, where that folder is on every platform, the Redream exception, and the serial and network cables that dump the ROM from a real console. It is the Dreamcast entry in my RetroArch BIOS reference.


The Two Files

FileWhat it isSizeMD5
dc_boot.binThe boot ROM, region free2,097,152 bytes (2 MB)e10c53c2f8b90bab96ead2d368858623
dc_flash.binThe system flash: region, language, date and time settings131,072 bytes (128 KB)0a93f7940c455905bea6e392dfde92a4 (USA)

The boot ROM is the same on every Dreamcast worldwide; any region’s dump gives the hash above, and Flycast’s own wiki says any region’s file works, including the devkit ROM. Two other region-free dc_boot.bin hashes are in circulation, d407fcf70b56acb84b8c77c93b0e5327 and d552d8b577faa079e580659cd3517f86, and Batocera lists all three as valid.

The flash is different. It holds the console’s region setting along with the language and clock, so there is one per region:

dc_flash.bin regionMD5
USA0a93f7940c455905bea6e392dfde92a4
Europe23df18aa53c8b30784cd9a84e061d008
Japan69c036adfca4ebea0b0c6fa4acfc8538
Region free93a9766f14159b403178ac77417c6b68 or 74e3f69c2bb92bc1fc5d9a53dcf6ffe2

Flycast treats dc_flash.bin as an alias of dc_nvmem.bin, the file it writes settings to, and creates one if none exists. So the flash is even more optional than the boot ROM: Flycast generates a working one, and the only reason to use a real dump is to start with your console’s exact region and settings.

Arcade boards

NAOMI, NAOMI 2 and Atomiswave games run on Flycast too, and those do need BIOS sets: naomi.zip, naomi2.zip, awbios.zip and the game-specific ones like hod2bios.zip and f355bios.zip. They are MAME-format zips that go in the same dc/ folder, and they are required, not optional. The console games on this page never touch them.


Who Needs It

EmulatorBoot ROMWhat you get with the real file
Flycast (RetroArch)OptionalThe real boot screen, Boot to BIOS for the settings menu, the date and time prompt, and better compatibility than the HLE BIOS on the edge cases. Core option HLE BIOS forces the replacement even with the file present.
Flycast standalone (Windows, Linux, Mac, Android)OptionalSame. The wiki calls it optional and lists the accepted variants.
RedreamNot usedRedream has its own implementation and never asks for a file.
Reicast (the old fork)RequiredBoth files. Reicast is abandoned; use Flycast.

EmuDeck sets Flycast to HLE by default and marks the Dreamcast BIOS as optional in its checker. I put the real files in anyway on every device. There is no cost, and the day a game hangs on the replacement you do not want to be hunting for a serial cable.


The Folder Rule

Flycast wants the files inside a folder named dc, lowercase, and nowhere else. This is the one thing people get wrong.

RetroArch

system/dc/dc_boot.bin and system/dc/dc_flash.bin, where system is the RetroArch system directory:

PlatformSystem directory
WindowsRetroArch\system\
Linux~/.config/retroarch/system/
macOS~/Library/Application Support/RetroArch/system/
Android/storage/emulated/0/RetroArch/system/
Steam Deck (Flatpak)~/.var/app/org.libretro.RetroArch/config/retroarch/system/

Flycast also writes dc_nvmem.bin and the VMU files (vmu_save_A1.bin and so on) into that same dc/ folder, so if the folder exists and has VMU files in it after you have played a game, you have found the right place.

Standalone Flycast

PlatformData folder
Windowsdata\ inside the Flycast folder; the Home Directory setting relocates it
AndroidAndroid/data/com.flycast.emulator/files/data/
Linux and macOSUnder the user data directory; the Home Directory setting shows the path

EmuDeck on Steam Deck

Two places, because EmuDeck installs both: Emulation/bios/dc/ for the RetroArch core and Emulation/bios/flycast/bios/ for the standalone. EmuDeck’s checker looks in both.

Linux handhelds

FirmwareBIOS folder
muOSMUOS/bios/dc/ on the OS card
Knulli / Batocera/userdata/bios/dc/
ROCKNIXroms/bios/dc/ on the games card
ArkOSdc/ inside the bios folder
RetroPie/home/pi/RetroPie/BIOS/dc/

Every one keeps the dc/ subfolder, because every one runs Flycast underneath. Knulli is case sensitive; DC/ is a different folder.

Dreamcast needs a real GPU. The RK3566 Linux handhelds run the lighter games and struggle on the rest; the Android devices below run the whole library at native resolution.


Region and Broadcast

With the real BIOS, a game from the wrong region can boot to the Dreamcast menu instead of the game. Flycast’s core options fix that per game: Region (Japan, USA, Europe), Language, and Broadcast (NTSC or PAL). A European disc that drops you to the menu on a US flash usually wants Region set to Europe and Broadcast to PAL. Flycast’s wiki is direct about the Japan case: a few Japanese titles refuse to boot until the region is set to Japan.


How to Verify

Get-FileHash .\dc_boot.bin -Algorithm MD5
md5sum dc_boot.bin

The boot ROM is exactly 2,097,152 bytes and the flash exactly 131,072. A dc_boot.bin at any of the three listed hashes is good; a flash at any regional hash is good.


How to Dump the BIOS From Your Dreamcast

The Dreamcast has no flash cart slot, so the dump goes over a cable. The homebrew community’s standard is dcload, part of the KallistiOS toolchain, and it comes in two flavours:

  • dcload-serial with a Coders Cable. The cable connects the Dreamcast’s serial port to a PC; the loader boots from a burned CD and dc-tool on the PC side reads memory.
  • dcload-ip with a Broadband Adapter or LAN Adapter. Same idea over the network, and much faster.

Once dcload is running, the tool’s download command pulls a memory range to a file. The boot ROM sits at address 0x0 for 0x200000 bytes and the flash at 0x200000 for 0x20000, which gives you a 2 MB and a 128 KB file. Rename them dc_boot.bin and dc_flash.bin. The KallistiOS repositories on GitHub carry the loaders and the tool.

A Coders Cable is the cheap route and still made by hobbyists. The Broadband Adapter is the expensive one, and if you have one it is probably for online play, not for this.


Common Problems

“Cannot Load BIOS” in standalone Flycast. The files are not in the data folder, or an arcade zip is out of date. For console games, this only appears when HLE is off and the files are missing.

Flycast boots to the Dreamcast menu instead of the game. Region or broadcast mismatch. Set them per game in core options.

RetroArch says the BIOS is missing but the file is in system. It is in system/ instead of system/dc/. Move it.

Date and time prompt on every boot. Flycast is not saving dc_nvmem.bin, usually because the dc/ folder is not writable. Check permissions on the SD card.

Game runs on Redream but not Flycast. Try the real BIOS if you are on HLE, then check the region settings. The two emulators have different compatibility lists.


The boot ROM is Sega’s copyrighted code. Flycast runs without it, Redream never asks, and the real file comes off your own console with a $20 cable and free software. The pack sites bundle the ROM with the wrong flash region and, as often as not, a Reicast-era guide that puts it in the wrong folder.


FAQ

Does Flycast need a BIOS?

No. It has a built-in HLE BIOS that boots most games. The real dc_boot.bin improves compatibility and enables the real boot screen and settings menu.

Does Redream need a BIOS?

No. Redream never uses one.

Where does dc_boot.bin go in RetroArch?

system/dc/dc_boot.bin. The dc subfolder is required.

Do I need dc_flash.bin?

No. Flycast generates one. A real dump only sets your starting region and settings.

Does the Dreamcast BIOS region matter?

The boot ROM is region free. The flash carries the region, and Flycast’s Region core option overrides it per game.


Flycast core docs | Flycast wiki | Redream | dcload-serial


Last verified: September 2026