Difference between pages "Talk:PlayStation 4 emulators" and "Sega Dreamcast emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
The PS4's GPU is not secretive. In fact there are info on it from AMD themselves, specifically the Southern Islands architecture for the 7xxx series Radeon GPUs that would be almost exact like PS4's. There a team that works on this on GitHub but they have a long ways to go before its properly emulater
+
{{Infobox console
:Uh. If you think information on the page is less accurate than it could be, add to it. No need to ask whether that's okay. [[User:Murrigan|Murrigan]] ([[User talk:Murrigan|talk]]) 19:04, 31 January 2015 (EST)
+
|title = Sega Dreamcast
 +
|logo = DreamcastConsole.png
 +
|developer = [[:Sega]]
 +
|type = [[:Category:Home consoles|Home video game console]]
 +
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
 +
|release = 1998
 +
|discontinued = 2001
 +
|predecessor = [[Sega_Saturn_emulators|Sega Saturn]]
 +
|emulated = {{✓}}
 +
}}
  
== Why does x86 architecture even need to be emulated on PCs which are already x86 to begin with? ==
+
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 {{Inflation|USD|199.99|1999}}. 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.
  
I get that the x86 architecture is huge so even though it is well documented it would be difficult to emulate, but since PCs are already x86 anyway, why is there even a need to? Shouldn't all that needs to be emulated is the Orbis OS or whatever? And the Orbis OS is based on FreeBSD which is open source, so it would seem to me that this should be very easy to sort out if people would just approach this the easy way instead of trying to emulate an entire architecture which there is no need to do because PC is already that architecture anyway. And if I'm wrong then please tell me the reason why I'm wrong because I would like to know.
+
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).
  
:I was in the process of rewriting the page before, but I'm just gonna share this early. Fail0verflow discovered [https://fail0verflow.com/blog/2016/console-hacking-2016-postscript/ the "secondary processor" '''is''' the primary system] (and even they are confused as hell about Sony's design). The PS4 is actually an ARM system-on-a-chip that runs its own OS-- Orbis OS-- and forwards games to run directly on the x86 processor, graphics card, and shared memory. That means for proper PS4 emulation, you would need to fake a game's computer ''on top'' of a faked operating system's computer, something even Dolphin has struggled with over the past few years (they've talked extensively on the blog about implementing Starlet at a higher-level). Complicating things even more is the memory. The CPU and GPU share it. On the IBM platform, they're dedicated (VRAM and SDRAM), separate components. [https://www.virtualbox.org/manual/ch10.html#hwvirt This writeup from the VirtualBox team] explains how they handle hardware abstraction on x86, explaining why virtualized software can be almost or just as fast as when it's natively run. Truth is, it could very well be possible to get games going quickly provided all the tools were in place to do that, but most people don't have 8 core CPUs, and it took ten years before PS3 emulation ever got anywhere for all of its own reasons. The system-on-a-chip discovery also explains why video capture and music playback on any game is possible.<br/>-[[User:FosterHaven|FosterHaven]]
+
==Emulators==
 +
{| class="wikitable" style="text-align: center;"
 +
|-
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest Version
 +
! scope="col"|[[libretro|Libretro Core]]
 +
! scope="col"|Naomi
 +
! scope="col"|Atomiswave
 +
! scope="col"|Windows CE
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
!colspan="10"|PC / x86
 +
|-
 +
|[[DEmul]]
 +
|align=left|{{Icon|Windows}}
 +
|[http://demul.emulation64.com/downloads/ {{DEmulVer}}]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[[redream]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://redream.io/download {{RedreamVer}}]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[Flycast|Flycast]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://flyinghead.github.io/flycast-builds/ CI Builds]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[reicast]]
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[http://builds.reicast.com/ CI Builds]<small> (Not Working)</small><br/>[https://snapcraft.io/reicast r8.1]<small> (Snap Store)</small>
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{~}} ||{{✗}}
 +
|-
 +
|[[nullDC]]
 +
|align=left|{{Icon|Windows}}
 +
|[http://www.emucr.com/2013/03/nulldc-svn-r150.html 1.0.4 r150]
 +
|{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[[Makaron]]
 +
|align=left|{{Icon|Windows}}
 +
|[https://www.zophar.net/dreamcast/makaron.html T12/5]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[http://washemu.org/ WashingtonDC]
 +
|align=left|{{Icon|Linux}}
 +
|[https://github.com/washingtondc-emu/washingtondc git]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[http://www.lxdream.org Lxdream]
 +
|align=left|{{Icon|Linux|macOS}}
 +
|[http://www.lxdream.org/download.php 0.9.1]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[https://segaretro.org/Chankast Chankast]
 +
|align=left|{{Icon|Windows}}
 +
|[http://chanka.emulatronia.com/FrameSetDC_Down.htm 0.25]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[[MAME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 +
|{{✓}} ||{{~}} ||{{~}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
!colspan="10"|Mobile / ARM
 +
|-
 +
|[[redream]]
 +
|align=left|{{Icon|Android|LinuxARM}}
 +
|[https://play.google.com/store/apps/details?id=io.recompiled.redream 1.1.98]<small> (Android)</small><br/>[https://redream.io/download 1.5.0]<small> (Raspberry Pi)</small>
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[Flycast]]
 +
|align=left|{{Icon|Android|iOS}}
 +
|[https://flyinghead.github.io/flycast-builds CI Builds]
 +
|{{✓}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[reicast]]
 +
|align=left|{{Icon|Android|Pyra}}
 +
|[https://play.google.com/store/apps/details?id=com.reicast.emulator r20.04]<small> (Android)</small></br>[https://pyra-handheld.com/repo/apps/122 Pyra Build]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{~}} ||{{✓}}
 +
|-
 +
!colspan="10"|Console
 +
|-
 +
|[[Flycast]]
 +
|align=left|{{Icon|Switch}}
 +
|[https://flyinghead.github.io/flycast-builds CI Builds]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[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]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{~}}
 +
|}
  
::Short answer... the x86 architecture is just the CPU. Even then there still are significant differences. The OS is just that, too - PS3 having a Linux OS was irrelevant to how easy it was to emulate. Everything else is custom down to the most basic details, and of course memory management, boot-up sequence, DRM, peripherals, graphical drivers (usually different from desktop PC versions) et caetera.  
+
===Comparisons===
 +
;[[DEmul]]: Has the highest compatibility and accuracy, but it' Windows-only and closed-source. It supports Windows CE games, but in general, they run worse than standard Dreamcast titles. It's also more resource-intensive than other emulators.
 +
;[[redream]]: Multi-platform and easy to use, but it's closed-source. Compatible with [https://redream.io/compatibility 90+% of the Dreamcast library] (Windows CE now supported), 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.
  
::So the PS4 (or the OG Xbox, or the Xbox One) is NOT just a repackaged PC. Just like the Wii isn't just a Mac just because both have a PowerPC CPU architecture. It is yet another console that has yet to be figured out from scratch. Granted, cases like what you wish for, do exist, like the Ouya, which is just a lazy Android modification, or the Sega Master System and the Game Gear, or apparently Android and iOS (if only Apple wasn't sabotaging those projects and buying off devs), so much that converting games between both works. This isn't one of these cases. [[User:Dipswitch|Dipswitch]] ([[User talk:Dipswitch|talk]]) 05:55, 3 November 2017 (EDT)
+
;[[nullDC]]: Can run a lot of games at great speed on mid-end PC and it's open-source, however, it's no longer 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.
 +
:;[[reicast#Libretro_core|Flycast]]: 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 name="flycastnaomi">https://github.com/libretro/flycast/issues/136</ref>, along with support for MAME's popular CHD format. Even full MMU support, which is needed to run WinCE-based games such as "Armada", "Half-Life" and "SEGA Rally Championship 2", 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.
  
:::Okay. Thanks for that informative response. Even if it will take a long time, you gotta start somewhere, right? Good to know the first baby steps are being made.
+
;[[Makaron]]: One of the only two closed-source Dreamcast emulators that can properly play Windows CE games.
  
== CPU emulation ==
+
==Emulation issues==
You would never want to "emulate" the CPU in this case. You'd just use virtualization on an x86 host. That said, you CAN emulate x86. There's nothing more to figure out. QEMU already has code to emulate a modern i7 fully in software if you wanted to. Current PCs aren't fast enough to emulate at full PS4 CPU speed, not even close, but again you would just virtualize it. Therefore, you will have to watch out for emulators claiming to be real. A good example is the [https://guidestorm.com/scam-alert/ps4-emulator/ the fake PCSX4].
+
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.
  
The hard part is the rest of the PS4 system.
+
==VMU emulators==
:People have assumed that before with emulating the OG Xbox; that didn't work as well as they expected. [[User:Blakegripling ph|Blakegripling ph]] ([[User talk:Blakegripling ph|talk]]) 03:18, 7 October 2018 (EDT)
+
While some 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. See the main page on VMU emulation [[Sega VMU emulators|here]].
  
== ADD ONTRONIX AND DCS4 OR WE'LL DESTROY THE VIEW SOURCE BUTTON!!! ==
+
==Downloads==
 +
* [[Emulator_Files#Dreamcast|BIOS]]
  
It's advised to add it right frickin now! https://github.com/crohn64/Ontronix-ps4-emulator- https://github.com/abaska/Dcs4
+
==References==
:DCS4 is only a joke program. And I don't know the legitimacy of Ontronix. --[[User:LilShootDawg|LilShootDawg]] ([[User talk:LilShootDawg|talk]]) 11:48, 27 October 2019 (EDT)
+
<references />
  
== Change from "two" to "fifty" or we'll kill that view source button!!! ==
+
{{Sega}}
  
https://www.reddit.com/r/emulation/comments/fta3ql/spine_still_alive/
+
[[Category:Consoles]]
 
+
[[Category:Home consoles]]
== About PCSX4 ==
+
[[Category:Sega consoles]]
 
+
[[Category:Sega Dreamcast emulators|*]]
It should be clarified somewhere why PCSX4 is not in the comparative because the page of this supposed emulator appears as the first result when searching for "PlayStation 4 emulation" in Google (this page appears in second place), which could confuse those who do not know much about it. As a curiosity, at most PCSX4 is a frontend for PSNow as I was finding out.
+
[[Category:Sixth-generation video game consoles]]
 
 
Regarding the other projects, Spine hasn't published anything for a year and the Reddit post is 6 months old. I don't know if the project is still active, but it could be considered to be stopped until further notice. PS4Delta has no commits since January (if within 6 months it does not have new commits or a release then it could be considered dead) and the rest have not had activity in months either but it is still early to determine their status.--[[Special:Contributions/173.245.54.78|173.245.54.78]] 03:52, 24 October 2020 (UTC)
 
 
 
:You could add an overview section and mention PCSX4 in there. The Spine dev posted on Reddit about a month ago about progress being made, most of these projects are not being worked on in public currently. -[[User:Jpx|Jpx]] ([[User talk:Jpx|talk]]) 12:46, 24 October 2020 (UTC)
 
 
 
== New Spine version ==
 
 
 
A new version has been made available through Twitter, link: https://twitter.com/notzecoxao/status/1436397396154626048
 
 
 
== RPCS4 Still Active ==
 
 
 
Please mark RPCS4 as active, I can't edit the PS4 page, here's the reference to add if it's necessary, thanks.
 
https://www.reddit.com/r/emulation/comments/ppffdy/rpcs4_ps4_emulation_preview_of_current_progress/
 

Revision as of 16:56, 21 September 2021

Sega Dreamcast
DreamcastConsole.png
Developer Sega
Type Home video game console
Generation Sixth generation
Release date 1998
Discontinued 2001
Predecessor Sega Saturn
Emulated

The 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. 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 Saturn's sound system.. Sega also 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.

Sega collaborated with Microsoft 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 (or implemented well).

Emulators

Name Platform(s) Latest Version Libretro Core Naomi Atomiswave Windows CE FLOSS Active Recommended
PC / x86
DEmul Windows 0.7 Build 280418
redream Windows Linux macOS 1.5.0 (Windows, macOS, Linux, Raspberry Pi)
1.2.07 (Android)
Flycast Windows Linux macOS CI Builds
reicast Windows Linux CI Builds (Not Working)
r8.1 (Snap Store)
~
nullDC Windows 1.0.4 r150 ~
Makaron Windows T12/5 ~
WashingtonDC Linux git
Lxdream Linux macOS 0.9.1
Chankast Windows 0.25
MAME Windows Linux macOS FreeBSD 0.265 ~ ~
Mobile / ARM
redream Android Linux ARM 1.1.98 (Android)
1.5.0 (Raspberry Pi)
Flycast Android iOS CI Builds ~ ~
reicast Android Dragonbox Pyra r20.04 (Android)
Pyra Build
~
Console
Flycast Switch CI Builds
nullDC PSP PSP git 1.2.1 ~
nulldc-360 Xbox 360 git ~

Comparisons

DEmul
Has the highest compatibility and accuracy, but it' Windows-only and closed-source. It supports Windows CE games, but in general, they run worse than standard Dreamcast titles. It's also more resource-intensive than other emulators.
redream
Multi-platform and easy to use, but it's closed-source. Compatible with 90+% of the Dreamcast library (Windows CE now supported), 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.
nullDC
Can run a lot of games at great speed on mid-end PC and it's open-source, however, it's no longer 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[1], along with support for MAME's popular CHD format. Even full MMU support, which is needed to run WinCE-based games such as "Armada", "Half-Life" and "SEGA Rally Championship 2", 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.
Makaron
One of the only two closed-source Dreamcast emulators that can properly play Windows CE games.

Emulation issues

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.

VMU emulators

While some 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. See the main page on VMU emulation here.

Downloads

References

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