Commit Graph

10 Commits

Author SHA1 Message Date
Jake.Stine b32d84516a Made several modifications to the MTGS and Threading portions of Pcsx2. This should fix some problems in select games that use VIF FIFO 1 (downloads data from GS to EE, forcing an MTGS stall), and should also fix occasional MTGS freezeups during emulation init/exit. MTGS uses pthread's semaphores now instead of pthread_cond (Which as it turns out isn't really doing what I thought it should do). The semaphores are faster and more stable, so it's a win-win. :)
Programmer notes: Added a new u128 type to PS2Etypes.h, and a new SafeAlignedArray<> class to System.h.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@655 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine 46f5bb51e9 Removed "noreturn" declspec from the iR5900-32.cpp Dispatcher functions, which simply supressed the generation of an unreachable "ret" at the end of the naked functions. GCC doesn't support the directive anyway.
Removed some __MINGW32__ specific code, and added a GCC-friendly #define for declaring __naked functions. (another optimization directive in MSVC which GCC doesn't support and/or ignores)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@616 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:38 +02:00
Jake.Stine 1a7ee2d30d Various Win32 GUI renovations: * Added a new feature under Misc -- Close GS on Escape! This will close the GS window anytime you press Escape to return to the Pcsx2 main window. It works even in DX9 fullscreen mode for seamlessly entering/leaving a game.
* Loading/saving states from the File menu should work as expected most of the time now (bugfix, yay!)

 * Ini file now versions itself and issues a one-time warning to users when ini settings have changed (which can sometimes lead to odd behavior usually fixed by deleting ini files).

 * Added a new ssprintf function which is a std::string based replacement for snprintf, without the hackish truncating behavior.

 * Converted a lot of code over to use std::string (eliminates chances of buffer overruns and truncations, and serves as a general code cleanup)

 * Added several new functions to the PathUtils.cpp, and encased them in the Path:: namespace.

 * Added a Msgbox:: namespace and moved Alert into it.  May add one or two additional dialog types in the future, if needed.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@555 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 ffc90048d7 Fix Linux plugin breakages from r540, and make build.sh call fetch.sh so that I am sure to notice the breakages earlier in the future.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@548 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
arcum42 bbfb6ac41a Fix up Linux compiling after the last few commits. Add in my latest attempt at SysPageFaultExceptionFilter.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@546 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine 899b0bc4f1 Configured all the newly-added plugins to compile properly under Win32/MSVC (ZeroSPU2, ZeroGS, ZeroPAD). Created a new solution file called pcsx2_suite_2008 which contains Pcsx2 *and* all the plugins.
Moved the PS2Edefs.h and PS2Etypes.h files into /common.  All plugins and Pcsx2 now reference the same copies of these files at all times.

Removed SubWCRev from the repository, and linked the /common/ folder to the /plugins folder (allows for people to checkout the plugins folder alone and still be able to compile without pre-build step failures).

Tweaked the MTGS throttler.  Might work a wee bit more efficiently in certain high load situations.

Fixed a rare bug in the COP2 (i think!) introduced during one of the earlier VU code cleanings.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@540 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:35 +02:00
Jake.Stine dc12877b8b Added some compiler hints to help the IPU optimize a little better. It had several candidiates for forced inlining.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@315 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:27 +02:00
Jake.Stine 56004a1e8b Fixed some stack buffer overruns introduced by the new commandline options features in r294. They only happened when using one of the plugin override options (-spu or -gs, for example).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@306 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine 6930ed533c SPU2ghz: Compiling without TortoiseSVN installed should work out-of-the-box now. The project will automatically fall back on the old-school behavior (no revision information inserted into the project info).
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@305 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00
Jake.Stine 97dd495e85 SPU2ghz: Moved the svnrev additions to a new 'common' folder which is shared by all projects (pcsx2 included). The common folder now includes the necessary utility, so it should build out-of-the-box now (no more path setup or program installs necessary)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@293 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:26 +02:00