Sega Dreamcast emulators
![]() | |
Developer | Sega |
---|---|
Type | Home video game console |
Generation | Sixth generation |
Release date | 1998 |
Discontinued | 2001 |
Predecessor | Jupiter, Saturn, Pluto |
Emulated | ✓ |
- For other emulators that run on Dreamcast hardware, see Emulators on Dreamcast.
The Sega Dreamcast is a sixth-generation console released by Sega on November 27, 1998, in Japan and later on September 9, 1999, in NA. It retailed for $199.99.
To go more in-depth, it had a Hitachi SH-4 RISC CPU at 200 MHz with 16 MBs of RAM and 8 MBs of VRAM. Additionally, on the graphic side, the console came with a PowerVR2 GPU at 100 MHz, which theoretically was capable of pushing 3 million polygons/second on-screen. The audio system had 2 MBs of audio RAM, which complemented a powerful 67 MHz Yamaha AICA sound processor with a 32-bit ARM7 RISC CPU core. The audio chip could generate 64 voices with PCM or ADPCM codec and provided ten times the performance of the Saturn's sound system.
Also, Microsoft collaborated on the Dreamcast's development, and this partnership would continue later with the Xbox. What came out of this was the possibility for games to be developed for an optimized version of Windows CE (with DirectX) on each disc. However, Windows CE wasn't mandatory to use, and most developers opted for SEGA's development tools instead out of convenience. Even in major emulators, this aspect isn't implemented well.
In the same year of Dreamcast's launch, SEGA released the NAOMI, an arcade system board with similar components to the Dreamcast. Sammy's Atomiswave arcade board was also based on the Dreamcast and NAOMI.
A few years later, a successor of the NAOMI board was released in 2001, called NAOMI 2. It was a bit more powerful than its predecessor, having one more Hitachi SH-4 CPU and another PowerVR 2 GPU. Only 13 titles were released for this board.
Contents
Emulators
Name | Platform(s) | Latest Version | Enhancements | Hardware features and peripherals |
NAOMI NAOMI 2 Multiboard |
Hikaru (光) | Gaelco PVR |
Atomiswave | System SP |
Cave CV1000 |
Compatibility | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PC / x86 | ||||||||||||||
Flycast | ![]() ![]() ![]() |
CI Builds libretro core[N 1] Flycast Dojo fork (Flycast道場) 2.3.2 |
~ | ✓ | ~[N 2] | ✗* | ✗* | ✓ | ✓ | ✗ | ? | ✓ | ✓ | ✓ |
redream | ![]() ![]() ![]() |
Dev Builds 1.5.0[N 3] |
~ | ~ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | 96% | ✗ | ✓ | ✓ |
DEmul | ![]() |
0.7 Build 280418 | ~ | ~ | ✓ | ✓ | ✓ | ✓ | ✓ | ~[N 4] | ? | ✗ | ✗ | ~ |
reicast | ![]() ![]() |
r20.04 | ? | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✗ | ✗ |
nullDC | ![]() |
1.0.4 r150 | ? | ? | ~[N 5] | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✗ | ✗ |
washDC | ![]() ![]() |
git | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✓ | ✗ |
lxdream-nitro | ![]() ![]() |
git | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✓ | ✗ |
Chankast | ![]() |
0.25 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✗ | ✗ | ✗ |
Lxdream | ![]() ![]() |
0.9.1 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✗ | ✗ |
Makaron | ![]() |
T12/5 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✗ | ✗ | ✗ |
MAME | ![]() ![]() ![]() ![]() |
git artifacts[N 6] 0.265 libretro core |
~ | ~ | ~[N 7] | ~[N 7] | ~[N 7] | ~[N 7] | ~[N 7] | ~[N 7] | ? | ✓ | ✓ | ✗ |
FinalBurn Neo | ![]() ![]() ![]() |
libretro core nightly stable |
? | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ? | ~ | ✓ | ✗ |
Mobile / ARM | ||||||||||||||
Flycast | ![]() ![]() |
CI Builds libretro core[N 1] |
~ | ✓ | ~[N 2] | ✗ | ✗ | ✓ | ✓ | ✗ | ? | ✓ | ✓ | ✓ |
redream | ![]() ![]() |
1.2.07 (Google Play) 1.5.0 (Raspberry Pi) |
~ | ~ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | 96% | ✗ | ✓ | ✓ |
reicast | ![]() ![]() ![]() ![]() |
r20.04 (Google Play) Pyra Build Pandora Raspberry Pi |
? | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✗ | ✗ |
Console | ||||||||||||||
Flycast | ![]() ![]() ![]() ![]() |
CI Builds libretro core[N 1] v1.1 |
~ | ✓ | ~[N 2] | ✗ | ✗ | ✓ | ✓ | ✗ | 54% (Vita) | ✓ | ✓ | ✓ |
nullDC PSP | ![]() |
git 1.2.1 | ? | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ✓ | ~ |
nulldc-360 | ![]() |
git | ? | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✓ | ~ | ~ |
- ↑ 1.0 1.1 1.2 This build using upstream repo for libretro from now on. Keep in mind that some of the arcade variation supported titles on flycast standalone version will not work on retroarch flycast core due to libretro API.
- ↑ 2.0 2.1 2.2 Most of the NAOMI and NAOMI 2 titles including GD-ROM games work with Flycast, but most of the NAOMI Multiboard titles boot with a multiboard error message. Recommended to use DEmul emulator for this system.
- ↑ CI/Dev builds are a better choice for almost all users; the stable version should only be used if you have a specific need for them.
- ↑ 'arcade_compat.txt' file inside DEmul's release archives do not have any Cave CV1000 emulation compat list, so its games' status is unknown.
- ↑ nullDC was the first independent, open-source Sega Dreamcast emulator to attempt emulation of the NAOMI arcade board. Its compatibility with NAOMI, NAOMI 2 and NAOMI Multiboard is unknown.
- ↑ CI-Windows CI-Linux CI-Macos
- ↑ 7.0 7.1 7.2 7.3 7.4 7.5 MAME 0.265 version compatibility status: hikaru gaelco 3d atomiswave System SP NAOMI cave 1000 also see these for cave 1000: exA-Arcadia (C&D) akatana, ddpsdoj situation
Comparisons
- nullDC
- Can run a lot of games at great speed on a mid-end PC, and it's open-source. However, it's no longer being developed, and the more recent forks have improved upon it.
- reicast
- Eventually, nullDC's author forked his own project into reicast, with the main objective to widen platform availability to smartphones and tablets. While wider availability is generally a good thing, this resulted in cutting accuracy corners from the nullDC codebase to achieve the speed goals necessary to run on these platforms. Advancements in mobile hardware should have led to the removal of such "hacks"; however, lack of developer resources and interest led to long delays in Reicast development, and the codebase remained virtually untouched for years before the RetroArch team began working with it as part of a "Reicast core", later named Flycast.
- Flycast
- Fork of reicast available as a standalone emulator and as a libretro core. Libretro collaborators, primarily flyinghead, dramatically improved Reicast in areas such as graphics, input, system clock, and Dreamcast VMU. Atomiswave and NAOMI SH-4-based arcade systems have also been added to great fanfare[N 1], along with full MMU support, which is needed to run Windows CE-based games such as Armada, Half-Life, and SEGA Rally Championship 2. It has recently been tackled through an experimental branch (anyone following Dreamcast emulation over the years understands what a tough nut this is to crack). Aside from some audio stuttering issues in games such as "Looney Toons Space Race" and "Resident Evil: Code Veronica", this is a highly compatible and accurate emulator. Also there is a feature request for implementing an LLE renderer similar to the redream one.
- Flycast Dojo
- Fork of Flycast with a focus on netplay features and replay. Also, available on the Fightcade matchmaking service.
- redream
- Multi-platform and easy to use, but it's closed-source. It has a good user interface, is easy to set up, and can run without a BIOS. Runs on low-end machines provided that they support OpenGL 3.1. There's a payware premium version that provides high-definition rendering and additional slots for save states. Emulator work unstable on AMD GPUs with actual driver version. Recently, redream developer "inolen" implemented an LLE video renderer that utilizes a compute shader (like parallels-rdp for Nintendo 64) that allows low-level graphics emulation to be run on the GPU. This can provide acceptable performance to those who want more of an accurate experience with some decent GPU to handle it comfortably. Since using a computer shader will net you some massive performance benefits, it could also allow you to upscaling/downscaling in the same manner that parallels-rdp can which can be a lot of fun too. See redream discord channel for more information.
- DEmul
- Windows-only and closed-source. Used to be the go-to emulator. It supports Windows CE games, but they generally run worse than standard Dreamcast titles. It's also more resource-intensive than other emulators. As of 2022, you´re better off with Flycast or redream for Dreamcast emulation as they are multi-platform and have higher compatibility with Windows CE games. Having said that, DEmul is still highly recommended for SEGA NAOMI and variants.
- Makaron
- A closed-source Dreamcast emulator that was once noteworthy for being one of the few that could properly play Windows CE games. It has since been superseded by newer emulators.
Enhancements
Name | Flycast | Redream | DEmul | MAME | |
---|---|---|---|---|---|
Graphics | Resizable Internal Resolution | ✓ | ✓ | ? | ? |
Texture Replacement | ✓ | ? | ? | ? | |
Widescreen hack | ✓ | ✓ | ? | ? | |
Ray-tracing | Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future. However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade. Demonstration | ||||
Super-resolution techniques (DLSS, XeSS and FSR 2+) |
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future. Besides any GPU that can use DLSS can run these emulators at 8k native with ease anyway. | ||||
Pre-rendering AA (MSAA, SSAA) |
✓* | ? | ? | ? | |
Performance | Internal Framerate Hack | ✓* | ? | ? | ? |
Frame generation technologies (LSFG, DLSS-G, ExtraSS and AFMF) |
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack". While AFMF or LSFG could be used with Flycast?, please be aware that some visual glitches and artifacts may occur at this time. | ||||
Overclock | ✓ | ? | ? | ? | |
Preload optical disc image to RAM For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive. Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity. |
✗ | ? | ✗ | ? | |
Post-Processing | Post-rendering AA (FXAA, TXAA and MLAA/SMAA) |
~[N3 1] | ? | ? | ? |
Post-rendering scaling (Sharp bilinear, Lanczos and FSR 1) |
✓ | ? | ? | ✓ | |
Filters | ~[N3 1] | ? | ? | ? | |
AI-powered filter compatible (Freestyle) |
? | ? | ? | ? | |
Shader Chain | ~[N3 1] | ? | ? | ? | |
Inverse tone mapping compatible | ? | ? | ? | ? | |
TAS features | Macros/Scripts/Lua | ✓ | ? | ? | ? |
Rewind | ✓ | ? | ? | ? | |
Fast-Forward/Turbo Speed | ✓ | ✓ | ? | ? | |
Savestates | ✓ | ✓ | ? | ? | |
Movie recording/playback | ✗ | ? | ? | ? | |
Controls | Mouse Injector Compatible | ✗ | ✗ | ✗ | ✗ |
Input lag-mitigating technique | ✗ | ✗ | ? | ? | |
Quality of life | Built-in Graphics mod editor/manager | ✗ | ✗ | ✗ | ✗ |
Built-in Cheat Manager | ✓* | ? | ? | ? | |
Built-in Custom resolution/CRTSwitchRes For using this on Windows OS you need CRT Emudriver. Another option is using EDID editor tool such as "Custom Resolution Utility". |
Exclusive to libretro cores and GroovyMAME at the moment. Also there is a project for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors. | ||||
Streamable compression format | ✓ | ✓ | ✓ | ✓ | |
Per-Game Profiles | ✓* | ✓ | ? | ? | |
Command Line Options | ✓* | ✓ | ? | ? | |
On-Screen Display Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications. |
~[N3 1] | ? | ? | ? | |
Variable Refresh Rate compatible | ? | ? | ? | ✓* | |
Big Picture Mode | ~[N3 1] | ? | ✗ | ✓ | |
Misc | RetroAchievements | ~[N3 1] | ? | ? | ? |
EmuVR support | Exclusive to libretro cores at the moment. | ||||
Free Look Free Look is a enhancement feature that allows manipulation of the in-game camera. |
The free camera has to be hacked in the game code directly. You can use debug menu for certain games to use Free Look. | ||||
Debug Features | ~[N3 2] | ? | ? | ? |
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 These features are exclusive to libretro core. There is a feature request for RetroAchievement support for standalone flycast. Post-rendering AA techniques like FXAA anti-aliasing shader exclusive to libretro cores, though you can use ReShade FXAA shader for Flycast standalone. Also the on-screen display options in Flycast's standalone version are bare-bones and offer little customization.
- ↑ Both the Flycast standalone version and the libretro core offer limited debugging options.
Hardware features and peripherals
Name | Flycast | Redream | DEmul | MAME | |
---|---|---|---|---|---|
Order-independent transparency (OIT) | ✓* | ✓ | ~ | ? | |
Windows CE | ✓ | ✓ | ✓ | ✗ | |
Peripherals | |||||
VMU | VMU emulation | ✗ | ✗ | ✗ | ✓ |
VMU communication | ✓ | ✓ | ✓ | ✗ | |
VMU Sound | ✓ | TBD | TBD | TBD | |
Jump Pack | ✓ | TBD | TBD | TBD | |
Modem | ✓ | TBD | TBD | TBD | |
Arcade Stick | ✓ | TBD | TBD | TBD | |
ASCII Mission Stick | ✓ | TBD | TBD | TBD | |
Keyboard | ✓ | ✓* | TBD | TBD | |
Mouse | ✓ | ✗* | TBD | TBD | |
Light Gun | ✓ | TBD | TBD | TBD | |
Microphone | ✓ | TBD | ✓ | TBD | |
Rally Wheel | ✓ | TBD | TBD | TBD | |
Twin Stick | ✓ | TBD | TBD | TBD | |
Fishing Controller | ✓ | TBD | TBD | TBD | |
Samba de Amigo Maracas Controller | ✓* | TBD | TBD | TBD | |
Densha de Go controller | ✓ | TBD | TBD | TBD | |
Pop'n'Music Controller | ✓ | TBD | TBD | TBD | |
Broadband Adapter | ✓* | TBD | TBD | TBD | |
Panther DC | TBD* | TBD | TBD | TBD | |
4x Memory Card | TBD | TBD | TBD | TBD | |
Taisen Cable | ✗ | ✗ | ✗ | ✗ | |
Setsuzoku Cable (Neo Geo Pocket communication) NEOP-22020, not to be confused with the NeoGeo Pocket system link cable which is NEOP-10021. |
✗ | ✗ | ✗ | ✗ |
VMU
While Flycast, redream and DEmul emulators can leverage the screen of the VMU while the game is running, none of them allow you to play the standalone minigames developed for it (other than MAME, but it has no interconnect support). If that's what you're after, then you should probably be looking at Sega VMU emulators instead.
Several titles for the Dreamcast included mini-games that could be downloaded onto a VMU. The Sonic Adventure series, for instance, included the Chao Adventure mini-game. In the game players could transfer Chao eggs to the VMU and play to increase the stats of their hatched Chao, whereupon they could upload their improved Chao back into the Dreamcast game.[1]
Taisen Cable
The Taisen Cable is used for hooking up two consoles for Serial play. This was only released in Japan and a few games support it;
What about "Dreamcast LAN games on Xlink kai?"
Panther DC
The Panther DC is a flight stick peripheral manufactured by Mad Catz. Only a few games support it.
Emulation issues
Developer interest in Dreamcast emulation was previously hindered by the availability of the closed-source but "good enough" Chankast, and by less interest in the console relative to other 6th generation consoles. For the emulators that are either mature or maturing, a very large percentage of games work well, but some games still have problems and glitches.
For more information about PlayStation 2 hardware and reverse engineering;
- MVG: How the Sega Dreamcast Copy Protection Worked - And how it Failed, The Sega Dreamcast 20 years later 9-9-99, [https://youtu.be/NMDpPRGuaq8
- Rodrigo Copetti's Dreamcast Architecture Practical AnalysisThe Arcade Sega Dreamcast - Revisiting the Sega Naomi Arcade Hardware]
Downloads
References
Consoles: SG-1000 • Master System • Genesis / Mega Drive • CD • 32X • Pico • Saturn • Dreamcast Handhelds: Game Gear • VMU / VMS Arcade: System series • Model 1 • Model 2 • Model 3 • NAOMI |