Skip to content

Reimplement Atrac-through-SAS #20156

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Mar 25, 2025
Merged

Reimplement Atrac-through-SAS #20156

merged 10 commits into from
Mar 25, 2025

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented Mar 25, 2025

Atrac-through-SAS is a special way of playing atrac audio that some games use, most prominently the voices in Sol Trigger but also a bunch of minis, and several other games. Basically, the functions __sceSasSetVoiceATRAC3 and also sometimes __sceSasConcatenateATRAC3 are used. See #6511

This mode of playback works very differently to anything else, so was a bit tricky to figure out, but I've mostly got it now, with the help of a test: hrydgard/pspautotests#236

There are still some edge cases to fix and logging to clean up before I can get this in.

See #20125 for some issues this fixes, will link them properly later.

NOTE: This breaks this technique completely for the old sceAtrac implementation. So don't use that. Unfortunately, this means that some savestates may be busted (with regards to audio, at least).

EDIT: Actually, I think I can keep the old implementation somewhat-working..

@hrydgard hrydgard added this to the v1.19.0 milestone Mar 25, 2025
@hrydgard hrydgard added the Atrac3+ Issue involves sceAtrac features. label Mar 25, 2025
@hrydgard hrydgard force-pushed the reimplement-sas-atrac branch from 4066874 to 96ca0e9 Compare March 25, 2025 21:01
@hrydgard hrydgard marked this pull request as ready for review March 25, 2025 21:01
@hrydgard
Copy link
Owner Author

Can't quite enable the new test, this is slightly off in timing, and it's hard to fix since we can't really see or compare the internal state of the scesas driver. But, seems to work very well, so let's get it in.

@hrydgard hrydgard merged commit 16f9851 into master Mar 25, 2025
19 checks passed
@hrydgard hrydgard deleted the reimplement-sas-atrac branch March 25, 2025 23:34
@Unknowncat1991
Copy link

Confirm this fixed #9066

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Atrac3+ Issue involves sceAtrac features.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants