Commit Graph

2064 Commits

Author SHA1 Message Date
Jake.Stine fa95c0f191 Fix bug in BIOS skip hack (which I always forget to test since I never use it personally ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2340 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 12:37:27 +00:00
Jake.Stine c17455c702 User Interface code cleanups and bugfixes. some highlights:
* Configuration panels are all modal-less now, so that you can open the config panel and leave it open while running games.
 * Handful of thread sync improvements.
 * Fixed on-the-fly interpreter/recompiler configuration.
 * Fixed plugin hotswapping (mostly works, but still a little funny at times)
 * All new assertion dialogs and popup message handlers.
 * RecentIsoList defaults to 12 instead of 6

Dev Notes:
 * I had to create a new set of assertion functions called pxAssume*.  Originally I hoped to avoid that complexity, and just use a single one-assert-fits-all case, but turned out blanketly using __assume() for all assertion cases wasn't reliable.
 * wxGuiTools: Replaced the operator, with operator& -- the latter has proper order of precedence, the former required () to scope correctly. >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2339 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 12:18:55 +00:00
ramapcsx2 cc65a5cd02 Most likely unbreak Okami. I don't have this game, but I'm 99% sure it's this.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2338 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-12 22:47:37 +00:00
arcum42 d7c0cb64d3 Revised dmaGetAddr. Fixed a thread error message.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2337 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-11 04:15:50 +00:00
arcum42 6167067791 Change a few .ADDR's to _u32's, so the SPR field is included.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2336 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-10 14:43:54 +00:00
arcum42 f3a2c44112 Did some work on HwWrite. Updated my structures in GS.h. Fixed some podsafe object warnings I'd missed previously.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2335 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-10 06:33:14 +00:00
cottonvibes 09cec4a370 fix for the annoying msvc warnings
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2334 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-10 02:32:34 +00:00
ramapcsx2 86a75775f3 Stop VIF0, VIF1 and EE SIF1 from interrupting based on how much data was transfered.
In theory this would be the correct thing to do, but with our current DMAC and event test system it just causes problems.

Note: This commit *could* break/improve/fix games, please test :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2333 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-10 00:56:10 +00:00
ramapcsx2 f03cdbcdb3 GSdx:
- Fix the Dark Cloud 2 crash when inventing stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2332 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-09 19:05:28 +00:00
ramapcsx2 514d78392c Don't do invalid GIFchain calls, fixes Dual Hearts part 2 of Issue 314.
This is part of PATH 3 masking mess, so it could fix other PATH 3 using games.
Added some debug lines as well, should there be problems.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2331 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-09 12:23:24 +00:00
ramapcsx2 1bb1b71544 GSdx:
- Crashfix for Dual Hearts, fixes part 1 of Issue 314.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2330 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-08 17:32:25 +00:00
arcum42 689e7843d4 Preliminary register structures for the GS CSR and IMR regs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2329 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-08 13:10:08 +00:00
Jake.Stine 3f80ba3525 cpuDetect: fix for some odd crash in MSVC/PGO builds (this one took hours to track down, though still not really sure what caused it).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2328 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-08 02:38:13 +00:00
Jake.Stine ba473e0a7f * Redid console logging to use stdout instead of the buffered queue (probably less buggy).
* Removed some hacks from cpuDetectInit's use of cpuId.
 * Improved assertion checking for thread affinity.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2327 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-07 22:43:16 +00:00
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