Commit Graph

7 Commits

Author SHA1 Message Date
Jake.Stine e4e8b6dbaf Made some significant optimizations to VTLB. Between this and the last couple revision opts, VTLB is now as fast or faster than VM builds (with many more potential optimizations in the queue!).
Removed VM build targets from the Win32 solutions, because it no longer compiles and there's no point anymore in doing the work needed to make it compile.  The optimization style of VTLB is completely incompatible from VM so it would require lots of newly branched code to maintain VM builds.

Commented out a VU0micro Stall warning which was causing a lot of spam in some games.  The games have been noted and the issue will be looked into further in the future.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@650 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:39 +02:00
Jake.Stine f1bdbd59a8 Fixed a bug in the COP0 TLB / Branch instructions that was causing some games to freeze up or crash (bug was introduced in r572).
Cleaned up the GUI code a bit.  The gui is no longer recursively called from the EErecs branchtest.  This is good for process stack security, good for savestate stability, and good for improving the GUI's ability to handle and recover from errors (although the last part will need more work before it's fully implemented).

Did some more cleanups of the IPU code.  Fixed some tabbing and formatting, and did a couple more __fastcalls.

Note to our compilers: We redid the naming scheme of the build targets (again!).  Builds are now names Debug, Devel, and Release.  The builds behave the same as they did prior, except that now the names are much shorter.  Also, we decided to disable PCH on Release builds for safety sake.  Devel builds still have PCH enabled on everything except IPU.cpp.

**VM build is still broken!**  (I'm going to take a look at it in earnest tomorrow)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@587 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:37 +02:00
Jake.Stine 70583d47cf Switched over to a new statically linked pthreads-based threading system, and rewrote the MTGS so that's (mostly) separated from the GIS/GIF code now. Added detection of CPU cores (both logical/hyperthreaded and physical), and moved the cpuInit code around so that it makes more sense and so the console gets spammed with less redundant info.
Win32-specific: Fixed GUI bugs from Issue 90, Issue 91, and Issue 92.

Developer info: Added new files MTGS.cpp, Threading.h, WinThreads.cpp, System.cpp, and LnxThreads.cpp.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@510 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:33 +02:00
Jake.Stine a0148c6242 Win32 GUI: The load/save other savestate dialog box defaults to the savestates folder now, and also defaults to the new NT/XP style open file dialog box (the bigger, fancier, better one).
Several project management changes:
 - Renamed all .c files to .cpp.
 - Added pthreads-win32 to the project (along with a couple fixups).  Future revisions will use pthreads code exclusively, and remove the need for win32/linux ifdefs in multithreaded code sections.
 - Added MTGS.cpp (but it's still empty yet)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@500 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:33 +02:00
Jake.Stine 8654341dec CDVD fix: "CDVD Ready" and "Seek Complete" flags are managed correctly now, and Cdvd timing accuracy is more precise.
Disabled PS2 BIOS console logging in non-dev Release builds.

Win32: Profiler no longer freezes the emulator for 1-3 seconds during startup.  (and yes I'll make it an option soon!)

Win32: Updated build names in project and workspace files

Code cleanups:
 * Heavy modifications to how Pcsx2 devbuild logging works.  Devbuilds should be a bit more efficient now.
 * Removed all color tags from SysPrintf's.  The colors didn't work on Win32 builds (may have worked on linux) and were needlessly complex.  Will replace them with a (working!) console colorizer that works on a per log-type basis soon.
 * Added a new Console namespace with various replacements for SysPrintf.  API is loosely modeled after C#'s Console class.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@476 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:32 +02:00
Jake.Stine 0123e80888 Merged drk||Raziel's new VTLB codebase into Playground. It's a faster and more stable replacement for the old TLB build. It lacks the full suite of recompiler optimizations, so don't get too excited (yet). It'll get better though. :)
Important Note: VM and VTLB saves are incompatible!

Also in this revision: Part 1 of a major code cleanup to the EE recompiler.  Adding namespaces and better/safer scoping, and the Standard, Special, and MMI instructions work through a single structured opcode table now.  (other instructions will follow suite when I have the time).

Fixed some sloppiness in the R5900 disassemblers.  Those also need more work yet.

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@459 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00
Jake.Stine 6696e776e5 Moved the default .sln file to a more convenient location. Maybe not more appropriate, but certainly more convenient. ;)
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@445 a6443dda-0b58-4228-96e9-037be469359c
2016-05-24 22:40:31 +02:00