Commit Graph

347 Commits

Author SHA1 Message Date
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
gregory.hainaut@gmail.com d968362961 cmake: * improve gtk hack to be compatible with previous cmake version.
* Add some number to the plugin .so file.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4751 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-20 18:09:32 +00:00
ramapcsx2 f60012a209 SPU2-X: Version bump.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4747 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-16 16:59:48 +00:00
sudonim1@gmail.com b16629acc9 SPU2-X: Change initial IRQA value, fixes F1 2005. This is a weird one, read the long comment.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4746 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-15 18:01:04 +00:00
sudonim1@gmail.com 86b80f2603 SPU2-X: Little mistake in input area IRQ code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4745 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-15 16:24:42 +00:00
sudonim1@gmail.com 94d6aaf4bb SPU2-X: Flag effect area for updating on effect area register writes rather than core attributes change. (For change in testing. Committing separately for regression testing purposes.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4744 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-15 00:57:04 +00:00
ramapcsx2 61a7804b90 SPU2-X: Debugger was missing one digit of the IRQA, whops :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4743 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-14 22:12:45 +00:00
sudonim1@gmail.com bcd2ceaa6c SPU2-X: Process input area regardless of ADMA status. Fixes Burnout, maybe others.
This is a guess, not confirmed by hardware testing, but seems logical.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4742 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-14 18:02:57 +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
sudonim1@gmail.com ae004d5e58 SPU2-X: partial and probably incorrect (but good enough for the BIOS) support for reading back key on and key off registers, just returning the last written value.
We need testing to determine how these actually behave and want to do some game testing to find other partially implemented registers before that.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4727 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-11 19:24:49 +00:00
ramapcsx2 2e81d03624 SPU2-X: Fix for Fatal Frame as per sudo's findings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4722 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-11 00:49:26 +00:00
sudonim1@gmail.com 555e9ee039 SPU2-X: Implemented SPU2reset method for handling a PS2 reset.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4721 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 20:30:57 +00:00
sudonim1@gmail.com f423da573f SPU2-X: Completely removed the concept of core resets. We were unable to find any evidence supporting their existence.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4720 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 20:14:14 +00:00
sudonim1@gmail.com 6b2ba33dd9 SPU2-X: Missed a spot for the core mixup, noticed that we're not using our own MMIX value on init and removed MMIX fiddling from reset entirely due to lack of evidence.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4719 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 19:32:17 +00:00
sudonim1@gmail.com cd6f4bc10b SPU2-X: fixed core mix up for effect area addresses and changed MMIX values on reset (which we're not not sure is an actual SPU2 feature)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4718 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 19:18:18 +00:00
sudonim1@gmail.com 73db84d024 SPU2-X: Revert the ENDX changes from r4700 as they weren't based on testing but confusing documentation.
SPU2-X: Found a crash on writing to the low word of the effects end address during testing.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4717 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 18:53:55 +00:00
ramapcsx2 3f450d3158 SPU2-X: Some visual debugger additions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4716 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-08 06:44:15 +00:00
ramapcsx2 e853af0901 SPU2-X: There must be some other flag that goes with the FxEnable one ><
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4701 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-02 08:22:20 +00:00
ramapcsx2 2a95dadb73 SPU2-X: Changes to reflect results of tests on my PS2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4700 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-02 08:12:40 +00:00
gigaherz 5f66e57ed1 SPU2-X Reverb: I put the mask in the wrong place.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4690 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 20:16:40 +00:00
gigaherz ecc651ffe1 SPU2-X Reverb: Apparently some reverb presets use offsets outside of the ps2 memory ...
Rama asked me to note that it still doesn't sound right yet. I will try to figure out the reason later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4688 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 17:52:03 +00:00
gigaherz ea367e8326 SPU2-X Reverb: make the filter actually look the way a FIR filter is supposed to look.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4687 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 16:46:41 +00:00
gigaherz 881982229c SPU2-X Reverb: Echo/Delay effects don't work without this.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4684 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 16:24:18 +00:00
ramapcsx2 5509c9784a SPU2-X: Better reverb params logging.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4683 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 15:03:49 +00:00
gigaherz b201cbb3b6 SPU2-X: Stop the ear-killing overflows by actually shifting the output as it was supposed to be shifted.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4682 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-28 14:47:30 +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 149fcf9662 SPU2-X: Configuration for the output volume in the settings dialog. And it works, too! :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4661 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-21 13:44:10 +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
gregory.hainaut@gmail.com 5335c64f12 spu2x: remove some definition (fix gcc-4.6)
gsdx: add a missing include (fix gcc-4.6). Force an init of sdl to allow in-emulation configuration


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4587 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-23 08:11:40 +00:00
gregory.hainaut@gmail.com 2abb0c0f1d spu2x: On linux uses by default the ALSA api when no inifile exists
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4574 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-14 20:59: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 cf9600fd9f SPU2-X:
Tweaks to async mixing, making the buffer stay closer to 50% filled and also making it more effective on sharp FPS drops.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4500 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-28 00:03:06 +00:00
sudonim1 22c1b30ed6 Fixed inconsistent newlines / added as many svn:eol-style=native properties as I could without killing myself.
Please set up auto-props in your svn client.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4488 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-25 05:06:49 +00:00
sudonim1 7d75a5a53b Missed some SPU2-X and all zzogl code in the last commit.
Fixed assumption that all paths received from pcsx2 end in the path separator.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4484 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-25 01:09:18 +00:00