Commit Graph

2865 Commits

Author SHA1 Message Date
refraction c59022cc68 - Optimized the ParseTag function a little and made a quick one for delayed PATH1 transfers.
- 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
2010-06-25 19:10:05 +00:00
Jake.Stine 2200a79979 Re-re-re-fix linux/gcc >_< (all that was actually missing was a 'struct' keyword .. grr msvc being smart and auto-deducing the type for me)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3304 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 15:26:51 +00:00
arcum42 334eab37c5 Get Linux to compile again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3303 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 12:17:29 +00:00
Jake.Stine e145f9dd67 Refactoring: Split FixedPointTypes.h into an h/inl setup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3302 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 11:12:24 +00:00
arcum42 93937901c5 pcsx2: Rearrange dmaGetAddr a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3301 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 10:49:20 +00:00
arcum42 26c497ceea pcsx2: Added back a few headers. A non POD-safe argument was fixed. Commented out some unused variables. And added a few helper functions for later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3300 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 09:18:14 +00:00
cottonvibes 5b16838591 microVU:
- 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
2010-06-25 07:40:32 +00:00
cottonvibes 25e63c243d microVU:
- 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
2010-06-25 06:28:23 +00:00
Jake.Stine 8d25bb8a69 GameDB:
* 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
2010-06-25 02:54:54 +00:00
Jake.Stine c3f2320994 GSdx and some other plugins no one cares about: remove ddraw.lib.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3296 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 02:36:21 +00:00
Jake.Stine e96dbe443f Major header file house cleaning! Should speed up recompilation times by a few percents.
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
2010-06-25 02:35:27 +00:00
sudonim1 61f7a4ddab SPU2-X: Double IRQ prevention found on real hardware. Only affects developers who didn't read the SDK documentation properly, like me. Nothing fixed as far as we know.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3294 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 01:49:26 +00:00
refraction c18b61f585 Fixed up lemmings, was a condition i never thought about, stupid Path3 masking..
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3293 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 00:47:34 +00:00
Jake.Stine 976cb072a0 UI:
* 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
2010-06-24 20:30:36 +00:00
Jake.Stine 4ad1e48950 GSdx: minor fixes to movie recording.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3291 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 20:25:33 +00:00
Jake.Stine e1890f369e * Cmdline: Added warnings when opening settings panels with command line overrides enabled, and force-disable overrides when new settings are manually applied.
* 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
2010-06-24 17:39:18 +00:00
Jake.Stine 35b05e3836 * Fixing automatic patch application (again!) -- random crashes could occur on some games due to in-execution recompiler resets when gamefix options were changed by the GameDB.
* Implemented --gamefixes to the command line.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3289 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 16:04:27 +00:00
Jake.Stine 23d88fa21e GameDB: Add PAL edition of Valkyrie Profile 2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3288 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 16:01:18 +00:00
refraction a481875fb1 Apologies... Monkey problems, I'm sure you understand.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3287 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 15:29:25 +00:00
refraction 01784357db Nothing to see here, i wasn't being lazy in any way shape or form with my awkward ways of testing the emu...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3286 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 15:27:10 +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
gregory.hainaut 85e061d4fb [cmake] Fix a long standing typo
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3284 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 15:45:05 +00:00
refraction 0db63683a2 Fix the fix that fixes the ffx video fix... fixed :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3283 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 15:18:55 +00:00
refraction 9238bbdcc1 Should solve some off the graphical issues from r3274
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3282 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 13:28:07 +00:00
Jake.Stine 46800c97a0 Add missing GIF Path buffers to the savestate (untested code); buddy commit to the prev version upgrade -- just a few mins late. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3281 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 12:33:57 +00:00
ramapcsx2 6b4882b828 We had savestate breaking changes, so increase the state version.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3280 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 11:33:17 +00:00
gregory.hainaut 7bfae6a2fa [cmake]
* Add a new header
* Check that libjpeg is installed for zzogl


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3279 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 10:07:18 +00:00
Jake.Stine a2faa60643 Fix for F9 causing errant fullscreen/windowed mode flips.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3278 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 05:33:27 +00:00
Jake.Stine c394708651 GSdx: Fix cases where DX9 cards detected as having DX10/11 under Windows 7. Changed the device selector to display either DX10 or DX11 depending on the supposed feature set availability reported by drivers/dx.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3277 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 05:32:50 +00:00
Jake.Stine 67ddabd231 Fix patch application, which I broke in r3273. :)
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
2010-06-23 01:15:09 +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
Jake.Stine 24ae022a74 Fully implement hash-based database lookup. Fix some bugs that caused startup crashes in previous revisions of mine.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3273 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 18:57:48 +00:00
gregory.hainaut f3ae10f5c3 [cmake]
* Fix again a stupid things...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3272 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 14:36:50 +00:00
Jake.Stine fddc5afe38 GSdx: Remove ddraw.h references, which were long since obsolete anyway.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3270 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 13:42:41 +00:00
gregory.hainaut 3d9c63b0f0 [cmake]:
* Print a fatal_error when users do not source the good CMakeLists file.
* Do not search system libraries if the user force the internal libraries


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3269 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 13:30:36 +00:00
arcum42 b8267258bf spu2-x/pcsx2: Fix the path used for wav files. (Hack; I'll fix it properly later.). Add a missing header into the cmake build.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3268 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 12:09:32 +00:00
arcum42 d1818a3400 Fix Linux compilation. (Possibly Windows as well...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3267 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 10:58:34 +00:00
cottonvibes a5208c4227 microVU: Took me about 5 hours to figure out the problem, but finally fixed the problem with Sly Cooper running at 1 fps with mVU...
The problem was that the game does a branch in a branch delay slot, and mVU wasn't setting some pipeline state variable in this case correctly.
This in turn caused the pipeline state comparison for the block to always be wrong, which meant a new block would always be recompiled whenever this specific block was to be executed.
This ended up happening 1000's of times slowing down the game to 1 fps...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3266 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 08:56:40 +00:00
Jake.Stine 2ecfe10b7a Apply eol-style:native to CMakeLists.txt files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3265 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 04:30:08 +00:00
Jake.Stine 0941434749 * Fixed fullscreen default-to-on behavior; the bug was caused by wxWidgets being a bit ficle and expecting the window to be Shown prior to being made fullscreen (even though the docs say ShowFullscreen() will show the window itself).
* Much header file cleanup and used forward declarations to remove a lot of excess includes; might help improve build times a wee bit.
 * Preliminary hash-table implementation for the Game database.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3264 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 04:29:24 +00:00
cottonvibes 856968812a Better fix for Dawn of Mana problem; solves the constant recompilation as well.
Basically:
If a block begins with an illegal instruction then don't continue recompiling the block, instead recompile code that prints an error message if block is taken at execution time, and then exit execution if it is.
Dawn of Mana has a conditional branch which leads to a bunch of illegal instructions, but the branch is never really taken at execution time.
The programmer either left this in for debugging, or possibly because real code is swapped in-place of the illegal instructions at a later time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3263 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 03:08:30 +00:00
ramapcsx2 bd9606ab0b Yay, typo :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3262 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 15:37:26 +00:00
ramapcsx2 5f85a0c956 SPU2-X:
- Double the audio output volume before sending it to the output modules. Was way too quiet.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3261 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 15:34:32 +00:00
arcum42 4adb345a86 spu2-x: Remove some debugging messages I accidentally left in the last commit...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3260 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 12:06:21 +00:00
arcum42 85657682da zzogl-pg: Printing to the console now works. Fixed AA+/-. Misc. pcsx2: Took care of two non-POD safe objects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3259 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 12:03:14 +00:00
Jake.Stine e98ef1a357 ... and I didn't mean to remove the translation keys either... >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3258 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 11:43:48 +00:00
gregory.hainaut 0aa69b29ae [cmake]: fix a stupid typo
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3257 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 11:29:08 +00:00
gregory.hainaut 3628784ab6 [cmake]
* add some check on libsparsehash
* print more informative message when a depency miss


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3256 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 11:05:30 +00:00
Jake.Stine 900c3105c8 Fix POD-hell.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3255 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 11:00:37 +00:00