KytyPlus v2.9
Tag: v2.9 (e6f4b87)
License: GPL-2.0
Platforms: Windows, macOS, Linux
This is a launcher-and-polish release. The launcher graduates from "barebones game list" to a full game-library manager with one-click PKG install, per-game controller remapping, and delete. The core emulator received dozens of merge-resolution fixes that unblocked compilation on both macOS and Windows CI. No new game dumps were used to validate — testers are the bottleneck.
Launcher — game library (major)
The launcher is now a genuine game manager, not just a list widget:
- Install Package (.pkg): Click "Install Package," select a
.pkgfile, and the launcher runskyty_emulator --install-pkgasynchronously in the background. The GUI no longer freezes during extraction. After extraction completes, the launcher recursively copies all files (including nestedsce_sys/directories) intogames/<content_id>/and rescans the library. The game appears in the list automatically. - Delete game: Right-click any game in the list and choose "Delete game..." — removes the entire game folder from disk after a confirmation dialog. Disabled while the game is running.
- Game settings panel: Click "Go To Settings" on any game to access the full configuration dialog, now with controller mapping at the bottom.
Controller remapping
The launcher's settings dialog has a new Controller Mapping panel with 24 rebindable controls:
- Every PS5 button (Cross, Circle, Triangle, Square, D-Pad, L1–L3, R1–R3, Options, Touchpad, left/right stick axes, triggers) can be rebound to a keyboard key, mouse button, or gamepad button.
- Click any row, press your desired input — the launcher captures whatever you press.
- Mappings are serialized as
--keymap Cross=Key:X --keymap Circle=Pad:Barguments passed to the emulator at launch. - Works for wired AND wireless controllers (SDL's
SDL_GameControllerOpenhandles both). - The emulator-side
InputMapnow understandsPad:ButtonName,Key:Name, andMouse:Buttonbindings. - Gamepad buttons are also routed through the custom map, not bypassed.
Build fixes (dozens)
The merge from upstream KytyPS5 introduced compile errors across ~20 files. All have been resolved:
- Memory subsystem: Missing closing braces in
CommitFixedHostRange(cascading 20+ errors); addedReserveAlignedFailedandUnmapRollbackFailedtoFailureReasonenum. - Graphics pipeline: Restored
ImageViewKindCount→SampledImageViewKindCountrename throughout; fixeddepth_bias_constant_factor/depth_bias_slope_factormembers; restoredDrawEmitInfoNGG fields; added missingConfiginclude. - Shader recompiler: Restored rect-list shader generation (
BuildRectListShaders, tessellation module declarations); restoredCanonicalizeNaturalLoops,SelectionRegion, andblock_budgetin CFG; removed duplicateImageGradientComponents; added missingOpcodeTable.hinclude toVectorAluOps.cpp; addedusing Detail::Lookupand fixedFindVop2SdwaRulearg. - Kernel: Added
PTHREAD_STACK_BOTTOMconstant. - Presentation: Added
hostInput.hinclude inwindow.cpp; restoredHostInputKey,HostInputMouseButton,HostInputInitpaths. - Controller: Restored
ControllerResetInputStatedeclaration and implementation. - PFS parser: Fixed 8-byte dirent name padding for correct directory enumeration.
- ImGui: Added
imguitarget tokyty_emulatorlink libraries (fixesfatal error: 'imgui.h' file not found).
What was removed
- Firmware / PUP boot path: PUP firmware parsing and module loading were reverted. KytyPlus is now purely HLE — no Sony firmware modules are loaded or required. This eliminates legal gray area around firmware distribution and simplifies the boot path.
- Redundant "Configure Controller" button: Removed from the main launcher window; controller mapping is now only in the per-game settings dialog (scroll to the bottom).
Legal
Clean HLE emulator. Does not ship Sony code or keys, does not decrypt or circumvent DRM, requires already-decrypted content supplied by the user, and does not provide instructions or tooling for producing it. GPL-2.0.
Tag v2.9, GPL-2.0.