This is an old revision of the document!


The swansong of SEGA's console division.

Sega Dreamcast

The Dreamcast is a sixth-generation console released by Sega on November 27, 1998 in Japan and later on September 9, 1999 in NA. The system is available in most builds, except for RPi1/Zero and 2. Here's a fun page about it.

This system scrapes metadata for the “dreamcast” group and loads the dreamcast set from the currently selected theme, if available.

  • Accepted ROM formats: .cdi, .cue, .gdi, .chd, .m3u
  • Folder: /userdata/roms/dreamcast
MD5 checksum Share file path Description
e10c53c2f8b90bab96ead2d368858623 bios/dc_boot.bin Dreamcast BIOS file
0a93f7940c455905bea6e392dfde92a4 bios/dc_flash.bin FIXME

Dreamcast discs are a special form of CD named GD, which are capable of holding up to 1GB of data, compared to the ~700MB capacity of regular CDs. GDs were traditionally dumped off of the original console as GD-ROMs (which contains a game.gdi sheet, info.txt and data.bin/.iso/.raw track(s)), but some more modern tools may use the more universal game.cue sheet and data.bin track format. Most emulators can load either sheet format fine. You should load the .gdi or .cue sheet and not the .bin/.iso/.raw tracks. From Batocera v31 onwards, EmulationStation should avoid making duplicate entries for these files.

If you're currently missing the .gdi or .cue files, check out the section on recovering them on this page.

WinCE games seem to not run on the RPi3B+.

The recommended format for compressing disc images is CHD.

If compressing the image into the CHD format ensure that you are using chdman version 0.230 or later, as earlier versions have issues with Dreamcast images. If your compressed ROMs are failing to launch in Batocera, users have reported having more success making chdman target a .gdi file instead of a .cue file. Most online .bat scripts only target .cue files. There is a custom version of chman that supports rolling to and from CUE/BIN files here.

To automatically load the next disc of a game, you can use a .m3u playlist file. To make one, simply create a text file with the same filename as your intended game name (it could be anything, really). Within that text file, write the names of the .gdi sheets or .chd files for your game discs. For instance, if your game's .gdi sheets were structured like

roms/
└─ dreamcast/
   ├─ Shenmue (Disc 1).gdi
   ├─ Shenmue (Disc 1).bin
   ├─ Shenmue (Disc 2).gdi
   ├─ Shenmue (Disc 2).bin
   ├─ Shenmue (Disc 3).gdi
   ├─ Shenmue (Disc 3).bin
   ├─ Shenmue (Passport disc).gdi
   └─ Shenmue (Passport disc).bin

you would put the following as text into the Shenmue.m3u text file:

Shenmue.m3u
Shenmue (Disc 1).gdi
Shenmue (Disc 2).gdi
Shenmue (Disc 3).gdi
Shenmue (Passport disc).gdi

Save the text file with the file extension .m3u and place it in the dreamcast folder along with the game's discs. When you get to the end of that disc, the next disc will be automatically loaded. In libretro cores, if this fails, you can utilize Retroarch's 'Disc Control' menu in the Quick Menu (Hotkey+South button (B SNES)) to manually eject a disc and insert another (Swap Disc is for legacy purposes and should not be used). Refer to multi-disc games for more info.

Flycast is a fork of Reicast (which itself is a fork of nullDC). A highly compatible and accurate standalone emulator.

Flycast can also be used to run NAOMI arcade games due to being nearly identical hardware.

Flycast configuration

Standardized features available to all cores of this emulator: naomi.videomode, naomi.ratio

Flycast cannot be configured in EmulationStation; all other configuration must be done via the flycast-config in the Applications folder ([F1] on the systems screen).

RetroArch (formerly SSNES), is a ubiquitous frontend that can run multiple “cores”, which are essentially the emulators themselves. The most common cores use the libretro API, so that's why cores run in RetroArch in Batocera are referred to as “libretro: (core name)”. RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform.

RetroArch configuration

RetroArch offers a Quick Menu accessed by pressing [HOTKEY] + South button (B SNES) which can be used to alter various things like RetroArch and core options, and controller mapping. Most RetroArch related settings can be altered from Batocera's EmulationStation.

Standardized features available to all libretro cores: dreamcast.videomode, dreamcast.ratio, dreamcast.smooth, dreamcast.shaders, dreamcast.pixel_perfect, dreamcast.decoration, dreamcast.game_translation

ES setting name batocera.conf_key Description ⇒ ES option key_value
Settings that apply to all cores of this emulator
GRAPHICS BACKEND dreamcast.gfxbackend Choose your graphics rendering
⇒ OpenGL opengl, Vulkan vulkan.
AUDIO LATENCY dreamcast.audio_latency Audio latency in milliseconds, turn it up if you hear crackles
⇒ 256 256, 192 192, 128 128, 64 64, 32 32, 16 16, 8 8.
THREADED VIDEO dreamcast.video_threaded Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise.
⇒ On true, Off false.

libretro: Flycast

A fork of a fork of a fork… this is an identical version of standalone Flycast but inside of a libretro core. Makes use of RetroArch's features.

libretro: Flycast configuration

ES setting name batocera.conf_key Description ⇒ ES option key_value
Settings that apply to all systems this core supports
SYNCHRONOUS RENDERING global.reicast_synchronous_rendering When threaded rendering is on (on by default), waits for the GPU to finish rendering the frame before dropping the current one. This can avoid certain emulation issues (flashing screens, glitchy video). Significant performance cost. Recommended “Off” for most games as they don't experience issues (or you have a weak machine), “On” if the game has these particular issues.
⇒ Off disabled, On enabled.
RENDERING RESOLUTION global.reicast_internal_resolution Enhancement. Increases the rendering resolution. Makes 3D objects clearer. Significant performance cost. Use 640×480 for native. Absurdly high values can degrade image quality (pixels beginning to shimmer).
⇒ 640×480 640×480, 800×600 800×600, 960×720 960×720, 1024×768 1024×768, 1280×960 1280×960, 1440×1080 1440×1080, 1600×1200 1600×1200, 1920×1440 1920×1440, 2560×1920 2560×1920, 3200×2400 3200×2400, 3840×2880 3840×2880, 4480×3360 4480×3360, 5120×3840 5120×3840, 5760×4320 5760×4320, 6400×4800 6400×4800, 7040×5280 7040×5280, 7680×5760 7680×5760.
TEXTURE MIP-MAPPING (BLUR) global.reicast_mipmapping Enables mip-mapping to smooth out textures on distant 3D objects based on distance and angle. Dreamcast games natively utilized mipmapping to get extra performance out of the hardware, but the extra bluriness from doing this is more apparent on modern, higher fidelity screens. Has a minimal performance cost. enabled should be used in conjunction with anisotropic filtering to mitigate bluriness. Some users may prefer the 'sharpness' of disabled better.
⇒ Off disabled, On enabled.
ANISOTROPIC FILTERING global.reicast_anisotropic_filtering Enables anisotropic filtering to enhance perspective textures. Dramatically improves the clarity of textures on distant 3D objects when mip-mapping is turned on, especially at higher internal resolutions. Test Drive: Le Mans is the only Dreamcast game that natively utilizes this. Has a small performance cost. Generally safe to use 16x when mip-mapping is also enabled, leave on “Off” otherwise.
⇒ Off False, 2x 2, 4x 4, 8x 8, 16x 16.
TEXTURE UPSCALING (XBRZ) global.reicast_texupscale Enhancement. Applies xBRZ upscaling to textures to improve their clarity. Improvements are subjective.
⇒ Off False, 2x 2x, 4x 4x, 6x 6x.
RENDER TO TEXTURE UPSCALING global.reicast_render_to_texture_upscaling Enhancement. Some 3D games would capture the screen output and render it as a 2D texture (eg. pause menu in Crazy Taxi and Dead or Alive), being unaffected by reicast_internal_resolution. This setting multiplies the resolution of that capture. Example here. “Off” for native, “4x” for close-to 1080p rendering (only useful if also upscaling the internal resolution).
⇒ Off 1x, 2x 2x, 3x 3x, 4x 4x, 8x 8x.
FRAMESKIP global.reicast_frame_skipping Skip frames to improve performance, at the cost of choppy motion. Higher values can cause motion sickness if used for extended periods. Should only be turned up on weak hardware and if immune to motion sickness.
⇒ Off disabled, 1 1, 2 2, 3 3, 4 4, 5 5, 6 6.
FORCE WINDOWS CE MODE global.reicast_force_wince Some Dreamcast games (marked “Powered by Microsoft Windows CE” on the box, eg. Sega Rally 2) utilized the MMU Windows Compact Edition API on the Dreamcast to run. Batocera should automatically detect this but in case it doesn't you can manually override it here. Significant performance cost.
⇒ Off disabled, On enabled.
WIDESCREEN CHEAT (PRIORITY) global.reicast_widescreen_cheats Enhancement. Flycast has a database of cheats that can enable widescreen support in certain games, rendering them in anamorphic widescreen without changing the internal resolution. disabled Some games also natively support widescreen in their in-game options. A 16/9 ratio must be used and bezels must be disabled.
⇒ Off disabled, On enabled.
WIDESCREEN HACK global.reicast_widescreen_hack Enhancement. Changes the internal resolution to a widescreen ratio (eg. 640×480 becomes 853×480). Somewhat glitchy. Some games also natively support widescreen in their in-game options. A 16/9 ratio must be used and bezels must be disabled.
⇒ Off disabled, On enabled.
CONTROLLER 1 TYPE global.controller1_dc Chooses the controller plugged into port 1.
⇒ Gamepad 1, Keyboard 3, Mouse 2, Light Gun 4.
CONTROLLER 2 TYPE global.controller2_dc Same as above for port 2.
⇒ Gamepad 1, Keyboard 3, Mouse 2, Light Gun 4.
CONTROLLER 3 TYPE global.controller3_dc Same as above for port 3.
⇒ Gamepad 1, Keyboard 3, Mouse 2, Light Gun 4.
CONTROLLER 4 TYPE global.controller4_dc Same as above for port 4.
⇒ Gamepad 1, Keyboard 3, Mouse 2, Light Gun 4.
Settings specific to atomiswave
SCREEN ORIENTATION atomiswave.screen_rotation_atomiswave Rotate screen for some arcade games
⇒ Horizontal horizontal, Vertical vertical.
Settings specific to naomi
SCREEN ORIENTATION naomi.screen_rotation_naomi Rotate screen for some arcade games
⇒ Horizontal horizontal, Vertical vertical.

All other settings can be configured from RetroArch's Quick MenuOptions ([HOTKEY] + South button (B SNES)).

Redream is a multi-platform standalone emulator. Has high compatibility with low system requirements. Lacks some options compared to Flycast.

You cannot exit Redream via controller as the Hotkey+Start shortcut opens the Redream menu instead and you cannot navigate to the close button unless you have a mouse.

Redream configuration

Standardized features available to all cores of this emulator: naomi.videomode

Redream can only be configured by its menu ([HOTKEY] while running a game).

Flycast supports custom texture packs for games. To use them:

  1. Copy the unzipped texture pack folder to saves/dreamcast/flycast/textures/ (it should already be titled the proper game ID for the game that it supports)
  2. In Batocera, launch flycast-config from the file manager → Applications
  3. Navigate to SettingsVideo and tick “Load Custom Textures”
  4. Exit with [Alt] + [F4] and then launch the game from Batocera

Here are the default Sega Dreamcast's controls shown on a Batocera Retropad:

Each Dreamcast emulator handles the [HOTKEY], its chords and the [SELECT] button differently.

  • libretro/flycast
    • [HOTKEY] by itself does nothing.
    • [HOTKEY] + [START] closes the emulator.
    • [SELECT] does nothing.
  • Flycast standalone
    • [HOTKEY] by itself opens Flycast's quick menu.
    • [HOTKEY] + [START] closes the emulator.
    • [SELECT] does nothing.
  • Redream
    • [HOTKEY] by itself opens Redream's menu.
    • [HOTKEY] + [START] does nothing.
    • [SELECT] toggles fast-forward.

The [HOTKEY] + [L1] shortcut, which ordinarily takes a screenshot, will instead eject the disc in libretro/Flycast. Practice caution!

For further troubleshooting, refer to the generic support pages.

  • systems/dreamcast.1639101585.txt.gz
  • Last modified: 5 years ago
  • by atari