Sega Dreamcast emulators

From Emulation General Wiki
Revision as of 12:10, 14 February 2024 by Ahayri (talk | contribs) (Enhancements)
Jump to navigation Jump to search
Sega Dreamcast
DreamcastConsole.png
Developer Sega
Type Home video game console
Generation Sixth generation
Release date 1998
Discontinued 2001
Predecessor Saturn
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.

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 Windows Linux macOS CI Builds
libretro core[N 1]
Flycast Dojo fork (Flycast道場)
2.4
~ ~[N 2] * * ?
redream Windows Linux macOS Dev Builds
1.5.0[N 3]
~ ~ 96%
DEmul Windows 0.7 Build 280418 ~ ~ ~[N 4] ? ~
reicast Windows Linux r20.04 ? ? ?
nullDC Windows 1.0.4 r150 ? ? ~[N 5] ?
washDC Windows Linux git ? ?
lxdream-nitro Linux macOS git ? ?
Chankast Windows 0.25 ?
Lxdream Linux macOS 0.9.1 ?
Makaron Windows T12/5 ?
MAME Windows Linux macOS
FreeBSD
git artifacts[N 6]
0.272
libretro core
~ ~ ~[N 7] ~[N 7] ~[N 7] ~[N 7] ~[N 7] {✓}→{~}[N 7] ?
FinalBurn Neo Windows Linux macOS libretro core
nightly
stable
? ? ? ~
Mobile / ARM
Flycast Android iOS CI Builds
libretro core[N 1]
~ ~[N 2] ?
redream Android Linux ARM 1.2.07 (Google Play)
1.5.0 (Raspberry Pi)
~ ~ 96%
reicast Android Dragonbox Pyra Linux ARM Pandora r20.04 (Google Play)
Pyra Build
Pandora
Raspberry Pi
? ? ?
Console
Flycast Switch Vita
Xbox One Xbox Series X/S
CI Builds
libretro core[N 1]
v1.1
~ ~[N 2] 54% (Vita)
nullDC PSP PSP git 1.2.1 ? ? ? ~
nulldc-360 Xbox 360 git ? ? ? ~ ~
  1. 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. 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.
  3. 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.
  4. 'arcade_compat.txt' file inside DEmul's release archives do not have any Cave CV1000 emulation compat list, so its games' status is unknown.
  5. 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.
  6. CI-Windows CI-Linux CI-Macos
  7. 7.0 7.1 7.2 7.3 7.4 7.5 MAME 0.272 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. Most Windows CE games run at low performance. 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
NTSC filters, HDR tonemapping etc.
~[N3 1] ? ? ?
Shader Chain ~[N3 1] ? ? ?
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] ? ? ?
Big Picture Mode ~[N3 1] ?
Misc RetroAchievements ~[N3 1] ? ? ?
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. 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.
  2. 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]

Dreamcast titles that include VMU games and extra features

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;

Games that used the Taisen cable
 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.

Downloads

References

Dreamcast logo.png
Consoles: SG-1000Master SystemGenesis / Mega DriveCD32XPicoSaturnDreamcast
Handhelds: Game GearVMU / VMS
Arcade: System seriesModel 1Model 2Model 3NAOMI