Commit Graph

425 Commits

Author SHA1 Message Date
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