138 Commits

Author SHA1 Message Date
Stenzek
3772706603
System: Look up media capture settings on-demand
No need to store them, save some memory.
2024-08-18 15:52:54 +10:00
Stenzek
2f5aa45e1f
SPU: Fix incorrect envelope rate 2024-08-16 21:39:33 +10:00
Stenzek
af47eb6956
System: Add video capture feature 2024-08-11 21:06:58 +10:00
Stenzek
d1f0669374
SPU: Ensure all samples are generated prior to DMA write 2024-08-09 12:36:24 +10:00
Stenzek
a2f98541b3
Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
Stenzek
4f7ddfaae6
TimingEvents: Remove pointer indirection
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
Stenzek
56dd9878e1
Misc: RISC-V build fixes 2024-07-19 22:25:57 +10:00
Stenzek
bc30569a6d
SPU: Reverb input should be muted when SPU muted
Fixes pause menu in Bubsy 3D, Tuning Car Battle Spec R.
2024-07-17 20:57:17 +10:00
Stenzek
536b48d706
SPU: Pack state in struct 2024-07-06 19:18:25 +10:00
Stenzek
77488db3dc
Misc: Align CPU state and SPU voices to cache lines
Fixes the ~12% performance regression from the texture replacement
namespace'ify commit. Apparently LTO was placing the CPU struct in the
middle of a cache line...
2024-07-06 18:49:37 +10:00
Stenzek
4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek
14ba3b7312
System: Fix sync to host refresh audio stretching 2024-05-22 22:32:51 +10:00
Stenzek
864b0ad5fe
Qt: Save audio output latency value separately to minimal flag 2024-05-12 17:36:15 +10:00
Stenzek
4139bf63d8
AudioStream: Backport changes 2024-04-25 01:13:51 +10:00
Stenzek
b26a9556f7
System: Improve reset determinism 2024-04-22 00:19:44 +10:00
Stenzek
0fbc1a3a8a
AudioStream: Add surround expansion via FreeSurround 2024-04-21 23:30:46 +10:00
Stenzek
f9f9447013
SPU: Ignore End+Mute flag for noise channels
Fixes the noise effects cutting out too early in Motor Toon Grand Prix.
2024-03-29 15:08:14 +10:00
Stenzek
a4a58c6ba2
SPU: Implement volume sweep phase inversion 2024-03-20 21:55:55 +10:00
Stenzek
fa6850902a
CPU: Make interrupts actually edge-triggered 2024-03-18 01:46:19 +10:00
Stenzek
f5ddd7ba32
DMA: Template transfer functions
~20% speedup in FMV playback on a Ryzen 9 7950X3D. CPUs hate branches.
2023-12-19 22:38:36 +10:00
Stenzek
79c226efff
SmallString: fmt -> format, format -> sprintf 2023-12-13 21:06:15 +10:00
Stenzek
cce7be4723
Misc: Make struct member functions file-local 2023-11-18 16:46:11 +10:00
Stenzek
01e505ec8b Common: Add intrin.h 2023-10-01 17:24:34 +10:00
Stenzek
2efda31694 Misc: More enum cast warning fixes 2023-09-05 22:10:50 +10:00
Stenzek
e23c9875d5 Misc: Split core and util Host 2023-08-30 00:44:00 +10:00
Stenzek
991f7312b2 SPU: Fix building with SPU_DUMP_ALL_VOICES 2023-04-23 13:19:43 +10:00
Connor McLaughlin
1aa3be70c7 SPU: Bypass FIFO for direct memory writes
Aconcagua writes a single halfword with transfers halted, but never enables
DMA.. so when it eventually does later on, there's an extra halfword
written out to memory, which corrupted part of a sound effect.
2023-01-13 21:03:10 +10:00
Connor McLaughlin
0683b9fa0e InterruptController: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
3acf569d67 DMA: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
dd73811628 CDROM: Convert to namespace 2023-01-09 22:20:27 +10:00
Connor McLaughlin
8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin
201a671709 System: Fix dumping audio on boot 2022-11-21 12:55:24 +10:00
Connor McLaughlin
5b2c18e27c SPU: Convert to namespace 2022-08-15 17:22:23 +10:00
Connor McLaughlin
68b5dd869c SPU: Add time stretched audio output 2022-07-28 22:10:47 +10:00
Connor McLaughlin
701780e2ef Qt: Regression fixes 2022-07-22 22:53:06 +10:00
Connor McLaughlin
b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin
b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin
fd76f437b3 Core: Purge WITH_IMGUI define 2022-03-27 16:59:02 +10:00
Connor McLaughlin
c346dfe8a4 SPU: Drop OOB register warnings to dev level 2021-11-26 11:31:59 +10:00
Connor McLaughlin
8769a55298 SPU: Add a couple more reverb registers to debug window 2021-09-01 15:05:05 +10:00
Connor McLaughlin
4fac032ff6 SPU: Add a macro to enable per-voice dumping 2021-08-07 13:21:53 +10:00
Connor McLaughlin
c6c67b7b27 ImGui: Remove close button from debug windows
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
Connor McLaughlin
e01d66d18e System: Implement runahead 2021-01-25 01:15:46 +10:00
Connor McLaughlin
4e802e90ca SPU: Move voice key off/on outside sample loop
Should be a very tiny performance boost with no difference in behaviour.
2021-01-20 12:32:37 +10:00
Connor McLaughlin
3c012ec6ef SPU: Consider partial ticks when generating pending samples
Fixes hitches in opening FMV in Soul Blade (Europe).
2021-01-20 12:05:06 +10:00
Connor McLaughlin
914b9bf738 SPU: Drain transfer FIFO when cancelling transfer
The busy bit got stuck on otherwise, which broke the Spanish translation
of Vagrant Story.
2021-01-18 20:43:10 +10:00
Connor McLaughlin
11992bde4e TimingEvents: Use function pointers instead of std::function 2021-01-10 01:45:07 +10:00
Connor McLaughlin
15652b4c1f SPU: Fix a few cases where SPU interrupts weren't firing 2021-01-10 01:39:21 +10:00
Connor McLaughlin
73f6521452 SPU: Check voice addresses on IRQ re-enable
NASCAR 2001 music depends on the IRQ firing multiple times, when the
voice address is still set to the IRQ address.
2021-01-05 00:46:41 +10:00
Connor McLaughlin
a90c25d0e7 SPU: Ignore manually set loop address only on first block
Fixes occasional missing dialogue in Valkyrie Profile.
2020-12-06 00:35:54 +10:00