This is an old revision of the document!
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.
Quick reference
- Accepted ROM formats:
.cdi,.cue,.gdi,.chd,.m3u
| Emulators |
|---|
| libretro/flycast |
| flycast |
| redream |
BIOS
| MD5 checksum | Share file path | Description |
|---|
ROMs
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+.
Disc compression
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.
Multi-disc games
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+
) 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.
Emulators
Flycast
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
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] +
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. | |
VIDEO 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. | |
FRAME SKIP 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 Menu → Options ([HOTKEY] +
).
Redream
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).
Texture packs
Flycast supports custom texture packs for games. To use them:
- 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) - In Batocera, launch
flycast-configfrom the file manager → Applications - Exit with
[Alt]+[F4]and then launch the game from Batocera
Controls
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!
Troubleshooting
For further troubleshooting, refer to the generic support pages.
- systems/dreamcast.1637750051.txt.gz
- Last modified: 5 years ago
- by atari

