Skip to content

shadps4 - RetroBIOS

Type standalone
Source https://github.com/shadps4-emu/shadPS4
Version pre-release 2026-03-25
Profiled 2026-03-26
Cores shadps4
Systems ps4
Analysis date 2026-03-26
Analysis commit 31b2d9c (depth=1)
Technical notes

shadPS4 is a standalone PlayStation 4 emulator. Most PS4 system libraries are reimplemented in HLE. For better game compatibility, real firmware modules (.sprx) can be loaded in LLE mode from the sys_modules/ directory.

Modules are loaded by sysmodule_internal.cpp via loadModuleInternal(). If a module exists in sys_modules/, it is loaded as LLE. If absent and an HLE implementation exists, the emulator falls back to HLE. If neither, the module is stubbed and games needing it may fail.

Game-specific overrides are supported: sys_modules/{CUSA_ID}/ takes priority over the global sys_modules/ directory.

System fonts are mounted from fonts/font/ (/preinst/common/font on real PS4) and fonts/font2/ (/system/common/font2 on real PS4). These are SST (Sony Standard Text) typeface files in OTF format. The emulator mounts the directories wholesale; games load individual fonts by name. Without fonts, the emulator warns "No dumped system fonts, expect missing text or instability."

All firmware files are extracted from a real PS4 via FTP: - .sprx modules from /system/common/lib/ - font/ from /preinst/common/font/ - font2/ from /system/common/font2/

Batocera configgen (shadps4Generator.py) configures display, input, and saves but does not map BIOS/firmware paths. The emulator uses its own user directory for sys_modules/ and fonts/.

14 files | 0 required, 14 optional | 14 in repo, 0 missing | 7 with HLE fallback

libSceLibcInternal.sprx optional in repo HLE fallback
PS4 C standard library

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:221

libSceNgs2.sprx optional in repo HLE fallback
PS4 next-generation audio system

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:213

libSceRtc.sprx optional in repo HLE fallback
PS4 real-time clock library

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:215

libSceJpegEnc.sprx optional in repo HLE fallback
PS4 JPEG encoder

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:217

libScePngEnc.sprx optional in repo HLE fallback
PS4 PNG encoder

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:218

libSceFont.sprx optional in repo HLE fallback
PS4 font rendering library

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:224

libSceFontFt.sprx optional in repo HLE fallback
PS4 FreeType font library

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:225

libSceUlt.sprx optional in repo
PS4 user-level threading library

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:214

libSceJpegDec.sprx optional in repo
PS4 JPEG decoder

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:216

libSceJson.sprx optional in repo
PS4 JSON parser

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:219

libSceJson2.sprx optional in repo
PS4 JSON v2 parser

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:220

libSceCesCs.sprx optional in repo
PS4 character encoding conversion

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:222

libSceAudiodec.sprx optional in repo
PS4 audio decoder

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:223

libSceFreeTypeOt.sprx optional in repo
PS4 FreeType OpenType library

  • Path: shadps4/sys_modules/
  • Source: src/core/libraries/sysmodule/sysmodule_internal.cpp:226

Generated on 2026-04-03T20:37:39Z