Commit Graph

66 Commits

Author SHA1 Message Date
refraction 77f0422e7d Gif Unit: Bugfix for Path3 Masking. Fast and the Furious did some channel swapping which freaks it out. Now remembers if it was called by Path 3 for the DMA rewinding to work correctly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5260 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 22:23:43 +00:00
refraction 2a49700977 GIF: Fix for Terminator 3 & Growlanser 2&3 collection invisible screens.
*Noted small speed boosts on some games (Outrun up from 48fps to 52fps, MGS3 potentially gaining 1fps, Sega Tennis possibly 0.5fps), could be a freak occurrance tho :P

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5228 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-25 14:24:02 +00:00
refraction 8b2ee14b04 GIF: Slight modification to earlier's work, curPath might not have been set right if no APATH at start.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5226 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-24 23:28:53 +00:00
refraction 9bb28d3fec Gif/VIF:
-Path3 Masking Changes, Gif Unit now rolls the DMA back (Path3 only) if it is using the Masking and finishes mid DMA packet.
-Vif modified to be simpler in the transfer loop and fixes issues where Flushes are called at the end of a DMA packet.

Game fixes from changes:
Outrun 2006 - Water textures and general flickering fixed, also SW mode not required for half screen issue. Caused by GIF Path 3 stopping in the wrong place.
Star Wars Episode 3: Revenge of the Sith - DMA timeouts caused by Flush at end of packet.
Had to break savestates (version change!), sorry :(

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5224 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-24 18:46:00 +00:00
refraction 739bcc6886 Path3 Masking: Games should no longer need the EE Timing fix. General fixes for Need for Speed Underground 2 and other games affected by the change. Hopefully Outrun and Terminator 3 will be ok now too, no promises (as i don't have the games)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5222 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-23 16:22:03 +00:00
ramapcsx2 26392e7f3e Change various logs to sound "nicer".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5160 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-17 17:55:51 +00:00
refraction d29a30c265 VIF: Reworked the VU delays in to scheduled events to simulate VU run time without killing Metal Saga or Fahrenheit. Adjusted the COP checks on the VU's to use the same method as the VPU_STAT is never set essentially so the VU is never "running".
Path3 Masking: Fixed a bug which caused persona 3 not to boot, previous a hack had been put in place to get around this.
VIF: Fixed a VIF error with the rare game Realta Nua, now goes through the prologue correctly. Game requires the EE timing hack to get rid of most of the noise (Path3 masking problem with new GIF unit, unfixable).

Expecting bugs, I will be monitoring this.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5147 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-07 01:48:34 +00:00
refraction 09af07d954 Morphed the Hotwheels hack into a gamefix to be safe!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4890 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-29 23:05:22 +00:00
refraction c355393b5b Vif/Gif: Hack for Hotwheels World Race, should be pretty harmless at it's very rare conditions.
(Note: Game runs better on ZeroGS than GSDX)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4889 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-29 21:54:23 +00:00
cottonvibes ac9bf45f98 pcsx2: Implemented Threaded VU1 :D
Threading VU1 took a lot of rewrites and new code to make possible (MTGS, microVU, gifUnit...), but we finally got to the point where it was feasible, and now we've done it! (so now everyone can stop complaining that pcsx2 only takes advantages of 2 cores :p).

The speedups in the games that benefit from it are great if you have a cpu with 3+ cores (generally a 10~45% speedup), however games that are GS limited can be a slowdown (especially on dual core cpu's).

The option can be found in the speedhacks section as "MTVU (Multi-Threaded microVU1)". And when enabled it should should show the VU thread-time percentage on the title bar window (Like we currently do for EE/GS/UI threads).

It is listed as a speedhack because in order for threading VU1 to have been a speedup, we need to assume that games will not send gif packets containing Signal/Finish/Label commands from path 1 (vu1's xgkick). The good news is very-few games ever do this, so the compatibility of MTVU is very high (a game that does do this will likely hang).

Note: vs2010 builds and Linux builds need to be updated to include "MTVU.h" and "MTVU.cpp".


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4865 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-12 02:31:49 +00:00
cottonvibes f816748d72 microVU:
- Fixed a bug with mVU's ESIN implementation. This finally fixes the flower-petal bug in Radiata Stories (and hopefully the clouds-bug in VP2 but havn't tested). Rama and I have wanted to fix this for a long time, but never knew the problem :p
- Improved implementation of some undefined behavior that happens on branches to take into account pipeline stalls. 

gif / vif:
- Added some logging code that parses gif packets. It can be enabled by the PRINT_GIF_PACKET macro in Gif.h
- Deleted some old gif code.
- On ReadFIFO_VIF1() clear the out-reg to prevent uninitialized results in case GSreadFIFO() doesn't modify it...
- Create a fallback for GSreadFIFO2() so that its always defined (as long as the plugin implements GSreadFIFO()) 

pcsx2:
- Organized the virtual folders in vs2008 a bit...

Note: vs2010 and Linux builds need to be modified to add Gif_Logger.cpp and delete GIFpath.cpp


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4835 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-01 03:16:42 +00:00
cottonvibes c918df60d2 newGif: do what r4829 did, except only flush the gs primitives to the mtgs when theres going to be a GS download (busdir=1).
this should be the only time that an explicit flushing is needed.
doing it this way should be faster than flushing every incomplete gs packet like r4829 was doing...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4831 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-27 03:55:43 +00:00
ramapcsx2 c2c19d7e96 New GIF: Quick fix from Cotton, fixes ICO and hopefully Tekken 4.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4830 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-26 17:53:54 +00:00
cottonvibes d8149fdb8b newGif: send complete gs primitive packets to the gs plugin even if eop wasn't detected. this is needed for games that do GS->EE downloads to make sure the gs plugin is up-to-date with the sent gif data.
fixes Bleach bankai problem, and probably other games (wizardry/growlancer 3) but haven't tested...
Also removed a vif FlushA hack that used to be needed for tekken 4/gitaroo man but not anymore...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4829 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-26 08:47:47 +00:00
arcum42 0b09b84526 Fix Linux so that it compiles.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4827 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 10:24:05 +00:00
cottonvibes c05dc759e3 Big gif transfer code rewrite!
Pcsx2 now has a gifUnit class which acts like the ps2's gif and executes a single gif transfer at a time (and performs path arbitration according to priority and path3 slicing).

This new code is generally a speedup for most games. Particularly VU heavy games like GoW.
This revision breaks old saved state compatibility so don't update if you wish to keep playing with your old saved states.
Leave comments if this revision fixes or breaks anything...

Message to GS Plugin authors:
This new code now uses only 1 gif callback to transfer data to the gs plugin (GSgifTransfer).
pcsx2 also is garaunteed to send full GS primitives to the plugin. So you don't have to account for partial-transfers anymore.

Thanks goes out to shadowlady who tested around 500 games for me :D

Note 1: The old gif code is still in this revision, and can be enabled by the USE_OLD_GIF macro. The old code will be deleted soon.
Note 2: This revision also enables assertion dialogs in devel builds, and changed a lot of assume cases into assertions.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4821 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-24 13:02:50 +00:00