sharpemu/tests/SharpEmu.Libs.Tests
kuba b572738547
Pad: implement scePadGetTriggerEffectState under its own NID (#712)
NID znaWI0gpuo8 was mapped to sceUserServiceGetUserName as a "title-captured
alias". It is not that symbol. Recomputing the NID of every catalogued name
(base64 of the reversed first eight sha1 bytes of name+salt) resolves
znaWI0gpuo8 to scePadGetTriggerEffectState, and sceUserServiceGetUserName
hashes to 1xxcMiGu2fo instead. Auditing all 1087 export declarations the same
way found this to be the only NID whose declared name is wrong.

The consequence was not a missing export but a wrong one: the user-service
handler rejected the pad's arguments and returned
SCE_USER_SERVICE_ERROR_INVALID_PARAMETER about eighteen thousand times per
run in PPSA10112, so every poll fell back to a cached button bitmask. It
also hid the calls from every search for pad activity, which is why this
title was believed never to touch scePad at all.

The state size is taken from the caller's own frame rather than assumed: the
guest points the out-param at rbp-0x30 and stores its stack cookie at
rbp-0x28, leaving eight bytes for the state. Writing the sixteen the frame
superficially suggests would land on the cookie and fail the guest's stack
check - the same failure this codebase has already hit three times from
oversized HLE writes - so the test pins the size by asserting the cookie
survives.

No host pad exposes DualSense adaptive-trigger feedback, so the neutral
all-zero state is reported as success, which lets the caller take its normal
path instead of the fallback.
2026-07-31 12:09:24 +03:00
..
Agc fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
Ampr fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
Audio Sdl backend (#670) 2026-07-28 03:33:26 +03:00
AvPlayer Merge media decoding into one FFmpeg bridge (#706) 2026-07-31 01:31:14 +03:00
Cpu cpu: recover SSE4a EXTRQ/INSERTQ faults on Linux (#482) 2026-07-21 14:18:21 +03:00
Fiber test: add Fiber exports contract tests (13 tests) (#428) 2026-07-19 13:53:33 +03:00
Font [Font] Implement sceFontGetVerticalLayout (#492) 2026-07-21 18:18:16 +03:00
GUI [GUI] Update window chrome controls (#700) 2026-07-30 17:03:57 +03:00
HLE Prevent invalid SaveData writes from damaging guest memory (#444) 2026-07-19 20:27:17 +03:00
Json [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
Kernel Sdl backend (#670) 2026-07-28 03:33:26 +03:00
LibcInternal Add libc heap trace contract tests (#409) 2026-07-19 03:25:42 +03:00
Loader test: add Kernel/Loader unit tests (22 tests) (#373) 2026-07-18 20:19:55 +03:00
Logging Reject undefined numeric LogLevel values (#390) 2026-07-18 15:47:19 +03:00
Media Merge media decoding into one FFmpeg bridge (#706) 2026-07-31 01:31:14 +03:00
Memory fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
Network Fix sceNetHtonl/Htons/Ntohl/Ntohs discarding their converted result (#211) 2026-07-16 16:24:34 +03:00
Pad Pad: implement scePadGetTriggerEffectState under its own NID (#712) 2026-07-31 12:09:24 +03:00
PlayGo [PlayGo] Reject authoritative unknown chunk loci (#242) 2026-07-16 19:22:33 +03:00
Pthread Sdl backend (#670) 2026-07-28 03:33:26 +03:00
Random [HLE] Add RandomExports HLE (#413) 2026-07-18 23:44:57 +03:00
Remoteplay fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
Rtc Fix sceRtcConvertLocalTimeToUtc failing on non-UTC hosts (#210) 2026-07-16 00:04:35 +03:00
SaveData Prevent invalid SaveData writes from damaging guest memory (#444) 2026-07-19 20:27:17 +03:00
ShaderCompiler [ShaderCompiler] Fix VReadlane scalar destination field (#344) 2026-07-18 02:41:07 +03:00
SystemService unstub: preserve notice screen skip flag (#559) 2026-07-23 12:32:49 +03:00
Tls [AGC/Vulkan] Extend PS5 runtime and rendering compatibility (#216) 2026-07-16 02:02:34 +03:00
VideoOut Sdl backend (#670) 2026-07-28 03:33:26 +03:00
AerolibCatalogTests.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00
FakeCpuMemory.cs fix(gta): restore wiped GTA foundation and gameplay path (PPSA04264) (#650) 2026-07-27 01:58:55 +03:00
SaveDataStorageTests.cs Sdl backend (#670) 2026-07-28 03:33:26 +03:00
SharpEmu.Libs.Tests.csproj Gui Settings Null list Entries (#430) 2026-07-19 13:53:56 +03:00
Sse4aExtrqBlendPatchTests.cs [Gpu] Metal backend: complete IGuestGpuBackend implementation on AppKit + Metal (#283) 2026-07-18 20:32:00 +03:00
SysAbiRegistryTests.cs [SourceGenerators] Compile-time SysAbi export registry, analyzers, and build-generated aerolib.bin (#204) 2026-07-16 00:00:32 +03:00