Editing Sega Dreamcast emulators

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
{{Infobox console
 
{{Infobox console
 
|title = Sega Dreamcast
 
|title = Sega Dreamcast
|logo = DreamcastConsole.png
+
|logo = Dreamcast-and-controller.jpg
|developer = [[:Sega]]
+
|developer = [[:Category:Sega consoles|Sega]]
|type = [[:Category:Home consoles|Home video game console]]
+
|type = Home video game console
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
+
|generation = Sixth generation
 
|release = 1998
 
|release = 1998
 
|discontinued = 2001
 
|discontinued = 2001
|predecessor = [[Prototype_consoles|Jupiter]], [[Sega Saturn emulators|Saturn]], [[Prototype_consoles|Pluto]]
+
|predecessor = [[Sega_Saturn_emulators|Sega Saturn]]
 
|emulated = {{✓}}
 
|emulated = {{✓}}
 
}}
 
}}
 +
The '''[[wikipedia:Sega Dreamcast|Dreamcast]]''' is a sixth-generation console released by [[wikipedia:Sega|Sega]] in November 1998 in Japan and later in 1999 in other territories. '''[https://segaretro.org/Sega_NAOMI Naomi]''', an arcade system board similar to the Dreamcast, is supported by some Dreamcast emulators. '''[https://segaretro.org/Atomiswave Atomiswave]''' is an arcade system board that is based on Naomi.
  
{{for|other emulators that run on Dreamcast hardware|Emulators on Dreamcast}}
+
Microsoft collaborated with Sega for DreamCast development (which would continue later with the Xbox). The Sega Dreamcast is known for running an optimised version of '''Windows CE''' (with DirectX) as an operating system. However, Sega chose to go down a different route than what was originally planned - bundling simple operating systems within the discs themselves. Running games through Windows CE was still an option for developers, but most games used Sega's proprietary software instead out of convenience. This aspect isn't implemented in all emulators.
 
 
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==
Actually Gaelco's (SH4) and Cave's (SH3) arcade hardware are not Dreamcast (SH4) based, Demul supports SH CPU based machines. And if you think Dreamcast emulators should support them, why not add a Capcom's medal machine and other developers' SH CPU based arcade hardware? https://youtu.be/ChYWgvxJ0EU?si=NqujOKmUdBfFYUSj. p1pkin uploaded many videos about Demul. Gaelco, Cave, Capcom and other SH based arcade hardware should be moved to another page?
+
{| 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"|Platform(s)
+
! scope="col"|Operating System(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! 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"|<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
+
!colspan="8"|PC
 
|-
 
|-
| [[Flycast]]
+
|[[DEmul]]
| align=left|{{Icon|Windows|Linux|macOS}}
+
|Windows
| [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}}]
+
|[http://forum.emu-russia.net/viewtopic.php?p=26178&sid=9d186ca9c444883bceeed6f185ed3fa9#p26178 0.7 Build 180428]
|{{~}} ||{{✓}} ||{{~}}<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]]
+
|Reicast OIT
| align=left|{{Icon|Windows|Linux|macOS}}
+
|Windows, Linux
| [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://github.com/libretro/reicast-emulator Git]
| {{~}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||[https://redream.io/compatibility 96%] ||{{✗}} ||{{✓}} ||{{✓}}
+
|{{}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
| [[DEmul]]
+
|Reicast regular
| align=left|{{Icon|Windows}}
+
|Multi-platform
| [http://demul.emulation64.com/downloads/ {{DEmulVer}}]
+
|[https://github.com/libretro/reicast-emulator Git]
| {{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{}} ||{{✓}} ||{{✓}} ||{{~}}<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> ||? ||{{✗}} ||{{✗}} ||{{~}}
+
|{{✓}} ||{{✓}} ||{{}} ||{{✓}} ||{{✓}}
 
|-
 
|-
| [[reicast]]
+
|[[reicast]]
| align=left|{{Icon|Windows|Linux}}
+
|Windows, Linux
| [https://github.com/skmp/reicast-emulator/releases r20.04]
+
|[http://builds.reicast.com/ Dev builds]
| {{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✓}}
 
|-
 
|-
| [[nullDC]]
+
|[[nullDC]]
| align=left|{{Icon|Windows}}
+
|Windows
| [http://www.emucr.com/2013/03/nulldc-svn-r150.html 1.0.4 r150]
+
|[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> ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
 
|-
 
|-
| [http://washemu.org/ washDC]
+
|[[redream]]
| align=left|{{Icon|Win|Linux}}
+
|Windows, Linux, macOS
| [https://gitlab.com/washemu/washdc git]
+
|[https://redream.io/download {{RedreamVer}}]
| {{}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
| [https://gitlab.com/simulant/community/lxdream-nitro/ lxdream-nitro]
+
|Makaron
| align=left|{{Icon|Linux|macOS}}
+
|Windows
| [https://gitlab.com/simulant/community/lxdream-nitro git]
+
|T12/5
| {{✗}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{}} ||{{✗}} ||{{✗}}
 
|-
 
|-
| [https://segaretro.org/Chankast Chankast]
+
|Chankast
| align=left|{{Icon|Windows}}
+
|Windows
| [http://chanka.emulatronia.com/FrameSetDC_Down.htm 0.25]
+
|[http://chanka.emulatronia.com/FrameSetDC_Down.htm 0.25]
| {{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
| [http://www.lxdream.org Lxdream]
+
|Lxdream
| align=left|{{Icon|Linux|macOS}}
+
|Linux, macOS
| [http://www.lxdream.org/download.php 0.9.1]
+
|[http://www.lxdream.org/download.php 0.9.1]
| {{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
| [[Makaron]]
+
|WashingtonDC
| align=left|{{Icon|Windows}}
+
|Linux
| [https://www.zophar.net/dreamcast/makaron.html T12/5]
+
|[https://github.com/washingtondc-emu/washingtondc Git]
| {{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}}
 
|-
 
|-
| [[MAME]]
+
|[[MAME]]
| align=left|{{Icon|Windows|Linux|macOS}}<br/>{{Icon|FreeBSD}}
+
|Multi-platform
| <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]
+
|[http://www.mamedev.org/release.html {{MAMEVer}}]
| {{~}} ||{{~}} ||{{~}}<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= ?] ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{}} ||{{}} ||{{}} ||{{✓}} ||{{✗}}
 
|-
 
|-
|[[FinalBurn Neo]]
+
!colspan="8"|Mobile
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[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]
 
|{{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{~}} ||{{✓}} ||{{✗}}
 
 
|-
 
|-
! colspan="15"|Mobile / ARM
+
|Reicast regular
 +
|Android, mobile
 +
|[https://github.com/libretro/reicast-emulator Git]
 +
|{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
| [[Flycast]]
+
|[[reicast]]
| align=left|{{Icon|Android|iOS}}
+
|Android
| [https://flyinghead.github.io/flycast-builds CI Builds]<br/>[https://buildbot.libretro.com/nightly/android/latest/ libretro core]<ref group=N name=lrCommit></ref>
+
|[http://builds.reicast.com/ Dev builds]
|{{~}} ||{{✓}} ||{{~}}<ref group=N name=FlycastNAOMI2Multi></ref> ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||[https://docs.libretro.com/library/compatibility/dc/ ?] ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
| [[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]]
 
| align=left|{{Icon|Android|Pyra|LinuxARM|Pandora}}
 
| [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]
 
| {{?}} ||{{?}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
! colspan="15"|Console
 
|-
 
| [[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===
;[[nullDC]]
+
;[[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.
:Can run a lot of games at great speed on a mid-ranged PC, and it's open-source. However, it's no longer being developed, and the more recent forks have improved upon it.
+
;[[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;
:;[[reicast]]
+
:;[[reicast]]:Made by the same team. Runs on Android, Windows, and Linux.
::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.
+
:;Reicast regular and Reicast OIT:[[libretro]] forks 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. regular 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, meaning it is limited to 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> In the same month of these cores' huge graphics renderer addition, they added support for the [https://www.youtube.com/watch?v=xTaRNNYTcYI Naomi]/[https://www.youtube.com/watch?v=4CcQAFEem38 Atomiswave] hardware.
::;[[Flycast]]
+
;[[redream]]:Has a good interface, is simple to setup, and can run without a BIOS (though it's better to use one anyway).
:::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.
+
;Makaron:One of the only two Dreamcast emulators that can properly play Windows CE games.
:::;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. The emulator works unstably on AMD GPUs with an 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]] which can be a lot of fun too. See [https://discord.gg/zuEAVTG redream discord channel] for more information.
+
==Emulation issues==
 
+
Dreamcast emulation is not 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.
;[[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 two, along with Demul, 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], [https://github.com/intel/xess/?tab=readme-ov-file 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 *]
 
| {{Y}}
 
| ?
 
| ?
 
|-
 
| 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}}
 
| {{Y}}
 
| {{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}}
 
| {{y}}
 
| {{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===
+
Fortunately, the first viable open-source Dreamcast emulator that has a near complete graphics renderer began appearing in June 2018 in two newly split cores inside the libretro multi-system emulator. But the more accurate core works on PC's only. Its graphics renderer can be found in a fork of the separate Reicast emulator which it backported the code from.
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>
+
===VMU Emulation===
:[https://sega.fandom.com/wiki/VMU#Dreamcast_titles_that_include_VMU_games_and_extra_features Dreamcast titles that include VMU games and extra features]
+
<!-- Update this entry if you have anything else on it -->
 +
While current Dreamcast emulators can display the VMU display when the game is running, none of them can be used to play the minigames which were made to run on the VMU. To play those minigames you'll need to use another emulator. There is no complete list of VMU emulators and the ones which can be found are poorly documented and/or closed source.
  
===Taisen Cable===
+
==Downloads==
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;
+
* [[Emulator_Files#Dreamcast|BIOS]]
:[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?]"
+
==VMU emulation==
 +
Emulating the Dreamcast VMU is possible via use of this emulator:
 +
[https://www.dropbox.com/sh/rai7db85bqq5iz0/AAAbnQfEJpTFaHkQ8K6nP6kVa?dl=0 Dropbox link]
  
===Panther DC===
+
[http://forums.elysianshadows.com/viewtopic.php?f=48&t=9171 Link to forum thread about it]
The Panther DC is a flight stick peripheral manufactured by Mad Catz. Only a few games support it.
 
  
==Emulation issues==
+
==References==
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.
+
<references />
  
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
 
* [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?]
 
 
==References==
 
<references group="N"/>
 
  
 
{{Sega}}
 
{{Sega}}
  
[[Category:Consoles|!Dreamcast]]
+
[[Category:Consoles]]
[[Category:Home consoles|!Dreamcast]]
+
[[Category:Sega consoles]]
[[Category:Sega consoles|!Dreamcast]]
+
[[Category:Sega Dreamcast emulators]]
[[Category:Sega Dreamcast emulators|*]]
 
[[Category:Sixth-generation video game consoles|!Dreamcast]]
 
[[Category:MAME Driver Status: Preliminary|!Dreamcast]]
 
[[Category:Windows CE-based|!Dreamcast]]
 

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)