Commit Graph

665 Commits

Author SHA1 Message Date
Jake.Stine 5f354c3cee Reverted the emitter back to a c/cpp form from inl files (probably wasn't necessary, but I don't like having code in header/inl files when I can help it). Also:
* Fixed a couple potential bugs in some Rm forms of MMX instructions.
* Improved compilation times by isolating BaseBlockEx.h to the files the needed it (it uses STL junks).
* Removed some dead code form emitters and BaseBlockEx.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@921 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 21:54:50 +00:00
ramapcsx2 1d9adee468 couple of changes, very minor speedup
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@920 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 17:35:09 +00:00
Jake.Stine bf3d124e23 Switched the emitter over to using Thread-Local storage (TLS), which removes all the templates and brings us back to a more traditional-looking, macro-free, and intellisense-friendly implementation. Plus it's a lot less prone to errors and will make debugging easier down the road. (next commit will rename the files back to .cpp and get them out of the header includes)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@919 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 16:54:02 +00:00
arcum42 5f35577543 Linux compiles again. Added back in potentially obsolete code, since it's still called.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@918 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 12:25:56 +00:00
Jake.Stine 2588dc0309 Emitter renovations of a large scale sort (only up to phase 1). Intel's 'group 1' instructions now use a completely new ModRM/SIB encoder, along with a nicely object-oriented interface. I created some macros to retain backward compat for now, and will continue implementing the rest of the instructions later as I have time.
Also: Removed x86/64 instructions from the emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@917 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 08:42:25 +00:00
refraction 60e7428671 Did some testing on the V3_# unpacks, they do some strange stuff for what goes in the W vector every 6qw of original data. Also fixed the use of the size variable so Xmen works again.
Note: Nobody will notice this as SSE unpacks are forced on (for now)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@916 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-06 23:48:59 +00:00
cottonvibes 923802f936 microVU: more recompiler first-pass implementation stuff...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@915 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-06 07:32:10 +00:00
mattmenke 014b5c6671 LilyPad: Fixed "Swap with Pad 1"
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@914 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-05 18:37:06 +00:00
sudonim1 4d8769ecc5 Implemented another block lookup method.
Fixed an unused instruction in the emitter.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@913 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-05 14:19:13 +00:00
arcum42 87412c8d5d Fix the breakage on Ape Escape 3 from r900. Clean up the unpacking code some more while I'm at it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@912 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-05 10:29:54 +00:00
Jake.Stine 7cf7a118b7 Revered Misc.cpp and vssprintf.cpp from r904. See r904 comments for details.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@911 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 19:50:34 +00:00
refraction 47759b0a46 Found a small typo in IPU, don't know what videos it will effect, but it could have potentially stopped them working :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@910 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 19:09:02 +00:00
mattmenke a6d330448c Fixed a simple bug from one of arcum42's cleanups.
Cleaned up multitap code a little in both PCSX2 and LilyPad.

Some extra safety checks in LilyPad when loading state.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@906 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 11:21:35 +00:00
arcum42 7744205a58 Assorted cleanup. A few compilation errors went away, a few useless variables are gone, a few if statements are now case statements. Added comments on a few potential problem areas.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@904 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 07:48:50 +00:00
cottonvibes ebcedccf23 pcsx2:
- removed some obsolete 'iCWstate' code.

microVU:
- implemented more rec first pass stuff for the lower instructions.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@903 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 06:20:48 +00:00
arcum42 12cba61302 Fix typo in r900.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@902 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 23:18:11 +00:00
arcum42 fdcff57365 Reworked the unpacking code in Vif.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@900 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 22:51:51 +00:00
refraction 6b6ceb3c95 Further fix for crash n burn (videos were invisible) hopefully fixes ATV too, but i dont have it to test.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@898 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 19:30:53 +00:00
refraction 4c41d6abb1 went a bit mental lol :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@897 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 19:17:40 +00:00
refraction 1e9f8b3c6c Fixed devel building again, assumably as jake turned the optimizations back on that he didnt want them off.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@896 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 19:09:38 +00:00
Nneeve 006b81aabf VU:
fixed 1-cycle branch delays
fixed an issue with FDIV instructions whose operands are vf00
EE:
fixed recompilation of SRA and SRL when shift amount is 0
fixed conditional recompilation #defines a bit

(as an aside, this fixes a crash in Ratchet and Clank, but the game has other issues)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@895 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 18:49:23 +00:00
mattmenke 33d7e6e4f4 Multitap should now work in BIOS (Oops).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@893 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 11:17:33 +00:00
arcum42 c2d3f78ee1 Patch r891 so the release build builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@892 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 02:43:49 +00:00
arcum42 b44d1590ca Fiddle with ProcessFKeys a bit, and hack in a key to turn logging on and off(F10).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@891 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 01:05:28 +00:00
Jake.Stine 3b570f8a2b Fixed a bug from an earlier vtlb commit that caused some slowdown when INTC_HACK was disabled. Turns out games spinning on INTC_STAT don't do it in a way that allows the recompiler to propagate consts.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@889 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 22:22:02 +00:00
ramapcsx2 e39dec6ddb Oh well, a problem with the T/D flag code made the bios screw up.
Since it can't be fixed without further code in superVU, full revert for now :/

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@888 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 22:01:16 +00:00
gabest11 35655edb47 GSdx: the BoF5 speed fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@887 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 21:22:37 +00:00
ramapcsx2 2caebe0069 T/D flag interrupting was missing on the VUs.
Nneeve implemented it :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@886 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 21:04:45 +00:00
Jake.Stine a8d9cbc25d Final pass of today's vtlb optimizations: Improved the codegen for const-propagated direct reads and writes (very minor optimization).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@885 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 15:17:47 +00:00
Jake.Stine d60718e79d More vtlb optimizations: Switched over to full const resolution of the TLB, and added a shortcut for the INTC_STAT register (replacing the one rama added to HwRead.cpp a couple days ago).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@884 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 14:50:19 +00:00
Jake.Stine 4c8cf52c94 Implemented some more vtlb optimizations: Regalloc should be working a bit better now, and removed some unneeded code on the LWL/SDL/etc interpreter callbacks.
Emitter: Added Rm/RmOffset forms for AND32 - Untested.  I'm pretty sure they're valid instructions but I could be wrong.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@883 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 13:42:30 +00:00
arcum42 a0146d9db1 How that compiled with a space missing, I may never know...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@880 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-01 12:28:21 +00:00
arcum42 65a4061c3a Still messing with Sif, Vif, and SPR.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@879 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-01 11:55:29 +00:00
cottonvibes a547ef4cea <cotton>for april fools i can put on my next commit that microVU is finished and doubles fps
<cotton>but i guess i shouldn't do that on the svn :D
<cotton>or maybe i can >.> <.< >.>

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@878 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-01 08:26:35 +00:00
ramapcsx2 1e4f48437f Shortcut for intc_stat reads. Speeds up games that use it a lot.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@877 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 18:52:43 +00:00
ramapcsx2 149f84b00d A few tweaks to more often called functions = general speedup :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@874 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 15:06:27 +00:00
gabest11 13986ebabf GSdx: updated the delay loaded directx dlls to match the latest sdk
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@873 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 14:28:23 +00:00
ramapcsx2 a0e6c8c260 Increased the MTGS ringbuffer from 2 to 8mb. Fixes slowness in games with lots of data moving.
(Xenosaga series for example)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@872 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 11:26:42 +00:00
mattmenke 94f54027f7 I don't think we really need someone's random Thumbs.db file on the SVN.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@871 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 10:21:22 +00:00
mattmenke f5f3ff97a5 LilyPad: Fixed a bug in list of bindings when go to config screen after running Pcsx2 for a bit, and some devices enabled on the config screen were not enabled in game (Either due to focus issues, or, more probably, due to mouse API not being disabled, but not running with mouse focus).
Also bug fix for cursor clipping rectangle not being reset after window resize.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@870 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 08:15:38 +00:00
gabest11 8b3c30d2ce GSdx: just increasing the revision number of gsdx to test something...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@868 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 03:19:21 +00:00
refraction 0748dca5af Fix for Crash N Burn
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@867 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 21:43:47 +00:00
refraction 66fe03ad0d Fix for crash of the titans, unbroke FF12 in my last commit, fixed a couple of other things. Now handles DMAs which are enabled while the DMAC is stopped, so they start when the DMAC is re-enabled. Might need some testing to make sure stuff isnt broke :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@866 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 21:10:22 +00:00
Jake.Stine e9d722ba1a Set zlib to use fast compression for savestate (big speedup for when making savestates).
Disabled Edit and Continue and re-enabled optimizations in devel mode (thought I disabled Edit and Continue earlier, but I guess it didn't get saved/committed correctly).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@865 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 18:19:05 +00:00
refraction f8fb985737 Fixed issue with DBZ Tenchaichi 2 not booting, also fixed line endings for the logging to file, man that was hard to read!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@864 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 18:05:23 +00:00
refraction 695608991c removed an incompatible option from devel builds (it refuses to build), presumably whoever changed it wanted the debug option on, so ive removed the optimization.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@863 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 17:10:57 +00:00
arcum42 8a99bf1d63 More cleanup. Ran Artistic Vision on a few of the files rama had suggested, and did a few changes that make things easier to read. Still more work to be done here...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@862 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 13:21:15 +00:00
cottonvibes fa134fb61b microVU: some lower opcode changes...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@861 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 07:43:37 +00:00
cottonvibes e0c3ecbc8f miscellaneous microVU changes...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@860 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 01:00:38 +00:00
mattmenke 99b0019d1b LilyPad: Fixed a binding bug due to old debug code still hanging around, added ability to swap pad bindings (Right-click context menu).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@859 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-29 18:03:42 +00:00