Commit Graph

363 Commits

Author SHA1 Message Date
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
ramapcsx2 e76b830d8c SPU2Ghz: More improvements and cleanup
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@233 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
ramapcsx2 ef6b4d136f Small tweak to the auto-timestretch. It now turns off only after the game runs at stable fullspeed for a while.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@232 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
ramapcsx2 54280950ef SPU2Ghz: Made the timestretcher automatically turn on/off based on game speed. This is possible thanks to recent changes by Jake.Stine :)
The way it works now, it makes it completely automatic for the user.
If the buffers over/underflow the stretcher enables itself.
Once it decides that game speed is fine again, it disables itself.

This works really great here, but please comment if it causes trouble for you.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@231 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
ramapcsx2 89294b2d19 Hah! Since the last SPU2 update was so great I sent my local project files along the way :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@230 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
ramapcsx2 37f2a95289 Jake.Stine "completed" his work on SPU2Ghz, I tested a whole lot of games with this and it sounds great! Savestates work very well, the mixer is fast, even the dreaded buffer over/underflows are handled quite well (even without timestretch!).
All in all great additions which imo make SPU2Ghz the best SPU2 plugin to use now :)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@229 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes 55ba76be5d major counters changes; i rewrote the vSync/vBlank/hBlank algorithms. they still need some more tweaks though; and i need to check if the other counters are doing their jobs correctly.
also fixed the counters bug introduced in r220.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@228 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
ramapcsx2 ee9dcd4130 SPU2Ghz: Updated to include Jake.Stine's latest work. Some issues still exist, but will be fixed soon.
Also made the speedlimiter switch toggle timestretch for easier debugging and convenience :)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@227 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
ramapcsx2 e4b3c6e649 SPU2Ghz: Disabled ZeroSPU2 compatibility mode for savestates. This should enable users to load savestates created with that plugin again. (compatibility mode was crashing too much)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@226 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
arcum42 ac6cccef88 Fix the compilation break caused by a misplaced character in the last commit.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@225 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
arcum42 c8b22145dd Commit the patch listed in Issue 26, to fix compilation issues on some Linux systems, mine not included.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@224 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes 2d450531cc reverted last counters change for now.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@223 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes 9bd2fef1a5 counters.c optimizations
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@222 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
arcum42 747cded0e1 Fix Atelier Iris 2/3 issue from r220, and devbuild issue from a few revisions ago.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@221 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes 42814820b0 more accurate counters
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@220 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes a6399cd633 updated ZeroFrog's change from the official PCSX2 svn 396
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@219 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes caca9f3e11 i think this was a big problem with freezexmmregs_()
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@218 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00
cottonvibes ef60afb441 minor counters changes
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@217 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:24 +02:00