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
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