* finished most of the new plugin system (branch is buildable and runnable again, but no significant functionality has been added yet).
* Removed STGS code from the branch since I planned to kill it off anyway and it was more work to code proper support for it in wx than to remove it.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1595 96395faa-99c1-11dd-bbfe-3dabce05a288
* Console now uses a fixed-width font by default
* Core PCSX2 memory structures (VTLB and Recompilers) are allocated on startup.
* Added some more gui/ini/startup mess.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1539 96395faa-99c1-11dd-bbfe-3dabce05a288
I will later work on getting the typical plugins to support these new functions.
I have tried to also update the linux side, but I can't compile or test it so it might not work properly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1511 96395faa-99c1-11dd-bbfe-3dabce05a288
* Moved the x86 emitter to /common, so that plugins can link against it if they wish.
* Created a new "utility" class in /common which houses string utils, fast memcpy, common exception classes, and other handy dandies.
* Removed old-style linux automake files from the pcsx2 dir since they were hopelessly out of date (and their multi-file-per-line format makes svn merging impossible >_<)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1454 96395faa-99c1-11dd-bbfe-3dabce05a288
- Cleanup and organizational changes of VU related stuff.
- Separated Super VU, microVU, and Interpreter files.
- Renamed all Super VU related files with an 'sVU' prefix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1356 96395faa-99c1-11dd-bbfe-3dabce05a288
basically if you run an elf file now, the cdvd plugin will attempt to open once, and if it has an error (like loading no-game), it'll let you continue running the elf file, and it won't bug you again.
but if it did open successfully, it'll initiate the cdvd plugin normally (allowing elf files to read the cdvd contents, like the Snes emu for ps2...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1154 96395faa-99c1-11dd-bbfe-3dabce05a288
- PCSX2 would repetitively call CDVDopen if loading an elf file and your cdvd plugin didn't have an ISO already pre-loaded. Basically I had to switch to CDVDnull whenever I wanted to load an elf... well not anymore xD
microVU:
- Implemented the VI regs thing where if an opcode tried to access vi regs 16~31, the VU's should return vi0~15 (viReg & 0xf); technically it should never happen, but from my tests the BIOS seems to do this... so maybe some rare games do it too...
- Our VIF code apparently uses VU cycles for some stuff, so I now update the cycles variable VIF relies on.
- Minor Optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1136 96395faa-99c1-11dd-bbfe-3dabce05a288
* SSE3 detection via cpuid implemented. [fixes Linux -- the force_sse3 option should no longer be needed!]
* Instruction tests are now done for SSE3, SSE4, and SSE4.1 to confirm cpuid results (I doubt this is necessary, but the old code did it for SSE3, so I figured I'd keep it and log results anytime an inconsistency is detected).
* SSE4.2 and SSE4a detection added.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1086 96395faa-99c1-11dd-bbfe-3dabce05a288
Most things should be a bit faster with this new system. The system is more balanced than the previous one, in that it provides a better overall performance across most games, but some specific FMVs (like Disgaea 2's) will be a bit slower. On the other hand, others like DQ8 and Kingdom Hearts 2 FMVs get a big speedup. Almost all in-game stuff should be either the same or faster now.
Set a bunch of ignores for TortoiseSVN users, as suggested in Issue 166.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1083 96395faa-99c1-11dd-bbfe-3dabce05a288
Added a new Threading class: ScopedLock. Used as an automatic unlocking mutex (safe for use with C++ exceptions, and cleaner/simpler code too). It works like C#'s "using" and "lock" directives, for those familiar with that.
Optimized the AtomicExchange implementations for MSVC.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@798 96395faa-99c1-11dd-bbfe-3dabce05a288
Added new command line options for running pcsx2 without a gui. Using "pcsx2 [filename]" where filename is the name of a cd image, will run the game. use "pcsx2 -nogui" to boot whatever you have configured in your CDVD. Use -bootmode=1 to enable the quick boot method (same as RunCD) .. default boots through the BIOS. [untested feature! please report if it's broken]
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@752 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed Memcard init so that Memcard1 isn't default in both slots (oops!)
* Fixed Memcard path logic so that cards outside your pcsx2 folder can be browsed/selected.
* Fixed CDVD-to-BIOS time sync (I simply forgot a function call!)
* Optimized yuvrgb_sse2, by using Mod/RM form instructions.
* Win32: Same optimization applied to FreezeXMMRegs and FreezeMMXRegs (linux already had this optimization)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@719 96395faa-99c1-11dd-bbfe-3dabce05a288
* Moved most of the shared code between the two GUIs into platform independent source modules (System.cpp, Saveslots.cpp, and RecoverySystem.cpp)
* Created two new namespaces which house functions that need to be implemented by OS/platforms: HostGui and HostSys. HostGui is useful -- HostSys I'm not sure I'll keep around in the long run.
* Moved keyEvent struct from PS2Edefs.h to PS2Etypes.h
* Many improvements to the logic flow of the GUI (should be a little less fallible).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@675 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed new emitter so it compiles in Debug builds, cleaned up the header files a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@652 96395faa-99c1-11dd-bbfe-3dabce05a288