Commit Graph
46673 Commits
Author SHA1 Message Date
Henrik Rydgård ebfd1d755f Bump the tests, fixing the tls test and also the timezone conversion 2026-07-30 01:34:46 +02:00
Henrik Rydgård c7653e6b7f Improve sceReg and its tests 2026-07-30 00:26:10 +02:00
Henrik Rydgård e9a0e54e92 sceRtc: Deepseek's implementation of parsing various date formats 2026-07-29 23:41:29 +02:00
Henrik Rydgård c8093171a5 Use the new AI workflow to have DeepSeek figure out an ancient problem with mailbox tests 2026-07-29 23:04:44 +02:00
Henrik Rydgård 4ecbb8b580 Teach the AI to use pspautotests to fix bugs in PPSSPP (it refined its own instructions) 2026-07-29 22:37:21 +02:00
Henrik Rydgård 5dceea4251 Merge pull request #22000 from hrydgard/debugger-improvements
Turn off "Ignore bad memory accesses" in headless
2026-07-29 22:11:12 +02:00
Henrik Rydgård 2b509e4b1e Minor cleanups, revert change in sceKernelMbx 2026-07-29 20:30:17 +02:00
Henrik Rydgård d6b33ba58d test.py comments 2026-07-29 19:49:17 +02:00
Henrik Rydgård e0ddfc7109 Add --print-equal-lines option to headless, good for context when looking at output 2026-07-29 18:55:00 +02:00
Henrik Rydgård c99a303646 Fix behavior so we can turn off "IgnoreBadMemAccess" in headless 2026-07-29 18:38:25 +02:00
Henrik Rydgård cc57945280 Made the threads/mbx/refer/refer test not crash 2026-07-29 16:27:51 +02:00
Henrik Rydgård 54618c67c6 Headless improvements 2026-07-29 16:27:33 +02:00
Henrik Rydgård 35355d90e2 Merge pull request #21999 from hrydgard/vr-shader-fix
VR fixes
2026-07-29 15:47:13 +02:00
Henrik Rydgård baf200acec OpenXR: Improve mouse emulation, fix scrolling 2026-07-29 15:20:11 +02:00
Henrik Rydgård b46566adc2 Logging improvements 2026-07-29 14:42:24 +02:00
Henrik Rydgård 6bdaf7caee Fix null pointer access in InfraredHelper.java 2026-07-29 14:40:53 +02:00
Henrik Rydgård f8ccc78e31 OpenGL on Android: Don't try to detect version too early 2026-07-29 14:40:01 +02:00
Henrik Rydgård 08589f48ef Merge pull request #21998 from hrydgard/retroachievements-crashfix
RetroAchievements: Avoid crashing when drawing achievements without images
2026-07-29 00:03:30 +02:00
Henrik Rydgård 62938ceef7 RetroAchievements: Avoid crashing when drawing achievements without images (may be in development) 2026-07-28 23:19:00 +02:00
Henrik Rydgård 7b380415e0 Merge pull request #21995 from hrydgard/more-misc-stuff
More misc debugging stuff, more sceReg functions, etc
2026-07-28 09:05:16 +02:00
Henrik Rydgård d3c7279e9f Fix unnecessary RAIntegration error message if you have the DLL but RA is disabled 2026-07-28 00:16:12 +02:00
Henrik Rydgård 39c8cbbde1 Use the new kernel module description thing to annotate GPRs in the register viewer 2026-07-28 00:15:41 +02:00
Henrik Rydgård c0826cbb5d Add another dummy function in sceReg, AGENTS.md update 2026-07-27 23:51:17 +02:00
Henrik RydgårdandClaude Opus 5 9b577b5f46 Show module.section+offset next to addresses in exception/stack-trace logs
Added KernelModuleAddressDescription() (Core/HLE/sceKernelModule.cpp),
which looks up which currently loaded module (and text/data/bss/segment
section within it) an address falls in, e.g. "EBOOT.BIN.text+1234".
Wired it into:

- Core_MemoryException/Core_ExecException/Core_BreakException
  (Core/Core.cpp), appended next to every address/pc/ra shown in their
  log lines.
- FormatStackTrace (Core/MemFault.cpp), appended per-frame next to the
  existing symbol description.

This makes crash/exception logs actionable even when there's no symbol
at the faulting address - you at least get which module and section
it's in, useful for reverse engineering unfamiliar code.

Verified live via headless: injected a MIPS break instruction at the
current PC (through Tools/wsdbg) and confirmed the log line changed from
"break instruction hit at 088040ac" to "break instruction hit at 088040ac
[sceDisplayWaitVblank Test.text+ac]".

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XDNwPPuidmNxQGRJxBuRL6
2026-07-27 23:44:14 +02:00
Henrik Rydgård 878d2aeb0e Fix a bunch of possible crashes due to our VRAM check thinking that VRAM in kernel space is valid (but nothing is mapped there, unless you use masked memory) 2026-07-27 23:44:14 +02:00
Henrik Rydgård 02aedb598d Detect the main VSH module and log 2026-07-27 23:44:14 +02:00
Henrik Rydgård 606c233ee1 Claude's new sceReg functions 2026-07-27 23:44:06 +02:00
Henrik Rydgård 34454f9d03 Claude's crazy exception handler hack 2026-07-27 23:41:13 +02:00
Henrik Rydgård 16a38b090a Merge pull request #21991 from hrydgard/cmdline-parse-improvements
Command line parse improvements (some new arguments), RAIntegration fixes
2026-07-27 23:37:01 +02:00
Henrik Rydgård c14959b0b6 Buildfix/testfix 2026-07-27 21:33:14 +02:00
Henrik Rydgård f7c2eb7b4d Add Alpha adhoc server 2026-07-27 18:37:28 +02:00
Henrik Rydgård 9949c2bf49 RAIntegration / retroachievements: Improve memory range checks 2026-07-27 18:37:28 +02:00
Henrik Rydgård 456cfb0f5a RAIntegration crashfix 2026-07-27 18:37:28 +02:00
Henrik Rydgård e30b90e709 Quiet and improve some logs 2026-07-27 18:37:28 +02:00
Henrik Rydgård 5ef736f6a7 More command line improvements 2026-07-27 18:37:28 +02:00
Henrik Rydgård 3139d7ccfe Add command line parameters for controlling the behavior on memory/instruction exceptions 2026-07-27 18:37:26 +02:00
Henrik Rydgård 4bf36fc7f8 Add command line option --vsh to try to boot the VSH. Logspam reduction, improve printf logs. 2026-07-27 14:58:59 +02:00
Henrik Rydgård 5c1d113279 Warning fix in sceUsbCam 2026-07-27 14:58:59 +02:00
Henrik Rydgård d04c39db1d Bump pspautotests 2026-07-27 14:58:59 +02:00
Henrik Rydgård 28bbb7c5b0 Update the sceReg registry to include the CONFIG category 2026-07-27 14:58:39 +02:00
Henrik Rydgård 19be55253c Merge pull request #21986 from a-blondel/feature/fifa06-infra
Add FIFA06 to infra-dns.json
2026-07-27 12:19:43 +02:00
Henrik Rydgård 62ca15d5ea Merge pull request #21984 from hrydgard/websocket-cmdline
Document and improve the websocket debugger (AI code by Claude)
2026-07-27 11:15:45 +02:00
Henrik Rydgård 3eee14b02b Clean up the AI-generated documentation manually, AGENTS.md updates 2026-07-27 10:55:54 +02:00
Henrik RydgårdandClaude Opus 5 afe9b09278 Headless: make ApplyToConfig() the final authority over g_Config
Reordered main() to: g_Config.RestoreDefaults() -> headless's own hardcoded
overrides for deterministic test execution -> cmdLineOptions.ApplyToConfig()
-> CoreParameter setup -> launch. Previously ApplyToConfig() ran first and
got silently overwritten by both RestoreDefaults() and the hardcoded
overrides, so no command-line flag touching a g_Config setting actually took
effect for a real run (this is what required the "set iRemoteISOPort again"
workaround for --debugger=PORT, now removed).

The two hardcoded lines that used to read coreParameter.renderScaleFactor/
gpuCore now compute the same values directly from cmdLineOptions/glWorking/
gpuCore instead, since CoreParameter is no longer built yet at that point -
it's now constructed after ApplyToConfig(), which is what let those two
comments' "above"/"below" wording get corrected too.

Verified: --debugger=PORT still binds the exact requested port and pauses
the CPU, and a normal --compare test run (cpu_alu) still passes.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XDNwPPuidmNxQGRJxBuRL6
2026-07-27 10:44:36 +02:00
a-blondel fcf585d291 Add FIFA06 to infra-dns.json 2026-07-26 23:40:37 +02:00
Henrik Rydgård cf5b86082b Merge pull request #21985 from kreinholz/master
Fix build when USE_SYSTEM_MINIUPNPC cmake option is enabled.
2026-07-26 23:07:38 +02:00
Kevin Reinholz 20e747e594 Fix build with clang when not on a supported platform 2026-07-26 13:48:40 -07:00
Kevin Reinholz 615da42df3 Fix build when USE_SYSTEM_MINIUPNPC cmake option is enabled. Adding a compile definition for it in Core/CMakeLists.txt is not enough; rather than add a duplicate definition in UI/CMakeLists.txt so NativeApp.cpp's include of Core/Util/PortManager.h handles the conditional location of miniupnpc headers correctly, adding it once in the root CMakeLists.txt ensures both Core and UI handle it properly 2026-07-26 13:10:50 -07:00
Henrik RydgårdandClaude Opus 5 333ae20092 Update docs for the unified --debugger=PORT flag
Reflect the CmdLine.cpp unification and the headless net::Init() fix in
docs/WebSocketDebugger.md and AGENTS.md - previously these described the
app-only boolean --debugger flag and flagged headless as unreliable.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XDNwPPuidmNxQGRJxBuRL6
2026-07-26 21:52:48 +02:00
Henrik RydgårdandClaude Opus 5 7e5dca0309 Unify --debugger=PORT for both the app and headless builds
The headless build's own --debugger=PORT never actually worked on
Windows: headless/Headless.cpp never called net::Init() (WSAStartup),
so socket binding silently failed ("Unable to listen on any port
(debugger - webserver)"). Fixed by calling net::Init()/net::Shutdown()
there, gated on --debugger being passed since headless has no other use
for networking.

With that confirmed working, move parsing into the shared
Core/CmdLine.cpp auto-param table as a single --debugger=PORT option
(0 = pick automatically) available on both CmdLineMode::Application and
CmdLineMode::Headless, replacing the previous app-only boolean
--debugger flag and headless's separate ad hoc argv scan for it.

Behavior differs deliberately by build, same as before:
- App: just starts the debugger, game boots and runs normally.
- Headless: also forces coreParameter.startBreak = true (break before
  anything runs), as it always has. Headless re-applies iRemoteISOPort
  after its own g_Config.RestoreDefaults() call, which runs after
  ApplyToConfig() and would otherwise wipe the requested port.

Verified live: headless now binds the requested port and responds to
cpu.status/game.status; the app build binds the requested port and
runs the game normally (not paused).

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XDNwPPuidmNxQGRJxBuRL6
2026-07-26 21:49:37 +02:00