Refactored the ProLogicII code into a separate file and changed it to floating point math for easier debugging.
Added a basic ProLogic decoder that doesn't try to do surround separation into L/R.
The setting does not have a GUI option yet, since the PLII decoder is experimental and doesn't give too good results.
To change it, set DplDecodingLevel to one of: 0=none, 1=ProLogic, 2=ProLogicII. The default is 0.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4859 96395faa-99c1-11dd-bbfe-3dabce05a288
Causes internal buffer size allocations to be as small as possible within portaudio and the OS, so it can have bad effects if the number turns out to be too small.
Would be nice if someone with a "real" audio card (Audigy, X-fi or similar) tested WASAPI Exclusive Mode, KS or ASIO with this change.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4851 96395faa-99c1-11dd-bbfe-3dabce05a288
On 4840 I added dynamic tuning (which may have slight negative effect on stability) to adapt to different iterations/sec of different systems, but I didn't like this system too much. On 4840 I also made a small change which, I now understand, factors out the differences between systems in this regard, essentially making dynamic tuning not required anymore. So now dynamic tuning is disabled.
If you enable the SPU2X messages (and the overrun messages), you would see log messages similar to this:
buffers: 44 ms ( 89%), tempo: 1.000000, comp: 1.000, iters: 764, (N-IPS:750 -> avg:50, minokc:50, div:100)
If the iters value (764 at this example) on your system when running at 100% speed (50/60fps) is higher than 1000 or lower than 500, then please comment here and post few of the log lines.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4843 96395faa-99c1-11dd-bbfe-3dabce05a288
I'm not fully happy with it, as it's a bit complicated for my taste, so feedback about how it performs will be appreciated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4840 96395faa-99c1-11dd-bbfe-3dabce05a288
1. Much better behavior at extreme low/high FPS (less skips/lower latency).
2. As a result, I was able to reduce internal latency by 50% (50ms config now equals 100ms before).
Recommended latency config for stretcher: 100ms.
For rhythm games, if your FPS is very stable, I recommend 50ms.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4834 96395faa-99c1-11dd-bbfe-3dabce05a288
Pcsx2 now has a gifUnit class which acts like the ps2's gif and executes a single gif transfer at a time (and performs path arbitration according to priority and path3 slicing).
This new code is generally a speedup for most games. Particularly VU heavy games like GoW.
This revision breaks old saved state compatibility so don't update if you wish to keep playing with your old saved states.
Leave comments if this revision fixes or breaks anything...
Message to GS Plugin authors:
This new code now uses only 1 gif callback to transfer data to the gs plugin (GSgifTransfer).
pcsx2 also is garaunteed to send full GS primitives to the plugin. So you don't have to account for partial-transfers anymore.
Thanks goes out to shadowlady who tested around 500 games for me :D
Note 1: The old gif code is still in this revision, and can be enabled by the USE_OLD_GIF macro. The old code will be deleted soon.
Note 2: This revision also enables assertion dialogs in devel builds, and changed a lot of assume cases into assertions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4821 96395faa-99c1-11dd-bbfe-3dabce05a288
Should prevent erratic tempo variations near 100% speeds (compared to the previous implementation), and generally allow much lower latencies while keeping the audio stable (on all audio systems).
E.g. my tests show that at 70ms latency it can properly handle sharp speed variance of 50%-100%. If your game generally doesn't get slower than 70% speed, 50ms latency would probably be fine.
Note that on extreme scenarios (e.g. extreme sharp drops in speed) it doesn't try to keep the audio continues at all costs. If your game exhibits such behavior (audible clicks, etc), increasing the latency a bit at the config would help.
Comments on actual performance/quality on different systems would be greatly appreciated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4820 96395faa-99c1-11dd-bbfe-3dabce05a288
Adding an option for the de-alias filter implemented in r4118,
currently overemphasizes the highs so it's disabled by default
but I like it for some games :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4809 96395faa-99c1-11dd-bbfe-3dabce05a288
* use the standard 3 step flow: cmake, make, make install
* Remove L10N_PORTABLE option, superseeded by PACKAGE_MODE
* Extend PACKAGE_MODE to select the install directory (FHS or local bin)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4805 96395faa-99c1-11dd-bbfe-3dabce05a288
GSdx: remove some linux dialog options which were already controlled by PCSX2
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4780 96395faa-99c1-11dd-bbfe-3dabce05a288
With this, reverb maybe sounds somewhat like the PS2 for the first time ever!?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4764 96395faa-99c1-11dd-bbfe-3dabce05a288
Test FFX tone when it's your turn to act, FFX underwater music?, xenosaga movie skipping sound effect, god knows what else.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4754 96395faa-99c1-11dd-bbfe-3dabce05a288
We need testing to determine how these actually behave and want to do some game testing to find other partially implemented registers before that.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4727 96395faa-99c1-11dd-bbfe-3dabce05a288
SPU2-X: Found a crash on writing to the low word of the effects end address during testing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4717 96395faa-99c1-11dd-bbfe-3dabce05a288
Rama asked me to note that it still doesn't sound right yet. I will try to figure out the reason later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4688 96395faa-99c1-11dd-bbfe-3dabce05a288
Before trying this revision, make sure your speakers/headphones are not too loud.
I have been looking at it for a long while, and I decided it couldn't be just "somewhat similar" to a Schroeder Reverberator.
The SPU2 designers would have actually used a working design for a reverberator, so chances are they implemented Schroeder's.
I haven't had the chance to test this code in spu2-x, but the results in the "Impulse Response Analyzer" tool I coded specifically for this, are positive.
Some tweaks might be needed, because I'm not sure if Neill got the IIR part right or not.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4678 96395faa-99c1-11dd-bbfe-3dabce05a288
Some work on the fake reverb. Renamed it to "Custom Reverb" and the original to "SPU2 Reverb".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4665 96395faa-99c1-11dd-bbfe-3dabce05a288
- Replaced the reverb boost control with a selector for normal reverb or a new mode we call "fake reverb".
- This new mode (coded by gigaherz) is intended as an alternative for the only partially working "normal reverb".
- The new mode will have to be tuned yet to sound good.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4662 96395faa-99c1-11dd-bbfe-3dabce05a288
Configurable output volume, ini only for now.
Can be set with "FinalVolume", from 0 to 100.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4619 96395faa-99c1-11dd-bbfe-3dabce05a288
[0]: it needs gold linker, tuning parameter large-function-growth to 5000 and gcc-4.6.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4617 96395faa-99c1-11dd-bbfe-3dabce05a288
gsdx: add a missing include (fix gcc-4.6). Force an init of sdl to allow in-emulation configuration
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4587 96395faa-99c1-11dd-bbfe-3dabce05a288
Tweaks to async mixing, making the buffer stay closer to 50% filled and also making it more effective on sharp FPS drops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4500 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed assumption that all paths received from pcsx2 end in the path separator.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4484 96395faa-99c1-11dd-bbfe-3dabce05a288
Fix the timestretch "Reset Defaults" Button to actually work (Winodws. Linux already works, I think.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4436 96395faa-99c1-11dd-bbfe-3dabce05a288
- Set default interpolation mode to "Catmull-Rom". It most closely mimics the original sound.
- Bit of documentation and a fix for Async mixing core resets.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4330 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed an ENDX register bug and switched the dealias filter with the frequency response filter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4322 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix linux compilation debug build
* Add a linux option to select the API output of portaudio (ALSA, JACK and OSS)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4224 96395faa-99c1-11dd-bbfe-3dabce05a288