Commit Graph

76 Commits

Author SHA1 Message Date
ramapcsx2 921e865c8e SPU2-X:
- Prevent the mixer from clamping to the maximum possible range as some audio output modules hate that and start clipping. Notably portaudio is unaffected in tests but all the MS APIs not ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3938 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-18 12:27:31 +00:00
arcum42 c7c64ee7f1 spu2-x: Remove Decoder.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3886 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-07 09:17:50 +00:00
ramapcsx2 19c03083a2 SPU2-X:
We overshot the final pre-clamp shift by one bit. Should be final now ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3422 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 20:49:55 +00:00
Jake.Stine b62dbc545a SPU2-X: More volume! Expect to have to turn your speakers down a bit. (made possible by proper clamping)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3419 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 19:20:53 +00:00
ramapcsx2 9a9c41f59e SPU2-X: This should be more correct.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3327 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 14:39:28 +00:00
Jake.Stine af40a22ee8 SPU2-X: Reverb compatibility improvements (fixes Ys6).
* EEA / ESA writes are ignored when Effects are enabled.
 * When effects are disabled, reverb does not process IRQs or produce sound.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3326 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 13:11:38 +00:00
sudonim1 61f7a4ddab SPU2-X: Double IRQ prevention found on real hardware. Only affects developers who didn't read the SDK documentation properly, like me. Nothing fixed as far as we know.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3294 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 01:49:26 +00:00
ramapcsx2 bd9606ab0b Yay, typo :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3262 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 15:37:26 +00:00
ramapcsx2 5f85a0c956 SPU2-X:
- Double the audio output volume before sending it to the output modules. Was way too quiet.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3261 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 15:34:32 +00:00
arcum42 8bbb5848af spu2-x/ZeroSPU2: Let's add in clobber lists, and take out volatile on the rng as well...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3253 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 10:09:19 +00:00
arcum42 10576c5b01 spu2-x: Fix a crash in Linux. (Do the same thing to ZeroSPU2 for good measure.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3252 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 09:40:15 +00:00
ramapcsx2 c996934a1e SPU2-X:
- Clamp requested pitch values to 0x3fff. Fixes games that set a too big pitch, run that voice and expect it to hit an IRQA (Romancing Saga).
- Gigaherz and Pseudonym worked out better modulation support. Should make some sounds better (FFX battle sound, etc).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3242 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 14:52:37 +00:00
gigaherz 6857acbadf SPU2-X: Voices used for modulation are not supposed to be played out loud. The actual modulation could still be wrong, but at least it will avoid annoying sounds to be played (e.g. Romancing SaGa main menu).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3224 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-18 17:47:50 +00:00
Jake.Stine 87ebbb652b SPU2-X: Woops, missed a writeback.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3207 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-13 02:10:22 +00:00
Jake.Stine f752038f65 SPU2-X: Fixed Core1 writeback areas; probably fixes quite a few things.
Details: (0x1800 to 0x1fff were being mis-written to 0x2000->0x2800, roughly).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3206 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-13 01:54:59 +00:00
ramapcsx2 c9dc18053f SPU2-X: Fix a small bug with voice volume in linear interpolation mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3205 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-12 16:45:14 +00:00
gregory.hainaut aa430319c0 [pcsx2 ui]: update Game fixes panel to look like speed hack one
[spu2x]: explain why one inline fail on linux
[cmake]: Prepare some include directory updates


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3185 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-08 17:08:00 +00:00
gregory.hainaut 275a923911 * Declared a local function static. Fix compilation error on gcc/linux. Spu2x is now ok
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3174 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 21:38:52 +00:00
Jake.Stine 581d17e282 SPU2-X: Remove antiquated use of __fastcall, from a time long ago when I was paranoid and overly in-love with fonction prototype red tape. (should fix linux/gcc compilation errors).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3173 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 15:59:59 +00:00
Jake.Stine 644d4cda7f Screwed up my last i18n commit -- forgot that gettext/poedit needs explicit text literals to work from, so my pxE_* macros won't work. This version should be better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3132 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-31 15:18:49 +00:00
sudonim1 3e81a87c90 Changed MulShr32 to a naive implementation, the generated code is fine already.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3076 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 08:24:04 +00:00
arcum42 774f56297a spu2-x: Fix another bug in my ini changes, and change MulShr32 again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3075 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 07:26:55 +00:00
Jake.Stine 9b4239d81a SPU2-X: Fix compilation errors under windows, and remove the /LTCG warnings when building Devel targets.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3023 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-16 01:03:52 +00:00
arcum42 de91c8f30b cmake: Some patches from athos and gregory. spu2-x builds in cmake.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3020 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-15 23:36:13 +00:00
arcum42 be28c5a745 spu2-x: I'm pretty sure that these lines should have had breaks after them... (pointed out by gregory.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3015 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-15 12:43:51 +00:00
ramapcsx2 9a9f3a6914 There was a slight threading affinity issue with r3000, so we have to revert it :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3003 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-14 17:20:06 +00:00
pcsx2guide cbb865632d * Added support for up to 24 threads. If you have a cluster server at home, enjoy PS2 emulation at 20x normal speed!
* Added DX11 support. DX11 enabled cards now give a +~40% speedup
* New SSE-X instructions we invented for PCSX2. Give a +200% speedup even on old CPUs.
* Full 64bit support. If you have 64 bit windows, be prepared for a 300% speed up.
* Implemented new DMAC, so far we have ~15 games that show improvements.
* Added support for USB-enabled vibrators. Feel the full pleasure of gaming, now also with PCSX2!
* SPU2-X now decodes Dolby Digital 7.1!
* Please test to find any bugs in the 24-thread code, it's a bit complex so some tiny bugs might have crept in.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3000 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-13 21:15:55 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
sudonim1 6dd23f3c8d SPU2-X: Re-enable resets, the games that were buggy with them enabled now seem to be fixed. This fixes music in Fatal Frame, FMVs in Devil May Cry PAL, and may fix music looping in God of War when run without the BIOS skip hack (or that might work without this change).
SPU2-X: Disable IRQs on reset.  This is a guess, but it fixes the BIOS with resets re-enabled.
SPU2-X: More detailed IRQ logging.
CDVD: Ignore the disc type reported by the plugin, we have our own test and it's working more reliably.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2779 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-26 22:31:34 +00:00
Jake.Stine a24e08fe83 SPU2-X: Stupid typo fix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2731 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-17 19:59:14 +00:00
Jake.Stine cc4b78d7ae SPU2-X: Optimized interpolation to use a switch-template-based lookup table.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2730 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-17 19:55:35 +00:00
Jake.Stine c173002be0 SPU2-X: Added IRQA testing to Reverb Effects Processing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2729 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-17 15:26:31 +00:00
Jake.Stine 4c700bc17e SPU2-X: Remove unsaturated version of the XA-ADPCM decoder (unused for a while now). As it turns out, saturation is definitely part of the spec, and some encoders expect/rely on it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2728 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-17 14:11:38 +00:00
Jake.Stine 48fae1a824 SPU2-X: Better version of pseudonym's bugfix.
Details: Properly initialize SCurrent in V_Core::Reset so that it need not be checked during Dummy processing, and add some asserts to test for SCurrent validity.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2727 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-17 14:07:25 +00:00
sudonim1 58b9768c61 SPU2-X: Voices that have never been started have SCurrent=0, which broke the dead voice handling. Fixing this should reduce stray interrupts and improve FPS slightly. Apparently the interrupts affect Wizardry: Tale of The Forsaken Land's music, but the game is quite broken anyway.
Also fixed small timing error in dead voices, probably doesn't affect any game.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2726 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-17 11:49:36 +00:00
ramapcsx2 8c3ea7d766 SPU2-X:
- Altered interpolation descriptions based on testing. Also fixed slight issue with Hermite interpolation.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2725 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-16 19:30:14 +00:00
gigaherz 50dfe253e7 More interpolators. Implemented Catmull-Rom interpolation. It's simpler than hermite, but doesn't really sound "better" than cubic as far as I can tell.
Feel free to test them.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2724 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-16 18:48:06 +00:00
gigaherz 329617d351 HIGHLY EXPERIMENTAL implementation of Hermite interpolation method.
Test at your own risk. Tension can be changed in the code.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2723 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-16 15:33:59 +00:00
gigaherz ad4bbbf920 This should properly fix cubic interpolation. If it seems to dull the audio, it's because it's meant to.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2722 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-16 14:39:36 +00:00
Jake.Stine 001a286415 SPU2-X: Attempt to fix Cubic Interp mode; plus some cleanups to the XA Decoder.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2700 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-12 02:55:30 +00:00
ramapcsx2 a7aac122d6 SPU2-X:
- Fix Silent Hill Origins, Max Payne 2 and a few others. This was a really old bug :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2681 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-08 02:19:58 +00:00
ramapcsx2 0244097a26 SPU2-X:
- Fixed the clipping audio in many game's sound effects by using a saturating XA decoder.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2679 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-07 02:38:33 +00:00
arcum42 59459a5df5 spu2-x: Implement most of the configuration dialog in Linux (minus logging and advanced).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2640 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-26 05:45:52 +00:00
sudonim1 ea766db4ce I guess I should've tried this from the beginning. Actually, I did, but it wasn't quite the same code and rama benchmarked it instead of me. Other optimisations are irrelevant, speed is now within measuring error of r2634, I feel like an idiot.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2638 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 07:32:55 +00:00
sudonim1 a564d4bbae Runaway voices should be faster with this. My previous ideas for optimising this were based on the principles that there's no way a game could rely on this feature other than requiring interrupts to fire when the muted voice hits the interrupt address. Well... Fatal Frame 2 proved me wrong. SPU2 interrupts aren't even enabled. I have no idea what it's doing.
Rougher granularity than this probably doesn't break anything, this is the finest that should have observable effects.

Not running voices when they're in a special sentinel block may also help games... but not Fatal Frame 2.  It resets the loop register constantly.  I really have no idea what it's playing at and it's driving me crazy.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2637 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 07:04:28 +00:00
ramapcsx2 155c96c0aa SPU2-X:
- Pseudonym made the voice free-run system a bit faster. Also fixes some odd sound skips introduced with the first version of this fix.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2636 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 05:32:51 +00:00
ramapcsx2 b13e917eb2 SPU2-X:
- Continue voice processing even if the voice is off, as per SPU2 specs.
This fixes Fatal Frame 2 (and likely 3 as well). A really long standing bug we had :) 

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2635 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-25 01:18:27 +00:00
ramapcsx2 5dba50645b SPU2-X:
- Added a configurable reverb volume boost, sounds nice in some games :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2620 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 17:44:48 +00:00
arcum42 cc585042ce Spu2-x: A few quick changes to get it compiling in Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2562 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-05 03:59:19 +00:00
gigaherz 7090edf371 Chagne a few thigns around for the spu2-x Irq flagging. If this breaks anything please tell.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2559 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 18:39:15 +00:00