{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "shadps4",
      "profile": {
        "analysis_commit": "891612c8",
        "analysis_date": "2026-08-10",
        "core_version": "pre-release 2026-08-08",
        "cores": [
          "shadps4",
          "shadps4-gui"
        ],
        "display_name": "shadPS4 (PlayStation 4)",
        "emulator": "shadps4",
        "files": [
          {
            "description": "PS4 C standard library",
            "hle_fallback": true,
            "name": "libSceLibcInternal.sprx",
            "path": "shadps4/sys_modules/libSceLibcInternal.sprx",
            "required": false,
            "source_ref": "src/core/linker.cpp:80-91"
          },
          {
            "description": "PS4 next-generation audio system",
            "hle_fallback": true,
            "name": "libSceNgs2.sprx",
            "path": "shadps4/sys_modules/libSceNgs2.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:217"
          },
          {
            "description": "PS4 user-level threading library",
            "name": "libSceUlt.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceUlt.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:218"
          },
          {
            "description": "PS4 real-time clock library",
            "hle_fallback": true,
            "name": "libSceRtc.sprx",
            "path": "shadps4/sys_modules/libSceRtc.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:221"
          },
          {
            "description": "PS4 JPEG decoder",
            "name": "libSceJpegDec.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceJpegDec.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:222"
          },
          {
            "description": "PS4 JPEG encoder",
            "hle_fallback": true,
            "name": "libSceJpegEnc.sprx",
            "path": "shadps4/sys_modules/libSceJpegEnc.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:223"
          },
          {
            "description": "PS4 PNG encoder",
            "hle_fallback": true,
            "name": "libScePngEnc.sprx",
            "path": "shadps4/sys_modules/libScePngEnc.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:225"
          },
          {
            "description": "PS4 JSON parser",
            "name": "libSceJson.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceJson.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:226"
          },
          {
            "description": "PS4 JSON v2 parser",
            "name": "libSceJson2.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceJson2.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:227"
          },
          {
            "description": "PS4 character encoding conversion",
            "name": "libSceCesCs.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceCesCs.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:228"
          },
          {
            "description": "PS4 ATRAC9 encoder",
            "name": "libSceAt9Enc.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAt9Enc.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:229"
          },
          {
            "description": "PS4 audio decoder",
            "name": "libSceAudiodec.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAudiodec.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:230"
          },
          {
            "description": "PS4 CPU audio decoder",
            "name": "libSceAudiodecCpu.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAudiodecCpu.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:231"
          },
          {
            "description": "PS4 CPU Dolby Digital Plus decoder",
            "name": "libSceAudiodecCpuDdp.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAudiodecCpuDdp.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:232"
          },
          {
            "description": "PS4 CPU AAC decoder",
            "name": "libSceAudiodecCpuM4aac.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAudiodecCpuM4aac.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:233"
          },
          {
            "description": "PS4 CPU DTS-HD LBR decoder",
            "name": "libSceAudiodecCpuDtsHdLbr.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAudiodecCpuDtsHdLbr.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:234"
          },
          {
            "description": "PS4 CPU HEVAG decoder",
            "name": "libSceAudiodecCpuHevag.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceAudiodecCpuHevag.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:235"
          },
          {
            "description": "PS4 font rendering library",
            "hle_fallback": true,
            "name": "libSceFont.sprx",
            "path": "shadps4/sys_modules/libSceFont.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:236"
          },
          {
            "description": "PS4 FreeType font library",
            "hle_fallback": true,
            "name": "libSceFontFt.sprx",
            "path": "shadps4/sys_modules/libSceFontFt.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:237"
          },
          {
            "description": "PS4 FreeType OpenType library",
            "name": "libSceFreeTypeOt.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceFreeTypeOt.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:238"
          },
          {
            "description": "PS4 FreeType outline library",
            "name": "libSceFreeTypeOl.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceFreeTypeOl.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:239"
          },
          {
            "description": "PS4 FreeType optimised outline library",
            "name": "libSceFreeTypeOptOl.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceFreeTypeOptOl.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:240"
          },
          {
            "description": "PS4 reliable UDP library",
            "hle_fallback": true,
            "name": "libSceRudp.sprx",
            "path": "shadps4/sys_modules/libSceRudp.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:243"
          },
          {
            "description": "PS4 WebKit font configuration",
            "name": "libSceWkFontConfig.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceWkFontConfig.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:244"
          },
          {
            "description": "PS4 system gesture recognition",
            "hle_fallback": true,
            "name": "libSceSystemGesture.sprx",
            "path": "shadps4/sys_modules/libSceSystemGesture.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:249"
          },
          {
            "description": "PS4 XML parser",
            "name": "libSceXml.sprx",
            "note": "No HLE implementation. The module is stubbed when absent.",
            "path": "shadps4/sys_modules/libSceXml.sprx",
            "required": false,
            "source_ref": "src/core/libraries/sysmodule/sysmodule_internal.cpp:250"
          }
        ],
        "mode": "standalone",
        "notes": "shadPS4 is a standalone PlayStation 4 emulator. Most PS4 system libraries\nare reimplemented in HLE. For better game compatibility, real firmware\nmodules (.sprx) can be loaded in LLE mode from the sys_modules/ directory.\n\nModules are loaded by sysmodule_internal.cpp via loadModuleInternal().\nIf a module exists in sys_modules/, it is loaded as LLE. If absent and\nan HLE implementation exists, the emulator falls back to HLE. If neither,\nthe module is stubbed and games needing it may fail.\n\nGame-specific overrides are supported: sys_modules/{CUSA_ID}/ takes\npriority over the global sys_modules/ directory.\n\nSystem fonts are mounted from fonts/font/ (/preinst/common/font on real\nPS4) and fonts/font2/ (/system/common/font2 on real PS4). These are SST\n(Sony Standard Text) typeface files in OTF format. The emulator mounts\nthe directories wholesale, and games load individual fonts by name. Without\nfonts, the emulator warns \"No dumped system fonts, expect missing text\nor instability.\"\n\nAll firmware files are extracted from a real PS4 via FTP:\n- .sprx modules from /system/common/lib/\n- font/ from /preinst/common/font/\n- font2/ from /system/common/font2/\n\nBatocera configgen (shadps4Generator.py) configures display, input, and\nsaves but does not map BIOS/firmware paths. The emulator uses its own\nuser directory for sys_modules/ and fonts/.\n",
        "profiled_date": "2026-03-26",
        "source": "https://github.com/shadps4-emu/shadPS4",
        "source_commit": "f73709cada28e77523e37806fee5c454711d24ba",
        "systems": [
          "ps4"
        ],
        "type": "standalone",
        "upstream": "https://github.com/shadps4-emu/shadPS4"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
