Commit Graph

585 Commits

Author SHA1 Message Date
Jonathan Li 283d4fa57c Use wc_str for Windows only code
This fixes the build for wxWidgets 3.0. The paths are Windows specific,
so c_str and WX_STR already evaluate to a wide string in wxWidgets 2.8.
2015-06-19 22:14:47 +01:00
Gregory Hainaut ba5b367ae8 drop support of Visual Studio 2010
* Severals PR uses C++11 features
* 2015 will soon be released
* Win 10 will soon be released

Time to upgrade
2015-06-04 08:55:22 +02:00
Gregory Hainaut c456764342 spu2x: declare exported function as stdcall
* Fix a stack buffer overflow on address sanitizer
* Might explain an old clang crash
2015-04-17 18:24:23 +02:00
Gregory Hainaut 66d7aa75e2 cmake: move -DNDEBUG to global option 2014-12-20 13:43:25 +01:00
Gregory Hainaut a99f3ea321 cmake: remove duplicate flags
also use the lighter elseif structure to reduce a bit the size of cmakefile
2014-12-20 13:43:25 +01:00
Gregory Hainaut 43e854fece spu2x: remove duplicated function 2014-12-20 10:54:18 +01:00
Gregory Hainaut 35f26f00bc Merge pull request #386 from PCSX2/remove-tls
spu2x:zzogl: disable TLS
2014-12-11 09:55:17 +01:00
Gregory Hainaut 3d071e50ad gtk3: gtk_hscale_new_with_range => gtk_scale_new_with_range 2014-12-10 22:09:21 +01:00
Gregory Hainaut e9233f4698 gtk2: use text rather than image
Require by GTK3
2014-12-10 22:09:21 +01:00
Gregory Hainaut 7fb548d7c5 gtk2: GTK_OBJECT is useless 2014-12-10 22:09:21 +01:00
Gregory Hainaut ba9e998ff5 gtk2: port gtk_combo_box to gtk_combo_box_text
The former was deprecated on gtk2.24 (and removed from gtk3)
2014-12-10 22:09:21 +01:00
Gregory Hainaut a52f598369 spu2x:zzogl: disable TLS
builds an Utilies_NO_TLS.a archive of the common Utilities code. It replaces native TLS by a slower reimplementation

Rational: number of TLS slot is very limited by the GLIBc on linux. I hope it doesn't impact performance.
* Zzogl don't requires TLS AFAIK
* spu2x will likely use it for assertions only.

TLS exhaustion creates issue to dlopen plugins
    issue #384 : https://github.com/PCSX2/pcsx2/issues/384

But also for profiled build (-fprofile-generate)
    http://forums.pcsx2.net/Thread-WORKAROUND-build-with-fprofile-generate

If someone have a better idea, please raise your hand!
2014-12-08 22:26:46 +01:00
Gregory Hainaut 0a4f9e43d9 cmake: clean sdl management
* sdl is mandatory for spu2x
* cmake will include either /usr/include/SDL or /usr/include/SDL2 so no
  need to add extra ifdef
2014-12-07 21:06:21 +01:00
Gregory Hainaut c945aead54 cmake: better support of SDL2
Description: Building with SDL2_API=TRUE is incomplete
 SDL_FOUND does not imply SDL2_FOUND
 Use check_libs for detection
 Only include ${SDL_INCLUDE_DIR} when needed
 Use SDL2_LIBRARIES
Author: Miguel A. Colón Vélez

Gregory: add back SDL_BUILDING_LIBRARY
2014-12-07 12:19:14 +01:00
Gregory Hainaut fa3db52cf7 partially revert commit 9fd2f3dd8a
No need to add Linux sillyness in Windows file... (Hopefully close #323)
2014-10-04 11:33:34 +02:00
Adam Hirst b98e53e059 Minor spelling/punctuation fixes in SPU2-X 2014-10-02 12:35:13 +02:00
Gregory Hainaut 5b3f031654 cmake: fix commit f3a50a01a7
* link common with c lib (required for gold linker)
* fix the macro to properly set the library variable
  => use the variable instead to hardcoded value
2014-09-24 09:02:56 +02:00
Johannes Obermayr 9fd2f3dd8a Don't use build date on openSUSE.
Fixes RPMLINT warning:
pcsx2.i586: W: file-contains-date-and-time /usr/bin/pcsx2
Your file uses  __DATE and __TIME__ this causes the package to rebuild when not needed
2014-09-17 22:37:34 +02:00
Johannes Obermayr 7b1d3ba7ea Do commits 2bc2047 and f287754 the right way ... 2014-09-16 19:11:11 +02:00
Johannes Obermayr 2bc2047770 cmake: Fix RPATH/RUNPATH issue with openSuse wxWidgets libdir.
Gregory: Add an if clause to only change the rpath on openSuse

For me it doesn't follow the FHS => http://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/fhs.html
2014-09-14 13:12:26 +02:00
uyjulian f3a50a01a7 cmake: Use previous macros in CMakeLists.txt files
Gregory: add a c lib for zzogl-pg-cg replayer
2014-09-05 20:16:23 +02:00
Sacha 2ae3dd970a Fix case of 'soundtouch' instead of creating a symlink as a workaround. 2014-08-13 18:54:31 +10:00
Ryan Houdek 3d37a6ce27 Removes the usage of __LINUX__ define
This is defined and set it a ton of different places.
It's checked in a whole lot more
Instead just use __linux__ like a real project should
2014-08-03 13:20:36 -05:00
Gregory Hainaut 82c7bcd761 wx3.0: compilation fix for arch linux
* Manually cast WxGetTranslation
* Accept string as format parameter of pxWindowTextWriter
* Manually convert wxString to wide string

Note: Wx setup.h is not the same between Debian and Arch. Unfortunately it
generated various compilations errors on wx code.

Close issue #172
2014-08-03 14:54:44 +02:00
Gregory Hainaut 8a43789db5 zzogl/spu2x: clang warning fix
Nothing critical
2014-07-20 22:07:02 +02:00
Lioncash 0a825a1aa4 SPU2-X: Fix some signed/unsigned mismatch warnings. 2014-07-15 00:09:48 -04:00
Lioncash 7ec3cf46d6 SPU2-X: Fix float truncation warnings 2014-07-14 20:26:38 -04:00
Gregory Hainaut 492d67c6e8 spu2x: use std::abs (c abs support only integer) 2014-07-12 15:59:29 +02:00
Gregory Hainaut 2084ead56c spu2x: linux port of Giga lastest update
=> Advanced (per-channel) Volume Adjustment AKA Room Correction

windows: update CfgReadFloat to really return a float
2014-06-28 11:23:44 +02:00
gigaherz 654343f875 Advanced (per-channel) Volume Adjustment AKA Room Correction (Windows-only, need someone to fix the linux counterpart) 2014-05-11 17:26:00 +02:00
Gregory Hainaut 75c64e12aa license: add missing header
Still miss lots of copyright header but we are better
2014-04-12 19:42:41 +02:00
Gregory Hainaut 37b1d3ae42 codeblock: remove build file => linux is cmake only
They are completely out-dated. And nobody have time to update them.
2014-04-11 09:18:31 +02:00
gigaherz 4362cc0e9a Fixed a few references to Googlecode, and a few mentions of the "svn" word in comments.
Other instances of "svn" in filenames and such remain, but they are not high priority and I didn't want to mess with updating all the project systems.
Closes #19.
2014-04-05 18:38:41 +02:00
gigaherz f7c1b6e060 Git-based versioning. 2014-03-25 13:31:36 +01:00
gigaherz 888f0a27da Remove vs2008 project files, since they have become outdated, and complicated to maintain.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5902 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-02-15 18:24:06 +00:00
refraction 82d5194a4f SPU2-X: Just fixing up a small error i came across while looking into something else. Nothing to see here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5893 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-02-08 17:52:33 +00:00
ramapcsx2.code b99aa05cbf Small round of patches for various issues.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5830 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-25 14:25:48 +00:00
ramapcsx2.code 72f7b70f7b SPU2-X:
WinXP should be exempted from Portaudio as the default for now. 
It has a large latency with DirectSound compared to direct use and XA2 isn't available at all.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5823 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-24 17:03:50 +00:00
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
gigaherz c9c94978e5 <avih> hmm.. this is wrong(-ish). I've updated portaudio, but spu2x still shows as version r4949 ... can this be fixed? or maybe i didn't compile it properly?
...
<avih> so, come on, touch spu2x to have recent rev number

Touched... hopefully I touched right. Felt awkward.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5024 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-27 21:03:53 +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
sudonim1@gmail.com 43fba9aab8 SPU2-X: Oops, I'm the one who spotted this when we were discussing it too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4763 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 00:12:31 +00:00
sudonim1@gmail.com 373c2cd47f SPU2-X: Reverted back to the last version of the reverb engine before the rewrite plus some backwards lerp fixes (accident in optimisation in r2089). Thanks to gigaherz (I guess? This is mostly your fault.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4762 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-24 23:55:19 +00:00
sudonim1@gmail.com 297843ddaf SPU2-X: Both cores now (ignore previous commit)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4761 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-24 23:09:45 +00:00
sudonim1@gmail.com 86763c806f SPU2-X: The reverb registers in the register pointer table are inconsistent with the register definitions, they have always been inconsistent, everything we have done to fix reverb was invalid because of this. Not sure where we go from here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4760 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-24 22:46:53 +00:00
sudonim1@gmail.com c509e2afb7 SPU2-X: Testing showed that writing effect area registers is not entirely ineffective as previously assumed while effect area writing is enabled on that core. The new assumption is that internal registers reflect the values of the external ones while effect area writing is disabled. Also increased logging level of these registers.
Save state compatibility broken.

Fixes issue 796, grandia 3 noise before squenix logo.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4759 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-24 18:41:56 +00:00
sudonim1@gmail.com 73b97e74d4 SPU2-X: If a bit we don't understand goes high, clear a register we don't understand. Don't ask me, but it seems to make the BIOS happier and Devil May Cry works again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4758 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-23 20:14:01 +00:00
sudonim1@gmail.com ddaea35d6e SPU2-X: Bump savestate version since I broke compatibility with r4754
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4756 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-22 11:49:49 +00:00
sudonim1@gmail.com 9e34391cde SPU2-X: Refix Zero: Akai Chou (and others fixed in r4735 probably). It was a slip in the dead voice code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4755 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-22 11:42:56 +00:00
sudonim1@gmail.com 629a6826d2 SPU2-X: Quality fix (?): take crest value to mean the electronics definition and clamp modulated pitch to [0,0x3fff] on the basis that the SPU2 probably is incapable of decoding two words of samples for each voice in each tick. Honestly this is still guessing, we only really know that it was wrong.
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
2011-06-22 02:27:39 +00:00
sudonim1@gmail.com eba05e18c2 SPU2-X: Fix minor register logging bug (probably not the only bug in this code)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4753 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-22 00:04:00 +00:00
sudonim1@gmail.com 9dd3cf8078 SPU2-X: Improved (hopefully to perfection) the reporting of NAX by moving code around in the decoder. Fixes Magic Pengel, hopefully no regressions (but it does intentionally change when some IRQs fire a bit so there might be some, but if so this is a step towards fixing other finicky games).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4752 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-21 22:29:59 +00:00