122 Commits
Author SHA1 Message Date
B-HowellandClaude Opus 5.5 fbd82632e4 feat(libSceVideoOut): declare later callable exports
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 20:03:55 -05:00
Dean f6b6491c08 Merge pull request #13041 from wrocketdev/fix/videoout-delete-event-handle
fix(libSceVideoOut): return INVALID_HANDLE when deleting events on ports that are not open
2026-11-03 06:26:20 +13:00
Dean 8c581d2926 Merge pull request #12596 from MarcZX10/feat/ime-composition-clipboard
feat(ime): show host IME composition in the dialog and paste the clipboard
2026-11-03 02:38:26 +13:00
Dean 8cf4d1ebf0 Merge pull request #14974 from xXPBSXx/docs-videoout-change-attr2
docs(debt): say that sceVideoOutSubmitChangeBufferAttribute2 throws for a bad set index or option
2026-11-02 23:30:44 +13:00
Dean 504d1217be Merge pull request #11220 from p3n1cillin/claude/videoout-register-slot-occupied
fix(libSceVideoOut): return SLOT_OCCUPIED for a registration over registered buffers as the console does
2026-11-02 23:27:18 +13:00
xXPBSXxandClaude Sonnet 5.5 c0703637ba docs(debt): say that sceVideoOutSubmitChangeBufferAttribute2 throws for a bad set index or option
A set index outside 0 to 3, a set that is not registered and an option
other than null throw. The new entry says so and what the titles
checked pass for the two arguments.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-02 06:44:29 +01:00
xXPBSXxandClaude Opus 5.5 0413746515 docs(debt): name the flip mode above 6 that one title passes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 04:22:18 +01:00
Dean 198e13c75e Merge pull request #14395 from xXPBSXx/docs/vrr-peg-constant-args
docs(debt): say that titles pass zeros to the VRR peg call
2026-11-02 11:45:48 +13:00
Dean 9c6962c323 Merge pull request #8452 from thuanquang/docs/debt-mouse-to-stick-relative-mode
docs(videoout): say that mouse-to-stick keeps SDL relative mode on
2026-11-02 11:44:35 +13:00
Dean d097bfb93d Merge pull request #12721 from JJenkx/windows/docs-videoout-flip-rate-debt
docs(debt): list sceVideoOutSetFlipRate under unknown function info
2026-11-02 11:14:09 +13:00
thuanquangandClaude 400fa6066c Merge main (f2d874c1fd) into docs/debt-mouse-to-stick-relative-mode
#11854 rewrote the HDR output entry next to this PR's line in docs/dev/debt/libSceVideoOut.md. Main's entry is kept; this PR still changes only the mouse capture entry's release clause.

Co-Authored-By: Claude <[email protected]>
2026-11-02 00:50:49 +07:00
Dean d5ec8e6575 Merge pull request #11854 from ionut27001/fix/wf-videoout-outputstatus-hdr-flags-zero
fix(videoout): report output status flags 0 with HDR output
2026-11-01 23:35:45 +13:00
xXPBSXxandClaude Opus 5.5 b179e53c8d docs(debt): say that titles pass zeros to the VRR peg call
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 10:20:29 +01:00
MarcZX10 fd07d1c8d8 docs(libSceVideoOut): record the SDL text editing limits of the IME forwarder 2026-11-01 00:29:12 +00:00
MarcZX10 773ceee535 docs(debt): record the untested interaction with the DualSense haptics path 2026-11-01 00:04:38 +01:00
MarcZX10 fc64a6f872 docs(debt): record that the identification pulse has no on-request trigger 2026-11-01 00:04:38 +01:00
MarcZX10 f3cf65d9ad docs(debt): record the unmeasured identification pulse timing and strength 2026-11-01 00:04:38 +01:00
Adrià 3197f0ad06 Merge pull request #13705 from MarcZX10/fix/pad-port0-connected-state
feat(libScePad): report port 0 as connected only while its controller is present, opt-in with ANYPS5_PAD_PORT0_STATE
2026-10-31 20:50:35 +01:00
Kyon b0d9058d42 feat(libSceVideoOut): declare configuration mode export 2026-10-30 21:05:16 +00:00
Kyon 9aa490f583 feat(libSceVideoOut): declare older callable exports 2026-10-30 20:21:35 +00:00
JJenkxandClaude Opus 5.5 9614f3a030 docs(debt): record the PS4 Pro result for sceVideoOutSetFlipRate
ntamas94 measured sceVideoOutSetFlipRate on a PS4 Pro (firmware
10.71): rate 60 returns VIDEO_OUT_ERROR_INVALID_VALUE, only 0, 1 and
2 are accepted, an unopened handle returns
VIDEO_OUT_ERROR_INVALID_HANDLE, and the range check is in the display
driver the call forwards to. Record it in the entry; the PS5 result
and the effect on queued flips stay unverified.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 16:11:51 -04:00
MarcZX10 be824022ad docs(debt): record the hold and the keyboard rule as AnyPS5 choices
The 500 ms hold and the rule that keyboard and mouse need a bound controller
in controller mode are AnyPS5 choices; the console's reaction to a removed
pad is not measured.
2026-10-30 14:03:58 +00:00
Adrià 63970eded4 Merge pull request #13123 from kyon-eth/feat/video-out-320-exports
feat(libSceVideoOut): declare 182 callable exports
2026-10-30 12:46:18 +01:00
Adrià 65df5a3630 Merge pull request #13008 from relativespace2K/feat/videoout-cursor-set2x-magnify
feat(libSceVideoOut): export sceVideoOutCursorSet2xMagnify
2026-10-30 10:42:00 +01:00
Adrià 7d4006607a Merge pull request #11196 from p3n1cillin/claude/videoout-unregister-busy
fix(libSceVideoOut): refuse to unregister the buffer set on screen as the console does
2026-10-30 06:21:30 +01:00
Kyon 9c74b6d890 docs(libSceVideoOut): clarify image provenance 2026-10-30 02:57:56 +00:00
Kyon 28e6ef73d2 docs(libSceVideoOut): record export identities 2026-10-30 02:46:36 +00:00
Kyon a19a8b5501 refactor(libSceVideoOut): exclude overlapping export 2026-10-30 02:46:03 +00:00
Kyon d1c779a8a3 refactor(libSceVideoOut): defer mismatched identity 2026-10-30 02:45:33 +00:00
Kyon a5c690355b Merge remote-tracking branch 'origin/main' into feat/video-out-320-exports 2026-10-30 02:43:38 +00:00
Adrià 086adee5e3 Merge pull request #12379 from MarcZX10/feat/msgdialog-overlay
feat(overlay): show PS5 system dialogs as real PC dialogs
2026-10-30 02:04:23 +01:00
ThomasandClaude Opus 5.5 3f7f79adce docs(libSceVideoOut): record the unmeasured delete result on ports that are not open
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 00:31:11 +01:00
mrph28 6a2c3e7d99 feat(libSceVideoOut): export sceVideoOutCursorSet2xMagnify
PC5 (PPSA11018) imports the NID and the library did not export it, so the converted executable stopped at load with error 127. The call validates the handle and index like the other cursor calls and returns 0: no cursor image is drawn, so the magnification has no observable effect. The unmeasured behaviour is recorded under Silent stubs.
2026-10-29 17:54:07 -03:00
Kyon 38715d5610 feat(libSceVideoOut): declare 184 callable exports 2026-10-29 18:15:41 +00:00
xXPBSXxandClaude Opus 5.5 b03fa1a977 docs(debt): name what the emulators do when a video bus is opened twice
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 15:29:17 +01:00
MarcZX10 eb3c77d921 docs(libSceVideoOut): record the bound on a dialog that no flip draws
The entry said a title that stops flipping never gets an answer. A dialog that
was never drawn is now dropped after three seconds with the automatic answer;
the bound is a host choice.
2026-10-29 14:06:18 +00:00
MarcZX10 faa571d15e docs(libSceVideoOut): record when the overlay dialog is drawn and who gets the input
The dialog needs a window and a title that keeps flipping, the IME keyboard has
priority over it, and the title's input is withheld while it is shown.
2026-10-29 14:06:16 +00:00
MarcZX10 c6aaf7f1b4 docs(libSceVideoOut): record the unmeasured inputs of the overlay dialog
The key, mouse and pad inputs that drive the message dialog are a host choice.
The mouse has no hit test, and Cross confirms whatever the confirm-button
setting of the console.
2026-10-29 14:06:14 +00:00
Dean ca6987de8a Merge pull request #11414 from p3n1cillin/claude/videoout-register-past-last-buffer
fix(libSceVideoOut): return INVALID_VALUE for a registration past the last buffer as the console does
2026-10-30 03:00:15 +13:00
JJenkxandClaude Opus 5.5 cce7637550 docs(debt): say when sceVideoOutSetFlipRate's pacing starts and applies
The first flip after the port opens has no previous flip, and the rate
is read when a flip is submitted, so queued flips keep their rate.
Whether the console applies a new rate to queued flips is unverified.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 08:47:36 -04:00
JJenkxandClaude Opus 5.5 73bdba539d docs(debt): list sceVideoOutSetFlipRate under unknown function info
The entry sat under Silent stubs, but the function is implemented: the
rate it stores sets how many vblanks each flip waits for. What remains
open is whether the console accepts the rate 60 that PPSA13356 passes,
which is unknown function info.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 08:47:30 -04:00
p3nicillinandClaude Opus 5.5 ecadb6068a fix(libSceVideoOut): refuse the on-screen unregister on the main bus only
EVO Player and Prospero Win measured RESOURCE_BUSY on ports opened on
bus type 0. The overlay bus is unmeasured, so its on-screen set is
still released as before, which video_out_flip_overlay relies on.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 12:18:02 +00:00
p3nicillinandClaude Opus 5.5 5768bc971f fix(libSceVideoOut): refuse to unregister the buffer set on screen
The console answers RESOURCE_BUSY (0x80290009) when the set holding
the buffer on screen is unregistered, and the set stays registered:
EVO Player measured it with a re-registration then failing
SLOT_OCCUPIED, and Prospero Win on firmware 12.02 after its flips went
idle. The set was released and 0 returned instead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 12:18:02 +00:00
Adrià b9246db364 Merge pull request #11853 from ionut27001/fix/wf-videoout-flipmaster-measured-codes
fix(libSceVideoOut): answer the flip-master calls as measured on a PS5
2026-10-29 12:57:56 +01:00
Dean 46a49a1978 Merge pull request #11502 from milescoviello/docs/videoout-vblank-status-readers
docs(libSceVideoOut): note that four titles never read the vblank status's third word
2026-10-29 12:04:35 +13:00
p3nicillinandClaude Opus 5.5 a8661988e4 fix(libSceVideoOut): return SLOT_OCCUPIED for a registration over registered buffers
The console answers sceVideoOutRegisterBuffers2 with SLOT_OCCUPIED
(0x80290010) when the buffer slots are still registered: EVO Player
measured it re-registering set 0 while that set stayed on screen. The
call threw INVALID_INDEX instead. The PS4 call and an occupied set over
free slots keep throwing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 13:48:22 +00:00
p3nicillinandClaude Opus 5.5 cce9311f34 fix(libSceVideoOut): answer 0 and UNAVAILABLE_OUTPUT_MODE when the output has no 120 Hz
PS5_Vulkan measured on a base PS5 set to 1080p output that
sceVideoOutIsOutputSupported(15) answers 0, neither 1 nor an error, and
that sceVideoOutConfigureOutput(15) then returns 0x80290019, in a title
declaring high-frame-rate output. A host display below 120 Hz answered
0x80290016 to both instead. Titles that branch on the answer being 1
are unchanged; the undeclared-title answer stays 0x80290016.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 13:48:19 +00:00
p3nicillinandClaude Opus 5.5 60c8b94725 test(libSceVideoOut): move the past-last-buffer check away from the slot check
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 13:48:16 +00:00
p3nicillinandClaude Opus 5.5 338ea713f2 fix(libSceVideoOut): return INVALID_VALUE for a registration past the last buffer
PS5_Vulkan measured on a PS5 (firmware 13.40) that
sceVideoOutRegisterBuffers2 refuses a set at buffers 15 to 19 with
0x80290001. The call threw instead. The other out-of-range arguments
keep throwing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 13:48:15 +00:00
Adrià e21640c216 Merge pull request #11933 from milescoviello/docs/videoout-open-param-titles
docs(libSceVideoOut): note which open params ten titles pass to sceVideoOutOpen
2026-10-28 14:46:55 +01:00