Skip to content

# RPCS3 - RetroBIOS

Type | standalone
Source | https://github.com/RPCS3/rpcs3
Version | 0.0.35
Profiled | 2026-03-18
Cores | rpcs3
Systems | sony-playstation-3
Firmware file | PS3UPDAT.PUP
Firmware source | https://www.playstation.com/en-us/support/hardware/ps3/system-software/
Firmware install | extracts dev_flash_* TAR packages from PUP into dev_flash/
Firmware detection | pup_header

dev_flash

sys_external:

    - **path:** dev_flash/sys/external/
    - **source_ref:** rpcs3/Emu/Cell/PPUModule.cpp:2579
    - **note:** Primary firmware module directory. Contains decrypted .sprx modules loaded by liblv2.sprx at boot. RPCS3 can run these via LLE (low-level emulation) or fall back to HLE (high-level emulation) per modu...
    - **critical_file:** liblv2.sprx
    **modules:**

    - liblv2.sprx
    - libsysmodule.sprx
    - libfs_utility_init.sprx
    - libadec.sprx
    - libatrac3plus.sprx
    - libcelp8dec.sprx
    - libcelpdec.sprx
    - libcelpenc.sprx
    - libddpdec.sprx
    - libdtslbrdec.sprx
    - libdtsdec.sprx
    - libdtshdcoredec.sprx
    - libdtshddec.sprx
    - libm2aac.sprx
    - libm2bc.sprx
    - libm4aac.sprx
    - libm4aac2ch.sprx
    - libm4aac2chmod.sprx
    - libmp3dec.sprx
    - libmp3sdec.sprx
    - libmpl1dec.sprx
    - libtrhddec.sprx
    - libwmadec.sprx
    - libwmaprodec.sprx
    - libwmalslbrdec.sprx
    - libac3dec.sprx
    - libvdec.sprx
    - libdmux.sprx
    - libdmuxpamf.sprx
    - libpamf.sprx
    - libvpost.sprx
    - libsail.sprx
    - libsailrec.sprx
    - libgcm_sys.sprx
    - libresc.sprx
    - libio.sprx
    - libcamera.sprx
    - libgem.sprx
    - libmic.sprx
    - libusbpspcm.sprx
    - libusbd.sprx
    - libnetctl.sprx
    - librudp.sprx
    - libssl.sprx
    - libhttp.sprx
    - libhttps.sprx
    - libhttputil.sprx
    - libsysnet.sprx
    - libsysutil.sprx
    - libsysutil_ap.sprx
    - libsysutil_avc2.sprx
    - libsysutil_avc_ext.sprx
    - libsysutil_np_eula.sprx
    - libaudio.sprx
    - libvoice.sprx
    - libavconfext.sprx
    - libsavedata.sprx
    - libgame.sprx
    - libgameexec.sprx
    - libuserinfo.sprx
    - libosklialog.sprx
    - libsysconf.sprx
    - libgifdec.sprx
    - libjpgdec.sprx
    - libjpgenc.sprx
    - libpngdec.sprx
    - libpngenc.sprx
    - libsceNp.sprx
    - libsceNp2.sprx
    - libsceNpBasicLimited.sprx
    - libsceNpClans.sprx
    - libsceNpCommerce2.sprx
    - libsceNpMatchingInt.sprx
    - libsceNpPlus.sprx
    - libsceNpSns.sprx
    - libsceNpTrophy.sprx
    - libsceNpTus.sprx
    - libsceNpUtil.sprx
    - libfont.sprx
    - libfontFT.sprx
    - libfreetype2.sprx
    - librtc.sprx
    - librtcalarm.sprx
    - libl10n.sprx
    - libkey2char.sprx
    - libimejp.sprx
    - libcrosscontroller.sprx
    - libfiber.sprx
    - libspurs_jq.sprx
    - libspudll.sprx
    - libmixer.sprx
    - libsnd3.sprx
    - libsynth2.sprx
    - libovis.sprx
    - libprint.sprx
    - librec.sprx
    - libremoteplay.sprx
    - libscreenshot.sprx
    - libsearch.sprx
    - libmusic.sprx
    - libmusicdecode.sprx
    - libmusicexport.sprx
    - libphoto.sprx
    - libphotoexport.sprx
    - libphotoimportutil.sprx
    - libvideo.sprx
    - libvideoplayer.sprx
    - libvideoupload.sprx
    - libnetaoi.sprx
    - libpesmutility.sprx
    - libbgdl.sprx
    - libsubdisplay.sprx
    - libdtcpiputility.sprx
    - libsheap.sprx
    - libsync2.sprx
    - libminisSavedata.sprx
    - libauthdialogutility.sprx
    - libcrashdump.sprx
    - liblv2dbg.sprx

sys_internal:

    - **path:** dev_flash/sys/internal/
    - **source_ref:** rpcs3/Emu/Cell/lv2/sys_prx.cpp:33
    - **note:** Internal system modules, e.g. libfs_utility_init.sprx

vsh:

    - **path:** dev_flash/vsh/
    - **source_ref:** rpcs3/rpcs3qt/main_window.cpp:272,734
    - **note:** PS3 XMB interface. vsh.self is the main executable, booted via 'Boot VSH' menu.
    **files:**

    - path: vsh/module/vsh.self, purpose: XMB main executable, required_for: Boot VSH / XrossMediaBar
    - path: vsh/etc/version.txt, purpose: Firmware version string
    - path: vsh/module/eseibrd.sprx, purpose: System module (precompiled at boot)
    - path: vsh/module/msmw2.sprx, purpose: Media streaming
    - path: vsh/resource/explore/user/*.png, purpose: User avatar icons (000.png - 025.png)
    - path: vsh/resource/explore/icon/icon_home.png, purpose: Home icon for game list

fonts:

    - **path:** dev_flash/data/font/
    - **source_ref:** rpcs3/Emu/Cell/Modules/cellFont.cpp:226-281
    - **note:** PS3 system fonts used by cellFont API. Loaded from dev_flash/data/font/ and dev_flash/data/font/SONY-CC/ subdirectory. Games using cellFont will fail to render text without these.

    **files:**

    - name: SCE-PS3-RD-R-LATIN.TTF, type: Rodin Sans Serif Regular Latin, required: True
    - name: SCE-PS3-RD-L-LATIN.TTF, type: Rodin Sans Serif Light Latin
    - name: SCE-PS3-RD-B-LATIN.TTF, type: Rodin Sans Serif Bold Latin
    - name: SCE-PS3-RD-R-LATIN2.TTF, type: Rodin Sans Serif Regular Latin2
    - name: SCE-PS3-RD-L-LATIN2.TTF, type: Rodin Sans Serif Light Latin2
    - name: SCE-PS3-RD-B-LATIN2.TTF, type: Rodin Sans Serif Bold Latin2
    - name: SCE-PS3-MT-R-LATIN.TTF, type: Matisse Serif Regular Latin
    - name: SCE-PS3-NR-R-JPN.TTF, type: NewRodin Gothic Regular Japanese
    - name: SCE-PS3-NR-L-JPN.TTF, type: NewRodin Gothic Light Japanese
    - name: SCE-PS3-NR-B-JPN.TTF, type: NewRodin Gothic Bold Japanese
    - name: SCE-PS3-YG-R-KOR.TTF, type: YD Gothic Regular Korean
    - name: SCE-PS3-SR-R-LATIN.TTF, type: Seurat Maru Gothic Regular Latin
    - name: SCE-PS3-SR-R-LATIN2.TTF, type: Seurat Maru Gothic Regular Latin2
    - name: SCE-PS3-SR-R-JPN.TTF, type: Seurat Maru Gothic Regular Japanese
    - name: SCE-PS3-VR-R-LATIN.TTF, type: VAGR Sans Serif Round Latin
    - name: SCE-PS3-VR-R-LATIN2.TTF, type: VAGR Sans Serif Round Latin2
    - name: SCE-PS3-DH-R-CGB.TTF, type: Chinese GB font, subdir: SONY-CC/

certs:

    - **path:** dev_flash/data/cert/
    - **source_ref:** rpcs3/Emu/Cell/Modules/cellSsl.cpp:110
    - **note:** SSL root certificates for PSN and HTTPS connections

ps1emu:

    - **path:** dev_flash/ps1emu/
    - **source_ref:** rpcs3/Emu/System.cpp:1954
    - **note:** PS1 Classics emulator. Booted when running PS1 game via ps1_newemu.self
    **files:**

    - name: ps1_newemu.self, purpose: PS1 emulator binary

ps2emu:

    - **path:** dev_flash/ps2emu/
    - **source_ref:** rpcs3/Crypto/key_vault.h:219
    - **note:** PS2 emulator components. Only present on fat PS3 models (CECHA/B/C/E). Includes me_iso_for_ps2emu.self and sv_iso_for_ps2emu.self (since FW 3.70).

pspemu:

    - **path:** dev_flash/pspemu/
    - **source_ref:** rpcs3/Emu/System.cpp:1982, rpcs3/Crypto/key_vault.h:285-290
    - **note:** PSP emulator for PS3. Contains psp_emulator.self, psp_translator.self, and release/*.sprx
    **files:**

    - name: psp_emulator.self, purpose: PSP emulator main binary
    - name: psp_translator.self, purpose: PSP translator
    - name: release/emulator_api.sprx, purpose: Emulator API
    - name: release/emulator_drm.sprx, purpose: DRM handling

bdplayer:

    - **path:** dev_flash/bdplayer/
    - **source_ref:** rpcs3/Crypto/key_vault.h:257-258
    - **note:** Blu-ray disc player modules
    **files:**

    - name: bdp_bdmv.self, purpose: BD-MV player
    - name: bdj.self, purpose: BD-J (Java) player

dev_flash2

- path: dev_flash2/
- filesystem: CELL_FS_FAT
- device: CELL_FS_IOS:BUILTIN_FLSH2
- source_ref: rpcs3/Emu/Cell/lv2/sys_fs.cpp:29
- note: Second flash partition, used for additional system data

dev_flash3

- path: dev_flash3/
- filesystem: CELL_FS_FAT
- device: CELL_FS_IOS:BUILTIN_FLSH3
- source_ref: rpcs3/Emu/Cell/lv2/sys_fs.cpp:28
- note: Third flash partition

Firmware version

- path: dev_flash/vsh/etc/version.txt
- source_ref: rpcs3/util/sysinfo.cpp:686
- note: Read at startup, displayed as 'Firmware version: X.XX'. Missing = 'Missing Firmware'

Technical notes

RPCS3 requires the official PS3 firmware (PS3UPDAT.PUP) from Sony. The PUP file is a signed update package containing multiple TAR archives prefixed with "dev_flash_". During installation, RPCS3 extracts these TARs into the dev_flash/ directory structure.

The most critical component is dev_flash/sys/external/liblv2.sprx - without it, no PS3 game can boot. RPCS3 checks for its presence and shows a firmware install prompt if missing.

Most sys/external modules can run in either LLE (real firmware code) or HLE (RPCS3 reimplementation) mode. By default, liblv2.sprx loads libsysmodule.sprx which chains all other modules. Users can toggle individual modules between LLE/HLE.

The dev_flash/ structure mirrors the real PS3 NAND layout: - sys/external/ : Loadable firmware PRX modules - sys/internal/ : Internal system modules - vsh/ : Visual Shell (XMB interface) - data/font/ : System TTF fonts (16+ files) - data/cert/ : SSL certificates - ps1emu/ : PS1 backward compat emulator - ps2emu/ : PS2 backward compat emulator (fat models only) - pspemu/ : PSP emulator - bdplayer/ : Blu-ray disc player

Firmware versions follow the X.XX format (e.g. 4.90). RPCS3 reads the version from dev_flash/vsh/etc/version.txt at startup.

No BIOS or firmware files required. Generated on 2026-03-25T14:56:43Z