Commit Graph

354 Commits

Author SHA1 Message Date
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
arcum42 7fd2888335 Minor Linux tweaks. Merge a patch in, make another easier to apply, and take a stab at the SpinButton issue...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@328 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2 f5872ce7a7 This should un-break the Linux build, yes some guys are using Linux! :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@327 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2 7c054f247a A commit for review, there's some unclear counters code. Also added a more precise NTSC vsync rate.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@326 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2 211cac44e5 Forgot this one, sorry :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@325 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2 996fbc3931 This was supposed to be a bigger commit concerning loopy audio in Dawn of Mana FMV, but it looks like its not so easy to fix. So this here is some cleanup I did along the way ;)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@324 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42 97f41ff177 Ok, so some people out there use windows, too. Fix pcsx2 on Windows...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@323 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42 1c8d922eac It's log, it's log, it's big, it's heavy, it's wood...
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@322 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42 3ff019fde3 Bring the Linux Cpu dialog in line with the main project; Remove broken Linux vmbuild code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@321 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
gigaherz dd7f8807ac OMFG gigaherz is commiting something! RUN!
So rama made me notice the "sanity" checks on the TimeUpdate stuff,
I read it, and it kinda scared me that it happily dropped the sync as soon as the audio was 0.002 seconds out of sync!
I changed it so the "sanity recovery" code only kicks in when there's over 0.1 seconds desync in clock numbers,
which seems a LOT more reasonable.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@320 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine a7db736e6b bugfix: Frameskip options in the CPU dialog didn't save and load right. ( Issue 41 )
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@319 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42 b004b8e712 Match the Gui changes in the last version in Linux, and clean up what gets sent to gcc a bit, so it doesn't get the same flage multiple times.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@318 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine 58a48b7b3a Big update; should fix most or all of the problems introduced in recent revisions. Extended summary follows:
New EE/IOP sync method: The EE can now "throttle" itself between high and low resolution wait cycles.  High res cycles are engaged when certain time-critical ints and BIOS calls are done.  Meanwhile, low-res mode uses much less cpu.

vs2008 project: Added a "PUBLIC" define to the 'Release (to Public)' build type.  It can be used to ifdef code that should only be excluded when creating official builds and releases.

Renamed INT() macro into CPU_INT() function.  INT() is also a Win32 define so renaming helps alleviate confusion and lets VS IDE's code database browser work better when trying to list references of the function.

Fixed some lingering inaccuracies in the EE h/vsync counters introduced at r246.

Removed the Use Fast Branches option (for now) as it's not compatible with the new EE/IOP sync (yet).

Added fflush() to the emu log so that it doesn't get cut off prematurely if the emulator crashes.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@317 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42 d49f177706 Make Linux build compile, and mirror 32 bit changes to 64 bit.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@316 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine dc12877b8b Added some compiler hints to help the IPU optimize a little better. It had several candidiates for forced inlining.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@315 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
ramapcsx2 01b03d3707 Made a huge hack concerning the counter multipliers less buggy. Still needs proper fixing.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@314 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine 10f2121ed4 Fixed the previous fix!
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@313 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine 8fe6b24cc2 Fixed bug where plugin configuration changes didn't take effect until restart. Plus a few code cleanups.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@312 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
arcum42 44699ebf68 Remove some commented out code and inline a few defines.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@311 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
arcum42 fe1c4a0aef Include the svn revision in Linux, add an --enable-sse4, since it looks like it should have been in there, and disable the --enable-vmbuild flag, since I'm not sure it ever worked in Linux.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@310 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
arcum42 6a41d4c782 Get rid of the worst of the defines in the Linux code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@309 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
arcum42 6ba744dea2 Replace half a dozen nearly identical functions with one in the Linux code.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@308 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00