Note: I'm reasonably sure this is the correct implementation for FINISH. There's a *good* chance this could cause regressions in some other games that use PATH3 or other DMA tricks. This will likely be due to hacks or bugs in the GIF/VIF dma code, and not FINISH. That is, we've been catering to a broken FINISH tag this entire time -- basically telling games the GS paths are clear when they're not. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3320 96395faa-99c1-11dd-bbfe-3dabce05a288
- Some preliminary work on better resets. Also some commented out yet changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3318 96395faa-99c1-11dd-bbfe-3dabce05a288
Revert all reverb area tryouts, caused bleeps in many games (breaking Ys and that shonen jump game, but oh well).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3315 96395faa-99c1-11dd-bbfe-3dabce05a288
Pretty big speedup in games with lots of GIF activity (Soul Calibur 3 goes from 40 to 48fps).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3314 96395faa-99c1-11dd-bbfe-3dabce05a288
- Also adjusted some internal interrupt timers so they don't interrupt so often (when they don't really need to)
All in all you should have a few extra FPS over revisions following r3274
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3305 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fixed a possible infinite recursion problem from my last commit (Fixes Dynasty Warriors 4 crashing...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3299 96395faa-99c1-11dd-bbfe-3dabce05a288
- Fixed some logic for flag propagation. Its a 3% speedup in the titlescreen of GoW (68fps vs 66fps).
- Added a new mVU speedhack which should be very safe. Its a 7% speedup over the new code (73fps vs 68fps), so a 10% speedup over the last revision (73fps vs 66fps).
What the speedhack does:
The VUs have 3 separate flags: Status, Mac, and Clip flags.
Due to the VU's pipeline, there can be up to 4 live instances of these flags during emulation.
The tricky part arises when you're recompiling the end of a block (after a branch), then you must predict if another block will need older flag instances.
These can be accurately predicted in all cases except for indirect jumps, because the destination block is unknown at recompile time.
In this case mVU assumes the worst-case scenario, that all flag instances will be needed, so it performs some flag shuffling to prep the flag instances in such a way that the next block can read them nicely.
What the new "Block Hack" does, is it assumes that the old flag instances won't be needed, which eliminates a lot of flag shuffling causing a speedup.
Currently the Block Hack plays it very safe, in the case of the current block ending with an indirect jump, it still assumes the flag instances will be needed for the subsequent block, so it does nothing different there;
The times the speedhack actually does something is when your current block ends with a branch, and then the following block ends with an indirect jump (or similar cases). In these cases it would be very odd for future blocks to care about old flag instances from 2-blocks ago, which is why this speed hack should be very safe.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3298 96395faa-99c1-11dd-bbfe-3dabce05a288
* Add SkipMpeg for Guilty Gear X Accent Core Plus (Issue 761).
* Set SVN EOL props to LF for the GameIndex.dbf file, since that's what PCSX2 uses when it generates and/or modifies the file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3297 96395faa-99c1-11dd-bbfe-3dabce05a288
Linux note: There's a chance as usual that this might break something in Linux because Linux and Windows STL headers have different dependencies. Namely <algorithm> might still be needed in on some of the PrecompiledHeaders. If so, just re-add it and commit, and make a note: // yes GCC really needs this one :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3295 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix for random crashes when recording movies (F12). It still doesn't seem 100% stable, but it's a heckuva lot better than before.
* Log options dialog behavior bugfixes.
* Cleaned out some old hacks for handling hotkeys from the GS window, and implemented proper use of GSwindow-local hotkey mappings vs. global hotket mappings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3292 96395faa-99c1-11dd-bbfe-3dabce05a288
* GameDB: Remove the game database from the Settings panel, since it's kinda slow still and it started to drive me nuts. I haven't added another menu option to open it up yet (it will be in its own dialog), but I will soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3290 96395faa-99c1-11dd-bbfe-3dabce05a288
- 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
DevNote: Adding SysForwardDefs.h, which I'm going to use for forward declaring a bunch of PCSX2 classes and other simple dependency-free include content. This is the SysCore version of AppForwardDefs, and hopefully helps minimize header file hell.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3276 96395faa-99c1-11dd-bbfe-3dabce05a288
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