Commit Graph

65 Commits (81f297456c3b0597a4e729050969e88fdd652edc)

Author SHA1 Message Date
Connor McLaughlin 9959440a3a SPU: Align starting addresses to two words
Fixes interrupts firing early and occasional broken speech in Valkyrie
Profile.
6 years ago
Connor McLaughlin 226459b60f SPU: Add missing register read for ENDX 6 years ago
Connor McLaughlin a5ff904b33 SPU: Clear ENDX flag on key on 6 years ago
Connor McLaughlin be9033b6c0 SPU: Add missing clamp in ADPCM decoder 6 years ago
Connor McLaughlin b16ecd7a86 SPU: ENDX register should get set when looping as well as muting 6 years ago
Connor McLaughlin 8605620c24 SPU: Force all voices off when SPUCNT.15=0 6 years ago
Connor McLaughlin 191c3450cc SPU: Port reverb algorithm from Mednafen-PSX 6 years ago
Connor McLaughlin e34b78ab80 SPU: Fix pitch modulation 6 years ago
Connor McLaughlin 045c4d1745 SPU: Fix adsr_volume read for pending key-on voice
Fixes cutscene audio in Spyro 2, probably others.
6 years ago
Connor McLaughlin fc3efebb38 Revert "SPU: Use reverb formula from Mednafen-PSX"
This reverts commit 809b9f89ca.
6 years ago
Connor McLaughlin 809b9f89ca SPU: Use reverb formula from Mednafen-PSX 6 years ago
Connor McLaughlin 0006052728 SPU: Fix some registers not being saved to state 6 years ago
Connor McLaughlin 1d948a53e0 SPU: Reinitialize transfer event on loading state 6 years ago
Connor McLaughlin 423f04325f SPU: Implement timing for RAM reads/writes 6 years ago
Connor McLaughlin f23bcc0faa SPU: Ignore loop start flag when repeat address is explicitly set
Fixes dialog/softlock in Thousand Arms.
6 years ago
Connor McLaughlin 08ad5aad53 SPU: Run muted voices when IRQ is enabled
Fixes SPU timeout in Casper. We can still optimize for most games where
interrupts are not used by completely ignoring muted voices in those.
6 years ago
Connor McLaughlin 18cc3d5932 SPU: Stub out external volume registers
If nothing else, it'll avoid spamming the log.
6 years ago
Connor McLaughlin 7317c83a3c SPU: Implement internal volume sweep register reads
Fixes muted audio in Michelin Rally Masters.
6 years ago
Connor McLaughlin 4c2597acf3 SPU: Process key on/off at next 44100hz cycle
Some games, particularly CART World Series and Monkey Hero, depend on
this behaviour.
6 years ago
Connor McLaughlin 7ac48cd8d6 SPU: Swap read/write ready bits
Nocash might be incorrect here.
6 years ago
Connor McLaughlin 7a89c787b8 SPU: Fix some reverb registers not being saved to state 6 years ago
Connor McLaughlin d47a82d591 SPU: Implement noise functionality 6 years ago
Connor McLaughlin 0a6295a9b4 SPU: Implement volume sweep functionality 6 years ago
Connor McLaughlin b86e0bc846 SPU: Implement reverb
Possibly still not complete.
6 years ago
Connor McLaughlin 8e20d0d4ff SPU: Add audio dumping support 6 years ago
Connor McLaughlin 6a6aa72f3a SPU: Add a tick counter and delay between key on/off writes
Not yet tested on hardware. We believe that writing to a specific
voice's key on/off register within 2 samples/ticks of the first
write will result in the second write being ignored. This still
needs to be tested on hardware for confirmation.

Thanks to @PSI-Rockin for the idea.

Fixes sound effects in Monkey Hero.
6 years ago
Connor McLaughlin d42f155512 SPU: Use "ticks" instead of "sample" in variable names 6 years ago
Connor McLaughlin 90d6babfb0 SPU: Always run, not only when enabled 6 years ago
Connor McLaughlin 34ae0dae13 CDROM: Fix upper bound for XA audio frames and sync SPU 6 years ago
Connor McLaughlin 82eb14efb1 Core: Apply DPI scaling to debug windows 6 years ago
Connor McLaughlin 278aa86d14 SPU: Refactor ADSR/implement exponential mode 6 years ago
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 6 years ago
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 6 years ago
Connor McLaughlin 5bb2b3ec63 Frontend: Add audio backend to settings (switch-while-running) 6 years ago
Connor McLaughlin f11d357ab9 Compile fixes for Android 6 years ago
Connor McLaughlin 2399c1dab7 SPU: Fix incorrect step value in attack phase 6 years ago
Connor McLaughlin e02ebb1b2a SPU: Mute voice without release phase on loop/end flag
Fixes channels getting stuck in Syphon Filter.
6 years ago
Connor McLaughlin 5b5d22fd27 SPU: Stub out transfer control register
Fixes sound in Ridge Racer.
6 years ago
Connor McLaughlin d9c27c4ee3 SPU: Fix sustain step being ignored 6 years ago
Connor McLaughlin 85413218cb SPU: Check upper 8 byte block of ADPCM block for interrupt
Fixes NFS2 stuck after selecting Race.
6 years ago
Connor McLaughlin 6f4cf7d5e3 System: Support changing BIOS path 6 years ago
Connor McLaughlin 99c264947d SPU: Implement capture buffers
Fixes Crash Team Racing and lipsyncing within.
6 years ago
Connor McLaughlin 26437e31dd SPU: Fire interrupt on DMA reads/writes too 6 years ago
Connor McLaughlin 8722757412 SPU: Implement pitch modulation 6 years ago
Connor McLaughlin 9f5bd6e5f9 SPU: Correct sample rate display in debugger 6 years ago
Connor McLaughlin 40eb157d77 SPU: Fix off-by-one-sampling-error causing noise in output 6 years ago
Connor McLaughlin 9b56499afa Refactoring settings/support changing GPU renderer at runtime 6 years ago
Connor McLaughlin 3db77a3139 SPU: Handle IRQ address register (fixes FF8 intro FMV) 6 years ago
Connor McLaughlin a76ec6fc19 Compile fixes for GCC 6 years ago
Connor McLaughlin 884378045d SPU: Add CD audio volume control 6 years ago