Commit Graph

2901 Commits

Author SHA1 Message Date
Jake.Stine 595e277a87 Crispy christ, I need to remember to wait for the WHOLE solution to rebuild before making commits, no matter how much the wait kills me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3341 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-29 04:21:07 +00:00
Jake.Stine b0524d051c More fixes for the evil RuntimeError constructor ambiguity. (gcc compile errors)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3340 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-29 03:59:03 +00:00
Jake.Stine 991f813cc0 Another fix for GCC compilation errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3339 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-29 00:13:21 +00:00
Jake.Stine a297b9fe1c This is part 2 of my PAL timings savestate fix, from r3331. Dunno how I missed this one either.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3338 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 21:26:47 +00:00
Jake.Stine 51638cc189 Fix Linux. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3337 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 19:51:51 +00:00
gregory.hainaut 0a012aec25 [pcsx2]: use a local implementation of GetUserLocalDataDir. Follow the xdg specification for linux.
IMPORTANT NOTE FOR LINUX USER: the "main" pcsx2 configuration is moved from $HOME/.pcsx2 to $XDG_CONFIG_HOME/pcsx2 (or $HOME/.config/pcsx2 if xdg var is not defined).
A first time wizard is expected. Just import you previous settings.

[cmake]: add a missing h file. 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3336 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 19:46:54 +00:00
Jake.Stine 1c7fc3e176 Mostly-new host exception system (host meaning the C++ / SEH exceptions, not the VM's PS2/MIPS exceptions). Main purpose is to make specifying diagnostic and end-user messages more sane. Secondary goal was to remove the need for C++ multiple and virtual inheritance, which are buggy in MSVC still, and problematic even when they aren't buggy.
I also re-implemented R5900 runtime exception handling for TLB Miss and such (devbuilds only, for now).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3335 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 18:03:54 +00:00
arcum42 f058e38f5b zzogl-pg: Commit patch from zzogl-213 for shaking when interlace is on in FFX-2. (Issue 768).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3334 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 10:54:26 +00:00
Jake.Stine f3b7c09851 ... not sure how I missed committing this last night. >_< (fixes compilation errors)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3333 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 10:21:04 +00:00
cottonvibes 8ae1e91f7f microVU: Now supports growable rec-cache.
So when a game has reached the cache-limit, mVU allocates more memory unless it has reached it's max limit (100mb for vu1, 50mb for vu0)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3332 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 05:23:59 +00:00
Jake.Stine 87c80d6e2b * Add gRegionMode to the savestates; probably fixing a lot of unstable savestate behavior on PAL games (not sure how it managed to escape -- I explicitly remember adding the region info to the savestate in pcsx2-pg like 2 yrs ago).
* Make the new MTGS register packet during vsync not upload 0xf0->0x100.  This is technically GS internal register space that the GS plugin may update or modify as it processes GIFtags.  Thus, PCSX2 shouldn't touch it.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3331 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 03:09:51 +00:00
Jake.Stine 00ec820198 GameDB: Fix long loading times of the database, by using a very efficient block-based allocation system, and reserving enough memory for about 9500 titles. Also added a thread at startup to load the gamedb in the background while PCSX2 is opening windows and printing to the console.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3330 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 03:05:10 +00:00
Jake.Stine b7f2af1160 zzogl-pg: fix a warning on win32, and remove the non-existent gssoft.def file form the vsproj.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3329 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 03:01:06 +00:00
refraction 4186201f3b Fix for Beyond Good and Evil (maybe Raving Rabids too), added a couple of bits of logging for 8 and 16 bit reads.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3328 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 15:34:04 +00:00
ramapcsx2 9a9c41f59e SPU2-X: This should be more correct.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3327 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 14:39:28 +00:00
Jake.Stine af40a22ee8 SPU2-X: Reverb compatibility improvements (fixes Ys6).
* EEA / ESA writes are ignored when Effects are enabled.
 * When effects are disabled, reverb does not process IRQs or produce sound.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3326 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 13:11:38 +00:00
ramapcsx2 7dbbaf1c04 Small fix to the ee timing hack.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3325 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 12:56:35 +00:00
arcum42 dceefdf22b zzogl-pg: Get rid of some annoying spam when debugging, and remove some old code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3324 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 08:51:24 +00:00
arcum42 8f46aea568 zzogl-pg: Some work on the Gif Registers. I'm trying to bring them a bit closer to the way GSdx handles them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3323 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 08:38:50 +00:00
arcum42 621fb5bd24 zzogl-pg: Fix a silly typo. Issue 766.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3322 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 03:36:39 +00:00
Jake.Stine b3cd458c78 ... oops. Dunno how that got in there. (fixes God of War, improves SC3 .. though SC3 is still missing quite a bit of geometry for some reason).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3321 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 02:57:04 +00:00
Jake.Stine f1fb7810be Correct handling of FINISH events on the GIFpath; the FINISH is not posted until *after* all GIFpaths have been drained (nloop is 0 and EOP is 1). This fixes Ys6 bootup hangs.
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
2010-06-27 02:24:00 +00:00
arcum42 2787e6e2a1 zzogl-pg: Assorted cleanup. Added ZZoglCRTC.h, to clean up some clutter in ZZoglCRTC.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3319 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-27 00:53:06 +00:00
ramapcsx2 15782fefdd SPU2-X:
- 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
2010-06-27 00:44:00 +00:00
gigaherz 0e6c4377fe I forgot to change one line. Also took the time to set a toggle for this other feature.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3317 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 21:32:02 +00:00
gigaherz f1630170ed Implemented a better "host:" rewrite system, which takes the path of the elf being loaded as the root of the virtual "host:". This is the same behaviour as pc-side ps2link clients. The code could probably be cleaned up a lot or made more configurable, if someone wants to improve it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3316 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 21:17:21 +00:00
ramapcsx2 fe92409fd4 SPU2-X:
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
2010-06-26 15:00:32 +00:00
ramapcsx2 1c898ad5f0 Since we're not using MMX registers to hold EE data in the recompilers anymore, we should be safe to exclude them from register saving / storing.
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
2010-06-26 14:35:22 +00:00
Jake.Stine b85be17e04 Revert some changes from r3310 -- I forgot that the GS plugin still needs to manage three separate instances of the GIFpath until the MTGS packet reordering system is finished later. (this was my attempt to try and make this change more baby-stepish but it failed).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3313 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 14:13:34 +00:00
Jake.Stine a1de87206b Temp fix for Soul Calibur 3, possibly most other broken games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3312 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 13:36:57 +00:00
cottonvibes c1047172c7 microVU: changed vu0 rec-cache to 10mb... seems rachet and clank games need this amount when not using mVU speedhacks (the speedhacks emit less code-gen, so it makes games need less rec-cache amount)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3311 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 07:57:46 +00:00
Jake.Stine 04e89783cd (minor optimization) Let's not even use the GS plugin's Path1 or Path3 parsers anymore. All GIFtags can be sent safely through the GS's hack-free Path2 instead.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3310 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 07:48:16 +00:00
cottonvibes e8f5468491 Increase vu0 dynarec cache to 8mb, fixes constant recompilation problems in Ratchet and Clank...
Thanks to rama for figuring this out.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3309 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 07:33:26 +00:00
Jake.Stine c10e47739e git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3308 96395faa-99c1-11dd-bbfe-3dabce05a288 2010-06-26 07:26:43 +00:00
arcum42 06e4ae00b2 pcsx2: A bit of cleanup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3307 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 23:13:41 +00:00
gigaherz a51aef5152 ioman hle: ps2link host: implementation allows writing files, not just reading. Also it's the only way we have to get binary data out of pcsx2, when running ps2 test apps.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3306 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 20:59:48 +00:00
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