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
cottonvibes
fbd1268e64
Added a gamefix that should fix the messed up camera views in Gundam games like "Mobile Suit Gundam Seed Destiny: Rengou vs. ZAFT II Plus" and the other ones that had this problem.
...
No need to set roundmode to nearest anymore, just use the gamefix.
also i think i also have to add this fix to iFPUD.cpp stuff, i'll do it tomorrow.
btw, this fix is untested because i don't have the time today to test it w/o working saved states.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1961 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 06:25:56 +00:00
Jake.Stine
75d3c053ef
Two minor cosmetic fixes from the __aligned switchover.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1960 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 02:25:54 +00:00
Jake.Stine
6412271470
Renamed PCSX2_ALIGNED to __aligned and removed the need for excess parenthesis and oddball qualifiers. Left the old macros in Pcsx2defs.h for now, just in case. Redid some of the storage organization of microVU and iFPU consts and temporaries while I was at it, using structs instead of naked vars -- should improve cpu cache behavior a wee bit.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1959 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 02:15:49 +00:00