Commit Graph

1800 Commits

Author SHA1 Message Date
Jake.Stine 94cdfb6a8b Add debug versions of Null plugins (helps fix some stack tracing problems having a full set of debug-built DLLs, even if they aren't the source of the crashes).
DevNote: Moved jNO_DEFAULT from the Pcsx2Defs.h, since it's too dependent on the Common libraries.  It's now in Assertions.h.  Plugins can use __assume(0); directly instead or roll their own.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2326 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 22:39:52 +00:00
arcum42 ee6c721b51 More throwing things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2325 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 21:07:59 +00:00
Nneeve 00f14b5760 Changed the fpu MUL hack for tales of destiny. (Doesn't break under most settings now).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2324 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 17:33:32 +00:00
Jake.Stine 611444b9d5 Oops, forgot a __fastcall. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2323 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 15:15:59 +00:00
Jake.Stine 949e5f8b60 Fix compilation errors (forgot to update cotton's recent changes before committing)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2322 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 15:01:25 +00:00
Jake.Stine f52faead0c Re-did the VUmicro's "Cpu Provider" structs into classes, and split sVU and mVU into independent classes.
* Better error handling for when sVU fails allocating memory at a specific location (should fail less).
 * Partial support for detecting and handling non-SSE2 machines with some grace.
 * Improved sVU's allocation chances with a second try at another randomish address (and removed alloc fail spam from the console -- only logs on complete fail now).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2321 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 14:00:39 +00:00
ramapcsx2 bb309c8d65 GSdx:
- Unbreak Ratchet and Clank by re-enabling the broken pitch conversion.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2320 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 09:46:33 +00:00
Jake.Stine 2baa81c997 w32pthreads/spu2-x/gsdx: add proper "debug" build of w32pthreads, instead of both debug and release overwriting the same dll.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2319 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 15:33:20 +00:00
Jake.Stine acbe1ed547 Cleanup for VsyncInThread, lots of source code comments. (it's fun reading! ...maybe)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2318 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 15:31:11 +00:00
cottonvibes 6b5e302f82 microVU: fixed 2 bugs in my preserve sign clamp code thanks to nneeve
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2317 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 09:13:57 +00:00
cottonvibes b866ff405e macroVU: Run vu0 on certain cases of recCTC2() like sVU's COP2 code does... this fixes Rachet and Clank's title screen's sps...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2316 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 06:13:01 +00:00
cottonvibes 316e7ffccc microVU:
- Added microVU_Clamp.inl to the project file which holds all of mVU's clamping routines.
- Added tmmk's optimized clamping method for sse4 (preserve sign clamp mode only) <-- untested
- Not using regalloc for preserved-sign non-sse4 code anymore since it seems to be bugged (thanks to nneeve for pointing it out)
- Extra mode was using preserve-sign code before; but changed it now to never preserve nan sign...
- Fixed a bug in extra clamp modes where it was clamping all 4 vectors on SS SSE instructions, destroying upper 3 vectors...

After these changes the compatibility of extra / preserve sign clamp modes have gone up.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2315 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-06 01:49:40 +00:00
arcum42 e01cfedd2b New dialog for internal hacks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2314 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-05 09:40:32 +00:00
cottonvibes 3fcd2c9aee microVU: Implemented 'extra' clamp mode (it was doing the same as 'normal' before)
Note:
What extra clamp mode does is whenever an SSE ADD/SUB/MUL/DIV instruction is used in mVU, it will have its operands clamped.
Currently seems to cause sps in some games instead of fixing it...
There might be some reason for it that I'm not aware of yet, or it could be 'random' based on what a game is doing.

A quick explanation of what mVU's clamp modes do:
None   - Does no clamping (fast)
Normal - Clamp certain instructions which have proven to fix games
Extra  - Clamps every SSE instruction (slow)
Extra + Preserve Sign - Same as extra but preserves sign of the NaN (super slow)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2313 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-05 09:30:38 +00:00
cottonvibes cbc4ee26f6 microVU: added a flag to tell when its in COP2 mode.
macroVU: some clamping that may fix the ICO camera bug (not tested)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2312 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-05 09:04:20 +00:00
cottonvibes 7532c2969e microVU: Reorganized some clamping stuff...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2311 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-05 08:33:02 +00:00
arcum42 cf21dbf992 Get rid of Tags.h.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2310 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-05 08:13:04 +00:00
arcum42 1b42c82faf A continuation of what I was doing in r2305.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2309 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-05 08:01:00 +00:00
ramapcsx2 5ff94743c1 Disable Vsync when using the F9 renderer switch.
Explanation why in the source :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2308 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 22:37:20 +00:00
ramapcsx2 a97e97fbc6 GSdx:
- Let's use dx10 software rendering for the F9 renderer switch, if it's available.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2307 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 21:16:06 +00:00
Jake.Stine a6b00be571 Potential fix for Issue 495: missing keyboard handler in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2306 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 14:30:13 +00:00
arcum42 8a4d58ff76 More Tag stuff, mainly in Gif and HwWrite.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2305 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 07:01:27 +00:00
arcum42 9736b4b854 And, as usual, Gcc makes me want to throw things...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2304 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 05:18:07 +00:00
Jake.Stine cb066785cf Configuration panel code cleanups; supports slightly better handling of on-the-fly settings changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2303 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 04:52:15 +00:00
Jake.Stine 2675957851 GSdx: Implement DX9 "on the fly" vsync enabler/disabler, and fix some dx9 vsync bugs in legacy gui (hopefully)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2302 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 04:50:49 +00:00
Jake.Stine a3dee78c6c GSdx: Fix some vsync enable bugs. Add "GSsetExclusive" API, which is meant to be a hint for setting exclusive fullscreen mode in DX10 (no plans to support it in DX9 due to complications that would require significant changes to DX9 resource management).
I don't have DX10 so this is (as usual!) untested.  I'll be adding support for it to PCSX2 soon.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2301 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 03:24:59 +00:00
arcum42 3092808d04 Let's try that again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2300 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 01:00:24 +00:00
arcum42 1dc47d5215 Compilation fixes for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2299 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 00:25:07 +00:00
ramapcsx2 60fd4beb5f GSdx: Small fix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2298 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 23:30:59 +00:00
Jake.Stine 620c93cad7 Minor fixes for new framelimiter; add proper w32pthreads/gsdx dependencies to the MSVC solution.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2297 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 23:10:23 +00:00
Jake.Stine 97041701ae GSdx: SW rasterizer converted to use pthreads semaphores in the place of spinwaits. Performance mileage will vary on this; probably favors dual core machines over quads or i7's. Some tinkering might ink some more fps out of it and get it to be a speedup in all cases though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2296 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 23:08:52 +00:00
Jake.Stine 2413af5b6e w32pthreads: Removed some unneeded cdecl specifiers on non-exported functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2295 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 23:05:49 +00:00
Jake.Stine 1e431fb69a wtf? A working framelimiter? Turbo and slowmo hotkeys? Frameskipping?! Why it's all here! Rejoice! And then find lots of bugs, too, I'm sure. Note: Frameskipping has no gui stuff yet... I'll do that soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2294 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 15:51:39 +00:00
Jake.Stine 9675fe8108 Add a vsync callback to GSdx, managed by PCSX2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2293 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 15:49:12 +00:00
arcum42 271c7f7299 Minor fix for r2291.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2292 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 13:46:11 +00:00
arcum42 6d99798fad Start actually using tDMA_TAG. (IPU.h now uses it, and all the transfer code got moved to it.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2291 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 13:01:17 +00:00
ramapcsx2 8d5caa300d Some more warnings enabled by default in devel builds.
It'll be good to know which games trigger these.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2290 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 12:06:39 +00:00
arcum42 ecabd7ff4d A new DMA tag structure.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2289 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 02:33:30 +00:00
Jake.Stine c42be1e8f6 Stupid SIF hack tricks 101. Class at 11am.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2288 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-02 15:18:24 +00:00
Jake.Stine 546d79bf4d yay sif hack mess fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2287 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-02 14:46:15 +00:00
ramapcsx2 ab2b0bc8d2 Another fix to the hack. Yea. :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2286 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-02 14:44:01 +00:00
ramapcsx2 5c0cbea1c2 Fix compile errors from last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2285 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-02 14:33:13 +00:00
Jake.Stine 0f9a600cbd Fun little hack for Rama to play with, that should simulate the magic power of the PEOPS SPU2's "unstuck iop" spell.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2284 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-02 14:21:54 +00:00
ramapcsx2 f1f6236a02 GSdx:
- Re-enable the D3D10_CREATE_DEVICE_SINGLETHREADED flag, since it seems to be stable again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2283 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 16:16:48 +00:00
Jake.Stine 97d52323d1 Implements support for Alt-Enter fullscreen switching, DX9 only! DX10 is still broken, will stay that way until some clever person figures out how to make it work. I've make some comment guidelines in source (see MTGS.cpp).
... also, it's possible DX10 fullscreen will work if bound to, say, Shift-F9 (ie, something beside alt-enter, which DX10 decides to wrangle full unrelenting control of, without our explicit consent, and needs some 20 lines of random COM chaos to disable).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2282 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 15:33:56 +00:00
Jake.Stine 62384ea56a GSdx: Remove some DXGI stuff, which is being moved to PCSX2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2281 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 15:31:31 +00:00
arcum42 4bdb1e1dee Intercept calling the Patch configuration dialog until we actually have one.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2280 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 14:32:20 +00:00
Jake.Stine a34c09fe01 GSdx:
* Disable GSdx's internal AspectRatio setting when using GSOpen2 (pcsx2 0.9.7 controls aspect ratios internally now)
 * DX10 should be able to startup in fullscreen mode now, without needing to hit alt-enter (legacy 0.9.6 versions only)
 * Added some comments for a failed attempt to disable DX10's default Alt-Enter behavior.  If someone knows how to do that properly, please feel free to submit a patch because DX10/Com breaks my mind. (see GSDevice10.cpp)
 * Remove DX11 for now since it's entirely unfinished anyway.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2279 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 05:59:43 +00:00
Jake.Stine 3dfdf5029c Lilypad: bugfix for crashes when used with pcsx2 0.9.6
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2278 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 05:13:38 +00:00
Jake.Stine 1ea29b0e62 Lilypad: Implemented full support for child-window GS viewports (fixes windows messaging being broken from the prev rev).
DevNotes: The main change here was to turn WndProcEater into a class and create multiple instances of it, so that it could manage the WndProcs for multiple windows concurrently.  The "frame" (top-level window) gets a WndProc that sets title and handles screensaver/alt-enter hacks.  The "viewport" (provided by PCSX2) gets the usual keyboard input handler WndProc.  Config buttons also have their own WndProc that avoid fuzzy logic conflicts with the other two.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2277 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-30 20:52:09 +00:00