Commit Graph

495 Commits

Author SHA1 Message Date
gigaherz 01daa0b6fd Change the vs2012 project files to use the v110_xp platform toolset, and the vs2013 project files to use the v120_xp platform toolset, so that the resulting executables can be run in Windows XP/2003.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5822 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-24 15:30:34 +00:00
ramapcsx2.code 992a453a68 SPU2-X:
The preferred audio output module is PortAudio, so making it the default under Windows now (it is already on Linux).
It will use wasapi mode with the default sound device by default, both are configurable though.
This setup gives us better latency and a higher time stretch polling frequency, resulting in better quality overall.
With this we can also lower the main latency default from 150ms to now 100ms.
There is no error checking for the wasapi mode selection yet, as I don't know how this should be done. 
Help would be appreciated (gigaherz!) :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5821 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-23 15:19:43 +00:00
ramapcsx2.code be185275c9 Minor additions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5776 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-12-28 21:24:25 +00:00
gigaherz 4173080028 Because vs2012==vs11 and vs2013==vs12, which is extremely confusing, I renamed the project files to use the full year as the name.
Also fixed some project references to the right filenames.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5764 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-27 16:53:36 +00:00
gigaherz 74378ce378 Created vs2013 files based on the vs2012 code, and fixed a small incompatibility between vs2013 and pthreads.
Removed some missing headers from the vs2010 and vs2012 project files that were causing vs to always claim the projects were out of date.
Also removed some other entries for c/cpp files that were disabled but also missing (I did not search exhaustively).


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5763 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-27 16:44:32 +00:00
gregory.hainaut 0a9e9f9834 cmake: fix sdl switch typo (close #1448)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5761 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-12 18:56:15 +00:00
gregory.hainaut 5df7af9bc5 cmake:
* new option SDL2_API
* drop GLSL_SHADER_DIR. Useless, shaders are embedded in .h file
* use some hardening flags (for the moment only basic one)
onepad:
* port the code to SDL2 (Note only SDL1 is supported for the moment)
* improve detection of button vs axis (long-standing issue)
* avoid potential overflow on mouse mouvement detection


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5756 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-01 21:05:59 +00:00
sudonim1@gmail.com 48f284a49e Compilation fix for SPU2-X non-release targets on VS2010.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5733 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-12 20:45:02 +00:00
gregory.hainaut 00ea70d4d1 spu2x (linux): allow to use sdl as audio backend instead of portaudio (recommended for pulseaudio user). Close i1413
Thanks to Matt Scheirer for his patch



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5731 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-14 15:23:35 +00:00
avihal@gmail.com 49d417b60e SPU2-X: Stretcher: Better behavior - can now maintain stable 1:1 with 30ms latency on my system if the game is light enough, and much better resilience to infinite underruns (e.g. when going from turbo to 60fps, or from turbo to 10fps, even with under 50ms latency): 1. Improved averaging on init (and after reset) 2. Added reset after few underruns. 3. automatically slightly increase target latency when pcsx2 runs slow. 4. un-staled dynamic tuning (still disabled by default, but now can be enabled and works reasonably well). 5. Lowered minimum latency from 50ms to 30ms.
Next commit will include some cleanups, and I'll probably also remove the dynamic-tunning and related support code (not a lot of code though, but.. it's currently unused). I'm also considering completely removing the old stretcher from the code, such that both dynamic-tunning and the old stretcher will only live in SVN history.

Meanwhile, you can test this patch and report back here if you notice a difference. BTW, on my system I use the portaudio output since IIRC it offers the lowest latency.

As before, to display stretcher messages at the console, enable underrun/overrun messages at the SPU2X debug UI (which is also available on normal builds).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5729 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-12 13:35:29 +00:00
gregory.hainaut c2acd80236 spu2x: correct the modulo parameter of the Timestretcher. Use a size of 128 so the compiler can optimize the code a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5728 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-11 20:56:48 +00:00
gregory.hainaut 44d8301bb2 spu2x: array out of bond (-1)
Performance note, it might be faster to replace the MODULO with an AND. Not sure on the impact
for the new time stretcher algo.

GSdx: fixed use-after-free (linux)

PCSX2: 
* add a define to support address sanitizer (both rely on 0x20000000-0x3fffffff memory ranges..)
* sio_buffer out of bond (-1). Maybe we can move the flush in the 2 if previous branch. It would
avoid the extra test.
* wxGetEnv (linux) generates double free (maybe not thread safe). Cache the result so it doesn't crash 
anymore when switching renderer

Comment/Review/Improvement are welcome :)




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5727 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-10 11:41:11 +00:00
gregory.hainaut ba2ec6fe59 all: gcc warning clean round 4
* remove unused variable
* move static function from h into cpp
* Initialized hw_by_page to 0xFFFFFFFF instead of -1 (number must be a positive integer)
* Use a s32 fore m_current_lsn instead of u32 (use -1 as error code)
Bonus: a couple of fix for clang compiler (doesn't mean that it fully compile with clang)
* remove useless __debugbreak on linux
* use short for 16bits atomic function


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5695 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-03 18:42:05 +00:00
gabest11 ddaa892726 Removed ATL/MFC dependencies from every project, the free version of visual studio does not have those. It compiles with vs2012 express now, will fix others later, in case they are broken.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5692 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-01 21:28:58 +00:00
gregory.hainaut a4475a4595 spu2x:
* remove iconvert.cpp not used anymore
* change copyrigh header from GPL to LGPL. Those 2 files are only basic .h. 1 licence by plugin is enough ;)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5691 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-01 16:43:35 +00:00
gregory.hainaut d81254469a gsdx ogl:
* fix shader compilation on Nvidia (broken on r5682)
* fix various memory leak thanks to Valgrind

Cmake: fix a minor typo


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5688 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-30 11:18:46 +00:00
gregory.hainaut d9af23c946 plugin: restore sprintf_s on windows and hopefully fix vs201n compilation
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5684 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:11:16 +00:00
gregory.hainaut 3c7167be50 clean (some) gdb warning: round 1
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 10:43:50 +00:00
ramapcsx2 8f9e04dc9d GSdx, SPU2-X: Remove old code and disable a now useless warning.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5559 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 18:41:33 +00:00
ramapcsx2 fae268b269 One more patch by KrossX:
Should fix the VS2012 project files for when only VS2012 (and not VS2010) is installed.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5557 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 11:46:36 +00:00
ramapcsx2 8d80ff0652 SPU2-X: Adding a log for bad pitch settings, in preparation of changing current behavior. (Need to check some games that do it first)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5545 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-05 14:21:24 +00:00
ramapcsx2 7f45b21be1 SPU2-X:
Just adding a log to devel builds. This is a curious case we want to be notified about.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5478 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-12-13 14:44:36 +00:00
sudonim1@gmail.com 2a0bbc89db SPU2-X: Actually ignore successive writes within 4 ticks to the same key-on bit, don't just say we do. I think I just forgot this return in r5418. Fixes The Legend of Spyro: The Eternal Night (probably the other two legend games too).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5460 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-21 14:32:55 +00:00
ramapcsx2 6050e9bb05 SPU2-X: Made the message "KeyOn after less than 4 T disregarded" less visible on release builds. It tended to slow games down.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5459 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-21 12:18:50 +00:00
sudonim1@gmail.com 1468b21ca0 SPU2-X: Disabled the parked voice processing optimisation completely for now. Fixes Silent Hill: Shattered Memories, maybe others. Reduces speed for all games. However much you hate this change, I hate it more.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5446 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-10 18:10:34 +00:00
ramapcsx2 28e6d96955 SPU2-X: 2 known games set an illegal reverb EEA that randomly causes crashes in the plugin.
We need to figure out what real hardware does with it but for now let's disable the effect engine in that case.
Affected games: Summer Beach Volleyball and 18 Wheeler.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5445 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-11-07 19:39:29 +00:00
gregory.hainaut f53a062063 license: update the copyrigh address to please linux distribution
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5436 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-19 20:27:50 +00:00
ramapcsx2 e7eb00469a Added correct clamp modes for GT4 to the game database. Fixes various issues with the GUI.
Also added a mark for Klonoa 2 problems with SPU2-X.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5434 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-15 19:39:43 +00:00
ramapcsx2 dece4c730c Add NFL '12 to the database and silence a SPU2 cache clear notice.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5430 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-09 13:07:06 +00:00
sudonim1@gmail.com 2cc794e638 SPU2-X: Add an assertion that I used (in a more stupid and long winded form) to find the effects memory corruption bug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5427 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-03 01:45:11 +00:00
sudonim1@gmail.com 8d07fdf165 SPU2-X: Update effects engine indexers when the effects area is moved and kept the same size. Not doing so caused SPU2 memory corruption in Sphinx and the Cursed Mummy and maybe others.
Save state compatibility broken.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5426 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-02 17:43:21 +00:00
sudonim1@gmail.com 86e5f32efb SPU2-X: Another change to the shortcut processing of voices, check the actual loop flags in memory rather than the ones in the voice structure because the memory might've changed. Fixes Innocent Life - A Futuristic Harvest Moon.
Also, check both cores rather than the current core, that was a mistake.
Speed-- again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5425 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-02 17:40:42 +00:00
sudonim1@gmail.com 77eee6e2b9 SPU2-X: Add extra exceptions to shortcutting silenced voice processing (which is basically a speedhack and should probably have a GUI option). Unfortunately this is a significant speed hit for all games, but I have no solution to this for now. Fixes Gegege no Kitarou - Ibun Youkai Kitan and quite likely others.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5421 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-22 22:11:37 +00:00
sudonim1@gmail.com f1cffa6f7f SPU2-X: Delay starting voices for 4 SPU2 cycles after key on. No idea if this is right, but there must be a reason some register writes aren't effective for a few cycles after key on, and this seems likely. Fixes DQ5 adventure log music and Le Mans 24 Hours everything.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5418 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 15:17:16 +00:00
sudonim1@gmail.com 636ce9fc1d SPU2-X: Fix old crash on state load if logging is enabled. (It's appalling that this is in the state though.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5417 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:39:57 +00:00
sudonim1@gmail.com 4d9e07b311 SPU2-X: Removed the temporary "TDA" variable from the core structure. Breaks state compatibility.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5416 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:05:04 +00:00
sudonim1@gmail.com 7dc3b25ddf SPU2-X: Trigger interrupts only if TSA is incremented to IRQA on the basis that we know that the final TSA value after the transfer is checked. Also fix inconsistency in TSA after transfer in one case. Fixes Chaos Legion bgm.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5415 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-21 13:03:19 +00:00
gigaherz 31f685c490 [VS2012] For some reason when I made the conversion I totally forgot to copy these, and I didn't notice that until yesterday.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5403 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-05 18:04:09 +00:00
sudonim1@gmail.com 4ab5b03bdc SPU2-X: Use zero coefficients when the sample data references a higher entry in the coefficients table than we know about and print a warning to the console if logging is enabled. Fixes audio glitches in "Crash" series games. Also fixed the voice stop log, it was printing when voices looped.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5402 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-03 11:43:16 +00:00
sudonim1@gmail.com 7e528d3f1f SPU2-X: cleaned up the re-enabled debugging messages from r5400.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5401 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-03 09:55:08 +00:00
ramapcsx2 2e1b138219 SPU2-X: Add the alignment check to console logging.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5400 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 22:20:18 +00:00
sudonim1@gmail.com d4e4abfe82 SPU2-X: TDA is a fake internal register (which should probably be nuked), so reading from the FIFO (or whatever 1AC is) certainly shouldn't use it. Also fixed up related code a little. We don't know of any games which actually use this though. Actually I don't know if we know that reading this register does anything, this could all be the product of an overactive imagination.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5399 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 22:07:11 +00:00
sudonim1@gmail.com 7027c54309 SPU2-X: Don't force align transfer addresses, fixes The Bouncer. I honestly don't know on what basis they were force aligned in the first place. The Bouncer very strangely has correctly aligned sample data in IOP memory which it uploads using an unaligned DMA with SPU2 set to an unaligned address, resulting in the data being correctly aligned in the end. Weird. It also writes the address twice in the order high word, low, low, high, the first pair being aligned and the second pair not. Really weird.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5398 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-02 21:33:16 +00:00
sudonim1@gmail.com b643fa06d5 SPU2-X: Fix a minor logging bug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5397 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-01 13:10:38 +00:00
gigaherz a21c85266c Make PCSX2 compile with Visual Studio 2012 (3/3): Upgrade the project files and fix a few project names. Update the .sln to point to the right project files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5384 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:54:12 +00:00
gigaherz 027b7a8b98 Make PCSX2 compile with Visual Studio 2012 (2/3): Copy project files and solution from their vs2010 originals. Not updated yet!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5383 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:45:56 +00:00
sudonim1@gmail.com 179246a4eb SPU2-X: Tweak the quick fix in the previous rev a little: also select the default device if a GUID is specified but not present in the enumeration.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5317 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 12:28:13 +00:00
sudonim1@gmail.com aa54e28add SPU2-X: Quick fix for an issue with dsound configuration dialog where if the default device is selected, nothing is initially selected in the combo box and on writing the configuration uninitialised memory is used for the GUID.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5316 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 12:21:44 +00:00
refraction c6d820ff4e SPU-2X Project too for VS2010
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5259 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 18:24:37 +00:00
gregory.hainaut 3d700b9264 spu2x: revert commit 5157. Soundtouch author change in mind and go for LGPL2+ so we come back to LGPL3+ to avoid license proliferation.
various:
* rename the man page as requested by arch users.
* Delete pcsx2/* symlink. Was only useful for autotool removed few years ago.
* commit the top metadata of my previous branch merge.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5172 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-23 18:55:24 +00:00
gregory.hainaut d75da041f6 copyright: soundtouch was LGPL2.1 not LGPL2.1+, add an header to launch_pcsx2_linux.sh
cmake: keep all library for the linking of plugins
hex2h.pl: add svn:executable


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5157 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-16 15:36:16 +00:00
gregory.hainaut 72d47d547e copyright:
* update missing copyright on
 + plugins/GSdx/config.h
 + pcsx2/MTVU.h
 + plugins/zzogl-pg/opengl/ZZHacks.h
 + plugins/spu2-x/src/DplIIdecoder.cpp
* put a copyright for trivial script file
 + pcsx2/gui/Resources/rebuild.sh
 + tools/bin2app.sh
 + plugins/zzogl-pg/opengl/shaders.sh
* remove autotool from zzogl
* apply the patch for issue 1257. Thanks very much Micove for the hard work.




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5154 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-12 06:30:35 +00:00
ramapcsx2 03db2fcf4e SPU2-X:
Some games use volume slides combined with reversed phase. 
Gigaherz tweaked the code to handle this nicer (fixes Mashed Drive to Survive noises).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5139 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-01 14:09:24 +00:00
ramapcsx2 52a54fda62 Null pointer protection and warning in LilyPad and SPU2-X savestates and a small init fix in SPU2-X.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5112 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-29 14:51:55 +00:00
avihal 95b1c260af @gigahertz: some sensitivity is required when touching a small plugin! Let's hope I got it right :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5025 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-27 23:03:31 +00:00
arcum42 5306b13472 More work on the compiler warnings. Removed the warning flags that are now set by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4949 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-30 00:32:22 +00:00
arcum42 251382aefe Change a few compiler options in Linux to remove a few warnings during compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4947 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-29 07:57:06 +00:00
sudonim1@gmail.com 553635f00d SPU2-X: silly logic error in IRQA testing for DMA, fixes Atelier Iris, maybe others.
Thanks to rama for testing.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4945 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-27 15:34:14 +00:00
avihal 9bfbbf0a0c SPU2-X: Stretcher: fixed a bug which may be triggered by some compiler optimizations (floating point comparisons, doesn't happen with current VS2010 project). Thanks to pseudonym for tracking it down, reading tons of asm code, and learning x87 while at it...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4872 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-15 16:55:23 +00:00
gigaherz e0bbc1b814 SPU2-X: Reworked the circular buffer functions for audio output, with a thread-safe version.
This hopefully avoids the issues appearing after long periods of continuous playing.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4871 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-14 22:06:18 +00:00
gigaherz 94e79f781d SPU2-X: Fix one little bug in the spu2replay code and a few warnings discovered by warning level 4 + code analysis.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4867 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-12 14:47:36 +00:00
gregory.hainaut 60cec5a9b0 spu2x: linux compilation fix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4864 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-11 17:36:44 +00:00
ramapcsx2 d3784af2ab Commit the SPU2-X compile fix from miseru99. GSdx CRC hackfix is included, too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4862 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-11 09:15:03 +00:00
gigaherz 3373f6852b SPU2-X: Give some more range to the balancing, I realized its most probably safe for our ears ( an it seems to be based on testing ;P).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4861 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-10 21:21:49 +00:00
gigaherz 08b2cac8aa SPU2-X: Improved dplII decoder algorithm, it now generates more defined positional balance.
It's still most probably very wrong, but its sounding nice at least. ;P

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4860 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-10 20:59:40 +00:00
gigaherz a4a40441c9 SPU2-X: Added config setting for ProLogic decoding level.
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
2011-08-10 20:08:29 +00:00
gigaherz c0f9d1b619 SPU2-X: Added audio expansion support to the portaudio backend. This change also corrects the volume in normal stereo mode.
Removed an useless method from the module interfaces.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4858 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-10 13:17:41 +00:00
gigaherz a22b36815c SPU2-X: kill a few warnings
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4857 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-10 11:59:08 +00:00
gregory.hainaut@gmail.com b490282c55 spu2x: linux compilation fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4856 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-08 17:49:59 +00:00
gigaherz 224797c4ec SPU2-X: Experimental change! Lowered the lower latency limit to 3ms if the timestretcher is not being used. This latency will add up to the output latency as usual, but with a good sound chip this should allow overall latencies < 15ms.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4854 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-08 15:56:49 +00:00
gigaherz f2bc219425 SPU2-X: Removed the std::vector I used out of lazyness. The config dialog should no longer keep an ever-growing list of devices, and it has less potential side-effects if somehow the portaudio device list changes while the dialog is open.
3rdparty/portaudio: Removed debug prints on release targets.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4853 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-08 13:59:19 +00:00
gigaherz a5638b1466 SPU2-X: Added configuration dialog for the portaudio backend (windows only).
Added settings for customizing the suggested latency.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4852 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-08 12:49:33 +00:00
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
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
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
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
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
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
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 9cb19121e0 onepad: create a key_status object to handle key activities with a single press/release interface
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
2011-06-28 21:30:06 +00:00
ramapcsx2 73b46c4b7d SPU2-X: Version bump.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4779 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-27 22:54:25 +00:00
sudonim1@gmail.com 2a73457b4b SPU2-X: Apply Neill's recommended 2/3 multiplier to the input. The results still are not like on the PS2, but we're now as good as Neill's research allows. We'll have to do our own from here on.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4778 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-27 17:17:29 +00:00
gigaherz 99ee4a8df4 SPU2-X: Updated the spu2replay engine so it works again. Windows-only still, and it lacks a proper gui, but it can be used to dump the actions the game is doing and replay them later without the rest of the emulator.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4777 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 23:45:58 +00:00
ramapcsx2 5677ed5661 SPU2-X: Forgot to bump the savestate version.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4776 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 19:43:21 +00:00
ramapcsx2 6d9c794a63 SPU2-X: Short term reverb quality hack (half the input volume), until we settle for smth.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4775 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 19:28:58 +00:00
sudonim1@gmail.com aaf8f9067a SPU2-X: Extra clamping. I think we used to have this and it was taken out to try to boost the reverb.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4774 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 17:48:59 +00:00
sudonim1@gmail.com 6b1136df4e SPU2-X: shifting some code around in the effects engine, any change in output is probably a bug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4773 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 17:46:57 +00:00
sudonim1@gmail.com 367ab01a60 SPU2-X: We had two SPDIF modes reversed. I don't really understand the SPDIF modes but these are the bits the library sets. Fixes Gradius 3+4, issue 925.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4771 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 15:43:38 +00:00
sudonim1@gmail.com 8c781f9845 SPU2-X: More parens needed, always more!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4770 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 14:03:27 +00:00
sudonim1@gmail.com 27e9b57fed SPU2-X: Another error in the bitshifts, not sure if it's mine or older.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4769 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 14:01:33 +00:00
sudonim1@gmail.com 244f16c57a SPU2-X: Removed reference to x86emitter as we don't seem to use it any more (some brief optimisation experiment a while ago?)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4768 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 13:40:14 +00:00
ramapcsx2 b26f787e22 SPU2-X:
Removed the fake reverb since the real stuff started to work :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4767 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 13:24:22 +00:00
sudonim1@gmail.com 2bb7704fbd SPU2-X: I was being silly, those -1s are unnecessary (I was thinking we were downcasting for some reason).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4765 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 02:08:51 +00:00
sudonim1@gmail.com c22e933f5e SPU2-X: Tried to fix the incorrect bitshifts back from when Neill's code was optimised while the registers were broken so it wasn't testable. My maths is probably off, the code needs reviewing. The "- 1"s are so that -1 * -1 = just short of 1 instead of -1 (overflow).
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
2011-06-25 01:34:41 +00:00