Commit Graph

386 Commits

Author SHA1 Message Date
Jake.Stine df6f1b03f7 Major Settings Changes!
* PCSX2 now splits settings into two files: pcsx2-ui.ini and pcsx2-vm.ini.  The former is user interface clutter (window positions, confirmation dialogs, etc).  The latter is virtual machine settings, speed hacks, game fixes, etc.
 * Added support for PORTABLE INSTALLS!!  Portable install is currently manually enabled by adding an empty "pcsx2-portable.ini" to the install location of PCSX2.  Portable installs should run seamlessly from any flash drive, etc. (and will usually need Admin rights)
 * PCSX2 install location and plugins folders are stored in the registry now (unless portable install is enabled, in which case no registry is used).

Notes:
 * A button to enable portable installs from within PCSX2 is planned.
 * NSIS installer will hopefully be upgraded to allow for a portable install option as well.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4198 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-10 17:48:25 +00:00
Jake.Stine 267b3bd90d API change: Simplified handling of app/emu config defaults handling. Got rid of the mandatory "defaults" override -- LoadSave APIs for Pcsx2Config and EmuConfig now use the current settings of the class instead.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4177 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-04 22:49:58 +00:00
Jake.Stine f76e901c64 Minor cleanups for the new virtual memory alloc/reserve system:
* Moved VIF dynamic recompiler buffers to the recompilers section of PCSX2.
 * Using RecompiledCodeReserve for the VIF SSE functions.
 * Minor bugfixes to VirtualMemory class implementations.
 * Improved error handling and error message display.
 * [TODO] : implement a call to cpuShutdown() to clean up VIF unpack/SSE reserves.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4169 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-30 06:21:07 +00:00
Jake.Stine 4c3e22e831 * Solution file updates for zzogl (adds needed dependencies)
* A couple i18n fixes listed in Issue 915, relating to dialog message formatting for a couple specific messages.
DevNote:
  * Added some missing operator+() stuff for the pxsFmt string formatter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4160 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-28 04:14:47 +00:00
Jake.Stine a7fcc3929e * Documented some of the event/threading proxy class and its underlying event queue.
* Simplified and improved (slightly) the savestate memory cleanup on error/cancellation.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4158 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-27 15:25:39 +00:00
arcum42 0297a6d364 Various changes to avoid using deprecated Gtk+ code. Gtk+ 3.0 is slated to remove most of the currently deprecated calls...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4139 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-24 23:58:56 +00:00
Jake.Stine 73d74e85c0 wxSavestates: add missing file.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4094 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-14 20:12:03 +00:00
Jake.Stine 9eddbb5845 wxSavestates: savestates now include game serial code, and a ps2z extension (which can be linked to any zip-supporting tool, like winzip or 7zip). This branch is ready for extensive testing. :)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4092 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-14 15:09:22 +00:00
Jake.Stine daf47b50a0 wxSavestates branch: (partially sync'd with trunk**)
* Finished up zipfile-style savestate implementation
 * Simplified BaseSaveState class, and removed lots of now-unneeded code.
 * Prepared the i18n stuff for a pcsx2_Dev.pot file (WIP), and sorted more stuff to pcsx2_Tertiary.pot.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4091 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-14 07:28:05 +00:00
Jake.Stine 21c022542f Minor i18n-related bugfixes.
* "Browse" option in recent iso menu should translate now.
 * Dialogs and config panels remember their positions more reliably (when using X or alt-F4 to close PCSX2, for example).
 * Preliminary language selector dialog (available in debug builds only).  Will finish it up later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4088 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-12 07:43:21 +00:00
Jake.Stine 5c54b8279e i18n:
* fixed a bug that caused certain confirmation dialogs to not remember their choices, when user had non-english language.
 * Added wxWidgets-provided strings for a few things, such as Next, Back, and OK / Apply / Cancel.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4076 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-04 15:23:15 +00:00
Jake.Stine f2c0ff23a9 PCSX2, GSdx (patch from avih): Fix broken backward/forward compatibility regarding GSgetTitleInfo
* PCSX2: Added GSgetTileinfo2 and deprecated=removed GSgetTitleInfo
 * GSdx: moved to the new GSgetTitleInfo2
 * New PCSX2 with new GSdx will have the new functionality, all other combos remain with old functionality.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4073 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-03 21:18:29 +00:00
Jake.Stine 49527d952c Plugin API for GS: Changed the new GSgetTitleInfo callback to use a more sensible parameter passing system.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4072 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-03 03:45:34 +00:00
Jake.Stine 9bcff9f3d5 Internationalization fix-ups. PCSX2 0.9.7 should *finally* be ready for translations. Whew.
* Also did some work on re-introducing the game database dialog.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4063 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-02 08:15:11 +00:00
Jake.Stine 21f75b58db * Added code to detect amount of physical ram installed on the host computer.
* Added logging of host operating system and physical ram to startup.
 * Removed "PhysicalCores" stuff from both x86emitter and startup logs -- physical cores is losing its relevance with all the new AMD and Intel chip designs.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4048 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-23 21:32:52 +00:00
Jake.Stine 6dcdf9cfa9 wxSavestates:
* Basic savestate loading/saving working now (needs testing).
 * No support for screenshots embedded into the savestate (yet).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxSavestates@4043 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-22 16:24:54 +00:00
Jake.Stine 2ee6b7abc6 Merge newHostVM branch. Feature overview:
* PCSX2 uses significantly less memory when starting.
 * Overall memory use reduced (mildly for some games, significantly for most).
 * EE and IOP main memory are now fixed at 0x20000000 and 0x24000000 -- useful when using external cheat apps.
 * Properly implemented the 'Shutdown' menu option -- Shutdown now unloads the entire PS2 virtual machine and reduced PCSX2's memory footprint to bare minimums.
 * Some more meaningful errors for when memory is a problem (out of memory, low virtual memory, etc).
 * Bugfix for pxsFmt when formatting long/large strings (over 1k)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4029 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-17 05:49:11 +00:00
Jake.Stine b10a6d5271 newHostVM: MSVC compilation fix.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4028 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-17 04:58:35 +00:00
Jake.Stine 63b254c8bd newHostVM:
* Applied the new RecompiledCodeReserve to the VIF recompilers (saves another 4-8mb of memory, depending on game).
 * Fixed a bug in pxsFmt / FastFormatUnicode (string formatting).
 * Final round of error handling cleanups.

(branch is basically ready for re-integration -- needs some testin for obvious/show stopping bugs, thanks!)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4025 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-16 15:58:42 +00:00
Jake.Stine 239c9f83d8 newHostVM: (Restored booting) -
* Added some bounds checking to debug builds for VTLB mappings.
 * Fixed a VU mapping bug that caused boot crashing
 * Fixed some startup, shutdown, and reset resource management.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4021 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-16 00:22:18 +00:00
Jake.Stine be1a590464 newHostVM: (WIP, may not run!) -- Applied host virtual memory mapping to the EE/IOP/VU main and on-chip memory banks. Added a new OO-based system allocator object for handling said virtual memory resources. Plus many code cleanups, and some added mess that needs to be cleaned up.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4020 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-15 14:05:02 +00:00
Jake.Stine d6de2e3942 newHostVM: Made use of the new SpatialArrayReserve for the EE/R5900 recompiler. Reduces the recompiler's lookup tables from ~40mb to a mere 1-3mb.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@4003 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-06 16:25:40 +00:00
Jake.Stine 3bdf62fa0e newHostVM: Sync with trunk (r3972-r3993)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3995 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-05 01:39:25 +00:00
Jake.Stine a7726871dc newHostVM: More exception / error handling mess.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3994 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-05 01:33:01 +00:00
Jake.Stine dc7f00d05e newHostVM:
* Preliminary implementation for the SpatialArrayReserve class, which will be used for recompiler lookup tables (large portions of these tables are never used by many games).  Will put it to use and test it soon.
 * Finished implementation of TryResize method for reservations, which will be used by PCSX2 if the operating system runs low on ram.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3992 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-03 17:37:29 +00:00
Jake.Stine 5579350d22 newHostVM:
* Moved profiler management to the RecompiledCodeReserve class.
 * Improved error handling some more.
 * Numerous minor cleanups.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3991 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-03 14:18:30 +00:00
Jake.Stine bd8127f75e newHostVM: More error/exception handling WIP stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3980 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-29 02:49:01 +00:00
Jake.Stine 4bee22a4cd newHostVM branch: Implemented VM reservation feature for all recompilers.
* SuperVU note: SuperVU recompiler now uses two separate 8mb caches for VU0 and VU1 (needed in order to simplify/saneify the reserve/alloc stages of pcsx2 app startup).
 * Added MemsetFast.inl, which houses SSE intrinsic versions of memset and memzero, for use on aligned data targets.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3975 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-27 19:18:46 +00:00
Jake.Stine 5e2724bdc3 * (Issue 734) Configuring plugins from the First Time Wizard should work better now (plugins options changes wouldn't stick)
* Security fix for Windows: Forced plugin filenames to be absolute paths, which resolves issues with windows' default path search order for DLLs, and hopefully avoids some errors for users who have installed Microsoft's Improved DLL Security patch.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3974 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-27 15:16:14 +00:00
Jake.Stine 01541f2c92 newHostVM branch: work-in-progress stuff...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/newHostVM@3958 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-22 16:23:52 +00:00
Jake.Stine e30892cf34 wxIsoFile: ... and some more fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxIsoFile@3944 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-19 09:25:44 +00:00
Jake.Stine ca9e250837 wxIsoFile: And a couple more compiler fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxIsoFile@3942 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-18 16:09:00 +00:00
Jake.Stine d5bc947e8d wxIsoFile branch: fix missing includes and gcc compilation stuffs.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxIsoFile@3941 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-18 15:46:05 +00:00
Jake.Stine 2b4d7cc384 wxIsoFile branch: (needs linux testing)
* Convert IsoFileFormats.cpp into a class.
 * Use wxFile and wxFileInputStream instead of windows/posix specific file functions.
 * Added new ScopedAlloc classes, which are very simple dependency-free templates for exception-safe allocations.
 * FastFormatString: Improved performance ad fixed an obscure bug.
 * Drag&Drop (UI) - Improved the friendliness and responsiveness, so that PCSX2 doesn't end up tying up an explorer window while it prompts the user or issues error messages.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxIsoFile@3934 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-18 01:40:49 +00:00
Jake.Stine e63314f545 * Bugfix for Issue 850 - memorycards being deleted when swapping slots.
* Preliminary work done for Issue 735 : allowing specified custom memorycard filenames.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3869 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-04 17:12:28 +00:00
Jake.Stine 5fd2cf97d3 Made some minor tweaks to SIF to test some theories and fix some broken-looking code -- please report any regressions. Also commented some of SIF and IPU stuff. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3812 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-20 12:47:17 +00:00
Jake.Stine 46b89abb72 * Move the GIF register handlers from dmac to hwRead/hwWrite (like the VIF registers they aren't actually DMA-related).
* Minor cleanups to trace logging and FastFormat string stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3724 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-04 14:11:50 +00:00
Jake.Stine bcac59ee4f Linux/GCC fixes. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3705 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:47:54 +00:00
Jake.Stine 1cac8d3948 * Added subdivided content to the u128 type (changed it from a struct to a union, added _u32[4], _u16[8], etc).
* Added ToString methods to the u128 type.
* Bugfixes for the FastFormat string utilities, namely when writing UTF8 content via the UTF16 formatter.
* MSVC: Removed obsolete disabling of unsigned/signed mismatch warning (4018)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3703 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:14:00 +00:00
gregory.hainaut@gmail.com 112800cb98 common, GSnull, zzogl-pg, SPU2null: add more safety to some fclose functions. Avoid a bunch of double free and memory corruption.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3671 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-20 11:13:40 +00:00
Jake.Stine 91851c6222 Trace Logging:
* Cleaned up trace logging and switched from C++ initializers to C-style const arrays.  Kinda mixed on which I like better, but decided to go with the general rule of thumb that a bit less C++ weirdness is probably a good thing.
 * Removed __assume() feature from pxFail and pxFailDev, due to the likeliness of unwanted/unexpected compiler behavior (MSVC only).  To hint the compiler that code should be unreachable, explicitly use pxAssume(false).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3643 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 15:01:13 +00:00
Jake.Stine 20adde44a6 PCSX2/EEcore:
* Now using SSE for all hardware register reads and writes (mainly MFIFO stuff) [don't expect a speedup, really -- its more of a code simplification in this case].
 * [refactoring] Changed the EE Memory (vtlb) to use the u128 type instead of u64 for the 128-bit loads/stores (see mem128_t typedef)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3626 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 15:42:13 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
gregory.hainaut 04e6c5ab02 Spu2null, padnull, gsnull, CDVDnull, onepad, spu2x:
Add 2 attributes to the interfaces functions
 - externally_visible: avoid gcc to remove the function when lto is enabled 
 - visibility("default"): default == public... Allow to hide all others symbols: see http://gcc.gnu.org/wiki/Visibility for details

onepad:
* Remove __cplusplus define, everythings is in C
* define 2 interfaces functions with EXPORT_C_ instead of CALLBACK.

cmake:
* add recent added .h files
* add fvisibility optimization. Plugins size was reduced of ~10% much more than expected :)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3611 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 11:43:21 +00:00
Jake.Stine 912872af80 Introducing a mostly revamped Tracelog and Console log system. Various console log sources can now be toggled on/off on the fly, allowing end users to enable more verbose logging when they encounter problems. Both console and trace sources can be given automatic prefixing.
DevNotes:  DevCon logs are now available in *Release* builds as well as Devel builds, and can be enabled from the Console window's "Sources" menu.  They are disabled by default in Release builds, and are always enabled regardless of the ini setting in devel builds.  Debug logs are still strictly available in debug builds only.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3609 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 05:46:09 +00:00
Jake.Stine 28ba6d7520 More GCC fixes for SafeArray (changes to the BoundsCheck macro fix some meaningless warnings, not really important otherwise).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3607 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 12:48:49 +00:00
Jake.Stine 6531640844 Yay! TlsVariable fixed properly. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3606 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 12:21:19 +00:00
arcum42 24aac1f1f2 After 4 attempts, I suppose it's my turn...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3605 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 09:54:59 +00:00
Jake.Stine cfc3944a90 GCC/TlsVariable compile fix attempt #4: randomly throwing darts at members of the C++ standards committee.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3604 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 05:03:52 +00:00
Jake.Stine d88cf47adb Linux: Likely fix for gcc errors compiling SafeArray
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3602 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-05 01:39:31 +00:00