Commit Graph
8 Commits
Author SHA1 Message Date
Mihawk 09ea2c2a66 Add verified console updates and BIOS alerts to the WebUI
Download and verify published packages on-console, stage changed managed files, preserve user data, and install after frontend shutdown. Set eboot execute permission explicitly so native installations relaunch.

Validation: tools/verify.sh (118 tests, native build and all gates); browser state checks; actual Alpha 6 download/install/relaunch and unchanged config. Evidence: evidence/webui-update/.
2026-10-02 19:06:46 -04:00
Mihawk d5f429c039 Ship offline video effects and fix overlay and temporal shader rendering
Validated: 108 host tests, native build and integration; evidence/offline-video-effects replays selected PS5 captures. Complete overlay geometry and normalized history/feedback verified on console. Includes release notes and arcade screenshot catalog for v0.6.0-alpha.6.
2026-10-02 15:58:41 -04:00
Mihawkandrpf16rj 97695a8235 Add DualSense rumble and safe haptic streaming
Adapt PR #6 with matched S16/F32 buffers, startup cleanup and serialized motor fallback. Preserve active levels when streaming fails and cover both formats and failure paths with AddressSanitizer.

Verification: all five tools/verify.sh gates pass; 87 tests. Console strong/weak/combined pulse run: 2269 buffers, 568 nonzero, zero output errors, normal exit. Evidence: evidence/dualsense-rumble/capture.json and expectation.json; replay with bash tools/verify.sh evidence. Physical feel remains unconfirmed.

Co-authored-by: rpf16rj <rpf16rj@gmail.com>
2026-10-02 09:18:50 -04:00
Mihawk b9f411adae Input test: stubs for the core option calls, and a check of the pad script's OPTION
The OPTION action (858129f) calls RetroArch's core option manager, which the
host test did not link, so the unit gate failed. The test now gives it one
option to find and checks that OPTION sets it, and that an unknown key or
value leaves the options alone. bash tools/verify.sh: PASS (format unit build
integration evidence).
2026-10-01 09:35:41 -04:00
Mihawk 2096666eb7 RPCS3: save states and every setting as core options; GTA IV 1.00 boots
The core's .info offers basic save states (RPCS3 savestates, kept in memory),
and the fork's RPCS3 settings are core options by section (docs/RPCS3_PORT.md).
The fork's pin also carries two RSX fixes GTA IV needs: a FIFO whose command
buffer is in local memory (system mode 0x200; GTA IV 1.00 stopped at its first
commands, RPCS3 issue #14194) and a ZCULL late fault that unlocks its page
(the 16K-page freeze of RPCS3 issue #19610).

The test pad script gains SAVE_STATE, LOAD_STATE and SCREENSHOT actions (the
last saves /app0/pad-shot-<n>.png), for runs that start from a known scene and
runs that walk through a game's screens.
2026-09-29 07:58:37 -04:00
Mihawk 67907d0159 Core threads count as finished after their destructors; the pad script's STOP
The loader counted a core thread as running until its start routine returned,
and RPCS3's threads end in pthread_exit, so 122 were "still running" at every
Close Content: the core stayed mapped and the reload mapped a second copy. A
core thread now counts itself finished from its first-registered thread_local
destructor, which runs last of them whether it returns or calls pthread_exit,
and one that returns ends through ps5_pthread_exit, so its destructors run
while its TLS is whole. The loader allows 20 ms after the count reaches zero
for the key destructors that follow. RPCS3 unloads at Close Content and
reloads at the same base; PPSSPP's battery still passes.

RetroArch forgets --max-frames when a core closes, so the pad script's STOP
ends a run that reloaded content, as the frame limit does, with its
screenshot.

God of War HD at 300%: twelve minutes without a crash, 71 of 71 windows at
100%, and the Close Content + reload battery passes (docs/PHASE_LOG.md).
2026-09-29 01:02:40 -04:00
Mihawk fa28bf1ae4 Fix thumbnail colours and input after resetting defaults
Preserve the requested RGBA format in asynchronous image loading. Default the native joypad to ps5 and refresh controller autoconfiguration after a live reset clears bindings.

Three new regression tests failed before the fixes and pass afterward. All five tools/verify.sh gates passed with 74 tests and 278 frontend sources. Patch inventory is 179, including five configuration.c edits. Owner accepted the uploaded build: Perfect. Commit.

Evidence: evidence/thumbnail-input-defaults/; replay with bash tools/verify.sh format evidence. Accepted build: e11018a79a62ce91fa723deaad6939c1e48a47bace21b3527ae84f4452148451. Current logging unchanged; no PS5_Vulkan edits.
2026-09-19 21:00:27 -04:00
Mihawk dae9006c37 Fix PS5 menu analog navigation and input binding capture
Register ps5_joypad with raw buttons/axes and a built-in controller profile.
Route controls through RetroArch's binding helpers and stop OR-ing hardcoded
pad state back into remapped input. Preserve held samples across the extra
binding-screen poll and keep disconnect/interception handling.

Add three upstream edits (105 -> 108): joypad declaration, registration and
built-in profile. No new dependency or toolchain flag. Host tests exercise
upstream mapping/analog helpers, native polling/lifecycle and ELF registration.

Validation: tools/verify.sh (all five gates, 37 tests, 17 evidence records).
Fresh patch replay: 107 applied + one existing marker; second pass unchanged.
Console: tools/run-title.sh --no-build --watch 120; owner confirmed flawless
stick navigation and binding capture, then confirmed manual close.
Follow-up: tools/run-title.sh --no-build --no-deploy --watch 30; full window
alive and script-closed, zero Vulkan refusals/API failures.
Evidence: evidence/native-joypad/{capture,expectation}.json.
Build: e6211dea9fd0bb512e83a9979a6a44c0c8c5fdf175564c753e3fd2a25067e0a9.
PS5_Vulkan unchanged.
2026-09-19 13:35:42 -04:00