Commit Graph
455 Commits
Author SHA1 Message Date
Henrik Rydgård 11b4509158 Apply proper names to some more HLE functions 2026-08-24 17:37:39 +02:00
Henrik RydgårdandClaude Opus 5 9de3eb1244 Answer the UMD region check, which the VSH opens with an error without
sceIoDevctl 0x01E18030 asks whether the disc's region matches the console's.
Unusually it answers through the return value rather than an output buffer -
1 matches, 0 doesn't - so leaving it unimplemented read as a mismatch, and the
VSH opened on "This disc cannot be started. The region code is not correct.",
asking 12 times. PPSSPP has no region-locked discs; anything it can load is
something it should run, so this always matches. The call now happens once.

Behind it is a second thing, not fixed here: the VSH believes a disc is inserted
at all because nothing in PPSSPP models an empty drive. sceUmd reports
PSP_UMD_PRESENT | PSP_UMD_READY unconditionally, and devctl 0x01F20001 always
answers "game disc". JPCSP answers "no disc" when no ISO is loaded, which is why
it never reaches the region question. Giving those two a notion of "no disc"
would be the real fix - low risk for games, which always have one, but it is on a
path every game uses, so it is written up in docs/VSHBootInvestigation.md rather
than done as a drive-by.

With this the shell reaches the interactive XMB: the error is dismissable with
circle and the menu behind it works. The per-frame display list stops settling
into one repeated frame and alternates between 45 and 48 stall points, which is
the headless-visible sign of a live menu rather than a static dialog.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-24 11:13:00 +02:00
Henrik Rydgård a0ecf545a6 Implement or stub assorted functions the VSH is calling 2026-08-21 10:56:06 +02:00
Henrik Rydgård 9f90512ef6 Make instruction cache invalidation (for us, jit cache invalidation) clearer 2026-08-16 16:59:52 +02:00
Henrik Rydgård 95f1dc648d Simplification: Mount filesystems earlier in init, and don't remount on LoadExec
This is needed for an upcoming PR.
2026-08-12 23:38:48 +02:00
Henrik Rydgård c5e4d0d90d Rename the get-memory-pointer functions to make it clear where CPU exceptions can happen. 2026-08-12 14:06:16 +02:00
Henrik Rydgård e9a3449ede More MIPSState * plumbing (manual) 2026-08-12 14:02:19 +02:00
Henrik Rydgård 4d8a5d74e7 Merge pull request #22086 from hrydgard/read-u32-more
Some fixes to Claude's paranoia, more memory access function cleanup
2026-08-11 23:52:17 +02:00
Henrik Rydgård a44c2c0bde Replace System_SendDebugOutput with a registered callback
I normally try to avoid registrations when not needed, but in this case
only headless uses this, so it's motivated.
2026-08-11 22:36:47 +02:00
Henrik Rydgård 4cd10efe07 More memory access cleanup 2026-08-11 20:12:15 +02:00
Henrik Rydgård 3bd41376da More memory cleanup 2026-08-11 20:12:10 +02:00
Henrik Rydgård 138f02217c More memory access cleanup 2026-08-11 10:28:48 +02:00
Henrik Rydgård 16c7ec390f Headless: Start taking logic out of the "HeadlessHost"
Also update some agent files
2026-07-21 11:01:48 +02:00
Henrik Rydgård 811c4bc577 Remove the VblankListener callback mechanism, do direct calls instead
Should fix #21575
2026-04-28 16:27:12 +02:00
Henrik Rydgård 2e5de9435e Don't crash if sceIoDopen is called with a null path. 2026-03-09 00:19:36 +01:00
Henrik Rydgård dac2407a36 sceIo: Add support for microseconds in filetimes (not implemented in platforms yet) 2026-02-23 11:04:17 +01:00
Henrik Rydgård dad8df3860 More logspam reduction 2026-02-10 15:05:29 +01:00
Henrik Rydgård d6ebfed432 Fix some bugs and warnings from a pass of static analysis 2026-01-29 17:41:54 +01:00
Henrik Rydgård a591fbff38 Move two more error codes to the enum 2026-01-08 22:02:08 +01:00
Henrik Rydgård 5f7a937466 Rename ValidSize to ClampValidSizeAt 2025-12-30 20:31:07 +01:00
Henrik Rydgård f5a211884b Minor cleanups, comments
Comments and warnings
2025-12-30 20:31:06 +01:00
sum2012 0f33740721 Fix log channel 2025-11-09 07:25:38 +08:00
sum2012 5bc12edf05 Fix crash in npdrmLseek too
Both npdrmRead and npdrmLseek use  non-encrypted mode
2025-11-09 06:56:51 +08:00
sum2012 094b069b68 Avoid nullptr in npdrmRead 2025-11-09 01:43:42 +08:00
sum2012 f80e489638 Fix pgd_offset
By miniMax AI while debuging scemp4 .When PGD decryption failed for .edat files, the pgd_offset variable was not being reset to 0. This caused subsequent file reads to access the wrong file position
2025-11-06 22:17:35 +08:00
Henrik Rydgård 67010ff2af Split the display layout config between landscape and portrait orientations 2025-11-05 12:49:51 +01:00
Henrik Rydgård c29e370e29 Remove global state from kirk engine 2025-06-05 22:46:24 +02:00
Henrik Rydgård 31b64ae2e3 Don't alloc the iomanagerthread 2025-04-30 15:53:55 +02:00
Henrik Rydgård 52a7709fb5 Log cleanup. Fix very minor memory leak 2025-04-14 22:38:22 +02:00
Henrik Rydgård 9241d09c56 Show little indicators on achievements of the type (progression, missable, win) 2025-04-11 18:27:41 +02:00
Henrik Rydgård 6de3d47f6e Minor logging fixes 2025-04-09 11:58:31 +02:00
Henrik Rydgård b27a022e7c Remove two states from the CoreState enum. 2025-04-05 09:18:56 +02:00
Henrik Rydgård 4e25f44eef Rename some module-related functions to include HLE where appropriate 2025-03-31 11:17:50 +02:00
Henrik Rydgård cef14adf67 Assorted logging fixes and cleanup 2025-03-18 13:48:12 +01:00
Henrik Rydgård db715bcc9c stdout logging: Sanitize control characters 2025-03-05 11:24:44 +01:00
Henrik Rydgård 962bd8239d Remove more excessive error reporting. 2025-03-02 02:28:45 +01:00
Henrik Rydgård a18eb97be3 Consolidate more error codes into the big enum 2025-02-04 12:11:22 -06:00
Henrik Rydgård 28b2c7f540 HLE log rename part 1: Remove duplicate log functions. Return type should be determined by metadata. 2025-01-29 09:45:39 +01:00
Henrik Rydgård 3ce72f87d3 Another batch of log cleanup 2025-01-28 09:31:38 +01:00
Henrik Rydgård eb0102d781 Use more hleLog* functionality to simplify code. 2025-01-28 09:31:34 +01:00
Henrik Rydgård 3dc46666ff Fix logging problem in npdrm functions 2025-01-23 14:25:05 +01:00
Henrik Rydgård 5abb1be440 Some more logging cleanup 2025-01-21 17:33:59 +01:00
Henrik Rydgård 26547e2629 More fixes 2025-01-20 12:20:21 +01:00
Henrik Rydgård 7d2ad6980e Another batch of changes 2025-01-20 12:20:21 +01:00
Henrik Rydgård 2523690584 Flip around so sceDelayResult is always outermost. Start using HLECall. 2025-01-20 12:20:18 +01:00
Henrik Rydgård bb914ca4bf More kernel logging cleanup 2025-01-19 15:36:59 +01:00
Henrik Rydgård ff8b51e6b7 Some logging cleanup in kernel 2025-01-19 14:54:09 +01:00
Henrik Rydgård 4dd3621fa0 Remove some unnecessary <algorithm> includes. 2024-12-18 17:04:27 +01:00
Henrik Rydgård 821624c494 TextureReplacer: Remove a lock that I don't think should be there. Blacklist another folder. 2024-11-30 02:44:01 +01:00
Henrik Rydgård 826e70c131 Increase the hardcoded free space reported by sceIoDevctl to 1.5 GB
Should (mostly) take care of #19539
2024-10-28 10:47:32 +01:00