Commit Graph

330 Commits

Author SHA1 Message Date
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
arcum42 c9e333b4d5 Fix Linux compilation as of r237
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@239 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
cottonvibes 4c7550971e fixed some counters problems, should be more smooth and stable.
one of the problems i'm having is that rcntUpdate() should be called more-often, but i don't know where i should put it...

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@238 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
ramapcsx2 d72cacbdd4 Changed the Sleep() behavior as posted by Jake.Stine in Issue 29. Improves smoothness in games running fullspeed, and lets pcsx2 use the cpu time it needs :)
(Note: You'll see constantly 100% cpu usage now, but pcsx2 doesn't do any "more" work.)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@237 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:25 +02:00
arcum42 39f363262b Remove silly debug message I left in. :(
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@236 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
arcum42 cc7ed023d4 Assorted cleanup on iCOP2.c, with a few minor tweaks.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@235 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes 6776a9bb07 more counter changes.
also found some cool speedhacks that i made into macros in Counters.h:

setting HBLANK_COUNTER_SPEED to '3', makes Kingdom Hearts II double FPS! (i was getting insane speed :p)
setting HBLANK_TIMER_SLOWDOWN to '2', makes God of War alot faster (FPS decreases, but game is faster)

the bad part is that setting one hack, makes some games faster, but other games slower.
like HBLANK_COUNTER_SPEED makes KHII alot faster, but slows down God of War.

these 2 hacks are inverse to each other, so you shouldn't set them both at the same time; and it depends on the game if it'll run faster or slower.

because of the complex nature of these hacks, i'm not adding them to the speed hacks dialog.
they also break the framelimiter... so use at your own risk!

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@234 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00