PlayStation 4 emulators

From Emulation General Wiki
Revision as of 14:19, 7 October 2019 by Skylark (talk | contribs) (Comparisons)
Jump to navigation Jump to search
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
RPCS4 Unix-like Git ?
PS4Delta Windows Git
GPCS4 Windows 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[5] and, thus, can't boot any games yet.
RPCS4
RPCS4 is a private project being worked on by one of the original developers of RPCS3, DH. Work is being done in private, so there is little public information about it. Accordingly to DH, it currently runs on unix-like OS, and is able to run PS4 games (without graphics) and display errors. [6] The Github page hasn't been update and appears to only be there as a placeholder until an actual release.
PS4Delta
A compatibility layer for the PlayStation 4. It's currently unable to boot any commercial games. For more information, visit the devs Discord server. The server itself is not very active to the public because most talk is being done in private between the developers.
GPCS4
Another compatibility layer for the PlayStation 4. Currently it can show the logos in Nier: Automata. Appears to be only a side project to test 3D graphics and may or may not become anything serious.

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[7], 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. https://www.youtube.com/watch?v=IBBHisNM74o
  6. https://www.reddit.com/r/pcgaming/comments/cxx5h3/we_are_team_rpcs3_the_playstation_3_emulator_we/eyoqzes/
  7. x86 instruction listings