arcum42
640d742006
Fix Linux build, and disable obsolete haxks / gamefixes in it.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@378 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
bb59e66d0b
MTGS: Fixed yet another race condition. This one was most apparent on Digital Devil Saga and would cause the game to freeze at random intervals. May have caused small visual artifacts on other games as well. Also improved the Linux/pthreads code to remove compile errors.
...
Rolled back a previous accidental commit of experimental EE_WAIT_CYCLE values.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@377 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
b585641029
Another MTGS fix. This one was a known bug that I was saving for last, and in fixing it I was able to roll back the hack-fix for in-game stalls from r375.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@376 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
6043dd643a
MTGS: Fixed stalls in some games that sometimes did a lot of GS register manipulation. Also fixed a compilation error when using Debud/Release builds (stupid typo).
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@375 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
b9b320fadb
Major code cleanups to the MTGS code, plus a new faster, friendlier, and more stable MTGS startup/shutdown system.
...
Fixed a bug where the emulator would become unstable if any plugins failed to init when starting a game. Users can now safely change out to a working plugin and try again without having to completely restart the emu anymore.
Ported MTGS code into pthreads and added linux-equivalent functions for missing InterlockedExchanges.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@374 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
788dcd7e01
New "nothing" button in speedhacks.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@373 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
78d68dd714
Removed 2 obsolete hacks / gamefixes.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@372 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
816ffb7cba
Mostly unbreak Linux 64 and debug builds, though it still needs more testing. (With thanks to Jake)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@371 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
3c91c750e7
Apply some of the changes from r367 to Linux and 64 bit versions. Also add a 'Normal' button to the (Linux) speedhack dialog.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@370 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
464e95742e
Added a few things previously missing from the EE/IOP reset code. Resetting games and the BIOS should be a lot more stable now.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@369 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
8c61bacf05
Fixed a minor bug in the psx counters that would have prevented Counter 1's vsync gate from operating. I don't know of a single game yet that uses IOP counter gates, so it probably won't affect anything anyway. ;)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@368 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
2b8f13e8c8
-Updates to the configuration dialogues -Removed Fastbranches hack
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@367 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
db67ecb03c
Oops! I accidentally left in a debug logging option in the last revision that would cause the pcsx2 console to be spammed 60 times a second in Debug and Release builds. >_<
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@366 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
98beccb2bc
(no functional changes) Many code cleanups of the MTGS, and removed the PCSX2_PUBLIC define. I was stupid when I created it and didn't realize the PCSX2_DEVBUILD define is basically the same thing.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@365 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
97d72e2474
Made the MTGS run ~4% faster.
...
Important Info for Dual Core users only: This is MTGS only, and does not apply to DualCore mode. Additionally, basic MTGS mode is now as fast or faster than DualCore mode for many games.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@364 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
2cd7672d57
- Improved the Frameskip and VUskip algorithms. Frameskip should no longer 'liberally' skip frames for no good reason, and is now a bit more efficient for games that run "on the cusp" of full framerate (the old code would actually throttle the skipped frames to 60 fps, reducing the effectiveness of the skips).
...
- Changed the vRender/vBlank ratios back to 50%. Even though 75/25% should be more correct, many games run better with 50% (I'd love to understand why someday!)
- Rolled back EE_WAIT_CYCLES to 512 since there are still sync issues (but they aren't IOP this time! It's to do with the COP0 instead)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@363 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
dcd3eaca10
EE Interpreter is (mostly) fixed now.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@362 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
af7949f4ad
Fixed a bug in the MTGS that caused very sporadic bad packets and crashes in some games.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@361 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
c8857fa7b4
Better fix for the broken savestates in the previous version. NOTICE: Savestates created with r359 will *not* work and will *never* work in the future (they are effectively bugged). All other saves created with any previous versions of pcsx2 playground or pcsx2 0.9.5 should function properly now.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@360 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
361afda5ed
Some updates by Jake and 2 lines from me, hope this fixes savestates. Please test guys :)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@359 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
266875132d
Fix for custom frame limit crashing pcsx2 on startup. Thanks to tmkkmac for spotting it ;)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@358 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
278f164683
Small cleanup, thanks to the MTGS rewrite the optimize pragma isn't needed for PGO anymore.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@357 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
ed4492fd63
Revert the bit of r326 that I believe was actually causing the Linux issues. (Should negate the need for 354 & 355.)
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@356 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
13d179b70a
Oops. Comment out debug message I left in.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@355 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
acb1ab1c29
Horrible, nasty workaround to the Linux cpu sseMXCSR bug.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@354 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
ramapcsx2
e47f14f4d5
Fixed the fix from rev339 (I hope) :p
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@353 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
958071dcf4
Applied patch from Issue 43 - GIF_LOG had bad/outdated calls for Reads.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@352 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
2f83a56dc3
Fixed a dumb bug on my part that caused some games (FFXII) to crash when loading savestates.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@351 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
f86f2cfb5e
Fix latest Linux compile breakage.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@350 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
07a6979176
Resolved random crashing in MTGS modes, and added some handy debugging items to the MTGS code along the way.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@349 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
467d7a8963
Even if it is broken, lets make the 64 bit build compilable as well.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@348 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
arcum42
32ccde667d
Fix compiling on Linux.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@347 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
20a69d222e
Set cpuTestTIMR to be called every branch again, and made some tweaks to the MTGS code. These changes *appear* to fix Final Fantasy crashes in r345.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@346 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:28 +02:00
Jake.Stine
f6ecf0bd68
New EE/IOP synchronization system -- found the root cause of many synchronization problems by issuing an IOP branch test after BIOS calls. That allowed me to get rid of the overly complicated adaptive EE_WAIT_CYCLES mess from r291 and replace it with a much cleaner and more efficient branching system. Also fixed a few bugs where-by the IOP would run waaaay ahead of the EE (leading to skippy sound, slowdowns, other things), and also a bug that caused crashes when resetting or starting new games.
...
Note: New IOP Counters code is a Work-in-Progress. Should be fine for most games, but if a game uses the IOP counter gates it might break. Will finish them soon!
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@345 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine
2f23574430
More MTGS improvements and cleanups. I actually changed some of how the MTGS ring buffer is managed this time, so it might introduce some bugs (lets hope not!).
...
Removed the SPU2timestretch auto-enable/disable code. Also added checks for frameskipping support to the F4 keypress (just in case).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@344 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42
2f08ff5e70
Clean up some nasty #ifdefs in a few functions, which involved somewhat of a rewrite of those particular functions.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@343 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42
a56b32fe18
Revise the x84 / x32 separation on several functions so it's more sane, remove an unneccessary def, and get rid of a bunch more places where variables were being assigned inside of if statements.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@342 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine
5a5c22e19a
Cleaned up some parts of the Multithreaded GS code (MTGS), and made some notes.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@341 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine
83f0c75dfb
Set a few of the IRQ handlers to __forceinline since they're only called from one place (cpuBranchTest, psxBranchTest). Changed all uses of _inline to __forceinline as well, since _inline is a useless keyword [all modern compilers by default assume _inline status on everything].
...
Also a few code cleanups and fixme's marking unused/unreferenced functions.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@340 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2
e0a35a3aa6
"Fixed" the 2 games I have that suffer from the damage calculation bug by using the code of rpropMMI's mult1. This fix isn't final yet, but for the sake of testing... you know :p
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@339 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2
c26c73c44b
Update to bring this bug to attention. Finally found the bug that causes Soul Nomad damage calculations being wrong. I imagine it has a very high impact on game compatibility.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@338 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42
098e6b509b
Minor iCore.c changes. A few if/else statements are now case statements, a few compiler warnings are taken care of, a few variables are no longer assigned inside if statements, etc...
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@337 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine
d24add597e
Wee improvement to how the Win32 GUI handles Run->Execute. It'll now resume the existing cpu state instead of starting a new one. The old code had a tendency to get desync'd because it didn't complete the in-progress BranchTest execution (not good).
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@336 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine
a9e06593ba
Removed some redundant conditionals from the testINTC and testDMAC calls in the eeRecs.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@335 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine
96560444ea
SPU2ghz: Fixed a memory corruption bug in the rolled back DMA write code. Hopefully this DMA write code will fix that bug without breaking Arc the Lad and similar games.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@334 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2
7e828a69ee
SPU2Ghz: Had to revert dma.cpp to rev244 for the most part. The dma cache system in DoDMAWrite() broke Arc the Lad dma audio. The auido starts to loop a bit in rev 264 and from there on it gets worse.
...
Sorry for not finding this earlier, I hope the cache can get fixed so we can include it again.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@333 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2
d0c0b20505
Changed the naming of the 2 SET_HWLOC's to differentiate between IOP and EE.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@332 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42
8a9aafdee7
Turn a few defines into inlined functions, and remove a few unneeded comments.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@331 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42
2ecf6d1372
Comment out broken MTGS logging code. Disable Logging menu in Linux if not a devbuild.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@330 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2
0cb03d20a7
Reverted most changes from r326, the excessive code will get used later. Also removed some dead code that's been in the eerec for ages.
...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@329 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00