Commit Graph

1390 Commits

Author SHA1 Message Date
Jake.Stine 0fe6bd16f3 Fixed a re-entry condition when trying to use the SysCoreThread::ApplySettings() directly; and fixed some threading issues in the resume code too.
Dev Note: EmuConfig is now *const*, and can *only* be modified by a call to ApplySettings(), which itself cannot be called from its own thread.  This protects against accidental thread-unsafe on-the-fly settings changes.  Amazingly we had only one such settings change in the existing trunk.  I fixed it ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1903 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-22 11:50:27 +00:00
Jake.Stine 6907b78640 Fixes Issue 419 by checking validity of StdHandle values. Also:
* handful of minor code cleanups, and some warning removals for ICC.
 * replaced the dualshock.png with a dualshock.jpg (120k smaller!)
 * Updated the About Box, and added Zeydlitz / ZZogl to the plugin author credits.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1902 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-22 04:37:11 +00:00
Jake.Stine 1c7719e0ec GSdx: Update delay load DLLs to match Aug2009 DirectX SDK (and yes you need the new SDK to build GSdx)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1901 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-22 00:49:02 +00:00
Jake.Stine f460985004 Same general cleanups (mostly to the VU interpreters), but on trunk this time. :) Also Fixes Issue 417 (I hope)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1900 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 14:19:49 +00:00
Jake.Stine fdbabaa11c Linux: Fix compilation errors and warnings. There's still a lot of new warnings in x86Emitter due to __forceinline being disabled in debug builds, but the proper fix for those will come later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1898 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 09:48:31 +00:00
Jake.Stine 8d91458c95 Win32: Added stdout and stderr pipe support for the ConsoleLogger; such that plugins using printf or fprintf will have their messages show up in the new-style console log and in the emuLog.txt file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1897 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 03:33:35 +00:00
mattmenke fc623d0719 LilyPad: Reverted keyboard messages back to windows messaging.
New method of ensuring thread safety.  Device update code should always run in GS thread, even if the emulator really doesn't want to let me (Basically ancient versions of Pcsx2...Or any 3rd party emulators with their own version of MTGS).  Updates on PADpoll, PADkeyEvent, or PADupdate, if one is called in the right thread.  Updates in thread's WndProc otherwise.  Overkill, perhaps, but I prefer to keep things compatible.
Removed "Update in GS thread" option.
Windows Messaging/Raw Input keyboard event queuing should work a little better.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1896 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-21 00:24:04 +00:00
arcum42 17b8cd9fa3 int -> bool.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1895 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 21:24:00 +00:00
Jake.Stine 0f259e62d5 Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely.
Projects: Removed FrameworkVersion descriptor, don't think it matters for C++ code.  Removed all translation files, since they're grossly out-dated and need to be remade anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1894 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 20:54:45 +00:00
ramapcsx2 4e1e2b01ba Took out the optimizations in gifTransferDummy.
They broke games still (so3, same stuff as arc the lad earlier).

With this simplified version all the problematic games found so far work.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1893 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 13:59:13 +00:00
arcum42 48cdfb263b Some minor IPU changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1892 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 12:04:39 +00:00
mattmenke 705ca3d92a LilyPad: "WM Keyboard" now actually uses GetAsyncKeyState(). Just simplifies some dependencies on the window thread. Note that WM Mouse and raw input still have those dependencies, and they can't really be worked around, unfortunately.
Also, just for kicks, made pausing while pressing "escape" check the pause button in the menu.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1891 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 10:48:22 +00:00
cottonvibes 712e5e9229 fixed the arc the lad gif problem...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1890 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 07:32:47 +00:00
mattmenke 3cd9c4f2e2 LilyPad: Fixed not adding manifests in debug builds, removed them from CRTless build.
Removed the keyboard disabled option, as using two different pad plugins is really just a bad idea.  Also finally got sick of people saying "I have keyboard disabled, and the keys don't work!  I urgently need help!"
Also will no longer let you enter config mode (And thus crash the program) when emulator is running.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1889 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 04:14:40 +00:00
arcum42 8f4538ae0c Rbor, rbsr, and other such things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1887 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 01:47:45 +00:00
cottonvibes 8234604dce MTGS:
- Optimization for gsTransferDummy to reduce idle loops.
- Added needed variables to _mtgsFreezeGIF().


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1886 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 00:37:31 +00:00
cottonvibes 8f0f5ba506 xgkick fix for main trunk
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1885 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 23:22:55 +00:00
Jake.Stine c963fd3d85 More GIFtag bugfixes; PATH1's VU1 memory wrapping was measuring the end of VU1 memory incorrectly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1882 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 21:54:45 +00:00
Jake.Stine 4e03bb7c3a Disables MMX register allocation in the EErec; fixes instances of random TLB misses in games like SMT:Nocturne and FFXII (initial benchmarks show it to be same speed or faster anyway, heh)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1878 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 17:48:40 +00:00
Jake.Stine beb2fd34db ZeroGS: Remove compiler errors under DXSDK Aug 2009.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1874 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 13:15:14 +00:00
Jake.Stine 1ca7d5ac95 GSdx: Fixes GSReplay renderer selection, and adds support for using -1 as a renderer (uses the GSdx configured renderer, but only works if the current working directory is set properly, otherwise the ini file won't be found).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1873 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 11:20:31 +00:00
Jake.Stine 1a5ec046a6 A few more baby steps toward cleaning/fixing the GIFtag parser:
* used UPPERcase to denote the original hw register tag values from the "running sum" copies in GIFPath.
 * Renamed PrepRegs to PrepPackedRegs, and optimized it so it's only run when needed (which is anytime new set of packed regs has come into play)
 * Create a copy of NLOOP, so that we leave the original intact for possible later referencing.
 * Simplified the XGKICKs use of sizes.  They just pass 0x400 now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1872 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 09:45:26 +00:00
Jake.Stine ac88159fb3 Reintegrated GSopen2 branch. Rundown of new features:
* Implemented proper shader management, fixes several bugs where video would be lost or crash, and is a small speedup.
 * Retains GS state across open/close, same as every other PS2E plugin now.
 * Implemented GSopen2(), which is used by wx-pcsx2 to bind the GS output to a window handle of pcsx2's choosing.
 * Retained full backwards compat with the current legacy gui. :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1871 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 08:51:11 +00:00
arcum42 2d6d370cf6 A few dmacReg & gifReg changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1870 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 05:03:54 +00:00
cottonvibes ca8437dd0a fixed a bug from my last revision...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1869 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 04:25:17 +00:00
cottonvibes 32e8a8a260 After hours of frustration getting my gifDummyTranfser() function to work the way pcsx2 wants path2/path3 transfers to occur, I decided to just rewrite it again using the old gifDummyTransfer() as a base.
Fixes GT4 corrupt textures.
Again tell me if this version breaks anything...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1868 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 04:04:06 +00:00
Jake.Stine 72f49551c8 GSopen2: Merge failed to record these revisions for some reason.. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1867 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 00:25:33 +00:00
Jake.Stine f4cc055a7d GSopen2: synced with trunk, so that I can reintegrate. :)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1866 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-19 00:14:10 +00:00
Jake.Stine 851354eca3 GSopen2: Detect GSRenderer changes across GSopen/GSclose calls, and preserve the GSState at the same time. Also added proper window closure code, so that STGA mode (legacy gui only) doesn't cause the GS window to be frightfully sticky. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1864 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 23:48:12 +00:00
Jake.Stine 788489f517 GSopen2: Fixed legacy mode compat and STGS operation.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1862 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 22:13:40 +00:00
Jake.Stine 27af8d80ca GSopen2: Simplified the multithreaded and irq callback parameter passing scheme, and made them more "robust" so that they can be changed dynamically without the GS exploding (important with the new correct GSState preservation across open/close).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1860 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 19:54:56 +00:00
Jake.Stine 8376e0a886 Moved the GIFtag from MTGS instance status to static status, since it needs to be preserved as part of the PS2 virtual machine state (fixes problems when pausing/resuming)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1859 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 19:38:12 +00:00
Jake.Stine 73a39b012c GSopen2: Fixed a bug in gsdx where it didn't properly handle changes to the GS base register memory pointer.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1858 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:45:37 +00:00
gigaherz 0017eb5ca3 Small fix to remove an assertion in XAudio2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1857 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:12:10 +00:00
Jake.Stine 667cf3b5c2 GSopen2: Added GLEW as a static library dependency. We decided it's small enough to merit being packaged with PCSX2's 3rdparty libs, and it fixes GSDX from needing GLEW32.dll.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1856 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 16:21:33 +00:00
Jake.Stine c63cb5d70a Disabling microVU (enabling superVU) gets saved to ini now. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1855 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 14:40:24 +00:00
Jake.Stine 3ccb4d3698 Re-re-re-re-fixed the BIOS skip hack saving on exit (plus lots of code cleanups and some API changes to saving/loading settings -- more to come).
Linux/GCC: Disabled __forceinlining in debug builds.  This is the intended design, fixes many GCC errors in debug builds, and also mimics MSVC behavior.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1854 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 14:07:36 +00:00
mattmenke 504082f52d wxWidgets: Clicking on the sliders on the hacks screen now works.
Scroll rate is very inconsistent, but that's just wxWidgets doing what it does best (worst?)...
Also fixed a minor bug in LilyPad version labeling.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1853 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 10:18:56 +00:00
arcum42 8a1df8dbb1 Same changes to ZeroSPU2 & spu2-x's projects. ifdeffed out a few things in spu2-x.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1851 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 07:37:21 +00:00
mattmenke 8372c48285 LilyPad: Switched to using pre-compiled headers, just for kicks. Compiles significantly faster, though it's not exactly the limiting factor in batch builds.
Changed intermediate debug build directory, for consistency.
Added another LilyPad-only build option, to compile without CRT dependencies, as manifests are evil.
Finally nuked the VC 2005 project.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1850 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 06:58:48 +00:00
Jake.Stine e4c0dfb6d3 GSopen2: Fixed GSdx so that it complies with the implied intent of the PS2E plugin API, where GSopen and GSclose retain the current GS emulation state. This required a couple significant changes:
* Removed GSTextureFX classes
 * Built shaders right into GSState classes, using GSStateDX as an interface, so that all shader caches get auto-destroyed along with GSState.

In addition to being a bit of a code cleanup, it should be a bit more efficient too since all of the extra dereferences to GSState from GSTextureFX have been removed. :)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1849 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:16:52 +00:00
Jake.Stine cc1bc8d122 GSopen2: synched with trunk to pick up various gui fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1848 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:11:27 +00:00
arcum42 b6918b1b9b Hook up the save/load menus and make the Linux console output somewhat less insane.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1847 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:01:44 +00:00
Jake.Stine e75043b91e GSdx: Fixed GSDialog so that it doesn't cause PCSX2 to minimize into the background when closing the config box.
PCSX2: Reloads plugins a little less often.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1846 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 23:49:39 +00:00
arcum42 34af7c1281 Linux: IsRunning was crashing pcsx2. Also, jNO_DEFAULT isn't a good idea in these two spots.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1845 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 23:24:44 +00:00
Jake.Stine 556a811933 Linux: added missing files, and switched from my own WindowDisbler hack to wx's built-in wxWindoweDisabler hack. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1844 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 23:04:02 +00:00
Jake.Stine 2b3d596d86 Minor fixes for interlocking against the threaded plugin loader (running a game too quickly could cause crashes)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1843 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 16:49:04 +00:00
Jake.Stine 8de579954f GSopen2: Current status...
* Software mode seems to work fine.  Suspend and resume emulation work nicely, without flaws.
 * Hardware DX9 mode suspends but displays only black after resuming.
 * Hardware DX10 status is unknown.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1842 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:40:38 +00:00
Jake.Stine e6149c7c13 Branch made for working on proper implementation of the new GSopen2 into GSdx.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1841 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:37:58 +00:00
Jake.Stine e5da378d9a Added a GSopen2 call to the GS plugin API, which is used by PCSX2 to specify its own window handle.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1840 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:31:57 +00:00