PlayStation 3 emulators

From Emulation General Wiki
Revision as of 08:17, 24 September 2023 by Ahayri (talk | contribs) (Hardware Features)
Jump to navigation Jump to search
PlayStation 3
PlayStation 2006.png
PS3 Original.png
Developer Sony
Type Home video game console
Generation Seventh generation
Release date 2006
Discontinued 2017
Predecessor PlayStation 2
Successor PlayStation 4
Emulated
For other emulators that run on PS3 hardware, see Emulators on PS3.

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),[N2 1] and the system contains 256 MBs of XDR DRAM main memory at 3.2 GHz and 256 MBs 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 developers had to go through the process of learning the SPE architecture before they could use it. As a result, several developers decided against using the SPEs, and the consequence is that many multi-platform games ran with lower framerates or worse graphics compared to running those same games on the PS3's competitors.

The number of units sold worldwide was about the same as the Xbox 360. The PlayStation 3 initially included a feature called OtherOS,[N2 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 Version Arcade
Variations
Retro
Achievements*
FLOSS Active Recommended
PC / x86
RPCS3 Windows Linux macOS FreeBSD Nightly
0.0.29 Alpha
Qt5
~*
Nucleus Windows Linux git
Short Waves Windows 0.0.2
PS3F Windows 0.1


Comparisons

RPCS3 (Compatibility)
An open-source emulator for 64-bit Windows, GNU/Linux, BSD and macOS. 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, when development was slow and seemed like it wasn't really going anywhere. As of July 2023: 2457 titles (68.05%) can be completed with playable performance and no game breaking glitches; an additional 1055 titles (29.18%) either can't be finished, have serious glitches or have insufficient performance which requires top-notch single thread performance of CPUs; another 100 titles (2.77%) display image but don't make it past the menus; and 0 titles (0.00%) displays a blank screen with a framerate on the window's title. As of now, all known titles now load, and initialize properly, without crashing the emulator. Beyond this, RPCS3 supports some system features like XMB & XrossMediaBar (partially at the moment), PSN applications like Netflix etc., Peripherals (Buzz! controller, DJ Hero turntable, PSEye etc.) emulation and PSMove (via Mouse), Achievements/Trophies simulation. As of April 13, 2022, builds for macOS have started being officially distributed for Intel and ARM Macs. [1]
Nucleus
A one-person project that aimed at low-level emulation, some AOT emulation, and portability. Made by AlexAltea.
Short Waves
Released in 2014 by InoriRus, who later returned to the emulation scene in 2021 as the developer of the PlayStation 4 and 5 compatibility layer Kyty. Short Waves could run a few complex tests that RPCS3 couldn't at the time it was released, but it hasn't been updated since.
PS3F
Made by Shima, the creator of SSF. More information can be found here.

Hardware Features

Name RPCS3
PSP emulation
(incl. PSP Minis and PSP Remasters)
*
PSP communication[2] *
PSVita communication[3]
PlayStation emulation
(incl. PSOne Classics)
and PocketStation communication
~[N3 1]
PlayStation 2 emulation
(incl. PS2 Classics)
[N3 1]
LAN tunneling *
PlayStation Network
(incl. PlayStation Home)
~
XMB ~*
Trophies *
DVD/Blu-Ray Movie [N3 2]
Pressure Sensitive Buttons [N3 3]
Motion controls [N3 4]
  1. 1.0 1.1 There is no PocketStation communication support at the moment. Tweet from 6 May 2019: "RPCS3 supports Sony's PS1emu as of today. PS2emu is not yet supported. Both these emulators are present in the PS3 Firmware for backwards compatibility." ps2_emu used for PlayStation 2 emulation, ps1_emu used for disc based PlayStation games and ps1_netemu for PlayStation Classics from PSN (not implemented in RPCS3).
  2. Just like DuckStation for VCD movies, PPSSPP's "UMD Movie" for PSP, PCSX2's "DVD Movie" for PS2, xemu for DVD movies and xenia for DVD/HD DVD movies; there is no home video (DVD/Blu-Ray movies for PS3 system) support for RPCS3.
  3. Perfect support for DualShock 3 controller which works with Official Sony driver and DsHidMini community driver. Emulator allows to assign one key to change pressure sensitivity. It's possible to have more variants with reWASD application which allows to assign keys or gamepad buttons to Virtual DualShock 3. Emulator supports DualShock 2, but only with special adapter emulating DualShock 3, RPCS3 does not support Bliss-Box API. Other controllers with pressure-sensitive buttons like Xbox controller or Steam Deck touchpads are not supported.
  4. Perfect support. Emulator supports motion controls for DualShock 3, DualShock 4 and DualSense. Sony, Nintendo and Valve controllers can emulate DualShock 3 via reWASD application.

PlayStation Network

During the development stage for the PlayStation 3, Sony expressed their intent to build upon the functionality of its predecessor by creating a new interconnected service that keeps users constantly in touch with a "PlayStation World" network. In March 2006, Sony officially introduced its unified online service, tentatively named "PlayStation Network Platform". A list of supporting features was announced at the Tokyo Game Show later the same year.[4]

Netplay in RPCS3 was introduced by GalCiv, who developed RPCN (an open-source server that emulates the P2P match-making done on the PlayStation 3). RPCN can also be used to communicate with private servers for games that require a dedicated server for multiplayer features. In this regard, games that require a custom server will not work unless a fan-made, private server is created. This is outside the scope of the emulator and will have to be developed by the community.

Beyond this there is a project called Destination Home; a preservation team dedicated to restoring PlayStation Home's original online functionality and network services, but progress is heavily reliant on the development of RPCN; as key networking functionality is yet to be implemented.

LAN tunnelling

There are 104 games with the LAN feature for the PlayStation 3. To see if the game you want to play is supported please see this page or look on the back of the game case.

Peripherals

Name RPCS3
PlayStation Move ~
Skylanders Portal of Power *
Rock Band 3 MIDI Pro Adapter *
LEGO Dimensions Toy Pad ~
Disney Infinity Base *
Microphone *
Drums and Guitars *
GunCon 3 TBD

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.[5] The author unfortunately stopped working on this implementation years ago.

LEGO Dimensions Toy Pad

If you have the Toy Pad RPCS3 can communicate to the USB device directly (but only exposed devices that have been whitelisted). Just like cemu there is no Toy Pad emulation for the RPCS3 at the moment but you can use LD-ToyPad-Emulator for that.

Arcade Variations

Arcade variations pull requests for RPCS3.
With this PR merged, the following 3 System 357/369 arcade games are fully supported by RPCS3;

  • Taiko no Tatsujin series
  • Tekken Tag Tournament 2 (Unlimited)
  • Dragon Ball: Zenkai Battle

Namco System 357

RPCS3 only partially supports some 357 games. A fork currently exists for RPCS3 called Project OMED/RPCS357, which supports more games, however the newest builds are locked behind a Patreon subscription. The fork has two versions of itself, the Taiko/Fighting version (for Taiko no Tatsujin games and fighting games) and the Gun version (for the rail shooters, requires a lightgun to play). Latest free version: https://pixeldrain.com/u/dfGaH2oX Patreon: https://www.patreon.com/RPCS357

Namco System 359

WIP

Namco System 369

WIP

Emulation issues

PlayStation consoles have always been notorious for system complexity (e.g. PlayStation, PlayStation 2). 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 produce an official PS3 emulator for the newer PlayStations. Simply because they wouldn't be able to justify the extremely high potential development cost to investors.[6][7]

There are two major bottlenecks at play:

  • Cell Broadband Engine - 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 6 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 PlayStation 4 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 MBs of GDDR3 RAM clocked at 650 MHz with an effective transmission rate of 1.4 GHz, and 2) up to 224 MBs of the 3.2 GHz XDR main memory via the CPU (480 MBs max).

For more information about PlayStation 3 hardware and reverse engineering;

Screenshots

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.

References