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