Commit graph

193 commits

Author SHA1 Message Date
Henrik Rydgård
eef667c5ac Separate the external interface used by sceSas 2024-04-14 10:40:12 +02:00
Henrik Rydgård
2648cd0eee Store: Fix race condition causing crashes if looking at another game before an icon finishes downloading 2023-09-20 21:49:17 +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
9794d5377b Always reinitialize the VAG decoder on sceSasSetVoice, even if already playing. Fixes After Burner. 2023-09-06 11:25:19 +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
95e86c73b8 SasAudio: Some cleanup and debug overlay improvements
Shows "BAD" in the overlay if address out of range.

Which does happen in Afterburner, see issue #14010.
2023-09-05 12:15:13 +02:00
Unknown W. Brackets
9909e0d668 Sas: Adjust Rockman 2 sustain on init only. 2023-01-14 16:57:49 -08:00
Unknown W. Brackets
92585403c4 Sas: Make ADSR fields private. 2023-01-14 16:55:40 -08:00
Henrik Rydgård
b118ffadea Add workaround for hung music notes in Rockman Dash 2
Fixes #11442. Or at least should, I haven't tested this, just followed the
discussion in the issue.

According to this issue, this is a game bug that happens on real hardware
too, due to a lousy job porting the game to the PSP, most likely, which has
different ADSR (note envelope) behavior.
2023-01-12 11:33:59 +01:00
Unknown W. Brackets
dea9cac16c Core: Add range checks to some helpers and similar. 2023-01-09 16:56:18 -08:00
Henrik Rydgård
e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Unknown W. Brackets
ff9b9f7321 Sas: Add option to control reverb volume.
This also allows you to turn it off.
2021-08-09 20:47:24 -07:00
Unknown W. Brackets
7a1398844a Debugger: Add simple API to control tagging detail.
In case a client requires it.
2021-04-04 20:23:51 -07:00
Unknown W. Brackets
aa9b19be45 Debugger: Note atrac/sas reads from memory more. 2021-04-03 19:06:46 -07:00
Unknown W. Brackets
c99de6409d Sas: Minor clenaup. 2021-02-06 18:37:05 -08:00
Henrik Rydgård
d981511459 Misc cleanup 2020-10-31 18:32:43 +01:00
Henrik Rydgård
821817e6d4 Move the profiler to Common 2020-10-04 11:42:16 +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
3229b93673 SasAudio: Cap the cycle estimate at 1200 to prevent crackling in FFT. Fixes #9956. 2019-08-22 23:41:20 +02:00
Unknown W. Brackets
289928a170 Sas: Correct calculation of VAG end.
Not sure why everything is negative one indexed, but this prevents reading
beyond the size of the buffer.

This shouldn't change sound output, but it may fix a crash if VAG is at
the edge of memory (unlikely, though.)
2018-06-06 06:08:31 -07:00
Unknown W. Brackets
b56e3e8e94 Sas: Correct delay in playing samples.
We still need to walk during the delay to "use it up."  Need to test more
to see if we can just walk once directly into ATTACK - might depend on
pitch.

This also makes the first play ignore the resampleHist, which matches
samples to tests properly, and ignores linear interp for exact pitch.

These changes fix all the sascore tests that used to work.
2018-06-06 06:04:25 -07:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgard
23367925f1 Change a PanicAlert to an ERROR_LOG. Should possibly report..
http://forums.ppsspp.org/showthread.php?tid=1310&page=3

Add a comment.
2017-03-18 21:25:30 +01:00
Henrik Rydgård
440e72d250 Clean up among the logs. Remove MASTER_LOG. 2017-03-06 13:10:23 +01:00
Henrik Rydgård
baf01ab99d Fix #9196 - bug with new audio interpolation when delay was bigger than grainsize. 2016-12-30 09:52:32 +01:00
Henrik Rydgård
ad04f97acb Fix bug causing stack overflow in SasAudio, #9190. Move the mixbuffer off the stack for easier-to-diagnose error (this trashed the info I needed to debug pretty badly...) 2016-12-27 18:32:47 +01:00
Henrik Rydgård
88ad1cb3d8 Attempt to workaround #9190 2016-12-27 11:55:45 +01:00
Henrik Rydgard
1e095951dd Replace while loop with division (technically a right shift). 2016-12-20 22:02:40 +01:00
Henrik Rydgard
ff4b99dd97 Replace for-loop with multiplication 2016-12-20 21:52:25 +01:00
Henrik Rydgard
6782f7c75d Just figure out how many samples to read, then read it, instead of one-by-one. 2016-12-20 21:47:50 +01:00
Henrik Rydgard
e802fb0b73 Remove the verification. 2016-12-20 21:42:11 +01:00
Henrik Rydgard
451388070a Fix bug. Now use the quick inner loop, just need to redo the sample reader... 2016-12-20 21:37:31 +01:00
Henrik Rydgard
064795216e Add parallel resampling algorithm that reads directly from the temp buf 2016-12-20 21:05:23 +01:00
Henrik Rydgard
47df134b66 Optimization step 1: Separate the loops, save history from buffer. 2016-12-20 20:50:34 +01:00
Henrik Rydgard
61f80edda3 SasAudio: Straightforward implementation of linear interpolation.
Not sure about the performance impact, but calling ReadSamples with 1 as
an argument can't be terribly fast. So this might need some redesign
before merge, but should be a good starting point.
2016-12-20 20:23:00 +01:00
Henrik Rydgard
b68f2deca8 Set the reverb type when loading a savestate. May help #8528 2016-01-31 11:20:26 +01: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
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
Unknown W. Brackets
6b413a808f Atrac: Handle SAS end the same way as other types.
It makes sense to match, and this sounds right in Sol Trigger.  Haven't
tested in detail yet, but it should prevent cutting off sounds.
2015-11-08 12:23:32 -08:00
Unknown W. Brackets
1aac569e73 Sas: Add in zeroes like the PSP seems to. 2015-11-01 20:56:34 -08:00
Unknown W. Brackets
9c378c4eda Sas: Properly support the OFF reverb type. 2015-11-01 20:33:42 -08:00
Unknown W. Brackets
42222ad497 Sas: Support the dry flag as well as wet. 2015-11-01 20:32:35 -08:00
Henrik Rydgard
9fa6f1f89d Minor improvements to audio debug display 2015-10-31 13:02:19 +01:00
Henrik Rydgard
40246e894c Fix buzzsaw noises in reverb by preventing integer wraparound in a couple of places 2015-10-28 21:36:00 +01:00
Henrik Rydgard
22f71f1e9a Show simple info about currently playing audio in on-screen Debug Statistics 2015-10-28 21:20:20 +01:00
Henrik Rydgard
06fec54dba Forgot to scale a multiplication. Slightly better but quickly devolves into harsh noise. 2015-10-27 15:56:11 +01:00
Henrik Rydgard
9bb8aff715 Forgot that the address registers are scaled. still doens't fix it. 2015-10-27 15:52:19 +01:00
Henrik Rydgard
85c8f7d3c2 Hook up SasReverb. It sounds more like a buzzsaw than a reverb at the moment, needs debugging.
Added a bit of code that only enables it when a reverbed sound is active. This will need to be turned off later but useful right now for hearing when it's used..
2015-10-27 12:36:30 +01:00