Difference between revisions of "PlayStation 4 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(To everyone removing Orbital from here,please join the discord so that we may resolve this dispute.)
(Comparisons: quick tip: you only need the names element if you reuse the reference later on)
(48 intermediate revisions by 18 users not shown)
Line 2: Line 2:
 
|title = PlayStation 4
 
|title = PlayStation 4
 
|logo = PS4.png
 
|logo = PS4.png
|developer = [[:Category:Sony consoles|Sony]]
+
|developer = [[:Sony]]
 
|type = [[:Category:Consoles|Home video game console]]
 
|type = [[:Category:Consoles|Home video game console]]
 
|generation = [[:Category:Eighth-generation_video_game_consoles|Eighth generation]]
 
|generation = [[:Category:Eighth-generation_video_game_consoles|Eighth generation]]
Line 9: Line 9:
 
|emulated = {{~}}
 
|emulated = {{~}}
 
}}
 
}}
The '''PlayStation 4''' (PS4) is an eighth-generation console produced by Sony Computer Entertainment in 2013. Notably, it is the first PlayStation console to use the [[wikipedia:x86|x86]] architecture, making it easier to program for than the [[PlayStation 3 emulators|PlayStation 3]] while also having the same architecture as PCs.
+
The '''PlayStation 4''' (PS4) is an eighth-generation console produced by Sony Computer Entertainment on November 15, 2013 and retailed for {{Inflation|USD|399.99|2013}}. It has a semi-custom 8-core AMD x86-64 Jaguar CPU at 1.6 GHz, whereas one of the cores is utilised separately only for low-power, background tasks. The CPU is shared on an APU chip with a semi-custom AMD GCN Radeon GPU. They are supported by 8 GB of GDDR5 RAM at 2.75 GHz, while 256 MB of DDR3 RAM is used only for background tasks. Notably, it is the first PlayStation console to use the [[wikipedia:x86|x86]] architecture, making it easier to program for than the [[PlayStation 3 emulators|PlayStation 3]] while also having the same architecture as PCs.
  
 
==Emulators==
 
==Emulators==
{{no playable emulators}}
 
 
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Operating System(s)
 
! scope="col"|Operating System(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|Active <!--
+
! scope="col"|Active
! scope="col"|[[Recommended emulators|Recommended]] -->
+
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
|[https://github.com/devofspine/spinedemo Spine]
 +
|Linux
 +
|[https://github.com/devofspine/spinedemo/releases Git]
 +
|{{✓}}
 +
|{{✗}}
 
|-
 
|-
 
|[[Orbital]]
 
|[[Orbital]]
 
|Windows, Linux
 
|Windows, Linux
|[https://github.com/AlexAltea/orbital Git]
+
|[https://github.com/AlexAltea/orbital Git]
|{{✓}} <!--
+
|{{✓}}
|{{✗}} -->
+
|{{✗}}
 
|}
 
|}
  
===Potential Roadblocks===
+
===Comparisons===
Due to the PS4's x86 architecture and FreeBSD-based operating system, emulators for the device will by and large be very unconventional. Despite the x86's instruction set being '''huge'''<ref>{{cite web | url= https://web.archive.org/web/20130517194502/http://www.ngemu.com/forums/showthread.php?t=132032 | title= Why is XBOX emulation premature?}}</ref>, a trait that would typically lead to years of development time by emulators, it opens the ability for pre-existing hypervisors to do the heavy lifting, eliminating the need for a recompiler. There is also, as of writing this, little to no documentation on the GPU (a modified Radeon 7970M with disabled stream processors) used in the PS4's APU, and it will require a complete re-implementation by emulator developers. End-users may wish to perform a preliminary dump of the required files from their PS4 using the [https://phi.nz/orbital/tools/dumper/ Orbital Dumper].
+
;Spine
I also want to add that the emulator being created has a Discord and everyone can join if they have questions. https://discord.gg/Ga7rvRE
+
:A high level emulator that was the first to boot games (the demo can only run two at the moment).<ref>https://www.youtube.com/watch?v=2EFrUQ2J3D4</ref> In a stark contrast from other closed source emulators, Spine is Linux-exclusive;<ref>[https://www.reddit.com/r/emulation/comments/byohyx/spinedemo_20190609/eqoruje devofspine] on Reddit. "No source code at the moment though I plan to make it open source at some point."</ref> the creator has opted not to release the source code out of caution.<ref>[https://www.reddit.com/r/emulation/comments/bwz7we/spine_ps4_emulator_another_fake_more_info_in/eqakwsz/ devofspine] on Reddit. "I wouldn't mind open sourcing it at some point in time but there are several things that stop me from doing this in the near future: a) there are some parts in the code that are a mess and I wouldn't feel comfortable releasing them for public consumption, b) I enjoy the freedom to develop it in the way I want to, c) I would be a bit afraid of losing control, open source brings with it a risk of forks for example and I wouldn't like to see my work used to do for example a Windows exclusive variant, and d) PS4 is still a current gen console." (Edited)</ref> It uses a [[Wine]]-like approach, and its authenticity was verified by lead Orbital developer AlexAltea.<ref>[https://www.reddit.com/r/emulation/comments/bz4ikp/orbital_a_playstation_4_emulator_that_is/eqq6lxt/ AlexAltea] on Reddit. "I've analyzed the Spine demo in IDA Pro (reverse engineering tool), and everything checks out. It's obviously a very early release, lots of unimplemented parts, but it's real. More importantly, we have tested it locally and it works."</ref>
 +
 
 +
;[[Orbital]]
 +
:An open-source low-level emulator based on [[QEMU]], Orbital uses existing hypervisors like Intel HAXM to speed up performance. A surprising amount of progress has been made for an emulator of its kind, having to emulate the kernel used by the PS4; it's [https://www.youtube.com/watch?v=IBBHisNM74o currently stuck at the console's Safe Mode] and, thus, can't boot any games yet.
 +
 
 +
===Potential Roadblocks===
 +
Due to the PS4's x86 architecture and FreeBSD-based operating system, emulators for the device will by and large be very unconventional. Despite the x86's instruction set being '''huge'''<ref>{{cite web | url= https://en.wikipedia.org/wiki/x86_instruction_listings | title= x86 instruction listings | Wikipedia}}</ref>, a trait that would typically lead to years of development time by emulators, it opens the ability for pre-existing hypervisors to do the heavy lifting, eliminating the need for a recompiler. There is also, as of writing this, little to no documentation on the GPU (a modified Radeon 7970M with disabled stream processors) used in the PS4's APU, and it will require a complete re-implementation by emulator developers. End-users may wish to preform a preliminary dump of the required files from their PS4 using the [https://phi.nz/orbital/tools/dumper/ Orbital Dumper]
  
 
==References==
 
==References==

Revision as of 15:40, 18 June 2019

PlayStation 4
PS4.png
Developer Sony
Type Home video game console
Generation Eighth generation
Release date 2013
Predecessor PlayStation 3
Emulated ~

The PlayStation 4 (PS4) is an eighth-generation console produced by Sony Computer Entertainment on November 15, 2013 and retailed for $399.99. It has a semi-custom 8-core AMD x86-64 Jaguar CPU at 1.6 GHz, whereas one of the cores is utilised separately only for low-power, background tasks. The CPU is shared on an APU chip with a semi-custom AMD GCN Radeon GPU. They are supported by 8 GB of GDDR5 RAM at 2.75 GHz, while 256 MB of DDR3 RAM is used only for background tasks. Notably, it is the first PlayStation console to use the x86 architecture, making it easier to program for than the PlayStation 3 while also having the same architecture as PCs.

Emulators

Name Operating System(s) Latest Version Active Recommended
Spine Linux Git
Orbital Windows, Linux Git

Comparisons

Spine
A high level emulator that was the first to boot games (the demo can only run two at the moment).[1] In a stark contrast from other closed source emulators, Spine is Linux-exclusive;[2] the creator has opted not to release the source code out of caution.[3] It uses a Wine-like approach, and its authenticity was verified by lead Orbital developer AlexAltea.[4]
Orbital
An open-source low-level emulator based on QEMU, Orbital uses existing hypervisors like Intel HAXM to speed up performance. A surprising amount of progress has been made for an emulator of its kind, having to emulate the kernel used by the PS4; it's currently stuck at the console's Safe Mode and, thus, can't boot any games yet.

Potential Roadblocks

Due to the PS4's x86 architecture and FreeBSD-based operating system, emulators for the device will by and large be very unconventional. Despite the x86's instruction set being huge[5], a trait that would typically lead to years of development time by emulators, it opens the ability for pre-existing hypervisors to do the heavy lifting, eliminating the need for a recompiler. There is also, as of writing this, little to no documentation on the GPU (a modified Radeon 7970M with disabled stream processors) used in the PS4's APU, and it will require a complete re-implementation by emulator developers. End-users may wish to preform a preliminary dump of the required files from their PS4 using the Orbital Dumper

References

  1. https://www.youtube.com/watch?v=2EFrUQ2J3D4
  2. devofspine on Reddit. "No source code at the moment though I plan to make it open source at some point."
  3. devofspine on Reddit. "I wouldn't mind open sourcing it at some point in time but there are several things that stop me from doing this in the near future: a) there are some parts in the code that are a mess and I wouldn't feel comfortable releasing them for public consumption, b) I enjoy the freedom to develop it in the way I want to, c) I would be a bit afraid of losing control, open source brings with it a risk of forks for example and I wouldn't like to see my work used to do for example a Windows exclusive variant, and d) PS4 is still a current gen console." (Edited)
  4. AlexAltea on Reddit. "I've analyzed the Spine demo in IDA Pro (reverse engineering tool), and everything checks out. It's obviously a very early release, lots of unimplemented parts, but it's real. More importantly, we have tested it locally and it works."
  5. x86 instruction listings