Commit Graph

173 Commits

Author SHA1 Message Date
Henrik Rydgård 5f7a937466 Rename ValidSize to ClampValidSizeAt 2025-12-30 20:31:07 +01:00
Nemoumbra c9c74f751c Fixed an out-of-range access crash 2025-08-11 01:15:44 +03:00
Henrik Rydgård 266a6a33be Add workaround for scePsmf LLE not working with Dragon's Lair 2025-06-07 15:05:33 +02:00
Henrik Rydgård 3d8233b7f8 Some sceAudiocodec MP3 work. Not yet working in Beats (trying to DisableHLE of sceMp3). 2025-04-07 10:27:53 +02:00
Henrik Rydgård a870c2155d Always load sceCcc if possible (disable HLE). PRX dumping fix. 2025-04-06 23:34:16 +02:00
Henrik Rydgård b52e7913eb Add disable HLE flag for sceCcc (character conversion library). 2025-04-06 23:34:16 +02:00
Henrik Rydgård 740f885277 Add an escape route from DisableHLE for headless (testing).
May later be turned into developer settings, too.
2025-04-03 21:13:39 +02:00
Henrik Rydgård 96275ec844 Disable HLE of scePsmf and scePsmfPlayer
Testing has shown that this seems to work great and fixes issues. These
two modules are just a parser and a shim over sceMpeg, and we're better
off running the original code, instead of re-implementing it.

sceMpeg still needs accuracy improvements though, and it's built on some
pretty low level components so it will be harder to peel off the next
level of the HLE onion.

Se #20200.
2025-04-03 20:24:03 +02:00
Henrik Rydgård a31d7dc0b3 Add mechanism to "graduate" DisableHLE flags to be permanently on. Will be used soon. 2025-04-03 20:04:42 +02:00
Henrik Rydgård e961c1ed96 Add support for compat flags that control DisableHLE 2025-04-03 20:04:04 +02:00
Henrik Rydgård 62cd4bbefc Minor cleanups and fixes. sceJpeg will not work without HLE, so removed from disable-list. 2025-04-03 18:16:10 +02:00
Henrik Rydgård 343ca2600a Add a developer setting to disable individual HLE modules, allowing them to be loaded properly.
Some games survive with a loaded sceAtrac, and start talking to
sceAudioCodec instead, the underlying library, though unsuccessfully
since it's not properly implemented yet.
2025-04-02 10:19:24 +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 0ecd72416b Reduce overhead of logging further. 2025-03-25 23:09:11 +01:00
Henrik Rydgård 0f840e6240 Move JPEG error codes to the big enum, some include cleanup 2025-03-21 20:44:46 +01:00
Henrik Rydgård 82728652d8 Move Font and Psmf error codes to the big enum 2025-03-21 20:44:46 +01:00
Henrik Rydgård 31cf5771f4 Turn the break reason into an enum, fix some minor issues 2025-02-19 16:01:11 -06:00
Henrik Rydgård d39655ff17 Second attempt at fixing #19935
Fixes #19935. Forgot to update the formatting for the reporting case.

I'll clean this up in a more general way later, I don't like how this code currently looks.
2025-02-02 20:21:17 -06:00
Henrik Rydgård e53fd10edd Format string fix in hleDoLogInternal
Hopefully fixes #19935, but can't confirm myself right now.
2025-02-02 11:46:08 -06:00
Henrik Rydgård b763cb3f03 Make the auto error logging 32-bit compatible, oops. 2025-01-29 11:08:55 +01:00
Henrik Rydgård b4f0e3dd5c HLE logging: Automatically log SCE_KERNEL_ERRORs as strings for functions returning 'i' and 'x' types. 2025-01-29 10:47:18 +01:00
Henrik Rydgård 2af7a047d2 HLE logging; Use function metadata to decide the type for logging the return type. 2025-01-29 10:14:54 +01:00
Henrik Rydgård 7db68d50bb More hleLog* 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 0f5d9fe753 Paper over the problems of the hlecall stack 2025-01-27 14:13:31 +01:00
Henrik Rydgård 5abb1be440 Some more logging cleanup 2025-01-21 17:33:59 +01:00
Henrik Rydgård 33fbc17e2c Disable the function stacksize sanity checks. 2025-01-20 12:20:21 +01:00
Henrik Rydgård 16dcb9ee8a And more 2025-01-20 12:20:21 +01:00
Henrik Rydgård 2b5b2a8fa5 Add a "pedantic" self-check mode, improve logging some more. 2025-01-20 12:20:21 +01:00
Henrik Rydgård e24317b20b A lot more logging 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 86fcdeeb25 string-view-ify stuff 2025-01-20 12:19:14 +01:00
Henrik Rydgård 6732d54742 Set up the basics. 2025-01-20 12:19:14 +01:00
Henrik Rydgård 31c1506a57 Some logging improvements 2025-01-20 11:56:13 +01:00
Henrik Rydgård 3e198c53b2 More include cleanup 2024-12-18 13:57:26 +01:00
Henrik Rydgård a858032e46 Remove obsolete accounting for time spent stepping the GE (we no longer block) 2024-12-12 18:54:46 +01:00
Henrik Rydgård 5817f60346 Remove redundant code. Add "break after syscall" button, fix up 2024-12-10 22:43:31 +01:00
Henrik Rydgård 93baf22369 ImDebugger: Add frame-stepping and a "skim" button (single-steps while held down) 2024-12-08 15:12:13 +01:00
Henrik Rydgård c25e6b3933 Add "Split syscall" mechanism 2024-12-05 00:05:39 +01:00
Henrik Rydgård 5d0316db6f Tune some log verbosity, remove timestamp on outputdebugstring logs 2024-12-03 22:11:01 +01:00
Henrik Rydgård 0776ee01a8 ImDebugger: Add initial HLE module explorer window` 2024-11-15 14:49:19 +01:00
Henrik Rydgård d3e9398cb3 Split Core_EnableStepping into Core_Break and Core_Resume 2024-11-03 17:53:42 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 1025bbcf89 Log level/type: Use enum class instead of the awkward namespace trick.
Just a small cleanup I've wanted to do for a long time.
2023-08-25 11:48:59 +02:00
Unknown W. Brackets f0d4267c5e HLE: Reset ll/sc link on any syscall.
This seems to happen from any syscall, which makes sense.
The bit isn't cleared on an sc, but a thread switch doesn't need to occur.
2023-07-29 17:57:56 -07:00
Henrik Rydgård 6945deec01 Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy 2023-04-28 21:04:05 +02:00
Unknown W. Brackets 1faa4031e6 HLE: Log longer string args.
Sometimes was hiding useful parts of filenames, etc.
2023-04-16 19:17:45 -07:00
Henrik Rydgård d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Unknown W. Brackets cc447aa868 HLE: Fix bad logging without latestSyscall. 2022-09-23 18:47:51 -07:00