Adrià
e67cc81869
Merge pull request #13926 from dr-hoseyn/feat/relinker-dry-run
...
feat(relinker): validate conversions without writing outputs
2026-11-01 11:50:43 +01:00
Adrià
e3642ec3fe
Merge pull request #13912 from LeandroLP23/feat/progress-weekly-activity
...
feat(tools): show library functions implemented per day and in the last week
2026-11-01 09:40:10 +01:00
MarcZX10
9f06873420
docs(usage): add the FPS LIMIT line to the overlay's detailed page
2026-11-01 01:49:57 +00:00
MarcZX10
9149a5a426
docs(usage): say how the frame limit meets flip pacing and the present modes
...
The limit only lowers the rate below the output's refresh, delays no title
that is already slower, does not burst after a stall, sleeps then spins,
handles window events between flips, can show uneven refresh counts under
fifo, and is a host choice.
2026-11-01 01:49:57 +00:00
MarcZX10
52522eabc3
docs(usage): document ANYPS5_FPS_LIMIT
...
States the accepted range, that the title's flip completes at the limited
rate and that the title is not told, that 0, empty and unset mean no limit,
and that any other value stops the game at its first flip with an error that
names the variable.
2026-11-01 01:49:57 +00:00
MarcZX10
c1a477bfad
docs(user): point the vibration section of INPUT_MAPPING at the identification pulse
2026-11-01 00:04:38 +01:00
MarcZX10
3d4260ea80
docs(user): describe the controller identification pulse in USAGE
...
Adds the ANYPS5_PAD_IDENTIFY section after the vibration strength
section: the modes, the pattern per player, the quiet window, what
happens when the game rumbles, the ANYPS5_RUMBLE scale, the no-rumble
and keyboard cases, the invalid-value error, and that the pulses are a
host-side choice that has not been measured on hardware.
2026-11-01 00:04:38 +01:00
Adrià
0836dfdf4f
Merge pull request #13701 from MarcZX10/feat/psn-unavailable-dialogs
...
feat(libSceIme): show a notice when PSN-only system dialogs open
2026-10-31 21:05:21 +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
dr-hoseyn
b2343e91ec
feat(relinker): add conversion dry runs
2026-10-31 16:29:20 +03:30
LeandroLP23 and Claude Opus 5.5
b799c1bfe3
feat(tools): show library functions implemented per day and in the last week
...
The libraries badge divides implemented by declared functions, so it drops
whenever a pull request declares many throwing exports at once, even while
implementations land daily. The history page now draws the daily change in
implemented functions, and a new badge-week.svg reports the gain over the
last 7 days, linked from the README status row.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-31 13:32:08 +01:00
Adrià
4a9b259564
Merge pull request #13622 from MarcZX10/feat/host-free-space
...
feat(libSceSaveData.native): report the host volume's room to save mounts, opt-in with ANYPS5_FREE_SPACE
2026-10-31 11:03:16 +01:00
MarcZX10
441a3eaef9
Merge remote-tracking branch 'upstream/main' into fix/pad-port0-connected-state
2026-10-31 06:53:56 +00:00
Adrià
2121f2a4c5
Merge pull request #13593 from MarcZX10/docs/user-2
...
docs(readme): unsupported states throw a C++ exception, usually runtime_error
2026-10-31 07:30:39 +01:00
Adrià
3d1330179a
Merge pull request #13586 from MarcZX10/docs/user-1
...
docs(usage): document APS5_OUTPUT_RESOLUTION and three undocumented switches
2026-10-31 05:59:47 +01:00
MarcZX10
5b7ba8484a
Merge remote-tracking branch 'upstream/main' into feat/host-free-space
...
# Conflicts:
# core/libs/prx/libSceSaveData.native/Export.cpp
2026-10-31 00:26:47 +00:00
MarcZX10
7c6e12bd6f
docs: say that an empty ANYPS5_FREE_SPACE is unset on Windows
2026-10-30 23:49:25 +00:00
MarcZX10
bad2156d2c
docs(user): state when an invalid ANYPS5_FREE_SPACE stops the title
2026-10-30 23:49:17 +00:00
MarcZX10
68a4689e62
Merge remote-tracking branch 'upstream/main' into fix/pad-port0-connected-state
2026-10-30 23:46:32 +00:00
Adrià
93f5331fd7
Merge pull request #13463 from notHaze/feat/configurable-mouse-stick
...
feat(input): add configurable mouse stick target
2026-10-30 22:50:29 +01:00
MarcZX10
7fd8859608
docs(USAGE): describe the PSN dialog notice
...
Add a section on ANYPS5_PSN_DIALOGS: which dialogs finish silently without
PlayStation Network, what show displays, how the notice takes input and how
often it appears, and what the other values do.
2026-10-30 18:49:59 +00:00
MarcZX10
731ce62e45
docs(user): explain ANYPS5_FREE_SPACE for save data
2026-10-30 18:48:57 +00:00
Adrià
d09e7a46e9
fix(libScePad): resolve the merge with ShowPadStatus in the volume actions
2026-10-30 16:29:56 +01:00
MarcZX10
1b6f64dac9
docs(usage): describe the host volume, mute and focus mute
...
States that it is a host control and not a console behaviour, the steps and the curve, the bypass at the default, what is and is not covered, the stderr feedback, and the two variables.
2026-10-30 16:29:55 +01:00
MarcZX10
6a7f01c6ec
docs(input): say that hotkeys stay out of the pad and that shared keys trigger both
...
The configuration file does not reject a key bound to two actions, so the volume hotkeys follow the rule of the existing ones.
2026-10-30 16:29:55 +01:00
MarcZX10
0f216bfc97
docs(input): add the volume and mute keys to the default bindings table
...
F5, F6 and F8 are used by no other default binding.
2026-10-30 16:29:55 +01:00
MarcZX10
b640ca66a3
docs(input): name the volume and mute actions
...
VolumeDown, VolumeUp and ToggleMute join the supported actions with their default keys and the keyboard-only rule.
2026-10-30 16:29:55 +01:00
Florent Combet
26d36e9645
feat(input): add configurable mouse stick target
2026-10-30 15:41:51 +01:00
MarcZX10
093761c2ec
docs(readme): unsupported states throw a C++ exception, usually runtime_error (zh-CN)
...
Old claim: "Unsupported or unexpected states strictly throw std::runtime_error.
what() is printed to stderr and the process terminates."
What the code does: the code throws several exception types, not only
std::runtime_error. For example the input mapping throws std::invalid_argument
for a stick deadzone out of range, and an unimplemented export throws
std::runtime_error. An exception that nothing catches reaches the libc
terminate handler, which prints the exception's what() and aborts.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/InputMapping.cpp#L272
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1020
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1022
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/exception/Runtime.cpp#L76
2026-10-30 14:10:30 +00:00
MarcZX10
01a228e9d0
docs(readme): unsupported states throw a C++ exception, usually runtime_error (ru)
...
Old claim: "Unsupported or unexpected states strictly throw std::runtime_error.
what() is printed to stderr and the process terminates."
What the code does: the code throws several exception types, not only
std::runtime_error. For example the input mapping throws std::invalid_argument
for a stick deadzone out of range, and an unimplemented export throws
std::runtime_error. An exception that nothing catches reaches the libc
terminate handler, which prints the exception's what() and aborts.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/InputMapping.cpp#L272
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1020
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1022
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/exception/Runtime.cpp#L76
2026-10-30 14:10:30 +00:00
MarcZX10
69ca5e661f
docs(readme): unsupported states throw a C++ exception, usually runtime_error (pt-BR)
...
Old claim: "Unsupported or unexpected states strictly throw std::runtime_error.
what() is printed to stderr and the process terminates."
What the code does: the code throws several exception types, not only
std::runtime_error. For example the input mapping throws std::invalid_argument
for a stick deadzone out of range, and an unimplemented export throws
std::runtime_error. An exception that nothing catches reaches the libc
terminate handler, which prints the exception's what() and aborts.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/InputMapping.cpp#L272
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1020
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1022
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/exception/Runtime.cpp#L76
2026-10-30 14:10:28 +00:00
MarcZX10
686c2f8aab
docs(readme): unsupported states throw a C++ exception, usually runtime_error (es)
...
Old claim: "Unsupported or unexpected states strictly throw std::runtime_error.
what() is printed to stderr and the process terminates."
What the code does: the code throws several exception types, not only
std::runtime_error. For example the input mapping throws std::invalid_argument
for a stick deadzone out of range, and an unimplemented export throws
std::runtime_error. An exception that nothing catches reaches the libc
terminate handler, which prints the exception's what() and aborts.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/InputMapping.cpp#L272
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1020
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/General.cpp#L1022
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libc/src/exception/Runtime.cpp#L76
2026-10-30 14:10:27 +00:00
MarcZX10
ad071aa08f
docs(usage): document APS5_NO_WGI for Windows controllers
...
Old claim: none; the variable was not documented in USAGE.md.
What the code does: in the VideoOutDriver constructor, on Windows only, the
DirectInput hint is always set to "0" and, when APS5_NO_WGI is present (an
empty value counts), SDL_HINT_JOYSTICK_WGI is set to "0" as well. Other
platforms do not read the variable.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/VideoOutDriver.cpp#L303
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/VideoOutDriver.cpp#L307
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/VideoOutDriver.cpp#L308
2026-10-30 14:09:30 +00:00
MarcZX10
b6655a0650
docs(usage): document APS5_NO_PAD_INPUT, which ignores keyboard and mouse
...
Old claim: none; the variable was not documented in USAGE.md.
What the code does: PadInput reads the variable (presence only, so an
empty value counts) and returns before any keyboard or mouse event is
handled. Keyboard and mouse bindings, the mouse stick and the window requests
(F11 fullscreen, F12 screenshot, F10 overlay) are all taken after that return,
so they stop too. Controller input and APS5_PAD_INPUT_FILE commands are not
on this path.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/PadInput.cpp#L318
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/PadInput.cpp#L321
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/PadInput.cpp#L326
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/PadInput.cpp#L328
2026-10-30 14:09:28 +00:00
MarcZX10
58b18a971e
docs(usage): document ANYPS5_DISPLAY_INDEX for the window's display
...
Old claim: none; the variable was not documented in USAGE.md.
What the code does: initialDisplayIndex() returns 0 when the variable is
unset and otherwise parses it with strtol; the value must be the index of a
connected display (SDL_GetNumVideoDisplays()), and an empty value fails the
same check. The window is created with SDL_WINDOWPOS_CENTERED_DISPLAY of that
index. The error is "DisplayWindow: ANYPS5_DISPLAY_INDEX is not a connected
display index".
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/DisplayWindow.cpp#L28
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/DisplayWindow.cpp#L79
2026-10-30 14:09:27 +00:00
MarcZX10
eeb8b8b50a
docs(usage): APS5_OUTPUT_RESOLUTION is the only host resolution override
...
Old claim: "AnyPS5 does not currently provide a global render-resolution
override", and APS5_OUTPUT_RESOLUTION was not documented.
What the code does: when APS5_OUTPUT_RESOLUTION is set to <width>x<height>,
configuredResolution() maps it to the 1080p class (width below 3840 and
height below 2160) or the 2160p class, and GetDisplayResolution() returns that
instead of the class of the display's current mode. outputStatus() reports
that value as the resolution of the video output status. An empty value is
unset; any other value that is not two positive integers joined by x or X
throws an error that names the variable.
Permalinks at b1b5353cfc :
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/VideoOutDriver.cpp#L54
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/VideoOutDriver.cpp#L526
https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceVideoOut/src/Output.cpp#L24
2026-10-30 14:09:27 +00:00
MarcZX10
bfc7bbea94
docs(input): say that keyboard and mouse need a controller in controller mode
...
Points from the input mapping page to the controller connection section for
the rule that keyboard and mouse input reaches Player 1 only while a
controller is bound there under ANYPS5_PAD_PORT0_STATE=controller.
2026-10-30 14:03:09 +00:00
MarcZX10
fbbbeae15e
docs(usage): describe ANYPS5_PAD_PORT0_STATE and the controller connection
...
Adds a section on the default behaviour, the controller mode and its 500 ms
hold, the rule for keyboard and mouse, the values accepted, and that only
port 0 and user 0 follow the controller.
2026-10-30 14:03:09 +00:00
Adrià
cc7b82ac6f
Merge pull request #12702 from MarcZX10/feat/overlay-pad-status
...
feat(overlay): show controller status on demand or on connect, disconnect and battery drop
2026-10-30 13:05:28 +01:00
Dean
dad4f21493
Merge pull request #13064 from milescoviello/fix/agc-reclaim-before-budget-host
...
fix(agc): release texture cache entries before a budget-full allocation goes to host memory
2026-10-30 22:19:50 +13:00
Adrià
a36ff7f47e
Merge pull request #12584 from Biologisten/fix/audio-pad-speaker-mute
...
feat(audio): add controller speaker fallback override
2026-10-30 07:12:28 +01:00
Adrià
e4f5516fd6
Merge pull request #12974 from MarcZX10/feat/host-game-mode
...
feat(libkernel): opt-in host game mode request (APS5_GAME_MODE)
2026-10-30 06:36:04 +01:00
MarcZX10
2aa11861b9
docs(input): warn that a key shared with ShowPadStatus triggers both
...
A key bound to two actions triggers both. Since F9 is the built-in key
of ShowPadStatus, someone who moved Screenshot, TogglePerformanceOverlay
or another action to F9 also gets the controller status panel on each
press, and should rebind ShowPadStatus; the web configurator already
warns about shared keys.
2026-10-30 05:55:09 +01:00
MarcZX10
9ae43837fe
docs(usage): state what runs while the pad status panel is hidden
...
The overlay section said the presentation does nothing for a hidden
panel. Each present and each video-out loop pass still takes a lock and
reads the clock to see whether the panel is wanted; with
ANYPS5_PAD_STATUS unset or 0 and no F9 press no controller state is
read, and the panel knows the controllers only from the first F9 press.
2026-10-30 05:55:09 +01:00
MarcZX10
9df2079a1a
docs(input): list the ShowPadStatus action and its F9 default
...
The supported-actions paragraph names ShowPadStatus, links the
controller status panel and adds it to the keyboard-only actions; the
default bindings table gets its F9 row.
2026-10-30 05:55:09 +01:00
MarcZX10
886277c54b
docs(usage): describe the controller status panel
...
The overlay section gains the panel: what a line shows (player slot,
controller type, SDL's battery class), that it is never permanent (4 s
after the last trigger), what triggers it (the ShowPadStatus key, and
with ANYPS5_PAD_STATUS=1 connects, disconnects, replacements and
battery drops), where it sits, that the system keyboard has priority,
and that battery readings depend on SDL, the operating system and the
controller.
2026-10-30 05:55:08 +01:00
Adrià
84e114e4eb
Merge pull request #12715 from MarcZX10/feat/log-to-file
...
feat(libc): copy the runtime log into a file with ANYPS5_LOG_FILE
2026-10-30 05:51:34 +01:00
Adrià
0c9c5db748
Merge pull request #12690 from MarcZX10/feat/host-system-report
...
feat(agc): host system report and an actionable missing-Vulkan-feature message
2026-10-30 02:52:18 +01:00
milescoviello and Claude Opus 5.5
e2c1c305ff
fix(agc): release texture cache entries before a budget-full allocation goes to host memory
...
DeviceMemoryType placed an image or device buffer in host memory up front
when VK_EXT_memory_budget showed the device-local heap without room, so the
texture-cache release that a driver refusal gets never ran. It now asks the
caches for the allocation plus the heap's overage first and keeps the
device-local type when they release that much, or when the budget read again
has room.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-30 00:05:44 +00:00
Adrià
7a225bb303
Merge pull request #12686 from MarcZX10/feat/pad-rumble-intensity
...
feat(libSceVideoOut): add ANYPS5_RUMBLE to scale or turn off host controller vibration
2026-10-29 23:46:17 +01:00