Commit Graph

157 Commits

Author SHA1 Message Date
arcum42 1f2f855f36 Get SoundTouch working in Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2737 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-18 23:43:34 +00:00
ramapcsx2 ccfb4e1ea9 Updated the SoundTouch library to version 1.5.
It works fine and without further modifications in Windows, for SPU2-X and ZeroSPU2.
Linux is untested, but hopefully also fine :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2734 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-18 20:04:51 +00:00
arcum42 70a3940d75 spu2-x: Update the Linux dialog with the new interpolation options.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2733 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-18 08:30:52 +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
ramapcsx2 cbad1f9bd5 Small cleanups: Fixed a typo in HwWrite.cpp (could fix games) and removed double system reset call.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2709 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-13 22:29:14 +00:00
arcum42 58c75437d4 Take care of a few compiler warnings, and get rid of a bit of redundancy in the codeblocks projects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2701 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-12 09:06:12 +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 77a40e3c6e Increase version of SPU2-X and GSdx, as enough changes have accumulated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2693 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-11 06:46:19 +00:00
ramapcsx2 ba8495dc94 SPU2-X:
- More fixes to "slides". The few games using them should sound mostly correct now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2686 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-09 19:18:48 +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 39a628ab9a Get spu2-x working in Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2677 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-06 06:06:45 +00:00
Jake.Stine 1461281f5f SPU2-X: Improved fix for wave recoding crashes; using thread-safe mutex locks. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2662 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-03 19:06:22 +00:00
feal87 db616b0690 SPU2-X : The safe_delete on the WaveDump wasn't "safe" enough and was causing the error on end of wav dump.
Test it and tell me if it works fine now. (F12 is the key for start-end)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2659 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-02 15:52:03 +00:00
arcum42 e6bb0125ec spu2-x: In Linux, add a Debug dialog. Add frames to the other dialogs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2646 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-26 11:48:15 +00:00
arcum42 8fef9fc0c3 spu2-x: Start working on the debug settings a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2645 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-26 09:07:26 +00:00
arcum42 d3311db6df spu2-x: Advanced dialog box implemented in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2644 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-26 07:39:08 +00:00
arcum42 7a254b5308 spu2-x: It'd help if we actually check the value of OutputModules.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2641 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-26 06:04:16 +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
arcum42 f86876f9fe Spu2-x: Hack in some ini file support for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2630 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-23 13:45:36 +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 df39878a9e Spu2-X: And we have sound in Linux! (Uses PortAudio; Absolutely no configuration right now. Not even in an ini file.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2618 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 08:33:49 +00:00
arcum42 5a564ab7b6 Clean up the last commit a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2617 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 08:18:25 +00:00
arcum42 dcb76739c8 Hack at spu2-x until it compiles in Linux, and is usable as a null plugin. (No, no sound yet, or configuration dialogs. It's a step in the right direction, though.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2616 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-21 08:04:45 +00:00
ramapcsx2 42cb1c4bb1 SPU2-X:
- Ok, that interrupt commit in r2600 was silly. The "special register write" is a simple set audio to max volume. We don't interrupt those :p
NEW IOP DMAC:
- Make the adma interrupts happen early, as in the previous commit for old dmac.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2602 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 22:37:13 +00:00
ramapcsx2 f6119e02f0 SPU2-X:
- Don't delay the adma irq callbacks, call them directly.
Should finally fix all those sound dropouts that only happened with this plugin :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2601 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 21:12:02 +00:00
ramapcsx2 8d7971466d SPU2-X:
- Added an interrupt call on a special register write, which mimics peops spu2 behavior.
This lets Silent Hill Origins get further when booting up.
Note that it's not complete and hackish, need someone with spu2 experience to make it right :p
- Also added various logging stuff

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2600 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 17:35:06 +00:00
gigaherz cdb5de009b Experimental stuff, "newly discovered" flag from some old ps1 source code (so yeah not new, just I had never seen it) which appears to indicate the status of the spu's internal transfer queue (both dma and non-dma transfer styles).
Only applied for DMAs, and only in the new dmac code. Please tell if it breaks anything! and also if it fixes anything!


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2566 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-06 01:35:36 +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 8ef8958e2d Forgot to check if my changes compiled with the new dmac stuff disabled. Thanks Pashifika.kasuru for pointing it out.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2560 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 21:04:48 +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
gigaherz 34e44e4956 Experimental sliced transfer stuff for spu2-x in the new dmac code. Probably doesn't make anything better, and it could slow down the iop a tiny bit while doing DMAs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2558 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 18:17:41 +00:00
gigaherz b05733a8fb "giga: PlainDMAWrite((u16*)data,bytesLeft); << not bytesLeft/2 ? Fixes sound in many games" whoops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2557 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-04 16:59:48 +00:00
gigaherz 06db5bba38 Hackfix a problem with sio2 in the new dmac. It needs some changes to the dmac system (possibly a dmaStart function with more accurate information) to be implemented properly but for now, this will do.
Also make the autodma messages work like before so they are configurable again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2555 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-03 03:59:21 +00:00
gigaherz 9ae807134e Experimental implementation of spu2 interface for the new iop dmac.
It's implemented only on SPU2-X and disabled by default.
FF12 and Atelier iris had working FMVs and bgm, other games might not
Try at your own risk.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2554 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-03 03:37:55 +00:00
ramapcsx2 909a7de4f6 SPU2-X:
- Ok, skip the whole runtime reset, since we don't know (yet) what vars need to be reset, and more importantly, when.
- Makes it possible to disable the specific BIOS hack we had. :)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2551 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-02 06:28:50 +00:00
ramapcsx2 300717df6c SPU2-X:
- Don't the whole core on a core reset. Fixes sound in Silver Surfer, Silent Hill Shattered Memories and prolly others.
(SH becomes playable with this. ;) Still needs GSdx software though. )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2548 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-02 04:50:51 +00:00