-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SPU: Remove delay cycles for Key On and loop flags #13331
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
Conversation
6099b79 to
3e45b87
Compare
3e45b87 to
e289bf8
Compare
|
Are you looking to get this merged? |
|
Not sure if the affected games have been tested on all affected games or not. The Mafia one doesn't need a save, you just wait on the main menu until the demo starts, afaik. |
|
Just ran through a buinch of games I knew had issues in the past, Mafia, Unreal Tournament, White Van Racer/Pro Biker 2, Samurai Spirit. Everything seemed to work fine. |
|
Nice, it's a nice simplification so I'd love for it to work out. I'd guess it's fine without because we can make it key on/off at the start of each SPU tick, rather than handling them as the KON/KOFF registers are written to. I think the reason it wasn't done that way before is probably because we used to run the SPU at coarser intervals, and that waiting for the next tick then would have been no good. |
|
yeah I see what you've done now, because they were starting on kon write instead of the next tick, it was clocking up cycles early, which of course probably broke everything. So yeah if this has no problems (which I couldn't find any of) that's certainly better. It's nice you got rid of the queue loop too. |
-------------------------------------------------------------------------------------------------------- batocera-emulationstation.mk 9247e381e66ea10fd5af9acfdc935df4d3aaece2 # Version: Commits on Nov 02, 2025 -------------------------------------------------------------------------------------------------------- Merge pull request #1993 from batocera-linux/multiple_brightnesses feat: multiple brightnesses, ------------------------------------------------------------------------------------------------ batocera-es-piboy.mk 9247e381e66ea10fd5af9acfdc935df4d3aaece2 # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------------------ Merge pull request #1993 from batocera-linux/multiple_brightnesses feat: multiple brightnesses, --------------------------------------------------------------------------------------- amiberry.mk 6cd51132cff216aa4f7f6c1a29bc99746e3b9010 # Version: Commits on Nov 02, 2025 --------------------------------------------------------------------------------------- This change corrects the bug on macOS with case-sensitive filesystems… (#1722) * This change corrects the bug on macOS with case-sensitive filesystems. As the change is within a macOS-specific preprocessor block, it should have no impact on other platforms. * fix for BlitterStudio/amiberry#1643 --------- Co-authored-by: Dimitris Panokostas <[email protected]>, --------------------------------------------------------------------------------------- applewin.mk bc0b9c1e7e43a7bcc916d84297a2d3d7b1d3a84f # Version: Commits on Nov 02, 2025 --------------------------------------------------------------------------------------- Merge pull request #323 from audetto/update Update, ------------------------------------------------------------------------------------------ dolphin-emu.mk cc69cc3f2eec9b4deef7969e36fc81d5938994e5 # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------------ Merge pull request #14058 from jordan-woyak/sdl-version-bump Externals: Bump SDL submodule version to release-3.2.26, ------------------------------------------------------------------------------------------ duckstation.mk 520502dab078be50e4e590aade3cb898ac6d970d # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------------ FileSystem: Fix RealPath() with relative paths, ------------------------------------------------------------------------------------- hatari.mk 3a1dc0e9274b4cf6108f00476576f83d4f6c85d5 # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------- Move the SetOutputAudioFreq() function from audio.c to sound.c This function is independent from the SDL, so move it away from audio.c (to avoid that we have to duplicate this code when adding support for SDL3), ---------------------------------------------------- pcsx2.mk v2.5.269 # Version: Commits on Nov 02, 2025 ---------------------------------------------------- - [SPU: Remove delay cycles for Key On and loop flags](PCSX2/pcsx2#13331) ------------------------------------------------------------------------------------ rpcs3.mk cc8929ef4a6142fa5b240d2f5ec19ead54cc6efa # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------ PSF.cpp: Fixup, -------------------------------------------------------------------------------------- shadps4.mk a4c3c665fe381e422a7607a85d6e46187569afec # Version: Commits on Nov 02, 2025 -------------------------------------------------------------------------------------- add null gpu notice (#3768), ------------------------------------------------------------------------------------ box64.mk 8b72b3bf70f6653f0f245e6f95dd77f18f267da8 # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------ [RV64_DYNAREC] Refined BSF/BSR opcodes flags emulation (#3114), ----------------------------------------------------------------------------------------- catacombgl.mk 5fa0ad4f9fc72fbebbfd8bbdff1009f7c3bea6bc # Version: Commits on Nov 02, 2025 ----------------------------------------------------------------------------------------- Auto detect far pointer offset in DOS saved games, ------------------------------------------------------------------------------------------ devilutionx.mk 187bdba561cd7c9d3cbc600eb83c2723def76358 # Version: Commits on Aug 02, 2025 ------------------------------------------------------------------------------------------ Ensure gap-filling firewall tiles only damage moving players, ---------------------------------------------------------------------------------------- openmohaa.mk c1c230f04c25009291dd569aebd754c3f6bb87e1 # Version: Commits on Nov 02, 2025 ---------------------------------------------------------------------------------------- fix: clear all medals if the game has no config file (#822), -------------------------------------------------------------------------------------- stalker.mk 0ed27d47e7beaff6ef76dc6037e5147320dc8721 # Version: Commits on Nov 02, 2025 -------------------------------------------------------------------------------------- build(deps): bump Externals/imgui from `28dabdc` to `95e0472` (#1968) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>, ---------------------------------------------------------------------------------- trx.mk 678ba806efae1788949ddc93340fcd85ac001e64 # Version: Commits on Nov 02, 2025 ---------------------------------------------------------------------------------- camera: bring mic near Lara option to tr1 Resolves #1438., ------------------------------------------------------------------------------------------------- libretro-geargrafx.mk 529fbbb95374d4a8c9b39f1119afbbaa68df4aee # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------------------- Configurable hotkeys. Fix #41, ------------------------------------------------------------------------------------------------ libretro-puae2021.mk 58527ce9e8cc5f19faae9e6010d2f06fc70b10de # Version: Commits on Nov 02, 2025 ------------------------------------------------------------------------------------------------ Fix loading of Storage Access Framework files from the libretro VFS interface (#716) * Call `dirent_vfs_init()` and `path_vfs_init()` in `retro_set_environment()` * Don't normalize paths that start with a scheme, --------------------------------------------------------------------------------------------- libretro-vba-m.mk f464dca348b2ad701810fe7cf1ed6bd293485ebc # Version: Commits on Nov 02, 2025 --------------------------------------------------------------------------------------------- translations: transifex pull Signed-off-by: Rafael Kitover <[email protected]>, -------------------------------------------------------------------------------------------- slang-shaders.mk 56b7735143376d899b466a7f0aa70a2d6b79fdc6 # Version: Commits on Nov 02, 2025 -------------------------------------------------------------------------------------------- add Enhance MMPX (#780) Enhance MMPX, Fixed some defects in the original algorithm by morphological analysis,
|
I manage to notice that this update fixed a sound problem in Battlefield 2: Modern combat online. The car didn't make correct engine sounds when you ride. Also the engine you can't hear when you stand stil. I think its related that the loop play wasn't activated while you drove. So he played the engine sound one time and stopped after. So while you drove the car you didn't hear the engine sound after anymore. Thank you! pcsx2-v2.5.269-windows-x64-Qt:
pcsx2-v2.5.268-windows-x64-Qt:
|
Cool! I had no idea it actually fixed any issues :) |
I'm not in much a hurry to get this merged, I would mostly like to figure out if this is workable.
Description of Changes
Instead of delaying we check once per SPU sample cycle.
Rationale behind Changes
I'm pretty confident that the reason there's problems with keying off or setting loop points to quickly is that you could potentially do that before the SPU has gotten around to processing the KON write, since this is done once per output cycle.
Since we've stopped batching multiple SPU samples at once we should be able to do it this way.
Suggested Testing Steps
See #2371 for past issues, I was not able to repro them with these changes (although I didn't really test Mafia (I don't have a save file))
Did you use AI to help find, test, or implement this issue or feature?
No.