Difference between revisions of "PlayStation 3 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Undo revision 33850 by 173.245.54.90 (talk))
(Tag: Undo)
(Emulators: Added open-source column.)
Line 27: Line 27:
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Release Version
 
! scope="col"|Latest Release Version
 +
! scope="col"|Open-Source
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
! colspan="5"|PC / x86
+
! colspan="6"|PC / x86
 
|-
 
|-
 
|[[RPCS3]]
 
|[[RPCS3]]
 
|align=left|{{Icon|Windows|Linux|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|FreeBSD}}
 
|[https://github.com/RPCS3/rpcs3/releases {{RPCS3Ver}}]<ref group=N>The developers are currently treating version increments as milestones, not as stables.</ref>
 
|[https://github.com/RPCS3/rpcs3/releases {{RPCS3Ver}}]<ref group=N>The developers are currently treating version increments as milestones, not as stables.</ref>
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 41: Line 43:
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://github.com/AlexAltea/nucleus/releases 0.1.0]
 
|[https://github.com/AlexAltea/nucleus/releases 0.1.0]
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
Line 47: Line 50:
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[http://wololo.net/downloads/index.php/download/8128 0.0.2]
 
|[http://wololo.net/downloads/index.php/download/8128 0.0.2]
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
Line 53: Line 57:
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[https://web.archive.org/web/20161029044210/http://www.geocities.jp/mj3kj8o5/ps3f/index.html 0.0.0]
 
|[https://web.archive.org/web/20161029044210/http://www.geocities.jp/mj3kj8o5/ps3f/index.html 0.0.0]
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}

Revision as of 01:53, 6 July 2020

PlayStation 3
PlayStation 2006.png
PS3 Original.png
Sony-playstation-3-slim-1.jpg
Top: Original (2006)
Bottom: Slim (2009)
Developer Sony
Type Home video game console
Generation Seventh generation
Release date 2006
Discontinued 2017
Predecessor PlayStation 2
Successor PlayStation 4
Emulated ~

The PlayStation 3 (known shorthand as PS3) is a seventh-generation console released by Sony in late 2006. The successor to the PlayStation 2, it began development in 2001 when Sony partnered with Toshiba and IBM to create the Cell Broadband Engine. The console was launched a year after the Xbox 360, and around the same time as the Wii. While it was debatably the most powerful console of the seventh generation, it was also difficult to program for, as its architecture was even more complex than its competitors. It retailed for $599.

The Cell Broadband Engine consists of a 3.2 GHz Power Processing Element (PPE) and seven Synergistic Processing Elements (SPE),[N 1] and the system contains 256 MB of XDR DRAM main memory at 3.2 GHz and 256 MB of GDDR3 video memory at 650 MHz for the Nvidia/SCEI RSX Reality Synthesizer GPU. The GPU ran at 500 MHz and has to communicate forth and back with both RAMs. The complexity of the SPEs bogged down the PlayStation 3 in multi-platform titles, as it required developers to either learn it enough to use it, or don't use it at all. As a result, many multi-platform games ran with lower framerates or worse graphics.

The number of units sold worldwide were about the same as the Xbox 360. The PlayStation 3 initially included a feature called OtherOS,[N 2] but once it was removed shortly after the PS3 Slim model was released citing "security concerns", fail0verflow had a jailbreak detailed in 2010, giving way for modders to downgrade firmware on a specific version and install a custom firmware, something Sony would patch in newer updates until an exploit was released for 4.82. Emulation only started gaining traction in the late 2010s, as RPCS3 had made strides in improving its largely HLE-based emulation. It has since become the emulator of choice.

Emulators

Name Platform(s) Latest Release Version Open-Source Active Recommended
PC / x86
RPCS3 Windows Linux FreeBSD 0.0.31 Alpha[N 3]
Nucleus Windows Linux 0.1.0
Short Waves Windows 0.0.2
PS3F Windows 0.0.0

Comparisons

RPCS3
An open-source emulator for 64-bit Windows, Linux and BSD. While it isn't anywhere near as compatible as Dolphin is for GameCube or Wii, it has still made immense progress compared to its early days where development was slow and seemed like it wasn't really going anywhere. Over 1,000 titles are now playable, with many more that go in-game and others that are at least loadable.[1]
Nucleus
A one-man project aiming for LLE, some AOT emulation, and portability. Made by AlexAltea, lead coder of PlayStation 4 emulator, Orbital.
Short Waves
Made by InoriRus. It could run a few complex tests that RPCS3 couldn't at the time it released, but it hasn't been updated since.
PS3F
Made by Shima, the creator of SSF. More information can be found here.

Emulation issues

PlayStation consoles have always been notorious for system complexity. Sony's gamble of their technology being emulator-unfriendly makes them developer-unfriendly as well, and the system's weaker performance in cross-platform games proves it. Even if done properly, an LLE approach would be performance suicide as some things just have to be abstracted enough to get high framerates in games. The situation is so bad that Sony seems to be incredibly hesitant to introduce an emulator on the PlayStation 4, simply because they wouldn't be able to justify the potentially high cost of development to investors.[2]

There are two major bottlenecks at play:

  • Cell. It consists of two architectures that developers have to program for; PowerPC, and... whatever the SPEs really are. Add to that the fact that there are SIX that could be in use by a game, and you have a great formula for high system requirements. The RPCS3 developers technically cheat by using ahead-of-time recompilation using LLVM, but because the emulator constantly improves, that can be easily excused.
  • RSX Reality Synthesizer. The Xbox also went unemulated for a long time, simply because of how many components were just undocumented. The same thing applies here; the graphics card is Nvidia GeForce 7800 GTX-based, which means it's not well-documented and developers have to figure out how it displays graphics and graphical effects. Without access to Nvidia's resources, which would normally be included with an SDK, this would be very difficult.
Something of note is that this GPU was also managed by two different memory units with very disparate frequency speeds; 1) 256 MB of GDDR3 RAM clocked at 650 MHz with an effective transmission rate of 1.4 GHz, and 2) up to 224 MB of the 3.2 GHz XDR main memory via the CPU (480 MB max).

In short: expect game-breaking issues of one kind or another in the vast majority of titles at this point in time.

PlayStation Move

The PlayStation Move is a controller similar to a Wiimote, shaped to be held into hand and play with motion detection. It is detected by the PSEye, the successor of the PS2's EyeToy. The PSEye is usable on PC as it benefits from unofficial drivers made by the community. It is not yet implemented in a PS3 emulator. RPCS3 had some first steps implemented for PSMove use but the controllers aren't working yet.

The author of this preliminary implementation, velocityra, is a dedicated developer for RPCS3 and Vita3K. His own branch of the PSMove has advanced further, as the PSEye and PSMove controllers are already physically supported using the PSMoveAPI. A pretty old compatibility list can be found here. Some YouTube videos are also showing the work-in-progress functionality working.[3] The author unfortunately stopped working on this implementation a few months ago.

Notes

  1. You might see listings of eight SPEs, but that's because there are eight on the die; one of them is disabled to prevent the manufacturer from yielding too many bad units. Another SPE is reserved for the console's operating system.
  2. Which allowed the console to run many distributions of Linux and BSD in a separate partition as long as they supported PowerPC.
  3. The developers are currently treating version increments as milestones, not as stables.

References