Commit Graph

419 Commits

Author SHA1 Message Date
Jake.Stine dd021b1ea1 Working on a new replacement for pxStaticText, which should hopefully have more reliable centering and wrapping behavior. Will finish it up later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3143 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-02 15:58:34 +00:00
Jake.Stine 2a0d360125 Minor fix to memzero function in gcc/linux (mentioned in Issue 577); may help fix some errant SIGSEGV's with certain optimizations enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3141 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-01 13:34:55 +00:00
Jake.Stine 23857a0e16 Added a little OOP to the CPU detection code, and turned one monolithic cpu detection function into several isolated ones (isolated by what general info they detect).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3136 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-01 03:33:51 +00:00
Jake.Stine 250b5da3ab Adds support to PCSX2 for 'SetLogDir' being passed to the plugins; needed for proper UAC/user homedir mess (patch by gregory).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3111 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-29 03:36:49 +00:00
Jake.Stine 9e7394afff * Set the PCSX2 event handler queues to use the wxObject allocator (reduces heap fragmentation, multithread performance, etc) [MSW/Win32 only]
* SafeFree() macro changed: Remove null check on calls to free(); should be 100% safe as according to wx gurus.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3102 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-28 16:50:49 +00:00
Jake.Stine 74a4ecd559 Completed support for various MemoryCard sizes (16, 32, 64 megs cards).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3084 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-26 19:45:33 +00:00
Jake.Stine 24e70bd524 * Re-implemented memorycard ejection (yay!) -- helps avoid memorycard corruption when using savestates on many games (due to them caching memorycard contents).
* Memorycard settings are now applied on-the-fly (can add/remove/disable memory cards in the BIOS browser and it'll act just as if you plugged or unplugged cards on a real PS2)
* Bugfixed memorycard creation dialog; which wasn't creating the memorycards in the right place (oops).

* Removed the CWD option from the first time wizard (was redundant since adding the custom location option).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3081 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-26 01:57:08 +00:00
Jake.Stine 56170870eb More user interface work. Moved some of the configuration panels around; just to confuse you all. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3070 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-25 02:08:17 +00:00
Jake.Stine d8ba646de2 Even more memorycard work! Dialog box is mostly functional now (still missing a couple options and refinements) -- WARNING: settings/ini storage has changed. If you're using non-default memorycard settings, you'll need to go and edit your ini again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3066 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 15:20:52 +00:00
arcum42 ef5124e6d3 cmake: Remove a few unneccessary defines.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3062 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 08:10:32 +00:00
arcum42 460728393a cmake: Update some missing files. Compile Devel by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3056 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-22 05:07:07 +00:00
Jake.Stine c4e2bfefb7 More UI Progress.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3052 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 22:29:30 +00:00
arcum42 0fb724295b Quick Linux fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3051 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 20:46:13 +00:00
Jake.Stine f7a30c3291 More work on memorycards, and general UI adjustments. Some things with the dialogs might be a bit broken-ish. Will finish this up properly soon. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3047 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-20 12:23:13 +00:00
arcum42 9baed432c9 cmake: A bunch of 32 bit/64 bit stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3022 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-16 00:36:42 +00:00
arcum42 b363b7c715 cmake: Change the way stripping is handled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3021 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-16 00:12:10 +00:00
arcum42 052506785b Enable cpu detection in spu2-x. Link to the systems copy of zlib, rather then building a separate copy for pcsx2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2986 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-12 11:25:30 +00:00
Jake.Stine 63f62bf737 User Interface:
* Console Log doesn't force itself into the focus anymore when it opens
 * Suspend/Resume menu item updates more reliably.
 * Changing plugin settings while suspended works nicer; less likely to crash/hang/etc (ironically, changing plugin settings while running was more reliable).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2976 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-10 17:59:03 +00:00
arcum42 62c15102e4 Add NDEBUG to non-debug targets in Code::Blocks. Remove a few inlines that were causing problems with Linux. Remove a problematic hardcoded initialization of OutputModule I'd forgotten about in Spu2-x.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2967 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-08 01:51:29 +00:00
ramapcsx2 e17d65cda6 Fix for release builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2963 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 10:01:26 +00:00
arcum42 8586e1b90d And let's update the project file too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2962 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 09:57:27 +00:00
arcum42 aaded4ec6d Mess with Jake's code until it works in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2961 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 09:55:30 +00:00
Jake.Stine 12bdd9dc10 * Fixed death-by-recursion caused when a thread threw an exception.
* Fixed some minor bugs when processing idle events.
 * Plugin Load/Init/Shutdown/Unload are all called from the Main/UI thread again; this is important for plugins that issue popup warning/error messages.

DevNotes:
 * Added ScopedPtrMT, a multithread-safe version of ScopedPtr.
 * MTGS errors are still not handled as gracefully as they should be; namely the MTGS thread doesn't restart itself (it's on the TODO list).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2958 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-07 03:20:58 +00:00
arcum42 deb0f620d7 cmake: Make Devel the default for the moment. Commit another cmake patch...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2956 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-06 09:33:23 +00:00
arcum42 f77cc74708 Apply gregory's cmake patch to fix it to compile with recent revisions. (Note: still unsupported.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2943 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-04 10:17:47 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
Jake.Stine 1507d72cad UI Bugfixes:
* Fixed several obscure deadlock issues.
 * Savestate actions block; such that only one load or save is permitted at a time.
 * Savestates now work through temp files, so that the existing file is not corrupted in case errors occur.
 * Exiting the emu while a savestate is saving will still save the state before completely quitting.
 * Plugin init errors are handled more gracefully.

Developer Notes:
 * Added some event diagnostic trace logging stuff.
 * More preliminary work on memorycards -- moved them to their own dialog box and started implementing things, but still a lot of work to do before it's ready for use.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2936 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 13:51:46 +00:00
ramapcsx2 7e8c22b4f5 Committing "blood's" work on building PCSX2 and plugins under msvc 2010.
Changes: Fixed all compile errors in VS 2010. Added support for new w32pthreads.v4. Fixed all MSB8012 warnings. Fixed LNK419 warnings with /DELAYLOAD. Fixed issues when compiling Devel before Release. Added GSdx Devel target. Minor cleanups.

Thanks a bunch, blood :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2930 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-30 19:46:43 +00:00
arcum42 d2c63c7bbc A rubber chicken with a pulley in the middle...what possible use could that have?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2923 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-28 01:36:15 +00:00
Jake.Stine 68b7121b92 ... and the missing file might help. Woops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2912 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-27 13:18:29 +00:00
Jake.Stine 5d37925617 Major UI renovations!
* Added versioning info to savestates! (along with some other bugfixes)
 * Simplified the Boot and System menus -- removed the old Skip BIOS hack and replaced it with the new BOOT2 injection method (which is considered hack-free at this time).
 * Removed lots of UI deadlock gotchas.
 * Some new confirmation dialogs and better error handling.
 * Implemented an exclusive SysExecutor thread, which serves the purpose of executing system/VM commands and events in uninterrupted order (including suspend, resume, savestates, etc.)



 * ... and probably broke linux!

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2911 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-27 13:12:03 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
gigaherz cd36e5fd24 Fix PadSSSPSX building, properly fix ZeroSPU2 and the null plugins too. Remove nullplugin_svnroot.props since it's not used anymore (I misunderstood the way props work).
Silence many of the warnings related to TargetName.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2861 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-15 22:18:32 +00:00
gigaherz 4917361197 Some more missing .props, sneaky bastards. (when you select a bunch of files in search results and use svn > add, it ONLY ADDS A FEW! the rest remain ignored, silently)
Some more wxCore fixes.
Fixed also inter-project dependency warnings.
Also some other fixed to get devel/release compiling.
Oh and apparently my VCproject folder got messed up and detached itself from svn, so it wasn't commiting with the rest...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2849 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 20:46:24 +00:00
gigaherz a3ca69a620 Made a special .props file for null plugins, since they seem to have a different folder structure than the rest.
Add a ton of missing .props
Tell me if anything else is missing >_<

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2846 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 19:57:33 +00:00
gigaherz 2863dbe4d7 Okay I just hate windows search a bit for missing these when I searched for "*.props"
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2845 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 19:48:32 +00:00
gigaherz b26198726c Sorry missing files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2844 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 19:47:29 +00:00
gigaherz 954847fca4 Initial work on vs2010 project files for PCSX2 and plugins.
The *null projects don't build, and neither do ZZOgl or ZeroSPU2.
Pcsx2 project has some issues with Resources' custom build steps not being run.
Only Debug target tested.
Needs work before it's usable.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2843 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-14 19:44:04 +00:00
sudonim1 3657bebe9e Fixed trap instructions by using the old implementation for now.
Added INT and INTO to the emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2716 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-15 14:15:40 +00:00
arcum42 58c75437d4 Take care of a few compiler warnings, and get rid of a bit of redundancy in the codeblocks projects.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2701 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-12 09:06:12 +00:00
Jake.Stine 08f3e4955b Major Savestate fix: Added version info, which never got added (oops) after I redid the savestate system for 0.9.7. Breaks all old savestates, but should be the last backward compat breakage for quite a while.
Also
 * Tons of small UI bugfixes and cosmetic improvements, mostly to startup, first-time running, and resetting options.
 * Added a third startup option for specifying a custom "default location" for PCSX2 files, in addition to user docs and CWD.

Devs:
 * Implemented some more += operators for adding wxWidgets objects to sizers (pxStretchSpacer mainly).
 * Preliminary re-implementation of memory cards panels -- still non-functional, so it's disabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2671 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-05 14:24:44 +00:00
arcum42 839d5b37f4 Fix back up CMake.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2599 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 13:40:45 +00:00
gigaherz 86d96ffbf2 Implemented the handlers for channel 8 (dev9) in the new iop dmac. No plugins support the changes yet so don't enable it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2571 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-06 22:18:26 +00:00
Jake.Stine 42064218ec Committing some messed up partial memorycard options panel implementation... planning to redo it but I want this on record as a backup, just in case. (all disabled, so not much to look at and nothing changed in the emu itself yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2543 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-31 02:21:58 +00:00
Jake.Stine 9fa4944536 GSdx: Removed obsolete/redundant options from the configuration dialog (vsync, fullscreen, and other things now controlled by 0.9.7). This only affects GSdx when run from 0.9.7 -- older versions of PCSX2 still have the same options.
PCSX2: Added an optional PS2EsetEmuVersion callback for plugins, so that plugins (like GSdx) can alter behavior based on the version of emulator calling them.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2530 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-28 02:53:10 +00:00
Jake.Stine 2dfad2fb24 Improved CPU usage and fps stats.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2523 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-26 13:06:53 +00:00
Jake.Stine 4383cb5b0c Added CPU and GPU load readouts (currently Win32 only). Documented possible methods for implementation in linux. (linux project files aren't updated yet, short on time -- sorry!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2520 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-25 15:31:17 +00:00
cottonvibes 2698b3da1b Created the macro "memcpy_const" for memcpy's with constant sizes, and set pcsx2 to use it where applicable... currently just uses memcpy_amd internally...
Also some minor mVU compiler optimizations.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2515 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 22:04:49 +00:00
Jake.Stine 541ef9956e Fix some excessive idle event processing introduced by my earlier log spam commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2511 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 13:13:49 +00:00
Jake.Stine 6b899c9bbd More UI bugfixes and tweaks:
* Hopeful fix for GSwindow getting stuck maximized when pcsx2 crashes when fullcreen.
 * Altered RestoreDefaults behaior for EE/IOP and VU CPU panels.
 * CDVD Verbose Reads toggle takes effect immediately now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2506 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 02:26:53 +00:00
Jake.Stine fa04244375 Add some new checks for blocking VM reset/shutdown while savestates are saving (avoids accidental corruption). Renamed a lot of the new event listener code so that it's consistent... ish.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2497 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-23 17:13:03 +00:00
gigaherz 5715c181dc I give up on the dmac branch. It will be easier to just do this in trunk, since it can be easily turned off.
I made it so each part can be enabled separately, but atm they are missing some code so nothing will work if enabled.
Commit is mostly for backup/history purposes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2486 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-23 03:28:32 +00:00
Jake.Stine 4e225ba113 Minor fixes to the GS Window regarding suspend/resume and a certain nvidia bug; and fix a bunch of compiler warnings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2478 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 23:26:57 +00:00
arcum42 6d9fb042cd Hurrah for gcc.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2477 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 16:55:39 +00:00
Jake.Stine aac2a2e0d1 ... forgot to save the linux cbp files before committing. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2475 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 15:22:53 +00:00
Jake.Stine e747337d63 A big old crapload of UI and thread management changes. Recoded the EventSource/EventListener system to be more C++ and less hacky C. Probably breaks Linux!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2474 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 15:22:01 +00:00
arcum42 4f2601a687 SPU2Null: Fix the release version.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2468 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 05:07:34 +00:00
arcum42 b64452f074 Commit Athostr's latest patch to the cmake build support to svn. Standardizes the CMakeList files a bit, copies ps2hw.dat in to plugins, preliminary PortAudio support. Only uses the builtin SoundTouch now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2467 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-22 04:36:49 +00:00
arcum42 cbb2000400 Commit a modified copy of the CMake files from issue 513. (Note: work in progress. Not currently for general use. Builds made using cmake are currently not supported, and unlikely to work properly.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2464 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-21 15:12:50 +00:00
Jake.Stine 1511703bdb Null plugins should probably disable HW/addr logging by default...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2427 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-14 00:57:01 +00:00
Jake.Stine 7cd07da2d7 Added some info to the GS window title (finally!). Includes an fps readout!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2425 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-11 08:02:17 +00:00
arcum42 eb54a7185b Add a header with some plugin helper functions. Mess with the comments in PluginCallbacks.h a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2417 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-09 01:26:52 +00:00
Jake.Stine bee1bde1b3 More hotkey fixes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2416 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-08 23:33:15 +00:00
Jake.Stine 1298a35481 Should fix linux...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2410 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-04 20:55:47 +00:00
Jake.Stine f293c2983b A couple dozen user interface refinements; notables:
* Implemented GS window hiding on suspend (option was there, but not tied in)
 * Added Frameskipping options
 * Added option for disabling all GS output, for benchmarking EEcore stuffs.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2409 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-04 11:51:09 +00:00
Jake.Stine a63115988b PS2E v2 (plugin interface) tweaks and additions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2402 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-27 12:15:21 +00:00
arcum42 ca02bffc6c We'll need to include signal.h if we're raising signals.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2398 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 18:58:25 +00:00
Jake.Stine de637fc921 Bugfix for assertion breaks not working in Devbuilds.
newVif:
 * Bugfix to HashBucket::find() cuts microprogram caches misses in half.
 * Dynarec version now uses alternating XMM registers for unmasked unpacks (very minor speedup, ~1%).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2397 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 18:00:51 +00:00
Jake.Stine 9473e69b7f Thread Local Storage Fixes:
* Implemented TlsVariable, a nifty alternative to __threadlocal, suitable for archaic operating systems that don't have native TLS support (namely Mac OS/X).
 * Added a forced reference to TLS in AppInit so that TLS is sure to be available to DLLs (otherwise windows doesn't init TLS by default).
 * Disabled TLS support in the x86emitter by default, since it's looking increasingly like we won't find a use for multithreading PS2 sub-components (can be re-enabled later if spontaneous brilliance at a later date proves me wrong).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2396 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 22:22:34 +00:00
Jake.Stine 3d9bb25505 Linux: Fix bugs in _aligned_realloc and newVif's inlined SSE HashBucket finder.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2395 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 10:04:03 +00:00
Jake.Stine 2f38decdab Fixing some more bone-headed project file compilation errors (my fault, don't know what I was thinking when I did this w32pthreads lib change int he first place)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2393 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 02:36:58 +00:00
Jake.Stine b27b89b162 newVif: I'm a terrible person. What started out at an optimization turned into this.
* Optimized codegen of the VPU recompiler using displaced memory offsets (1-2% speedup)
 * Undid a lot of the inl stuff for more traditional cpp code layout (explained below)
 * Removed some redundant code and turned some macros into functions.
 * Renamed a few things to VPU (Vector Processing Unit, which is the specific name of the logic core that performs VIF Command Processing and Unpacking on the PS2)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2387 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-23 13:22:30 +00:00
Jake.Stine 408dbd7256 * Call PADupdate from MTGS thread when using legacy GSopen -- Should fix Linux Pad instabilities.
* Fixed a savestate loading bug, when loading states made with different sets/versions of plugins.

DevNote:
 * Moved some old PS2E types to PS2Edefs, since the new v2 plugin API won't use them (freezeData, keyEvent).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2380 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 03:15:30 +00:00
Jake.Stine 500c1dbfeb Re-implemented Ping() into wxApp, this time using Idle events (for once I found a use for them!). This because the YieldToMain logic wasn't ever going to work right since wxWidgets lacks a way to poll the event loop for pending events. End result: More responsive GUI dialogs and junk. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2376 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-21 11:52:14 +00:00
Jake.Stine b45b91bf07 More minor improvements to cpuSpeed calculations, since my experimental fix apparently works. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2364 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 01:28:23 +00:00
Jake.Stine 84c7436d34 w32pthreads: bugfix for minor race condition on exiting threads. Tech details: the testcancel flag was being incremented after the thread had already canceled, leaving the flag "dangling".
PCSX2: attempt at fixing what appears to be a belated thread affinity issue during the cpuspeed detect.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2363 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 00:00:07 +00:00
Jake.Stine 9f41fc4793 (Most Plugins) Updated plugins to obey PCSX2's ini folder requests. This will fix problems with plugins failing to save settings on Vista/Win7 due to lack of Admin rights, and also ensures all the plugin inis show up where you would expect them to.
Fixed a couple UI bugs: FirstTime Wizard display bug and the "Configure..." button in the plugin control panel grays out when it should.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2361 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 18:30:56 +00:00
Jake.Stine 4c2a7ae39f Remove some assertion and log spams in devel builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2357 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-18 17:57:18 +00:00
Jake.Stine b3fead5dc9 * Disable newVifUnpack, which I left enabled in the prev commit (it's not ready yet!)
* Added feature to align call targets for EErec functions and blocks on P4's and AMDs, and pack them on Core2/i7's.
 * Fixed some svn:native props.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2347 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-15 20:46:30 +00:00
arcum42 9a972ccc02 The usual Linux stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2341 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-14 13:31:50 +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
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
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
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
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 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
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
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 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 64c12f5a7a Video/GS Window and Panel Options (partly!) implemented:
* Aspect ratio and mouse cursor hiding features should be mostly functional.
 * Mouse cursor by default hides after 1.75 seconds of inactivity, when in the area of the GS window.  Can be forced to always hidden in the control panel.  Unlike the liilypad hack, this one won't hide the mouse in the main window or title bars.  (and it should work for Linux too!!)
 * GS window position and size should be remembered between sessions.

Console Logger window z-order is now "bound" to the main window.  When clicking either window to bring it to focus, the other window follows (implemented for Win32 only, since wxWidgets doesn't have a cross-platform implementation of the necessary SetWindowPos call).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2275 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-29 22:50:55 +00:00
Jake.Stine 434bb37d63 Expand the system.map symbol table string length from 32 to 64 chars (fixes debug assertion in Silent Scope 3); and other minor code comments added.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2259 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 06:47:32 +00:00
arcum42 2b1a9277ee Various tag stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2258 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 05:31:32 +00:00
Jake.Stine 7e2ff95a97 Remove Windows Vista/7 SDK requirement for compiling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2257 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-27 00:06:56 +00:00
Jake.Stine ab010e1bc9 * Fix Issue 488 - FPU Full mode was being ignored.
* Slightly smaller and brighter camera icon.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2256 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 13:09:23 +00:00
arcum42 bedb21f3d6 Fix up Linux again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2255 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 10:51:41 +00:00
Jake.Stine 474a404dfd Turn an ugly snapshot button into a pretty one!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2254 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 07:01:24 +00:00
Jake.Stine 03449cf682 * Improve GUI responsiveness while doing things like enumerating/loading plugins.
* ConsoleLogger Optimization: Improved performance considerably for when the log gets spammed by EEcore or MTGS threads.

DevNotes:
 * Added a new pxYieldToMain() method (currently implemented in Win32 only).  It provides a smart way to allow passive-task worker threads to yield time to the Main Thread when important messages are pending (keyboard or mouse clicks, primarily).  It also replaces the wxGetApp().Ping() stuff, which never worked anyway due to wxCommandEvents having a higher priority than native system messages.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2253 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-26 03:37:10 +00:00