Commit Graph

113 Commits

Author SHA1 Message Date
refraction ca2d9b0469 Vif Unpacks: Fixed Issue 1325 with Non-SSE4 processors.
Put in some handling for MPG Overflows (VIF command, not videos :P)
Fixed another SSE Unpack bug i came across - Effected THPS Project 8

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5392 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-25 19:09:29 +00:00
refraction d465c18228 More vif work to fix Shadowman 2 and improve the function of some parts. Gave vifstalled a more specific job and reasons for the stall. Also did some work with the irq offset, seperating it from the stalls.
Savestate bump needed.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5380 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-16 23:03:27 +00:00
sudonim1@gmail.com 6669b7d6ef Game fixes: Extended the OPH hack a bit to set APATH to each path in turn in addition. Should make the hack fix some Eurocom games (Sphinx and the Cursed Mummy, some Buffy thing, others?)
VIF: changed a memcpy_aligned on 64-bit aligned data to memcpy_fast.  Doesn't matter with the current memcpy set we use but could have caused a crash in the future.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5373 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-14 22:30:04 +00:00
refraction f19c0b7ca9 VIF: Some optimizations for the VIF Rec, some small clean-up/optimizations for VIF itself.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5368 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-13 19:11:34 +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
refraction de62189834 Path3 Masking: Fix for Need For Speed Underground - This got broken when the new GIF Unit went in, probably affects many games which use streams of NOP commands before issuing the mask. Game still requires EE Timing Fix however.
VIF Stall Delay hack: Modified slightly for Onimusha Blade Warriors.  This expects the end of the packet to all be in the VIF1 FIFO (which doesn't exist) and the VIF to have finished, so the Stall is technically ignored now, doesn't hurt SOCOM 2.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5220 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-22 12:31:56 +00:00
refraction 6c878aa2eb Removed the cycle counting from the new changes for now as there is a considerable speed hit, possibly later we can put a speed hack in there or game fix to emulate the timings correctly, unfortunately it can be a little too heavy.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5151 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-07 16:55:42 +00:00
refraction b3f8c59cf4 -Bumped savestate version, forgot to do that in my last commit.
-Fixed a bug stopping GT4 running.
-VIF now waits if the VU is busy rather than spinning, causing huge slowdowns.
-Filled in some bits i missed

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5149 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-07 12:27:19 +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
ramapcsx2 54688f1f98 Reverted r4942 as some games need this to work..
Fixes Metal Saga menus and should fix Fahrenheit, too.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4962 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-07 16:08:30 +00:00
refraction 702f71d5f1 VIF: Removed the vu cycle counting craziness mentioned in r4941 comments. It was intended to pretend if the VU "ran" for longer than the VIF did, but it didn't really change a lot :P
Savestate version bump again

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4942 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-18 18:16:27 +00:00
ramapcsx2 d3f286e120 Fixed pretty bad bug of us counting cycles only for one VIF when the system has 2.
Also added a couple important global variables to be savestated (breaks old state compat).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4941 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-15 10:45:31 +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 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
cottonvibes 7e1be9c489 pcsx2: deleted a lot of the old gif code.
some bits were kept for reference and should be deleted in the future (along with the entire GIFpath.cpp)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4823 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-24 22:24:10 +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
refraction e615fe1c08 Added GameFix for Transformers and Test Drive Unlimited to solve the slow booting issue, Test Drive is now playable at least :P. Also tidied up a small bit of VIF DIRECT/HL, no functional changes made.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4608 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-30 18:30:31 +00:00
refraction 85899961be Path3 Masking: Fix for Resident Evil Dead Aim (also fixed the occasional glitch i mentioned in my last Path3 commit)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4310 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-17 22:06:10 +00:00
refraction ba765e1d22 Fixup Spiderman and Killzone from r4278
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4281 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-01 19:21:53 +00:00
refraction 3fb753d463 PATH3 Masking: Tweaks mainly for Path3Masking to fix TOCA3, This is the best Path3 masking is ever going to get, there might be an occasional glitch, but nothing major *fingers crossed*, Now have the ability to log Path3 stuff seperately which will help if problems do arise.
Cleaned up Gifdma a little, removing duplicate code. Disabled a few console writes we dont nee really.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4278 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-01 01:24:37 +00:00
refraction 07bb54acc4 Fix for GTC Africa Jerkyness (Placement issue), Fix for Aura for Laura demo causing graphical errors, was multiplying VU Cycles by BIAS twice, not really clever :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4239 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-21 15:17:29 +00:00
refraction 41fc6feaf7 Fixes for Ikusa, Kinetica and Need for Speed Underground, should all be working again (or as good as before r3274)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4081 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-11 00:29:20 +00:00
refraction 5f1ccc767e Fixed a bug in partial DIRECT/HL transfers, Fixes Ape Escape hang going ingame.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4057 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-26 20:50:28 +00:00
refraction 96ef86f560 - Standardized DMA Source chains, all DMA's now act exactly the same (within reason) Explanation for this in Hw.cpp. Consequently this fixed a hack id done for FFX videos (Not the one there is a game fix for)
- Slight tweak to Path3 masking, an overlooked situation where Path3 can wait between GIFTags.
- Improved the stability of MFIFO on both sides greatly for games such at Tekken Tag (which boots again) Gran Turismo 4 and FF7 Dirge of Cerberus.

I'm expecting *Something* to break, so please report it here if something does, please make sure it is THIS revision.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4035 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-19 16:29:28 +00:00
Jake.Stine 2d9d3a6b5c trunk/stable: logging additions for VPU's VIFcodes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3914 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-11 13:55:28 +00:00
Jake.Stine 59ebdf3e60 GCC compilation fixes.
(note to devs: a sure-fire fix for GCC's templated function problems is to typecast the templated function to itself explicitly -- works nicely for all versions of GCC and the ?: operator as well).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3763 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 22:52:04 +00:00
Jake.Stine 2f8f86a3eb Significant VIFunpack retooling. Interpreters are considerably more efficient, and Recompilers are slightly more efficient. Details:
* All remaining code for handling partial/fragmented unpacks removed.
 * vifRegs.NUM is now accurately simulated when queuing data from fragmented unpacks.
 * Reduced the VIFunpack fragment buffer from 1MB to 4KB (max size of an unpack due to NUM being limited to 8 bits).
 * Removed vif/vifRegs globals formally used by VIF interpreters (everything relies on the templated vifIdx now -- simpler and faster!)
 * g_vifMask vars are integrated into vifStruct.
 * All VIF mask register stuff uses the SSE-friendly vifStruct.MaskRow/Col vars now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3762 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 21:13:10 +00:00
Jake.Stine 1edb900405 Changed a few more -> to . for consistency.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3707 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 13:06:53 +00:00
Jake.Stine 003da7d287 MAJOR: All new hwRead and hwWrite handlers (expect regressions). Details:
* Writes via 16 and 8 bit ops now use 32-bit read/modify/write operations by default; which should enable nearly complete support for all such operations (instead of the formerly spotty coverage before).
 * Eliminated almost all former 8/16-bit specific register operations.  All code shares the same 32 bit handlers now.
 * Completely revamped the developer trace logs for hardware registers!  *ALL* registers are logged now, complete with address, name, and value being read/written (and nicely formatted!).
 * Handlers are now fully page-based using templated functions (minor speedup)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3704 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:22:26 +00:00
Jake.Stine bda94b16cd General emulator memory work, regarding my new policy that most (or all) cpu and hardware registers should be standard globals, as it makes our lives a lot easier in general (and their memory footprint is small so it won't adversely affect the virtual memory availability of the host operating systems). Details:
* Removed the hacky g_pVU1 pointer, which required VU1 cpu registers to be part of VU0.  Replaced it with a standard VU1 variable (mimics all other CPU registers, which are standard static vars).  We were using translation functions/tables for all VU0 memory operations anyway, so this was a no-brainer.
 * Removed code from microVU that was only there to help deal with the fact that g_pVU1 was annoying.
 * Turned eeMem->HW into a static global array eeHw [64k].

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3692 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-27 03:21:16 +00:00
refraction 45b7a18c8b Missed a couple of bits :P
Small OPH/APATH clear which shouldn't have been there.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3633 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-11 09:48:43 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
Jake.Stine 912872af80 Introducing a mostly revamped Tracelog and Console log system. Various console log sources can now be toggled on/off on the fly, allowing end users to enable more verbose logging when they encounter problems. Both console and trace sources can be given automatic prefixing.
DevNotes:  DevCon logs are now available in *Release* builds as well as Devel builds, and can be enabled from the Console window's "Sources" menu.  They are disabled by default in Release builds, and are always enabled regardless of the ini setting in devel builds.  Debug logs are still strictly available in debug builds only.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3609 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 05:46:09 +00:00
Jake.Stine bc849cc042 Merge const qualifiers and cleanups from ReorderingMTGS: Includes the VIF DIRECT changes, which seem to be stable this time. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3549 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 12:20:11 +00:00
Jake.Stine 4f62554702 ReorderingMTGS: Revert changes to Vif_Codes.cpp from earlier, until other bugs in VIF processing can be resolved. (fixes ICO bootup).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3519 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 18:05:13 +00:00
Jake.Stine 5bbdb68896 ReorderingMTGS: Assertion fixes, some comments notes on MARK behavior.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3504 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 20:31:00 +00:00
Jake.Stine 32942ec9a6 ReorderingMTGS:
* Added a few assertions to detect when PATH transfers are started that violate other pending PATH transfers.
 * Removed a lot of obsolete code from vif1's DIRECT handler (Vif_Codes.cpp)
 * Add alignment to Path1buffer to avoid SSE alignment faults.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3503 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 16:48:08 +00:00
Jake.Stine a9084741bc ReorderingMTGS:
* Implemented GIFPath_CopyTag, which performs a "copy-in-place" while parsing tags (big speedup over the old parse-then-copy strategy, especially with the SSE intrinsics I've included for kicks).
 * Removed the old ringbuffer 'restart' mechanism and replaced it with a truly free-flowing wrapping mechanism.  Utilizes the ringbuffer more efficiently, and removes quite a bit of overhead from the MTGS's PrepDataPacket call.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3458 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 04:53:50 +00:00
refraction b003a3bd47 SIGNAL! Area 51 WORKS! Soul Calibur 3 WORKS! probably broke loads! :P But thats the first time Area 51 has worked in years.
Only kidding, it should be awsome now, Also added a debug message incase some Paths are queued on a FINISH, any broken graphics when this shows up (or failure to load) should be reported asap!

Thanks to jake for his hard work getting signal and my optimizations working :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3400 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-06 17:25:02 +00:00
Jake.Stine 4f9a5c6876 Remove all MMX and XMM register freeze code.
DevNote: I could have left the code for the freezes in, except I *really* don't want us to ever have to resort to using such a system ever again in the future.  For anything. (its just not safe on modern optimizing compilers)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3392 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 01:12:38 +00:00
refraction 25887c62ee -Sorted some VIF problems causing unknown vifcmd errors (Enter the Matrix)
-Fixed up some path3 masking stuff, trying a slightly different approach too.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3349 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-30 00:55:22 +00:00
refraction b911ce1443 Game fixes:
- Batman Returns Issue 709 . 
- Fixed flashing in Sega Superstars Tennis. 
- Clawed back some of the speed loss from the XGKick delays.

Detailed changes:
- CALL Tag DMAs that contain invalid next tag addresses ignore the call (Batman started sending corrupt information from invalid addresses)
- VU1 now flushes any pending transfers if it's trying to send another and doesnt process any packed/list regs
- Batman was checking for OPH to be high, this was a timing thing, something id completely got rid of accidently (same for APATH)
- XGKick will no longer queue if PATH3 is interrupted

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3285 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 14:55:57 +00:00
Jake.Stine d24a15e0f9 Removed the TestOnly parameter on the MTGS packet sender, and replaced it with a direct call to GIFPath_ParseTag. Simpler, more efficient, and avoids constant assertion failures when running PCSX2 in debug mode. :D
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3275 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 01:13:01 +00:00
refraction 26fece9510 Summary of fixes
Games
- Resident Evil Dead Aim flickering graphics fixed.
- Flatout games should now boot everytime (instead of randomly)
- Sega Superstar Tennis flashing fixed
- Destruction Derby graphics fixed (NTSC confirmed, PAL unsure)
- Tenchu Fatal Shadows flickering textures fixed, Issue 748
- Spyro Hero's Tail should boot again, Issue 746

General Info
- General reworking of the GS paths with all paths prioritizing more correctly.
- XGKICK can stall if another GS transfer is in progress
- Major reworking of Path3 masking, could still be combined with normal Path3 transfers, but lets get it working first :P
- Taken in to account a few conditions which could have caused VIF to lock up/crash when stalling on ends.
- Unreversed GIF and SPR and VIF so its the normal way round
- all DMA paths should now resume correctly after being stopped by hardware
- GIF FIFO now actually transfers stuff :P
- VIF CMD's simulated by the length of the interrupts at the end.

Phew, i think that's everything :S

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3274 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 23:10:40 +00:00
refraction fbf2a59b32 Fix for Killzone from r2954, also cleaned up some other OPH's that had been missed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2969 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-09 16:13:27 +00:00
sudonim1 7c6f8877e8 Found wizardry / growlanser 2 & 3 hanging bug thanks to rama. OPH flag in GIF_STAT was misinterpreted (probably). It needs to be set on download, not upload.
Also clean-up/fix of GS download logic.  Might fix something if we're very lucky.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2954 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-06 00:43:13 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
refraction 69d08baef6 Cleaned up a couple of Path3 Masking bugs which stood out, might fix some of the remaining glitches
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2929 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-30 12:14:35 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
sudonim1 a05e9c62be Set svn:eol-style=native on all *.c *.cpp *.h
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2894 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 21:37:39 +00:00
refraction 6382f6811b - Improved Path3 Masking, Should fix Sega Superstars Tennis and hopefully improve Star Wars Episode 3 some.
- Fixed bug in the GIF_Tag decoding which caused huge QWC values on GIF if the FIFO was "read" beforehand.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2862 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-15 22:26:39 +00:00
refraction 40bdbf9748 Fixes for r2853.
- BIOS works again, Issue involving GIF Tag looping from the VU (which must have never worked!)
- Fixed KH freeze issue, possibly fixes Onimusha 2 as well. Thx Arcum for spotting it, thanks Rama for trying to bring fast resolution to the issue (however it wasnt quite right)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2856 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-15 10:48:44 +00:00
refraction b1954edc3d - Better implementation of Reverse FIFO (Fatal Frame QWC Warning and more!)
- Improved handling of suspended DMA's, Also some traps in case DMA values are changed during suspend (please report if they don't start with 5 or 6)
- Better handling of GS Path priorities, this improves many Path3 Masked games such as Star Wars Episode 3, Gran Turismo 4 (slightly) and Videos like Digital Devil Saga/FFX
- Removed Voodoo Cycles
- Doesn't kill everything this time :P

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2853 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-15 00:32:58 +00:00
ramapcsx2 04eb79093d Revision 2822 contains a bug somewhere that we need to figure out.
So this reverts all VIF and GIF related code of that revision, 
leaving only the changes that were made to IPU.

Compatibility should be fixed again, with the added bonus of lots more videos working. 

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2828 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-09 15:15:43 +00:00
refraction 774411e3a4 Pleanty O' Changes:
- IPU 1 DMA rewritten - now much more readable, less hacky. A couple of games are still slightly picky, but overall compatability is similar (if not better in some cases)
- Reverse VIF transfers figured out and implemented (mostly)! - There are still some problems with this, will work on it.
- Improved GS PATH transfer control, now PATH2 and 3 cant transfer when PATH1 is, PATH3 cant when PATH2 is and so on.
- IPU now waits for ended GS transfers, for some reason this was screwing videos (mainly from PATH2) and causing them to be torn, which the original voodoo cycles addition fixed.

Note: You may see a lot of "Double IRQ on DMA 4" messages.  At the moment these are unavoidable but aren't actually causing any issues. I do know about them :P

Feel free to negative is I've seriously broke something lol

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2822 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-08 01:22:30 +00:00
refraction 46c39081c7 Fix for some freaky corruption caused by more than 1 GS transfer happening at once (mostly PATH 2/3 due to data types) - Example fixed Tekken 5 Devil Mode HUD
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2738 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-19 00:21:46 +00:00
Jake.Stine 0d03b06708 Changing a Freeze to Thaw: Running VIFcodes saved XMM regs but never restored them. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2672 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-05 14:27:22 +00:00
cottonvibes c144913ede Vif:
- Deleted old vif transfer code.
- Deleted Vif_Commands.cpp
- Added Vif_Transfer.cpp


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2622 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-22 02:04:55 +00:00
cottonvibes 19b65d52c1 Set vif0 to use the new vif transfer code...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2612 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-20 04:23:28 +00:00
cottonvibes 2b4bb88526 Fixed a bug in my vif transfer rewrite that was causing problems in gt4, so re-enabling the code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2610 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-20 02:05:00 +00:00
arcum42 e17bf47470 Fix up last commit for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2604 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-18 10:07:15 +00:00
cottonvibes d379a1b010 Vif1: Rewrote a lot of stuff, lets see if this fixes or breaks anything.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2603 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-18 08:37:02 +00:00