Sony PlayStation 3

The PlayStation 3 is a home console developed by Sony. It was released in 2006.

PS3 emulation is only available on x86_64 (i.e. not on Raspberry Pi, Odroid or other SBCs).

This system scrapes metadata for the ps3 group and loads the ps3 set from the currently selected theme, if available.

  • Emulator: RPCS3
  • Folder: /userdata/roms/ps3
  • Accepted ROM formats: .psn .squashfs
  • Accepted folder extensions: .ps3
MD5 checksum Share file path Description
a0b63a3e4ae92ed176d6b9a67ce447f0 bios/PS3UPDAT.PUP PS3 firmware file

Sony distributes this firmware on their website for installing onto your PlayStation 3; no link can be provided but it's easy enough to find by using a search engine.

PS3UPDAT.PUP is still updated to this day. The MD5 shown here may be for an older firmware, check the MISSING BIOS tool to check the MD5 for your current installation of Batocera.

Add other formats.

PlayStation 3 ROMs can come in many formats, disc-based, PSN and FIXME. Installation differs depending on format.

PS3 games have a string of letters and numbers referred to as their title ID. For example: NPEB01393 is the title ID for a PSN copy of Hatsune Miku: Project DIVA F.

Title IDs that begin with B are disc-based games; title IDs that begin with N are digital PSN games.

Batocera accepts disc-based PS3 ROMs stored as folders in the following folder structure:

roms/ps3/
     └─ Game name.ps3/
        ├─ PS3_GAME/
        │  ├─ LICDIR/
        │  ├─ TROPDIR/ (trophy data)
        │  ├─ USRDIR/ (the main game data)
        │  ├─ ICON0.PNG
        │  ├─ PARAM.SFO
        │  ├─ PIC0.PNG
        │  ├─ PS3LOGO.DAT
        │  └─ (various other metadata files)
        ├─ PS3_UPDATE/ (built-in firmware update, if applicable)
        └─ PS3_DISC.SFB

Yes, the PS3 ROM folder name has a .ps3 extension to it! Yes, you can attach extensions to a folder (they are just a part of the filename after all).

SquashFS folder compression

From Batocera v33 and higher, you can losslessly compress PS3 game folders as SquashFS images and still have RPCS3 read them as if though they weren't compressed at all!

To do so, open up SSH and run the following commands on your already installed disc-based game:

cd /userdata/roms/ps3
mksquashfs "Game name.ps3" "Game name.ps3.squashfs"

For example:

cd /userdata/roms/ps3
mksquashfs "Little Big Planet.ps3" "Little Big Planet.ps3.squashfs"

PSN games were originally downloaded from the online store and installed onto the hard-drive. Because they are not disc-based games, some manual action is required:

  1. On the system list, press [F1] on the keyboard and click on Applications in the left sidebar
  2. Open rpcs3-config
  3. Click on FileInstall Packages, Raps, Edats
  4. Navigate to and install the PSN game's PKG files (FIXME wtf is a PKG file?) (this may take a while)
  5. Once that's complete, exit out by pressing [Ctrl] + [Q]
  6. In the file browser, click on Share and navigate to system/configs/rpcs3/dev_hdd0/home/00000001/exdata/ (FIXME how do we find out this number?)
  7. Place the corresponding RAP license file into the folder
  8. Click on Share and navigate to roms/ps3
  9. Create a new text file titled after the game's name followed by the .psn extension. For instance, Scott Pilgrim vs. the World.psn
  10. Open this as a text document and enter the game's ID code in a single line. For instance, NPUB30162

The PSN game will be installed to /userdata/system/configs/rpcs3/dev_hdd0/game/<GAMEID>. This is subject to change in the future.

Possibly, the RAP can also be installed using RPCS3's file browser instead of manual placement, needs confirmation.

Here's an example text file (which can be downloaded) that can be placed in rom/ps3:

Scott Pilgrim vs. the World.psn
NPUB30162

For this example text file, the resulting folder structure would look like this:

/userdata/
 ├─ roms/ps3/
 │       └─ Scott Pilgrim vs. the World.psn
 └─ system/configs/rpcs3/dev_hdd0/game/NPUB30162/
                                       └─ (the game data)

RPCS3 (Russian Personal Computer Station 3) is an experimental emulator for the PS3. Founded in May of 2011 by DH and Hykem, its development has been steadily increasing in activity over time. It's pretty much the only PS3 emulator that can consistently run most commercial games.

It requires more resources than older systems, benefiting from a decent CPU and a Vulkan-capable GPU for hardware acceleration. Games won't run correctly if you don't have GPU acceleration, refer to RPCS3's hardware recommendations on their website. Here's a cool benchmark table: https://docs.google.com/spreadsheets/d/1Rpq_2D4Rf3g6O-x2R1fwTSKWvJH7X63kExsVxHnT2Mc/edit#gid=0

With that said, this is still an experimental emulator, and most games have issues (even if minor). Consult its compatibility list first before making any reports. If one of the games is marked as “playable” on the compatibility list but you're still having issues with it, consult RPCS3's wiki for that specific game.

RPCS3 configuration

Standardized features available to all cores of this emulator: ps3.videomode

ES setting name batocera.conf key Description » ES option key value
GRAPHICAL USER INTERFACE ps3.gui Display the user interface
» Off 0, On 1.
GRAPHICS BACKEND ps3.gfxbackend Choose your graphics rendering
» OpenGL OpenGL, Vulkan Vulkan.
SPU DECODER ps3.spudecoder LLVM used by default. Use ASMJIT if game crashes; then Interpreter (fast) if still crashing.
⇒ Recompiler (LLVM) Recompiler (LLVM), Recompiler (ASMJIT) Recompiler (ASMJIT), Interpreter (fast) Interpreter (fast), Interpreter (precise) Interpreter (precise).

First RPCS3 run

When RPCS3 is run for the first time (just attempt to launch any game from ES), it will ask to install the provided firmware from the BIOS folder (userdata/bios/PS3UPDAT.PUP). Do so. This may take a while, grab a cup of tea while you wait. When it's done, simply exit the program (FileExit or [Ctrl] + [Q]) and launch a game again. This will need to be done for every new firmware released. This action can also be invoked manually by going to FileInstall firmware.

On the first run of each game, RPCS3 will compile PPU modules. This takes a long time, so grab some tea. In all future launches, wait time is dramatically decreased.

Do not launch games directly from RPCS3's interface. Do so from ES. Otherwise you will not have audio.

It is possible to have RPCS3 compile the PPU for all currently detected games (as opposed to only doing so when the game is launched). In rpcs3-config, go to (FIXME precise instructions) boot menu → compile PPU cache for firmware and all games.

Here are the Sony PlayStation 3's controls shown on a Batocera Retropad:

This is more related to usage of RPCS3, refer to their quick start guide.

For PS3 game specific issues, be sure to check RPCS3's wiki first.

For further troubleshooting, refer to the generic support pages.

  • systems/ps3.txt
  • Last modified: 13 days ago
  • by lbrpdx