github Coder787-source/KytyPlus v3.1

latest releases: v4.8, v4.7, v4.6...
one month ago

KytyPlus v3.1

Tag: v3.1 · License: GPL-2.0 · Platforms: Windows, macOS, Linux


Bug fixes

🗂️ File handling (PKG / PFS)

  • Fixed: Dirent padding double-skip caused the first entry of every directory to be skipped.
  • Fixed: 64-bit inode mode detection — high inode numbers wrapped and were misclassified as directories.
  • Fixed: Path-traversal guard now blocks drive-letter prefixes and Zip Slip-style escapes during extraction.
  • Fixed: Direct block pointers were not bounds-checked; the emulator could read past the end of a file.
  • Fixed: PKG name-table offset was not bounded to the file extent.
  • Fixed: PFSC-compressed images are now fully decoded — proper header parsing with the per-block offset table, a stored-uncompressed fast path, and full bounds checks — instead of being rejected.

🎨 Graphics (FSR upscaler)

  • Fixed: Storage-image format mismatch produced a black frame on some systems.
  • Fixed: Image views were not cached and could be freed while the GPU still referenced them, causing a crash.
  • Fixed: RCAS UBO offset was not aligned to minUniformBufferOffsetAlignment, breaking compatibility with some drivers.

⚙️ Kernel & background tasks

  • Fixed: eventFlag single-thread wait-slot TOCTOU could leave two threads blocked forever.
  • Fixed: HttpWaitRequest busy-spin pinned the CPU at 100% and flooded the log with hundreds of millions of duplicate lines (9.8 GB in a single session); it now blocks for the requested timeout and no longer logs on the hot path.

🔧 Build & portability

  • Fixed: std::expected polyfill rewritten — no longer declares types in namespace std (collided with libstdc++'s legacy std::unexpected()), and is fully exception-free so it compiles under the project-wide -fno-exceptions on macOS and Linux. All call sites updated; macOS/Linux CI builds pass again.
  • Fixed: The Oodle loader on Windows — a member named LoadLibrary was macro-expanded by windows.h (#define LoadLibrary LoadLibraryA) and never resolved; renamed and NOMINMAX added.
  • Fixed: Missing ZlibDecompressor::TryInflate declaration broke the Windows build.

✨ New internals

  • Added: PFS volume layer (pfsVolume) and a decompression provider (Decompressor) backing the PFSC decoder — zlib/deflate in-build, optional user-supplied Oodle core (see Known limitations).
  • Changed: .gitignore hardened so emulator logs can no longer be committed accidentally.

Known limitations

  • Compressed game files: zlib/deflate (algo 0) is decompressed in-build, Oodle/Kraken (algo 1) requires a user-supplied core, and any unsupported codec is detected and skipped cleanly rather than misread.
  • Encrypted files are not supported.
  • The upscaler requires a modern graphics driver; otherwise it is disabled automatically.
  • The graphics cache is not shared between driver versions.

Legal

KytyPlus is a clean, KytyPS5-Based emulator. It ships no Sony code or keys, does not decrypt or bypass DRM, and requires you to supply your own already-decrypted content. Released under GPL-2.0.

Don't miss a new KytyPlus release

NewReleases is sending notifications on new releases.