Commit Graph

2189 Commits

Author SHA1 Message Date
Jake.Stine 3dd99a0932 More updates to the new emitter: switched over some Push/Pop instructions, did a fully compliant implementation of LEa (both 16 and 32!), and fixed a couple small bugs in the ModRM/Sib encoder regarding EBP as an [index*scale] formation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@923 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-08 06:25:40 +00:00
Jake.Stine 920e99145e Implemented the 16 bit forms of Group 1 instructions into the new emitter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@922 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-07 23:48:43 +00:00
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
Jake.Stine 29d876dfac wxGui branch: Finished merge, and added a new wxConfig28 project file that allows the wxCore and wxBase libraries to compile in parallel on multi-core CPUs.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@909 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 17:28:05 +00:00
Jake.Stine 25185c75c1 wxGui branch: Merged with trunk up to r903, and resolved some Win32 compilation/link errors.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@908 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 16:05:14 +00:00
Jake.Stine 915c827a63 wxGui branch: Removed several unneeded files from the Win32 builds (removing them since I can reference them from trunk, and if they're deleted I won't have to spend time merging possible changes and stuff later).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@907 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 15:29:56 +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
Jake.Stine cffa379f9c wxGui branch: Did some heavy work on the configuration/ini stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@905 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-04 08:26:52 +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
Jake.Stine 9c3bf215bf wxGui branch: Removed some win32 platform-specific code in main.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@901 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 22:56:06 +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
Jake.Stine 30339b5ca8 wxGui branch: Added the About box, and embedded images/icons into the exe. Since images are embedded now, I moved them from the /bin folder to the /pcsx2/resources folder.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@899 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 22:24:57 +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
Jake.Stine 6562396612 wxGui branch: Finished the About Box!
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@894 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 17:25:57 +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 f0a97d3633 wxGui branch: Fixed Release build errors, removed WinMain.cpp and Remote Debugger stuff from the build project (slowly but surely eliminating dependencies on old code!!), and added AboutBoxDialog files, which I plan to work on next. (gotta have an about box!)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@890 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-03 00:50:39 +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
Jake.Stine 00528b3be3 wxGui branch: Moved and renamed some files and classes. I'm quite a bit more fond of the C# / Java naming schemes for forms and dialogs over the wxGlade frm/dlg prefixes. Namespaced all dialogs into Dialogs::. (all two of them at this point, but many more will come! .. someday)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@882 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 11:54:19 +00:00
Jake.Stine 2c3c5401e8 wxGui branch: major progress on many fronts!
* Added new files AppConfig.cpp and StringUtils.cpp, and removed memzero.h (we'll use the win/linux platform dependent implementations)
 * Enabled wxWidgets memory tracing since we don't use a memory trace util of our own.

 * Switched many instances of std::string to wxString.
 * Added preliminary support for configuration settings and ini file creation.
 * Added a set of parsing and splitting tools to StringUtils.

 * Set it up so that the Console log is attachable to the main window, when dragging (fun!)
 * Main window and console log window record and restore window positions between runs (only partially implemented yet)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@881 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 11:30:23 +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
Jake.Stine cf0c53f152 wxGui branch: Merged with trunk (2 weeks of changes!)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@876 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 15:54:14 +00:00
Jake.Stine b3043d4c41 wxGui Branch: Added some console logging code (not yet finished). Can't really use wxWidgets built in version because it's not extensible (grr).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@875 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 15:27:42 +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