Commit Graph

386 Commits

Author SHA1 Message Date
Jake.Stine 0bbb879f2b Improved the EE/IOP counter optimization. It was causing branch tests to occur more frequently than needed.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@289 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine 211829bb18 SPU2ghz: Fixed a couple rare odd-case XAudio2 crashes, and fixed a small glitch in in the over/underrun code when timestretching disabled.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@288 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine c69df473ad SPU2ghz: err... oops! This'll stop it from crashing when you try to enter the PCSX2 plugin configuration screen.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@287 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
arcum42 a4cd015be7 Fix non-dev builds.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@286 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine f23db9a04a SPU2ghz: Rearranged the project files quite a bit. Solutions are now in the Plugins folder, and binaries are output to plugins/bin. This is in preparation for if/when we have more plugins as part of our repository, and will go hand-in-hand with a future change to how pcsx2 looks for plugins which should make shared development a little easier for all of us (I hope).
I also deleted several *very* dated projects and solutions.  They all still referenced FMOD, in fact, if it gives you an idea just how out-dated they were.  New updated projects can be re-added in the future if a need still exists for any of them.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@285 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
ramapcsx2 3d4583dcbb SPU2Ghz: Fixed a problem in ADSR handling as suggested by gigaherz.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@284 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
ramapcsx2 5d6c89f1e2 Few more SSE checks removed.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@283 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
ramapcsx2 8dc5441547 Also removed SSE1 checks, see rev281 for explanation :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@282 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
ramapcsx2 b70563a9fa Removed support for CPU's without SSE2. Now i know there's the occasional AthlonXP user out there.. sorry. The SSE2 (and SSE1 too!) checks were very frequent and could've hurt performance a bit.
Note: This move was discussed with the team, we all support it.
Note 2: I tried very hard to avoid mistakes, but due to the many changes i could've overlooked something (especially in iR5900tables.c).
I'd apreciate it if someone could look over the changes a bit ;)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@281 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine 1fbeeeb678 Applied the IOP counter optimization to the EE counters. Don't expect any noticeable speedups though, since this doesn't really affect the hsync/vsync counters which are the ones that end up doing 90% of the work. (but there's always a chance that it'll favor a game that likes to abuse the counters)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@280 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine f113aab091 SPU2ghz: Code cleanups, and conf now force-disable Effects Processing (for anyone who might have had it checked when Rama grayed out the option)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@279 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine 24394b83e2 SPU2ghz: Fixed potentially quirky volume handling in Linear Interpolation mode (quiet sounds would get cut off too soon or be completely inaudible). Also did a minor cleanup of the ADSR handler.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@278 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine a169a0fe87 SPU2ghz: Reverted last change since it broke way more than it fixed. Will post another improved ADMA attempt later once I've got it figured out better.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@277 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine aa48345c70 SPU2ghz: Fixed serious bug in AutoDMA code, basically it wasn't working at all. Soul Calibur II audio works now, and possibly many other games fixed too.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@276 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
ramapcsx2 09c0225740 SPU2Ghz: Disabled Effects Processing for now, you can still force it on via the .ini but it's NOT recommended.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@275 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 25a67211e8 Changed some GS-related #define macros into more type-safe inline'd functions.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@274 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 787316e839 Revert changes in GS.h
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@273 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 b5a6e33845 Break up the file structure of the Linux port a bit, to make it easier to make large changes.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@272 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 91f11550c0 Convert Config.c & GtkGui.c to cpp. And remove a gcc 4.3 specific flag from my last commit.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@271 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 ee09798ade A few minor changes to GS.cpp & GS.h.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@270 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine d799884153 Improved EE/IOP synchronization and also reduced the frequency of EE branch text executions (speedup!)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@269 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine ea781f8283 SPU2ghz: Major optimization fix to the mixer code. VS2008 was not optimizing the MulShr32su function properly. It's about 3-6x faster now. Also optimized the timestretch manager so that it can take full advantage of VC2008 SSE opts.
* XAudio 2 * Fixed potential crash bug on close (which only started happening after I upgraded my DXSDK).

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@268 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine d839f19119 SPU2ghz: XAudio2 driver now initializes a 48khz output rate (was using the default of 44.1khz). This may help fix some of the XA2 crashing problems as well.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@267 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 62e1f5015d SPU2ghz: Fixed DMA memory corruption bug introduced in r264 (and made the DMA code even faster!), and expanded SoundTouch's working buffer by ~15ms (seems to help improve voice audio breakups when games slow down below 40 fps).
XAudio2 problems are still up in the air, as they may be related to version differences in DXSDK installations of people building the DLL.  Note to compilers: please update your DX SDK to the most recent version (Aug 2008) if you haven't already.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@266 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 5edca82eb3 Nasty hack: Fix cpu detection on 32 bit Linux, by tricking the optimizer into thinking it needs the values of reg[2] & [3]; which, in fact, it does.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@265 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine d8bd81f00d SPU2ghz: Re-optimized the DMA write code so that DMA writes don't incur as much cache miss penalty anymore. Also made a couple minor tweaks to the timestretcher's overrun handler (Which only affects people who like their games to run at 120 fps. ;)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@264 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 2b93aa0709 Code cleanups for Linux builds (no functional changes)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@263 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 196b999379 Fixes timings on PAL games. (no audio underruns after 15+ minutes of testing!)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@262 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 a6a2676cc9 On Linux, when we say _forceinline, actually force it to inline.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@261 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 2e5ba07383 Fixes mild desync'ing in the IOP.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@260 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine cd653603e5 - Better IOP synchronization when using the X2 and X3 IOP hacks. Still not perfect, though (music may run a little behind or ahead of the games). I'll look into it tomorrow first thing.
- IOP Counter optimizations.  The IOP counter code now only updates counters actually being modified instead of blindly updating all counters.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@259 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 1bd9f54c9b IOP Sync problems should be fixed now (yeah I said that 2 revisions ago too, I know). But this time I knew what to look for! spu2ghz stretch stats don't seem to crap out now. ;)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@258 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
ramapcsx2 c4ceb8c826 SPU2Ghz: Small change to underrun fill :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@257 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine f252fac9a6 Reverted IOP_WAIT_CYCLES to 64.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@256 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 29bc1337b5 Last fix was ok, but this fix is better.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@255 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 41d466120b Fixed a freeze up bug from r252. The IOP must run at least one branch test for every EE branch test, which was a problem with the extended-length IOP_WAIT_CYCLE.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@254 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 76f08e165e Clean up Patch.c a bit, and add a few fixmes to the code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@253 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine bce2cfe5f1 Optimized the IOP's branch test algo a wee bit.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@252 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine cd81a75535 SPU2ghz: Removed SPU2ghz.aps since it's a file generated by the client (it's a VS2008 resource designer cache file, created when you open .rc files in the IDE).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@251 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine 5aad78b974 SPU2ghz: Cleaned up and optimized the SPU2write() code a bit.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@250 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
Jake.Stine ba9ab8f6e0 SPU2ghz: Added sanity checks to the XAudio2 driver, might be more stable now.
If this doesn't fix the crashing problems then I'll have to look into making a special instance of spu2ghz.dll that dumps XAudio2 log data, and hope to solve it from that.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@249 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
cottonvibes 949a8b870f minor update: in the CPU frame limiting dialog, i put a note that says F4 key switches the mode in-game.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@248 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
ramapcsx2 88638106e6 SPU2Ghz: Well, yet again another update from Jake.Stine :p This time around he improved the already great timestretcher to be even smarter. This and the fixed XAudio2 output module get even Vista users a near realtime sound. (Try a delay between 90 and 140ms).
Read a bit more about this version in issue 31 :)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@247 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
cottonvibes 4da570c671 Counters changes: reverted back to my counters code from svn241 and fixed the DMC1 bug as well as alot of other stuff (including some of the problems Jake.Stine found out in Issue 32)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@246 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
ramapcsx2 f69a63b489 SPU2Ghz: Adjusted default values for the worst case (Windows Vista... seriously, what did MS to the audio subsystem?)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@245 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
ramapcsx2 0e1f871606 SPU2Ghz: Lots of changes as described in issue 31, thanks again to Jake.Stine.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@244 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
cottonvibes eaf15db0fe reverted counters.c to official SVN's code for now (my code was crashing Devil May Cry for some reason...)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@243 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 7ef953567d Cleanup various things g++ doesn't like.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@242 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
cottonvibes 4390e0a922 forgot to change this...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@241 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
cottonvibes 86c35c57b0 changed the counters algorithm again; some games didn't like the algorithm from 228...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@240 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00