Difference between revisions of "Sega Dreamcast emulators"

From Emulation General Wiki
Jump to navigation Jump to search
m (ditto from yesterday)
(Enhancements)
 
(333 intermediate revisions by 96 users not shown)
Line 3: Line 3:
 
|logo = DreamcastConsole.png
 
|logo = DreamcastConsole.png
 
|developer = [[:Sega]]
 
|developer = [[:Sega]]
|type = [[:Category:Consoles|Home video game console]]
+
|type = [[:Category:Home consoles|Home video game console]]
 
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
 
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
 
|release = 1998
 
|release = 1998
 
|discontinued = 2001
 
|discontinued = 2001
|predecessor = [[Sega_Saturn_emulators|Sega Saturn]]
+
|predecessor = [[Prototype_consoles|Jupiter]], [[Sega Saturn emulators|Saturn]], [[Prototype_consoles|Pluto]]
 
|emulated = {{✓}}
 
|emulated = {{✓}}
 
}}
 
}}
The '''[[wikipedia:Sega Dreamcast|Dreamcast]]''' is a sixth-generation console released by [[wikipedia:Sega|Sega]] on November 27, 1998 in Japan and later on September 9, 1999 in NA. It retailed for $199 ($298.72 in 2018 money). It had a Hitachi SH-4 RISC CPU at 200 MHz with 16 MB of RAM and 8 MB of VRAM. It had a PowerVR2 GPU at 100 MHz, which theoretically was capable of pushing 3 million polygons/second on-screen. There is a 2 MB 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 [[Sega Saturn emulators|Saturn's]] sound system.. Sega also released the '''[[Sega NAOMI and variants|Naomi]]''', an arcade system board with similar components to the Dreamcast. Sammy's '''[https://segaretro.org/Atomiswave Atomiswave]''' arcade board was also based on the Dreamcast and Naomi.
 
  
Sega collaborated with Microsoft on the Dreamcast's development, and this partnership would continue later with the [[Xbox emulators|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 (or implemented well).
+
{{for|other emulators that run on Dreamcast hardware|Emulators on Dreamcast}}
 +
 
 +
The '''[[wikipedia:Sega Dreamcast|Sega Dreamcast]]''' is a sixth-generation console released by [[wikipedia:Sega|Sega]] on November 27, 1998, in Japan and later on September 9, 1999, in NA. It retailed for {{Inflation|USD|199.99|1999}}.
 +
 
 +
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 [[Sega Saturn emulators|Saturn's]] sound system.
 +
 
 +
Also, Microsoft collaborated on the Dreamcast's development, and this partnership would continue later with the [[Xbox emulators|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 '''[[Sega NAOMI and variants|NAOMI]]''', an arcade system board with similar components to the Dreamcast. Sammy's '''[https://segaretro.org/Atomiswave 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 [https://es.wikipedia.org/wiki/Sega_NAOMI_2 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==
 
==Emulators==
{| class="wikitable" style="text-align: center;"
+
<div style="overflow-x:auto;width:100%">
|-
+
{| class="wikitable" style="text-align:center;width:100%"
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|Open-Source
+
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|Naomi
+
! scope="col"|[[#Hardware_features_and_peripherals|<small>Hardware features<br/>and peripherals</small>]]
! scope="col"|Atomiswave
+
! scope="col"|<small>[[Sega_NAOMI_and_variants|NAOMI<br/>NAOMI 2<br/>Multiboard]]</small>
! scope="col"|Windows CE
+
! scope="col"|<small>[[Sega_NAOMI_and_variants|Hikaru]] (光)</small>
! scope="col"|[[libretro|Libretro Core]]
+
! scope="col"|<small>[[Sega_NAOMI_and_variants|Gaelco<br/>PVR]]</small>
 +
! scope="col"|[[Sega_NAOMI_and_variants|<small>Atomiswave</small>]]
 +
! scope="col"|<small>[[Sega_NAOMI_and_variants|System<br/>SP]]</small>
 +
! scope="col"|<small>[[Sega_NAOMI_and_variants|Cave<br/>CV1000]]</small>
 +
! scope="col"|<small>Compatibility</small>
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
+
! scope="col"|[[Recommended emulators|Recommended]]
 +
|-
 +
! colspan="15"|PC / x86
 +
|-
 +
| [[Flycast]]
 +
| align=left|{{Icon|Windows|Linux|macOS}}
 +
| [https://flyinghead.github.io/flycast-builds/ CI Builds]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N name=lrCommit>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 [https://github.com/libretro/flycast/issues/136 will not work on retroarch flycast core due to libretro API].</ref><br/>[https://github.com/blueminder/flycast-dojo/releases <abbr title="Fork of Flycast with a focus on netplay features and replay.">Flycast Dojo fork</abbr>] (Flycast道場)<br/>[https://github.com/flyinghead/flycast/releases {{FlycastVer}}]
 +
|{{~}} ||{{✓}} ||{{~}}<ref group=N name=FlycastNAOMI2Multi>Most of the [[Sega_NAOMI_and_variants#Comparisons|NAOMI and NAOMI 2 titles]] including GD-ROM games work with [[Flycast]], but most of the [[Sega_NAOMI_and_variants#NAOMI_Multiboard|NAOMI Multiboard]] titles [https://github.com/libretro/flycast/issues/410 boot with a multiboard error message]. Recommended to use [[DEmul]] emulator for this system.</ref> ||{{✗}}[https://github.com/flyinghead/flycast/issues/110 *] ||{{✗}}[https://github.com/flyinghead/flycast/issues/110 *] ||{{✓}} ||{{✓}} ||{{✗}} ||[https://docs.libretro.com/library/compatibility/dc/ ?] ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
| [[redream]]
 +
| align=left|{{Icon|Windows|Linux|macOS}}
 +
| [https://redream.io/download Dev Builds]<br/>[https://redream.io/download 1.5.0]<ref group=N>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.</ref>
 +
| {{~}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||[https://redream.io/compatibility 96%] ||{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
| [[DEmul]]
 +
| align=left|{{Icon|Windows}}
 +
| [http://demul.emulation64.com/downloads/ {{DEmulVer}}]
 +
| {{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}}<ref group=N>[https://emulation.gametechwiki.com/index.php/Sega_NAOMI_and_variants#Cave_CV1000B_.282004.E2.80.932007.29 'arcade_compat.txt' file inside DEmul's release archives do not have any Cave CV1000 emulation compat list], so its games' status is unknown.</ref> ||? ||{{✗}} ||{{✗}} ||{{~}}
 
|-
 
|-
!colspan="9"|PC
+
| [[reicast]]
 +
| align=left|{{Icon|Windows|Linux}}
 +
| [https://github.com/skmp/reicast-emulator/releases r20.04]
 +
| {{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[DEmul]]
+
| [[nullDC]]
|Windows
+
| align=left|{{Icon|Windows}}
|[http://forum.emu-russia.net/viewtopic.php?p=26178&sid=9d186ca9c444883bceeed6f185ed3fa9#p26178 0.7 Build 180428]
+
| [http://www.emucr.com/2013/03/nulldc-svn-r150.html 1.0.4 r150]
|{{✗}} ||{{}} ||{{}} ||{{}} ||{{✗}} ||{{✓}} ||{{}}
+
| {{?}} ||{{?}} ||{{~}}<ref group=N>nullDC was the first independent, open-source Sega Dreamcast emulator to attempt emulation of the NAOMI arcade board. [https://emulation.gametechwiki.com/index.php/Sega_NAOMI_and_variants#Comparisons Its compatibility with NAOMI, NAOMI 2 and NAOMI Multiboard is unknown].</ref> ||{{✗}} ||{{}} ||{{}} ||{{}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[reicast#Libretro_core|reicast libretro]]
+
| [http://washemu.org/ washDC]
|Multi-platform
+
| align=left|{{Icon|Win|Linux}}
|[https://github.com/libretro/reicast-emulator Git]
+
| [https://gitlab.com/washemu/washdc git]
|{{}} ||{{}} ||{{}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{}}
+
| {{✗}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{}}
 
|-
 
|-
|[[reicast]]
+
| [https://gitlab.com/simulant/community/lxdream-nitro/ lxdream-nitro]
|Windows, Linux
+
| align=left|{{Icon|Linux|macOS}}
|[http://builds.reicast.com/ Dev Builds]
+
| [https://gitlab.com/simulant/community/lxdream-nitro git]
|{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
+
| {{✗}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
|[[redream]]
+
| [https://segaretro.org/Chankast Chankast]
|Windows, Linux, macOS
+
| align=left|{{Icon|Windows}}
|[https://redream.io/download {{RedreamVer}}]
+
| [http://chanka.emulatronia.com/FrameSetDC_Down.htm 0.25]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{}}
+
| {{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{}} ||{{}} ||{{}}
 
|-
 
|-
|[[nullDC]]
+
| [http://www.lxdream.org Lxdream]
|Windows
+
| align=left|{{Icon|Linux|macOS}}
|[http://www.emucr.com/2013/03/nulldc-svn-r150.html 1.0.4 r150]
+
| [http://www.lxdream.org/download.php 0.9.1]
|{{}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{~}}
+
| {{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{}}
 
|-
 
|-
|[[Makaron]]
+
| [[Makaron]]
|Windows
+
| align=left|{{Icon|Windows}}
|[https://www.zophar.net/dreamcast/makaron.html T12/5]
+
| [https://www.zophar.net/dreamcast/makaron.html T12/5]
|{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}}
+
| {{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[https://segaretro.org/Chankast Chankast]
+
| [[MAME]]
|Windows
+
| align=left|{{Icon|Windows|Linux|macOS}}<br/>{{Icon|FreeBSD}}
|[http://chanka.emulatronia.com/FrameSetDC_Down.htm 0.25]
+
| <abbr title="Latest development version">git artifacts</abbr><ref group=N>[https://nightly.link/mamedev/mame/workflows/ci-windows/master CI-Windows] [https://nightly.link/mamedev/mame/workflows/ci-linux/master CI-Linux] [https://nightly.link/mamedev/mame/workflows/ci-macos/master CI-Macos]</ref></br>[http://www.mamedev.org/release.html {{MAMEVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
|{{}} ||{{}} ||{{}} ||{{}} ||{{}} ||{{}} ||{{✗}}
+
| {{~}} ||{{~}} ||{{~}}<ref group=N name=MAMEcompat>MAME {{MAMEVer}} version compatibility status: [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=hikaru.cpp&arcade_only=0&current_version=0 hikaru] [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=gaelco3d_m.cpp&arcade_only=0&current_version=0 gaelco 3d] [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=dc_atomiswave.cpp&arcade_only=0&current_version=0 atomiswave] [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=segasp.cpp&arcade_only=0&current_version=0 System SP] [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=naomi.cpp&arcade_only=0&current_version=0 NAOMI] [http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=cv1k.cpp&arcade_only=0&current_version=0 cave 1000] also see these for cave 1000: [https://exa.ac/en/about/?v=0f177369a3b7 exA-Arcadia] [[wikipedia:Cease and desist|(C&D)]] [https://github.com/mamedev/mame/commit/54899379258a7266db8d5bc6cda8b48169e67503 akatana, ddpsdoj situation]</ref> ||{{~}}<ref group=N name=MAMEcompat></ref> ||{{~}}<ref group=N name=MAMEcompat></ref> ||{{~}}<ref group=N name=MAMEcompat></ref> ||{{~}}<ref group=N name=MAMEcompat></ref> ||{{~}}<ref group=N name=MAMEcompat></ref> ||[http://adb.arcadeitalia.net/lista_mess.php?software_list_name=dc&compatibility= ?] ||{{}} ||{{}} ||{{✗}}
 
|-
 
|-
|Lxdream
+
|[[FinalBurn Neo]]
|Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://www.lxdream.org/download.php 0.9.1]
+
|[https://buildbot.libretro.com/nightly/ libretro core]<br/>[https://github.com/finalburnneo/FBNeo/releases/tag/latest nightly]<br/>[https://github.com/finalburnneo/FBNeo/releases/latest stable]
|{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
+
|{{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{~}} ||{{✓}} ||{{✗}}
 
|-
 
|-
|WashingtonDC
+
! colspan="15"|Mobile / ARM
|Linux
 
|[https://github.com/washingtondc-emu/washingtondc Git]
 
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 
 
|-
 
|-
|[[MAME]]
+
| [[Flycast]]
|Multi-platform
+
| align=left|{{Icon|Android|iOS}}
|[http://www.mamedev.org/release.html {{MAMEVer}}]
+
| [https://flyinghead.github.io/flycast-builds CI Builds]<br/>[https://buildbot.libretro.com/nightly/android/latest/ libretro core]<ref group=N name=lrCommit></ref>
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{}}
+
|{{~}} ||{{✓}} ||{{~}}<ref group=N name=FlycastNAOMI2Multi></ref> ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||[https://docs.libretro.com/library/compatibility/dc/ ?] ||{{✓}} ||{{✓}} ||{{}}
 
|-
 
|-
!colspan="9"|Mobile
+
| [[redream]]
 +
| align=left|{{Icon|Android|LinuxARM}}
 +
| [https://play.google.com/store/apps/details?id=io.recompiled.redream 1.2.07]<small> (Google Play)</small><br/>[https://redream.io/download 1.5.0]<small> (Raspberry Pi)</small>
 +
| {{~}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||[https://redream.io/compatibility 96%] ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|[[reicast#Libretro_core|reicast libretro]]
+
| [[reicast]]
|[[Android emulators|Android]], mobile
+
| align=left|{{Icon|Android|Pyra|LinuxARM|Pandora}}
|[https://github.com/libretro/reicast-emulator Git]
+
| [https://play.google.com/store/apps/details?id=com.reicast.emulator r20.04]<small> (Google Play)</small></br>[https://pyra-handheld.com/repo/apps/122 Pyra Build]<br/>[http://repo.openpandora.org/?page=detail&app=reicast_ptitseb Pandora]<br/>[https://snapcraft.io/reicast Raspberry Pi]
|{{}} ||{{}} ||{{}} ||{{✗}} ||{{✓}} ||{{}} ||{{}}
+
| {{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{✗}} ||? ||{{✓}} ||{{}} ||{{}}
 
|-
 
|-
|[[reicast]]
+
! colspan="15"|Console
|[[Android emulators|Android]]
 
|[http://builds.reicast.com/ Dev Builds]
 
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
 
 
|-
 
|-
 +
| [[Flycast]]
 +
| align=left|{{Icon|Switch|Vita}}<br/>{{Icon|XboxOne|SXS}}
 +
| [https://flyinghead.github.io/flycast-builds CI Builds]<br/>[https://www.retroarch.com/?page=platforms libretro core]<ref group=N name=lrCommit></ref><br/>[https://github.com/Rinnegatamante/flycast-vita/releases v1.1]
 +
|{{~}} ||{{✓}} ||{{~}}<ref group=N name=FlycastNAOMI2Multi></ref> ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||[https://newflycast.rinnegatamante.it/ 54%] (Vita) ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
| [[nullDC PSP]]
 +
| align=left|{{Icon|PSP}}
 +
| [https://github.com/PSP-Archive/nulldce-psp git] [https://archive.org/details/nullDC-PSP 1.2.1]
 +
| {{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
| nulldc-360
 +
| align=left|{{Icon|Xbox360}}
 +
| [https://github.com/gligli/nulldc-360 git]
 +
| {{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{~}} ||{{~}}
 
|}
 
|}
 +
</div>
 +
<references group=N />
  
 
===Comparisons===
 
===Comparisons===
;[[DEmul]]:Has the highest compatibility and accuracy, but is Windows-only. It supports Windows CE games, but in general, they run worse than standard Dreamcast titles. It's also more resource-intensive than other emulators.
+
;[[nullDC]]
;[[nullDC]]:Can run a lot of games at great speed in mid-end PCs. It's no longer developed in favor of its fork&hellip;
+
: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]]:Made by the same team. Runs on Android, Windows, and Linux.
+
:;[[reicast]]
:;[[reicast#Libretro_core|reicast libretro]]:[[libretro]] fork similar to [[Mednafen]]'s PCE-fast and PCE-accuracy cores that backport changes from [https://github.com/flyinghead/reicast-emulator flyinghead's fork] of reicast. It aims to be compliant with OpenGL 2 and OpenGL ES 2 so that it can continue to run on mobile devices and mid-tier PCs. A graphics feature of the Dreamcast, Order-Independent Transparency, can only be properly emulated using recent versions of OpenGL 4 on supported hardwares and platforms (currently Windows and Linux).<ref>Daniel De Matteis. [https://www.libretro.com/index.php/introducing-reicast-oit-libretro-core-updated-reicast-regular-core/ Introducing Reicast OIT libretro core + updated Reicast regular core] on libretro.com. June 12, 2018.</ref> This fork also supports [https://www.patreon.com/posts/reicast-libretro-19733457 Naomi and Atomiswave] hardware.
+
::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.
;[[redream]]:Has a good interface, is simple to set up and can run without a BIOS (though it's better to use one anyway).
+
:;[[Flycast]]
;[[Makaron]]:One of the only two closed-source Dreamcast emulators that can properly play Windows CE games.
+
::Fork of reicast available as a standalone emulator and as a [[libretro]] core. Libretro collaborators, primarily [https://github.com/flyinghead/reicast-emulator 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<ref group=N name="flycastnaomi">https://github.com/libretro/flycast/issues/136</ref>, 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 [https://github.com/flyinghead/flycast/issues/1390 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|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 [https://youtu.be/rywLHa1i9yk?t=529 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 [[Recommended_N64_plugins#Video|parallels-rdp for Nintendo 64]]) that allows [[High/Low_level_emulation|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 [[Recommended_N64_plugins#Video|parallels-rdp]] can which can be a lot of fun too. See [https://discord.gg/zuEAVTG 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 [https://emulation.gametechwiki.com/index.php/Sega_NAOMI_and_variants#Games 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==
 +
<div style="overflow-x:auto;width:100%">
 +
{| class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! Flycast
 +
! Redream
 +
! DEmul
 +
! MAME
 +
|-
 +
| rowspan=6 | Graphics
 +
| [[Resolution|Resizable Internal Resolution]]
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
|-
 +
| [[Texture_Packs#Dreamcast|Texture Replacement]]
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| [[Widescreen_hacks#Dreamcast|Widescreen hack]]
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
|-
 +
| Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple.com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small>
 +
| colspan=4 | <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.[https://www.youtube.com/watch?v=6FyUY3yrO4k][https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access]</small>
 +
|-
 +
| Super-resolution techniques<br/><small>([https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS.md DLSS], XeSS and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small>
 +
| colspan=4 | <small>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.<br/>Besides any GPU that can use DLSS can run these emulators at 8k native with ease anyway.</small>
 +
|-
 +
| Pre-rendering AA<br/><small>(MSAA, SSAA)</small>
 +
| {{Y}}[https://consolemods.org/wiki/Dreamcast:Flycast_Emulator#Additional_Flycast_Configuration_and_Optional_Settings *]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=4 | Performance
 +
| [[30/60_FPS_cheat_codes#Dreamcast|Internal Framerate Hack]]
 +
| {{Y}}[https://github.com/flyinghead/flycast/issues/504 *]
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-G], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small>
 +
| colspan=4 | <small>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 [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|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"'''.<br/>While '''AFMF''' or '''LSFG''' could be used with Flycast?, please be aware that some visual glitches and artifacts may occur at this time.
 +
|-
 +
| [[Overclocking#Sega_Dreamcast|Overclock]]
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| Preload [[Wikipedia:Template:Disk_images|optical disc image]] to RAM<br/><small>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.<br/>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small>
 +
| {{N}}
 +
| ?
 +
| {{N}}
 +
| ?
 +
|-
 +
| rowspan=6 | Post-Processing
 +
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 +
| {{~}}<ref group=N3 name=ExLibretro>These features are exclusive to libretro core. There is a [https://github.com/flyinghead/flycast/issues/761 feature request for RetroAchievement support for standalone flycast]. Post-rendering AA techniques like [https://docs.libretro.com/shader/antialiasing/ FXAA anti-aliasing shader] exclusive to libretro cores, though you can use [[Shader_Presets#ReShade|ReShade]] FXAA shader for Flycast standalone. Also the on-screen display options in Flycast's standalone version are bare-bones and offer little customization.</ref>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
|-
 +
| [[Shaders_and_filters|Filters]]
 +
| {{~}}<ref group=N3 name=ExLibretro></ref>
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Shader_Presets|Shader Chain]]
 +
| {{~}}<ref group=N3 name=ExLibretro></ref>
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 +
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| Rewind
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| Fast-Forward/Turbo Speed
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
|-
 +
| Savestates
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
|-
 +
| [https://tasvideos.org/Movies Movie recording/playback]
 +
| {{N}}
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| rowspan=2 | Controls
 +
| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [[Input_lag|Input lag-mitigating technique]]
 +
| {{N}}
 +
| {{N}}
 +
| ?
 +
| ?
 +
|-
 +
| rowspan=9 | Quality of life
 +
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| Built-in [[Cheats_and_patches|Cheat Manager]]
 +
| {{Y}}[https://github.com/flyinghead/flycast/blob/master/core/cheats.cpp *]
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
 +
| colspan=4 | <small>Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.<br/>Also there is a [https://github.com/psakhis/Groovy_MiSTer 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.</small>
 +
|-
 +
| [[Save_disk_space_for_ISOs#Dreamcast|Streamable compression format]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
|-
 +
| Per-Game Profiles
 +
| {{Y}}[https://docs.google.com/document/d/1m8k9f-t_7pzFRf7ZUx5z2yTXIEfpCzBdJghgreNnIIg/edit *]
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Command Line Options
 +
| {{Y}}[https://github.com/TheArcadeStriker/flycast-wiki/wiki/Configuration-files-and-command-line-parameters *]
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
 +
| {{~}}<ref group=N3 name=ExLibretro></ref>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}[https://docs.mamedev.org/usingmame/commonissues.html#gsync-freesync *]
 +
|-
 +
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
 +
| {{~}}<ref group=N3 name=ExLibretro></ref>
 +
| {{?}}
 +
| {{N}}
 +
| {{Y}}
 +
|-
 +
| rowspan=4 | Misc
 +
| [https://retroachievements.org/gameList.php?c=40 RetroAchievements]
 +
| {{~}}<ref group=N3 name=ExLibretro></ref>
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 +
| colspan=4 | <small>Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.</small>
 +
|-
 +
| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
 +
| colspan=4 | <small>The free camera has to be hacked in the game code directly.<br/>You can use debug menu for [https://steamcommunity.com/sharedfiles/filedetails/?id=2004996880 certain games] to use Free Look.</small>
 +
|-
 +
| [[Wikipedia:Category:Debugging|Debug Features]]
 +
| {{~}}<ref group=N3>Both the Flycast standalone version and the libretro core offer [https://dreamcast.wiki/Setting_up_Flycast_GDB limited debugging options].</ref>
 +
| ?
 +
| ?
 +
| ?
 +
|}
 +
</div>
 +
<references group=N3/>
 +
 
 +
==Hardware features and peripherals==
 +
<div style="overflow-x:auto;width:100%">
 +
{| class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! Flycast
 +
! Redream
 +
! DEmul
 +
! MAME
 +
|-
 +
| colspan=2 | [https://dreamcastify.unreliable.network/index.php/transparency-issues/ Order-independent transparency (OIT)]
 +
| {{Y}}[[Flycast#Supported_GPU_features|*]]
 +
| {{Y}}
 +
| {{~}}
 +
| ?
 +
|-
 +
|colspan=2 | [https://segaretro.org/Windows_CE#Dreamcast_games_utilising_Windows_CE <abbr title="The Sega Dreamcast is known for running an optimised version of Windows CE (with DirectX) as an operating system.">Windows CE</abbr>]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{N}}
 +
|-
 +
|colspan=2 | [https://www.copetti.org/writings/consoles/dreamcast/#interactive-shell Interactive shell]
 +
| {{✓}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
! colspan=6 | Peripherals
 +
|-
 +
| rowspan=3 | [[#VMU|VMU]]
 +
| VMU emulation
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✓}}
 +
|-
 +
| VMU communication
 +
| {{y}}
 +
| {{y}}
 +
| {{y}}
 +
| {{✗}}
 +
|-
 +
| VMU Sound
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Jump Pack
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | [[Early_Online_Services#Dreamcast_Online_services|Modem]]
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Arcade Stick
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | ASCII Mission Stick
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Keyboard
 +
| {{✓}}
 +
| {{✓}}[https://redream.io/help#keyboard *]
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Mouse
 +
| {{✓}}
 +
| {{✗}}[https://redream.io/help#controller *]
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Light Gun
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Microphone
 +
| {{✓}}
 +
| {{TBD}}
 +
| {{✓}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Rally Wheel
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | [https://segaretro.org/Dreamcast_Twin_Stick Twin Stick]
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Fishing Controller
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Samba de Amigo Maracas Controller
 +
| {{✓}}[https://github.com/flyinghead/flycast/issues/681 *]
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Densha de Go controller
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | Pop'n'Music Controller
 +
| {{y}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | [[Early_Online_Services#Dreamcast_Online_services|Broadband Adapter]]
 +
| {{Y}}[https://consolemods.org/wiki/Dreamcast:Flycast_Emulator#Broadband_(BBA)_Mode_(optional) *]
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | [[#Panther DC|Panther DC]]
 +
| {{TBD}}[https://github.com/flyinghead/flycast/issues/1171 *]
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | 4x Memory Card
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | [[#Taisen Cable|Taisen Cable]]
 +
| {{Y}}[https://old.reddit.com/r/emulation/comments/1bgdlar/flycast_v23_battle_cable_more_systemsp_games/]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
|colspan=2 | [https://segaretro.org/Neo_Geo_Pocket/Dreamcast_Setsuzoku_Cable#Compatible_games Setsuzoku Cable] (Neo Geo Pocket communication)<br/><small>NEOP-22020, not to be confused with the NeoGeo Pocket system link cable which is NEOP-10021.</small>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|}
 +
</div>
 +
<references group=N2/>
 +
 
 +
===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.<ref>[https://sega.fandom.com/wiki/VMU Sega Wiki: VMU]</ref>
 +
:[https://sega.fandom.com/wiki/VMU#Dreamcast_titles_that_include_VMU_games_and_extra_features 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;
 +
:[https://segaretro.org/Dreamcast_Taisen_Cable#Compatibility Games that used the Taisen cable]
 +
 
 +
  What about "[https://www.dreamcast-talk.com/forum/viewtopic.php?f=5&t=10839 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==
 
==Emulation issues==
Dreamcast emulation isn't very good. For the emulators that are either mature or maturing, a very large percentage of games work well, but many games still have problems and glitches.
+
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.
  
In recent times, the open-source community has gotten a better leg to stand on thanks to RetroArch's reicast cores. Their team has been integrating a version of reicast that deals with many graphical issues (elaborated on above).
+
For more information about Dreamcast hardware and reverse engineering;
 
+
* MVG: [https://youtu.be/rj56VU_VmWg How the Sega Dreamcast Copy Protection Worked - And how it Failed], [https://youtu.be/rN0vEa8Y4J4 The Sega Dreamcast 20 years later 9-9-99], [https://youtu.be/NMDpPRGuaq8
===Poor VMU emulation===
+
* [https://www.copetti.org/writings/consoles/dreamcast/ Rodrigo Copetti's Dreamcast Architecture Practical Analysis]The Arcade Sega Dreamcast - Revisiting the Sega Naomi Arcade Hardware], [https://youtu.be/lWGiHgTdLBc The Original Xbox is the Sega Dreamcast 2?]
<!-- Update this entry if you have anything else on it -->
 
While current Dreamcast emulators can leverage the screen of the VMU while the game is running, none of them allow you to play the minigames developed for it so playing those minigames would require another emulator. The problem is there aren't any complete lists of VMU emulators, and the emulators that can be found are poorly documented.
 
  
 
==Downloads==
 
==Downloads==
 
* [[Emulator_Files#Dreamcast|BIOS]]
 
* [[Emulator_Files#Dreamcast|BIOS]]
 
==VMU emulators==
 
Emulating the Dreamcast VMU is possible via use of this emulator:
 
[https://www.dropbox.com/sh/rai7db85bqq5iz0/AAAbnQfEJpTFaHkQ8K6nP6kVa?dl=0 Dropbox link of ElysianVMU]
 
 
[http://forums.elysianshadows.com/viewtopic.php?f=48&t=9171 Link to the forum thread about it]
 
  
 
==References==
 
==References==
<references />
+
<references group="N"/>
 
 
  
 
{{Sega}}
 
{{Sega}}
  
[[Category:Consoles]]
+
[[Category:Consoles|!Dreamcast]]
[[Category:Sega consoles]]
+
[[Category:Home consoles|!Dreamcast]]
[[Category:Sega Dreamcast emulators]]
+
[[Category:Sega consoles|!Dreamcast]]
[[Category:Sixth-generation video game consoles]]
+
[[Category:Sega Dreamcast emulators|*]]
 +
[[Category:Sixth-generation video game consoles|!Dreamcast]]
 +
[[Category:Very early emulation (MAME)|!Dreamcast]]
 +
[[Category:Windows CE-based|!Dreamcast]]

Latest revision as of 18:08, 18 March 2024

Sega Dreamcast
DreamcastConsole.png
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.

Emulators[edit]

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.3
~ ~[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.263
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.263 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[edit]

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[edit]

Name Flycast Redream DEmul MAME
Graphics Resizable Internal Resolution ? ?
Texture Replacement ? ? ?
Widescreen hack ? ?
Ray-tracing
(DXR, VRT and MRT)
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.[1][2]
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. 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[edit]

Name Flycast Redream DEmul MAME
Order-independent transparency (OIT) * ~ ?
Windows CE
Interactive shell ? ? ?
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 [3]
Setsuzoku Cable (Neo Geo Pocket communication)
NEOP-22020, not to be confused with the NeoGeo Pocket system link cable which is NEOP-10021.


VMU[edit]

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[edit]

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[edit]

The Panther DC is a flight stick peripheral manufactured by Mad Catz. Only a few games support it.

Emulation issues[edit]

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 Dreamcast hardware and reverse engineering;

Downloads[edit]

References[edit]

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