Commit Graph

4193 Commits

Author SHA1 Message Date
gigaherz 44f0cc140a SPU2-X / portaudio: Fix the requested latency from a hardcoded 200ms to "as close as you can to 64 samples / buffer".
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
2011-08-07 16:37:59 +00:00
gigaherz cb74fd2c10 3rdparty/portaudio: Updated to a slightly newer revision of portaudio, sicne the fixes in it seemed interesting enough.
I also enabled WDMKS backend, but I had to change some #defines to get it to compile, and I can't seem to be able to use it on my Win7 machine. If anyone on XP wants to try it, it will be at their own risk. (use WDMKS hostApi name on the .ini)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4850 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 12:40:25 +00:00
avihal ddcfdb6d77 Test. Dummy commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4849 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 09:33:27 +00:00
gigaherz bb0100deea I went and copypasted the one line I typoed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4848 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 01:55:44 +00:00
gigaherz 1886affc54 3rdparty/portaudio: Fixed portaudio not finding any device because there wasn't any API enabled. The new toggle system requires the compiler to specify the enabled APIs, instead of assuming default-on.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4847 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 01:53:24 +00:00
gigaherz 1d8e159433 3rdparty/portaudio: Fixed the build with vs2008 (I hope). I commited the wrong .vcproj file. Reverted to the previous one and updated the file with the same changes I did to the vs2010 .vcxproj
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4846 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 01:15:49 +00:00
gigaherz dabe415929 3rdparty/portaudio: Fixed the build (windows). Somehow it compiled in devel/release, but not in debug. Should have failed in both of them though...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4845 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 00:58:00 +00:00
gigaherz 5a3cd8e57e 3rdparty/portaudio: Updated portaudio to the march 26 stable release (svn rev 1647). Too many changes to list here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4844 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-07 00:50:05 +00:00
avihal@gmail.com 529f620e37 SPUX: New stretcher: Should be slightly more stable now, compared to r4840.
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
2011-08-04 18:21:32 +00:00
avihal@gmail.com fc359249e4 SPU2X: Better control of debug messages. (Now they actually print when enable at the SPU2X debug GUI).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4842 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-04 16:51:59 +00:00
ramapcsx2 0a4c082e4b SPU2-X: Clean up some logging code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4841 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-04 14:27:21 +00:00
avihal@gmail.com 36fc051238 SPU2X: New stretcher: hopefully works better than r4834 (same goals as r4834: better resiliance to very high/low fps, compared to r4820).
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
2011-08-02 18:48:48 +00:00
gregory.hainaut@gmail.com 34569047b4 cmake: add/delete files
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4839 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-02 06:52:53 +00:00
ramapcsx2 527df7420b V2 of the previous GSdx hack: Now also works in pointlisted FMV's (FFX-2, Legend of Legaia).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4838 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-01 17:42:01 +00:00
ramapcsx2 e181358986 Hack for GSdx hardware to fix inverted videos that showed up with the new GIF rewrite.
The problem as I understood is is incomplete COLCLAMP support.
Thanks to sudo for the hack :)

(Unfortunately we couldn't find out more about why these FMV also *all* flicker.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4837 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-01 17:18:13 +00:00
shadowladyngemu c8b7b410a3 Fix VS2010 compiling. Patch by miseru99, thanks :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4836 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-01 15:40:20 +00:00
cottonvibes f816748d72 microVU:
- Fixed a bug with mVU's ESIN implementation. This finally fixes the flower-petal bug in Radiata Stories (and hopefully the clouds-bug in VP2 but havn't tested). Rama and I have wanted to fix this for a long time, but never knew the problem :p
- Improved implementation of some undefined behavior that happens on branches to take into account pipeline stalls. 

gif / vif:
- Added some logging code that parses gif packets. It can be enabled by the PRINT_GIF_PACKET macro in Gif.h
- Deleted some old gif code.
- On ReadFIFO_VIF1() clear the out-reg to prevent uninitialized results in case GSreadFIFO() doesn't modify it...
- Create a fallback for GSreadFIFO2() so that its always defined (as long as the plugin implements GSreadFIFO()) 

pcsx2:
- Organized the virtual folders in vs2008 a bit...

Note: vs2010 and Linux builds need to be modified to add Gif_Logger.cpp and delete GIFpath.cpp


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4835 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-01 03:16:42 +00:00
avihal@gmail.com 92e67c218a SPU2X: New time stretcher: Improved behavior on extremes.
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
2011-07-31 11:27:50 +00:00
shadowladyngemu 52a0eb047d GSdx: CRC hackfixes!
Summary of changes...

Fixed menus and HUD for Spyro: A New Beginning and Spyro: the Eternal Night.

Fixed missing dialogs and reduced the VRam usage a bit for Tales of Legendia ("8-bit textures" help a bit more with Vram/speed). Should be playable now in hardware mode. Thanks to rama for figuring it could be hackfixed this way and the initial patch :)

Half-screen fixes for Ty the Tasmanian Tiger 2, X-men Origins: Wolverine, Call of Duty: World at War - Final Fronts.

Modified the Star Wars: Force Unleashed hackfix a bit, shouldn't have the see-thru objects anymore.
Also modified the Metal Gear Solid 3 and Gran Turismo 4 hackfixes as they needed different skip values for each region (PAL/NTSC). Thanx to avih for the region code... and the free C/C++ lessons :P

The hackfix for Sly 3 was still showing stripes for 3-D and two-player modes, fixed for NTSC version now and hopefully works for PAL one too.

Couple GameDB updates after the gif rewrite.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4833 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-29 18:11:22 +00:00
cottonvibes a4059b45b5 Bring back GSnull, zzogl, and old plugins from the dead!
(they were crashing with the new Gif rewrite... shouldn't anymore)

Although Jake had added the new "GSgifTransfer" callback to these plugins in the past, he forgot to modify the .def files so pcsx2 can actually use them :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4832 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-27 08:16:51 +00:00
cottonvibes c918df60d2 newGif: do what r4829 did, except only flush the gs primitives to the mtgs when theres going to be a GS download (busdir=1).
this should be the only time that an explicit flushing is needed.
doing it this way should be faster than flushing every incomplete gs packet like r4829 was doing...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4831 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-27 03:55:43 +00:00
ramapcsx2 c2c19d7e96 New GIF: Quick fix from Cotton, fixes ICO and hopefully Tekken 4.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4830 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-26 17:53:54 +00:00
cottonvibes d8149fdb8b newGif: send complete gs primitive packets to the gs plugin even if eop wasn't detected. this is needed for games that do GS->EE downloads to make sure the gs plugin is up-to-date with the sent gif data.
fixes Bleach bankai problem, and probably other games (wizardry/growlancer 3) but haven't tested...
Also removed a vif FlushA hack that used to be needed for tekken 4/gitaroo man but not anymore...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4829 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-26 08:47:47 +00:00
gabest11 bfbf403bf4 GSdx: FXAA 3.10, page up key activates it
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4828 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 11:16:01 +00:00
arcum42 0b09b84526 Fix Linux so that it compiles.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4827 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 10:24:05 +00:00
cottonvibes 1515949a98 will probably fix compilation errors on linux/gcc...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4826 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 08:46:07 +00:00
cottonvibes 44a186266a newGif - Fix Area 51 slowness.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4825 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 07:43:31 +00:00
gregory.hainaut@gmail.com a100aac7cb cmake: add new Gif Unit files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4824 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 06:29:53 +00:00
cottonvibes 7e1be9c489 pcsx2: deleted a lot of the old gif code.
some bits were kept for reference and should be deleted in the future (along with the entire GIFpath.cpp)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4823 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-24 22:24:10 +00:00
ramapcsx2 794904cf3c This should fix MSVC 2010 compiling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4822 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-24 14:18:51 +00:00
cottonvibes c05dc759e3 Big gif transfer code rewrite!
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
2011-07-24 13:02:50 +00:00
avihal@gmail.com 7cb4dbb8d9 SPU2X: New (simpler) time stretcher algorithm.
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
2011-07-24 10:58:42 +00:00
ramapcsx2 9a16937018 GSdx: Fix an old and silly bug that could cause slowness in native resolution hardware rendering. Thanks for debugging, Lana and avih.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4819 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-23 16:15:00 +00:00
avihal@gmail.com 073e5e2f3a Reverting r4796 (Console window now opens again before main window). Reason: The console window's menus were overlapping the main window menus, leading to main window menu actions getting invoked when using the console menus...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4818 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-23 10:19:53 +00:00
gregory.hainaut@gmail.com 6b8a605845 zzogl-pg: open the dat file...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4817 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-19 18:33:22 +00:00
ramapcsx2 f9b8f5c786 Silence a SIF dma warning.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4816 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-19 10:56:48 +00:00
gregory.hainaut@gmail.com 3f8d07572b cmake: fix install directory of shader file in package mode
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4815 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-18 20:02:17 +00:00
gregory.hainaut@gmail.com 71bff75810 cmake: generate resource outside of the source tree.
Debian: remove useless clean file


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4813 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-17 14:21:09 +00:00
gregory.hainaut@gmail.com e5cedbe9d9 debian: reduce package complexity. Merge pcsx2-data (only 2 files) into pcsx2 and pcsx2-plugin.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4812 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-17 11:29:29 +00:00
gregory.hainaut@gmail.com 5adba505e7 pcsx2, zzogl-pg: allow to change some default path with compilation flags.
cmake: Add PLUGIN_DIR and GAMEINDEX_DIR options to easily select install directory. Install GameIndex.dbt during install phase.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4811 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-17 11:25:17 +00:00
arcum42 465dbc9203 SPU2-X: Fix the linux version, and add a checkbox for the de-alias filter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4810 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-17 02:38:18 +00:00
shadowladyngemu a88863ada2 SPU2-X:
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
2011-07-16 12:41:29 +00:00
shadowladyngemu ce8ee34251 Just a couple CRC and GameDB updates.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4808 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-16 03:20:04 +00:00
sudonim1@gmail.com 3286f0079e EE: very minor VTLB optimisation. Smaller than r4803 probably (but shouldn't have any possibility of slowing down any code).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4807 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-16 02:38:30 +00:00
gregory.hainaut@gmail.com 9b66620287 debian: align the package with latest cmake change.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4806 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-14 09:21:57 +00:00
gregory.hainaut@gmail.com 83b3ac85d3 cmake:
* 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
2011-07-14 09:02:37 +00:00
gregory.hainaut@gmail.com 3eef469dfb cmake: be sure wx is present before fiddling with the include path
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4804 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-10 08:52:16 +00:00
sudonim1@gmail.com fe66636625 EE: Changed some load/store flushing behaviour for better efficiency (and hopefully no bugs). Changed my mind about the internals for future exception handling so scrapped what we have for now. Also restored correct rt=r0 behaviour on all loads.
Should be a small boost in fps everywhere and otherwise likely not change anything.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4803 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-10 03:38:21 +00:00
ramapcsx2 cad9249b79 Fix for Endgame which tries to do 0 sector CDVD reads.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4802 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-09 23:47:12 +00:00
sudonim1@gmail.com 93163f988d EE: Fixed my use of ebx in a load/store implementation (reserved for return address) and changed _deleteEEreg to do what it says when also flushing and changed most uses of _deleteEEreg with the flush parameter set to 1 to _flushEEreg. May introduce or fix bugs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4801 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-08 06:18:25 +00:00