• win64-main-373100a 373100a6b0

    Ghost released this 2026-07-14 20:36:15 -04:00 | 455 commits to 1016_part3 since this release

    Fills NID gaps hit by PS5 titles during boot, controller setup, and
    rendering, and surfaces the common runtime switches in the GUI. All
    exports are additive (no behavior change to existing exports) and free of
    NID and export-name collisions with upstream.

    New export libraries:

    • libSceBluetoothHid: Init/RegisterDevice/RegisterCallback success stubs so
      titles proceed past Bluetooth controller setup (opt-out via
      SHARPEMU_BTHID_UNAVAILABLE=1).
    • libSceNpCppWebApi: Common::initialize no-op success; UE5 online titles
      abort PS5-component startup on a negative SCE error.

    Additions to existing libraries:

    • libScePad: scePadOpenExt (shared PadOpenCore, accepts special ports 1/2 and
      the ScePadOpenExtParam pointer), scePadClose, scePadGetExtControllerInformation.
    • libSceVideoOut: sceVideoOutConfigureOutput, sceVideoOutInitializeOutputOptions.
    • libSceAgc: DCB builders sceAgcDcbSetIndexCount, sceAgcDcbJump, DcbSetPredication,
      SetPacketPredication (emit valid skippable packets; full draw processing TODO).
    • libSceAmpr: measure and write KernelEventQueueOnCompletion pair.
    • libKernel: scePthreadGet/Setschedparam, sceKernelChmod (validate and accept;
      POSIX permission bits have no host equivalent on Windows).
    • libSceNetCtl: sceNetCtlRegisterCallbackV6 (delegates to the v4 callback).
    • libSceMouse: sceMouseInit.
    • libSceUserService: sceUserServiceGetAgeLevel (adult, skips parental gates).

    GUI: new Options Environment tab exposing common SHARPEMU_* switches as
    toggles (BTHID_UNAVAILABLE, DISABLE_IMPORT_LOOP_GUARD, VK_VALIDATION,
    DUMP_SPIRV, LOG_DIRECT_MEMORY, LOG_NP). Persisted in gui-settings.json and
    applied to the emulator process environment at launch; localized with
    English fallback.

    Downloads