Commit graph

402 commits

Author SHA1 Message Date
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
Jake.Stine
e747337d63 A big old crapload of UI and thread management changes. Recoded the EventSource/EventListener system to be more C++ and less hacky C. Probably breaks Linux!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2474 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 15:22:01 +00:00
arcum42
cbb2000400 Commit a modified copy of the CMake files from issue 513. (Note: work in progress. Not currently for general use. Builds made using cmake are currently not supported, and unlikely to work properly.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2464 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-21 15:12:50 +00:00
gigaherz
c1cd29a534 Started implementing configuration support for PortAudio. Since PortAudio doesn't have any kind of "Unique ID" for the listed devices, I have to rely on the "host api" name and the descriptive name of the device, but it doesn't seem to be 100% reliable. In case the device name can't be found, it will try to use the default device for the specified API. If no api is specified, then it will fall back to using whatever default device PortAudio provides.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2445 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-17 16:46:28 +00:00
gigaherz
f878a438ff Fetched a snapshot of the source from portaudio site, and embedded it into the project. I might have missed something, so this will need some more work before it's fully stable.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2441 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-17 01:04:46 +00:00
gigaherz
ce396272d1 SPU2-X: Experimental PortAudio module. No config dialogs. Will use the system default output device & whatever the default "api" is in portaudio. Requires user-compiled portaudio lib, might commit later.
Widnows users probably don't have any interest in this unless you want to play the audio through portaudio's ASIO driver. Arcum was interested so I commited.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2439 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-16 17:59:00 +00:00