Commit Graph

102 Commits

Author SHA1 Message Date
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
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 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
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
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
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 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 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
sudonim1@gmail.com c4196d542d SPU2-X: Change the dead voice read logic to match the live one. (Probably doesn't affect anything.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4741 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-14 15:54:04 +00:00
sudonim1@gmail.com 4d92ef1f90 SPU2-X: Fixed old misunderstanding about the function of the loop bits and documented our findings and unverified suspicions.
Fixes Zero: Akai Chou, Tomb Raider: Legend, Tomb Raider: Anniversary, maybe others.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4735 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-13 00:00:58 +00:00
gigaherz 948de6d452 SPU2-X: Improved Real-Reverb engine algorithm.
Before trying this revision, make sure your speakers/headphones are not too loud.

I have been looking at it for a long while, and I decided it couldn't be just "somewhat similar" to a Schroeder Reverberator.
The SPU2 designers would have actually used a working design for a reverberator, so chances are they implemented Schroeder's.

I haven't had the chance to test this code in spu2-x, but the results in the "Impulse Response Analyzer" tool I coded specifically for this, are positive.

Some tweaks might be needed, because I'm not sure if Neill got the IIR part right or not.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4678 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 02:37:32 +00:00
ramapcsx2 c440b442ac SPU2-X:
Some work on the fake reverb. Renamed it to "Custom Reverb" and the original to "SPU2 Reverb".

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4665 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-23 17:14:56 +00:00
ramapcsx2 695b3ba900 SPU2-X:
- Replaced the reverb boost control with a selector for normal reverb or a new mode we call "fake reverb".
- This new mode (coded by gigaherz) is intended as an alternative for the only partially working "normal reverb".
- The new mode will have to be tuned yet to sound good.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4662 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-21 17:47:33 +00:00
ramapcsx2 88cf49c2b6 SPU2-X:
Configurable output volume, ini only for now.
Can be set with "FinalVolume", from 0 to 100.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4619 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-04 11:01:43 +00:00
gregory.hainaut@gmail.com 763f21cfbc pcsx2 & spu2x: allow to compile[0] with lto on linux. It removes an useless wx feature on linux.
[0]: it needs gold linker, tuning parameter large-function-growth to 5000 and gcc-4.6.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4617 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-02 19:11:00 +00:00
shadowladyngemu 46dd600319 GSdx: CRC fix for Time Splitters 2 (PAL), seems the NTSC one is already doing a similar fix by default.
Also, reverting a whoopsie in my last commit :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4570 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-12 14:48:27 +00:00
shadowladyngemu f3ca530043 GSdx: CRC Hackfixes for "Demon Stone" and "Big Mutha Truckers", removes postprocessing and "fixes" the green/purple screens.
Small change to the Crash Bandicoot hackfix.
GameDB: Minimal updates.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4569 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-12 14:11:03 +00:00
ramapcsx2 922ab848ca SPU2-X:
Fixed an ENDX register bug and switched the dealias filter with the frequency response filter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4322 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-20 01:54:23 +00:00
ramapcsx2 ac552aae56 SPU2-X: Minor change on the ADPCM decoder. 2 other known decoders do this as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4226 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-16 21:02:37 +00:00
ramapcsx2 20b4c25671 SPU2-X: Disable the frequency response filter until good config parameters are found. It currently overemphasizes the highs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4220 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-16 03:33:07 +00:00
ramapcsx2 6f1b8c23af SPU2-X: Further tweaks and additions to the debugger.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4218 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-16 02:10:19 +00:00
ramapcsx2 57dd103e0d SPU2-X:
Adapted the de-alias and frequency response filters from nenolod's "UPSE", a high quality PSF player.
(http://nenolod.net/projects/upse/)
These 2 filters are present on the real SPU(2) as well and are meant to increase the audio quality
by fixing aliasing and then equalizing the final result.
It currently mostly seems to accentuate the presence and highs.

Thanks a ton for hinting at this and for letting us adapt your code for SPU2-X, nenolod! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4118 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-22 05:37:38 +00:00
ramapcsx2 0c87450816 SPU2-X:
Fix ADMA not getting read when in spdif bitstream mode (which some games offer for FMVs).
This option would cause them to hang indefinitely.
There's something wrong with the read audio but at least it doesn't die ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4055 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-25 15:59:33 +00:00
ramapcsx2 921e865c8e SPU2-X:
- Prevent the mixer from clamping to the maximum possible range as some audio output modules hate that and start clipping. Notably portaudio is unaffected in tests but all the MS APIs not ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3938 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-18 12:27:31 +00:00
arcum42 c7c64ee7f1 spu2-x: Remove Decoder.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3886 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-07 09:17:50 +00:00
ramapcsx2 19c03083a2 SPU2-X:
We overshot the final pre-clamp shift by one bit. Should be final now ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3422 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 20:49:55 +00:00
Jake.Stine b62dbc545a SPU2-X: More volume! Expect to have to turn your speakers down a bit. (made possible by proper clamping)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3419 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 19:20:53 +00:00
ramapcsx2 9a9c41f59e SPU2-X: This should be more correct.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3327 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 14:39:28 +00:00
Jake.Stine af40a22ee8 SPU2-X: Reverb compatibility improvements (fixes Ys6).
* EEA / ESA writes are ignored when Effects are enabled.
 * When effects are disabled, reverb does not process IRQs or produce sound.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3326 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 13:11:38 +00:00
sudonim1 61f7a4ddab SPU2-X: Double IRQ prevention found on real hardware. Only affects developers who didn't read the SDK documentation properly, like me. Nothing fixed as far as we know.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3294 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 01:49:26 +00:00
ramapcsx2 bd9606ab0b Yay, typo :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3262 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 15:37:26 +00:00
ramapcsx2 5f85a0c956 SPU2-X:
- Double the audio output volume before sending it to the output modules. Was way too quiet.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3261 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 15:34:32 +00:00
arcum42 8bbb5848af spu2-x/ZeroSPU2: Let's add in clobber lists, and take out volatile on the rng as well...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3253 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 10:09:19 +00:00
arcum42 10576c5b01 spu2-x: Fix a crash in Linux. (Do the same thing to ZeroSPU2 for good measure.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3252 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 09:40:15 +00:00
ramapcsx2 c996934a1e SPU2-X:
- Clamp requested pitch values to 0x3fff. Fixes games that set a too big pitch, run that voice and expect it to hit an IRQA (Romancing Saga).
- Gigaherz and Pseudonym worked out better modulation support. Should make some sounds better (FFX battle sound, etc).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3242 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 14:52:37 +00:00
gigaherz 6857acbadf SPU2-X: Voices used for modulation are not supposed to be played out loud. The actual modulation could still be wrong, but at least it will avoid annoying sounds to be played (e.g. Romancing SaGa main menu).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3224 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-18 17:47:50 +00:00
Jake.Stine 87ebbb652b SPU2-X: Woops, missed a writeback.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3207 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-13 02:10:22 +00:00
Jake.Stine f752038f65 SPU2-X: Fixed Core1 writeback areas; probably fixes quite a few things.
Details: (0x1800 to 0x1fff were being mis-written to 0x2000->0x2800, roughly).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3206 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-13 01:54:59 +00:00
ramapcsx2 c9dc18053f SPU2-X: Fix a small bug with voice volume in linear interpolation mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3205 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-12 16:45:14 +00:00
gregory.hainaut aa430319c0 [pcsx2 ui]: update Game fixes panel to look like speed hack one
[spu2x]: explain why one inline fail on linux
[cmake]: Prepare some include directory updates


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3185 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-08 17:08:00 +00:00
gregory.hainaut 275a923911 * Declared a local function static. Fix compilation error on gcc/linux. Spu2x is now ok
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3174 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 21:38:52 +00:00
Jake.Stine 581d17e282 SPU2-X: Remove antiquated use of __fastcall, from a time long ago when I was paranoid and overly in-love with fonction prototype red tape. (should fix linux/gcc compilation errors).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3173 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 15:59:59 +00:00
Jake.Stine 644d4cda7f Screwed up my last i18n commit -- forgot that gettext/poedit needs explicit text literals to work from, so my pxE_* macros won't work. This version should be better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3132 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-31 15:18:49 +00:00
sudonim1 3e81a87c90 Changed MulShr32 to a naive implementation, the generated code is fine already.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3076 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 08:24:04 +00:00
arcum42 774f56297a spu2-x: Fix another bug in my ini changes, and change MulShr32 again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3075 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 07:26:55 +00:00
Jake.Stine 9b4239d81a SPU2-X: Fix compilation errors under windows, and remove the /LTCG warnings when building Devel targets.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3023 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-16 01:03:52 +00:00
arcum42 de91c8f30b cmake: Some patches from athos and gregory. spu2-x builds in cmake.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3020 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-15 23:36:13 +00:00