PlayStation 3 emulators

From Emulation General Wiki
Revision as of 10:00, 22 December 2023 by Ahayri (talk | contribs) (Enhancements)
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 and retailed for $599. 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.

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
Hardware features
and peripherals
Enhancements Compatibility FLOSS Active Recommended
PC / x86
RPCS3 Windows Linux macOS FreeBSD Nightly
0.0.31 Alpha
Qt5
~ ~ ~ 68.14%
2479 out of 3637 reported titles
Nucleus Windows Linux git N/A
Short Waves Windows 0.0.2 N/A
PS3F Windows 0.1 N/A


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. Some of the SPU intensive titles have insufficient performance which requires top-notch single thread performance of CPUs. As of now, all known titles now load, and initialize properly, without crashing the emulator. Beyond this, RPCS3 supports some enhancements and system features, peripherals. 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.

Enhancements

Name RPCS3
Graphics Resizable Internal Resolution
Texture Replacement
Ultrawide hack
Widescreen already supported on PlayStation 3 system.
But there is no support by system for render games in other ratios such as ultrawide 21:9 or super ultrawide 32:9.
Pre-rendering AA
(MSAA, SSAA)
Super-resolution and frame generation techniques
(DLSS, XeSS and FSR 3)
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.
Ray-tracing Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade.
Demonstration
Performance Internal Framerate Hack
Overclock
Built-in Graphics mod editor/manager
RetroAchievements
Built-in Cheat Manager
Free Look
Free Look is a enhancement feature that allows manipulation of the in-game camera.
While freecam would be technically possible, it will require per-game patches.
Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.
Also there is a feature request for adding this enhancement feature to RPCS3 emulator.
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
*
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
Filters
Shader Chain
TAS features Macros/Scripts/Lua
Rewind
Fast-Forward/Turbo Speed *
Savestates *
Movie recording/playback
Built-in Custom resolution/CRTSwitchRes
For using this on Windows OS you need CRT Emudriver.
Another option is using EDID editor tool such as "Custom Resolution Utility".
Mouse Injector Compatible *
Input lag-mitigating technique
Streamable compression format
Debug Features

Hardware features and peripherals

Name RPCS3
PSP emulation
(incl. PSP Minis and PSP Remasters)
*
PSP communication *
PSVita communication
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)
~
System firmware XMB ~*
Trophies *
Blu-ray player
Pressure Sensitive Buttons [N3 2]
Motion controls (Gyro) [N3 3]
Peripherals
PlayStation Move ~
Skylanders Portal of Power *
Rock Band 3 MIDI Pro Adapter *
Buzz! controller *
Wireless Keypad TBD
DJ Hero turntable ~*
LEGO Dimensions Toy Pad ~*
Disney Infinity Base *
Microphone *
Drums and Guitars *
GunCon 3 TBD
uDraw GameTablet ~*
Wonderbook TBD
  1. 1.0 1.1 There is no PocketStation communication and ps1_emu support at the moment, only ps1_netemu is supported. Tweet from 6 May 2019: "RPCS3 supports Sony's PS1_netemu 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.
  2. 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.
  3. 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.[2]

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 tunneling

Offline multiplayer gaming on the PS3 home console over a LAN (local area network) multiplayer games, just like System Link for XBOX systems. 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.

PSP communication

Adhoc Party support, remote play (via the PS3 system's wireless LAN), copying games to play on a PSP system that can be played on either PS3 or PSP systems etc.

Using remote play (via the PS3 system's wireless LAN)
Copying games to play on a PSP system that can be played on either PS3 or PSP systems

PSVita communication

Remote play (via the PS3 system's wireless LAN), copying games to play on a PSVita system that can be played on either PS3 or PSVita systems etc.

PS3 Remote Play with PSVita
Connect PS Vita System Using Network

Blu-ray player

PlayStation 3 has featuring a slot-loading 2× speed Blu-ray Disc drive for games, Blu-ray movies, DVDs, and Audio CDs. However there is no support for Video CDs & VCDs for PlayStation 3 just like PlayStation 2. Interactive film/movie formats like DVDi, DVDPG, BDPG and Blu-ray interactive HD supported.

  • RPCS3 has no home media playback support currently.
See this dedicated page for more information about home media playback support for emulation softwares.

Peripherals

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 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

Demonstration

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.[4][5]

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; and you have a great formula for high system requirements. The RPCS3 developers using ahead-of-time recompilation using LLVM.
  • 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 RSX unit is a custom-designed chip developed by NVIDIA specifically for the PS3 and share similarities with GeForce 7800 GTX or G70/G71. 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