Henrik Rydgård
5402579a44
sceSas: correct the reverb presets
...
The reverb presets came from nocash's PS1 table. Six of the nine are
identical on the PSP, but three are not.
Also correct our linear interpolation expression: we were close but
our formula can produce an off by 1 at times.
2026-09-09 10:48:53 -06:00
Henrik Rydgård
90d8be9348
sceSasSetGrain/SasReverb: validate grain size and reverb preset index
...
sceSasSetGrain took no validation at all, unlike sceSasInit's grain
size check - a bad value could both throw on SasInstance::SetGrainSize's
allocation and, for a moderately large but successfully-allocated
value beyond PSP_SAS_MAX_GRAIN, read out of bounds of the fixed-size
mixTemp_ buffer during mixing. Apply the same bounds sceSasInit uses.
SasReverb::SetPreset() only checked the upper bound of `preset` before
indexing presets[], not the lower bound (-1 means "off"). The only
live HLE entry point (sceSasRevType) already clamps to [-1, 8], but
DoState() passes a savestate-deserialized value straight through with
no revalidation, so a corrupted/malicious savestate could index
presets[] negatively.
2026-08-12 09:43:23 +02:00
Henrik Rydgård
0596ee97f6
More memory access cleanup
2026-08-11 20:14:01 +02:00
Henrik Rydgård
3c81d6b121
More manual Read_U32 cleanup
...
Buildfix
2026-08-11 10:28:36 +02:00
Henrik Rydgård
bdd72c08f3
Fix dirtying caused by clip flag state. This could probably be a bit smarter.
2026-05-30 21:47:21 +02:00
Henrik Rydgård
a721a0b6dd
Minor refactor
2025-06-16 18:29:38 +02:00
Henrik Rydgård
3ccbebb27a
SasAudio: Don't reset the decoder on SetVoice if all params are the same
...
Should fix #20507
2025-06-12 13:07:17 +02:00
Henrik Rydgård
9bb00ca87d
Minor cleanup in sceSas
2025-04-30 15:53:55 +02:00
Henrik Rydgård
3c4566717c
Add muting flag to sceSasAudio as well.
2025-04-12 11:35:55 +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
4e25f44eef
Rename some module-related functions to include HLE where appropriate
2025-03-31 11:17:50 +02:00
Henrik Rydgård
96ca0e95f3
Cleanup logging
2025-03-25 22:01:33 +01:00
Henrik Rydgård
5ea7729f66
More work on atrac-through-sas
2025-03-25 22:01:33 +01:00
Henrik Rydgård
1bd5cffa1d
Initial work on re-implementing atrac-through-sas
2025-03-25 22:01:30 +01:00
Henrik Rydgård
4b123a2e09
Move the sceSas error codes into the big enum
2025-03-25 12:04:33 +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
4325ec945b
Add new sas integration unit test
2025-03-19 12:14:29 +01:00
Henrik Rydgård
ad2791a9cf
More HLE logging cleanup
2025-03-05 17:02:46 +01:00
Henrik Rydgård
47ef0e9b6e
More logging refactoring
2025-03-05 17:02:46 +01:00
Henrik Rydgård
34308a326c
Add basic sceSas state viewer to debugger
2025-02-19 10:50:32 -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
e8be4bbaae
Improve code generation for HLE debug logging
...
Should shrink code size a bit, not expecting much performance change.
This avoids emitting a DoLog call when MAX_LOGLEVEL excludes the log statement,
just like for regular logs.
2025-01-28 17:04:20 +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
61af237f98
Check v.on for whether to trigger v.playing, like before.
2023-09-06 15:46:07 +02:00
Henrik Rydgård
8b32a1e5e2
Remove the weird ChangedParams thing entirely and do the straightforward thing
2023-09-06 14:52:57 +02:00
Henrik Rydgård
1ee4c63bba
Logging: __sceCore isn't very interesting, log as verbose
2023-09-06 11:25:19 +02:00
Henrik Rydgård
3b6989bff7
Hook up progress bar, minor fixes
2023-06-26 10:01:41 +02:00
Unknown W. Brackets
92585403c4
Sas: Make ADSR fields private.
2023-01-14 16:55:40 -08:00
Henrik Rydgård
f4a6d291e1
Common: Capitalize setCurrentThreadName().
2021-04-30 23:02:36 -07:00
Henrik Rydgård
93fd62f54b
Merge pull request #13832 from unknownbrackets/events
...
SaveState: Make event restoring more obvious
2021-02-15 23:39:42 +01:00
Unknown W. Brackets
c99de6409d
Sas: Minor clenaup.
2021-02-06 18:37:05 -08:00
Unknown W. Brackets
06f8ab5a49
SaveState: Make event restoring more obvious.
...
We still must restore all events, but everything can be taken care of
during the save state load.
2020-12-28 13:29:19 -08:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Henrik Rydgård
15382d5f94
Move threading utils from native to Common
2020-10-01 09:27:25 +02:00
Henrik Rydgård
3162f30158
Merge base/basictypes.h into Common/Common.h (mostly).
2020-09-29 15:51:51 +02:00
Unknown W. Brackets
b8342fb8ec
SaveState: Rename ChunkFile files to Serialize.
...
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
4b4e3432cd
SaveState: Split Do() into a separate header.
2020-08-10 08:03:41 +00:00
Henrik Rydgård
2eaa1db046
Vulkan: Track down another one of those minor resource leaks.
...
Also no need to zero, queue for delete does it already.
2020-03-09 00:48:00 +01:00
Henrik Rydgård
4f1e0de9a9
Add missing includes. Remove some more unnecessary #ifdef _DEBUG checks - the debugger is supposed to work in release mode too.
2017-12-20 11:24:05 +01:00
Henrik Rydgard
26a2d42731
Big mutex overhaul - remove our custom ones, make them non-recursive where possible
2017-02-28 11:40:29 +01:00
Henrik Rydgard
50be4e72b2
Get rid of our own silly reimplementation of std::thread
2017-02-27 20:51:36 +01:00
Florent Castelli
e0ff68b3f6
c++11: Remove compat header base/functional.h
...
We want a proper C++11, not tr1. We don't target those compilers anyway.
2016-10-12 11:32:45 +02:00
Unknown W. Brackets
666f1898c6
Fix crash loading old savestates.
...
Oops. Forgot that this could be saved as -1 when loading an old
savestate, and then resaving it.
Fixes #8531 .
2016-01-30 21:39:25 -08:00
Unknown W. Brackets
f759a2a3fd
Sas: Sync result when mix calling thread returns.
2015-11-25 18:44:43 -08:00
Unknown W. Brackets
546590106f
Sas: Fail to mix when dispatch disabled.
2015-11-25 18:44:42 -08:00
Unknown W. Brackets
23441d12fb
Sas: Estimate time taken for mixing.
...
Tests seem to show it's not affected by mhz.
2015-11-25 18:44:34 -08:00
Unknown W. Brackets
5a6c8b513c
Sas: Drain thread before reading/writing SAS state.
...
This should be the safest option, but I'm pretty sure some operations give
a BUSY operation or have different behavior, actually.
2015-11-25 18:44:32 -08:00
Unknown W. Brackets
fc8acc781e
Sas: Add config for SAS thread.
2015-11-25 18:44:31 -08:00
Unknown W. Brackets
0394319e89
Sas: Drain thread on savestate.
2015-11-25 18:44:30 -08:00
Unknown W. Brackets
6290ac6cbd
Sas: Process SAS on a separate thread.
...
Remaining issues:
* Need a config setting.
* Locking for voices / config?
* Locking for atrac interop?
2015-11-25 18:44:30 -08:00