Commit Graph

1542 Commits

Author SHA1 Message Date
Jake.Stine 66e9e8c085 Quick fix for duplicate keystrokes coming in from LilyPad when using keyboard input Raw or DInput modes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2013 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-16 12:39:40 +00:00
ramapcsx2 d87cc4d250 Hack in a frame limit toggle on F4 and TAB using a global int. :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2012 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-16 10:45:47 +00:00
Jake.Stine d2767da7b3 Fix release mode build compilation errors from the prev rev.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2011 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-16 04:23:56 +00:00
Jake.Stine 1f2daa6459 User Interface:
* Fixed and added better Emulation/System menu updating.  Suspend/Resume is more consistent, and Reset grays itself out after being used.
 * Entering plugin configurations auto-suspends the emulator.
 * Changing plugins in the Configuration PAnel takes effect now without a restart.
 * Added preliminary support for an ExtensibleConfirmation Dialog box (contains a sizer you can add content to, and also has an optional "[x] Do not show this again" checkbox).

Bugfixes:
 * Added some mutex protection to cdvdNewDiskCB; "just in case."
 * Resolved several recursion and deadlock scenarios when (very!) rapidly suspending, resuming, and resetting the emu.

Developments / Code Cleanups:
 * Renamed SysCoreThread ExecutionModes:  Suspend/Resume are now Opened/Closed (which more accurately reflects the fact they opena nd close the plugins, and helps avoid ambiguity with the "Paused" state).
 * Added Exception::ThreadTimedOut, which is now thrown from Semaphore::Wait when recursive wxApp::Yield() calls are detected, and a deadlock occurs (basically cancels the current action which, most of the time, allows for full recovery).
 * Major Threading namespace cleanups, documentations, etc.
 * Removed wxScopedArray (scopedarray.h) and replaced it with a better implemeneted ScopedArray class.
 * Removed toUTF8 class, which I only added a couple weeks ago because I didn't realize wxCharBuffer had an implicit typecast to (char*).
 * Implemented more Source/Listener events for Pcsx2App.  CoreThread events are sourced properly now, and added SettingsApplied and SettingsLoadSave Sources.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2010 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-16 03:58:29 +00:00
Jake.Stine adf4b7ae50 Recompilers:
* Removed EBP push/pop stuff from the recExecute of the R5900 and R3000A both (not needed anymore since we disabled EBP in iCore).
 * Moved the legacy j8ptr and j32ptr buffers to iCore, since they'll go obsolete at the same time iCore does; and nothing outside PCSX2 references them.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2009 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-16 03:46:19 +00:00
arcum42 bffeda5ef9 Worked on SIF0dma a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2008 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-14 23:59:05 +00:00
Jake.Stine f64876203a cdvdGigaherz:
* Plugged up some various thread sync issues with the sector cache (caused problems mainly on startup.init and during disc change detection)
  * Added a thread sleep to the ReadThread when the dvd tray is empty or open (speedup).
  * Replaced a thread sleep with an Event when waiting on pending events (speedup).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2007 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-14 23:17:41 +00:00
Jake.Stine 6447ef282a GSdx: Recycle the m_merge texture instead of deleting it; and made a note about a debug assertion that happens in XS2 (probably nothing useful, but no harm in making a note for future references)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2006 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-14 16:42:59 +00:00
arcum42 863db9d52d Set the preferred stack boundary to 2 for the moment in Linux, and disable the old iVif code, as this takes care of the iVif issues.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2005 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-14 12:37:11 +00:00
arcum42 3d43e53928 Hack! Make Resets work in Linux by not throwing an exception that is supposed to be thrown, because gcc seems unable to catch it for some bizarre reason.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2004 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-13 12:49:05 +00:00
Jake.Stine 52d34a0616 Another experimental fix for GCC/Linux exception propagation out of the recompiler; using inline asm to invoke a jmp to an external asm function (to set up stackframe pointers), plus disabling EBP in the recompilers (which is just a plain bad idea in any reality or alternate universe).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2003 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-13 11:00:51 +00:00
arcum42 0a117b1b99 The saints may come marching in, but the cpus shouldn't be. I've removed some march flags that shouldn't be there. I also made a change to Sif.cpp that was discussed in r1998.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2002 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-13 10:23:34 +00:00
MattMenke 22d31831e6 LilyPad: Minor fixes to alt-F4 detection code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2001 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-13 02:35:25 +00:00
Jake.Stine c5c21f06cb GSdx: Fixed a couple memory leaks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2000 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-12 19:58:03 +00:00
Jake.Stine 8b0cbe445a SPU2-X: Minor bugfix to suspend/shutdown code which caused SPU2-X to hang in very rare occasions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1999 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-12 19:55:54 +00:00
arcum42 7533e00816 Fix minor mistake in my last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1998 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-11 09:05:41 +00:00
arcum42 e0cef88d54 A couple misc changes. Converted a few more lines to the new register format, fixed spelling in a few comments, and so on...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1997 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-11 08:40:44 +00:00
ramapcsx2 4b6e67eff8 Fix GSdx game patches not loading when bios skip hack enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1996 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-10 11:50:39 +00:00
arcum42 a5aa1e65d6 Quick save menu fix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1995 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-10 03:52:47 +00:00
Jake.Stine 28473c1436 Fixed: Savestate bug when saving caused erratic freezeups.
Fixed: More savestate slowness, and less savestate memory hogging.
SPU2-X: Fixed crash bug on using savestates while suspended.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1994 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 17:28:17 +00:00
Jake.Stine e8e61a5cf8 Settings work again!
* Switched the SysCoreThread to a static (fully persistent) thread.
 * Added some listeners for when the CoreThread status changes
 * fixed some slowness in savestates, and the emu will now stall until savestates complete, if you try to exit too quick (avoids savestate corruption)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1993 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 15:17:53 +00:00
arcum42 2a69c92067 Made hwDmacSrcChain & hwDmacSrcChainWithStacks a bit easier to follow. Misc other changes, mainly register related, or making use of existing constants.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1992 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 05:50:10 +00:00
Jake.Stine a4f180aa5d wxWidgets: helps if I fix *both* string and object allocators. I'm a commit spammer tonight. -_-
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1991 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 00:39:09 +00:00
Jake.Stine 9db4d2d53a wxWidgets: Bugfix to the private heap, caused by me recovering the wrong file to commit to svn. -_-
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1990 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-09 00:35:50 +00:00
Jake.Stine ca49f2edc0 wxWidgets/Win32: Helps when I include the necessary files (HeapAllocator.cpp / HeapAllocator.h)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1989 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 23:23:35 +00:00
Jake.Stine 5cf69e328d Minor cleanups -- removed unnecessary "using namespace std;" declares, etc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1988 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 19:37:28 +00:00
Jake.Stine 67957b13b6 wxWidgets/Win32: Added a private heap allocation feature, which directs all wxString and wxObject allocations through a Windows private Heap (should reduce fragmentation and multithreaded contention when allocating/freeing blocks)
(and fix some oddball compilation errors in spu2-x in rare circumstances)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1987 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 19:26:57 +00:00
arcum42 53dd6b728a Linux: Fix compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1986 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 19:10:05 +00:00
arcum42 2c8bede679 Revert one of my changes from r1970.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1985 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 18:47:32 +00:00
Jake.Stine 46badcc0e8 Fixed a memory leak in the MutexLock object.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1984 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 18:30:40 +00:00
Jake.Stine 9b213aeffa SPU2-X: fix a memory leak that dropped a few Kbytes of memory on every suspend/resume (it's been there for ages too; SoundTouch object wasn't being deleted).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1983 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 11:58:56 +00:00
arcum42 3082fd2003 Get rid of a few Windows compilation errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1982 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 06:57:20 +00:00
arcum42 88185fc276 Chop up VifDma into a few pieces.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1981 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 06:15:11 +00:00
arcum42 04fdbda2a2 Assorted minor VifDma changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1980 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-08 00:09:07 +00:00
Jake.Stine ee36fd9a0f Linux: oops... committed the asm dumping switch by accident
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1979 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 23:52:38 +00:00
Jake.Stine 4e114666d2 Linux: some more minor tweaks to project files and compilation errors (release mode only)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1978 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 23:31:03 +00:00
arcum42 47e49ded07 Linux: Revert to using the old masking code in iVif at all times, until we can figure out why the other masking code frequently crashes under Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1977 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 21:54:19 +00:00
Jake.Stine d30673c5ca Resolve some Linux/GCC errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1976 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 20:50:39 +00:00
Jake.Stine eda5d1d834 Savestates work! Not much else does yet (settings, etc), but at least this monkey's off my back. I can work on tying up more loose ends now. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1975 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 19:20:11 +00:00
Jake.Stine a2a495e842 wxWidgets/Win32: Keep wx from including <windows.h> into every app/gui related file; reduces window.h global namespace pollution and speeds up compilation times a little bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1974 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 03:52:05 +00:00
Jake.Stine 6583b1623b Linux: Experimental fix for exception propagation out of the recompiler; this version is based on the theory that the cause is GCC optimizing out exception handling because it sees the inline asm "call DispatcherReg;" as a no-throw(). So I removed the asm and replaced it with a direct C++ invocation. This should work since the new rec never exits except via catch() clauses anyway, so pushing/popping clobbered registers isn't needed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1973 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-07 02:44:37 +00:00
arcum42 8de443878a Don't believe we really need an xml parser in pcsx2. I've moved it to 3rd party, in case we want it at some point. Removed the xml loader code as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1971 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 10:22:52 +00:00
arcum42 436638af5b Still doing register stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1970 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 09:08:36 +00:00
Jake.Stine ed444cb876 More MSVC/Win32 buildsystem fixes: Made is so you can now optionally unload all 3rdparty libs (after building at least once!) and still build the rest of PCSX2 and plugins without linker errors. This is useful for reducing the memory overhead of working in the MSVC IDE, and reduces the size of the .ncb file and the bugs that come with it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1969 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 01:52:22 +00:00
arcum42 6a52fa119d More Vif register stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1968 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 21:24:22 +00:00
Jake.Stine 036004d9cf Win32: Improved batch files for clean_msvc and preBuild, using %~dp0 to fetch the folder/location of the command script.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1967 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 20:20:54 +00:00
Jake.Stine eff929cf09 Minor buildsystem changes (remove some warnings and add function level linking option to all 3rdparty libs)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1966 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 14:40:46 +00:00
Jake.Stine 278d43a5a7 Fix win32 compilation error, and fix Linux FMVs and (hopefully) some segfaults too, likely caused by not saving EBP.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1965 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 12:04:19 +00:00
Jake.Stine b71b837efa Linux: Added more correct __asm__ qualifiers and conditions; including __volatile__ on a lot of asm code (it should really be the default behavior and non-vlatile the specifier, but whatever >_<), and added register clobber specifiers. Might help unbreak some of GCC 4.4's optimization problems, although VIFdma's uber-hack SSE optimization looks like a real problem.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1964 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 11:05:11 +00:00
arcum42 a8b55baa38 Fix Linux. (While things in [] in inline assembly in gcc may look like variable names, they are actually labels that I've set to look like the variable names to ease readability. Unfortunately, labels can't have periods in them...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1963 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 10:58:38 +00:00