Commit Graph

750 Commits

Author SHA1 Message Date
sudonim1 7f096c63ad Break up very long recompiled blocks.
Perform a branch test before jumping to the next block.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1058 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-25 00:39:07 +00:00
Jake.Stine 4f08dc6bad Linux: A more complete rendition of the GCC compilation fix. Note: GCC requires non-const qualifiers on function pointers and function pointer-templated parameters, but not on void* (didn't know they were that different, did you?).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1057 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 13:49:00 +00:00
arcum42 e3b217c57a Remove some consts to appease the gcc 4.3.x gods.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1056 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 13:38:16 +00:00
Jake.Stine dff8cf5ac1 Save linux from the dastardly deeds of my previous commit, and fix one last remnant 'i' from the apple-like naming schemes of yesterweek.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1055 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 11:44:07 +00:00
Jake.Stine 7394e99ef6 Ok, I lied -- more work on the emitter. I forgot to fix up the Jump/Call api yesterday and, along the way, did lots of major cleanups. :)
(and broke linux, probably!)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1054 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 11:25:10 +00:00
arcum42 286c405ce9 Moved a few things around. Redid some of the work I did earlier on Hw with the non-obsolete version of the code. Changed some code not to use defines...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1053 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 02:28:14 +00:00
gigaherz e22a50a7c8 So.. I got an "unlazy" day, and coded a bit more of my iop dma handler.
It's disabled in the code, so that it wont' affect normal users.

The code isn't working properly yet. Only handlers for cdvd and spu2 are in it:
 - the cdvd one doesn't work because of the way pcsx2 handles cdvd currently
 - the spu2 one seems to work, but it's not implemented in the plugin interface, so ATM it's just "faking" it using the old functions.

So really nothing worth testing, just commiting to let people know I'm actually working on it... with long pauses in between. xD

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1052 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 01:14:25 +00:00
ramapcsx2 2ac355eb03 Nothing happened here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1051 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 22:05:34 +00:00
ramapcsx2 e843712f58 Reverted the last GIF/IPU change, as per request.
Timing this stuff is evil :/

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1050 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 21:58:09 +00:00
refraction 9c7aed9ad4 Readjusted my Gifsplit nonsense to refix Gradius V videos again, its more the value i originally wanted it now anyway :P Fixed Issue 176
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1049 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 19:51:34 +00:00
arcum42 52fcc69628 Apply r1046 to ZeroGS DX as well. Ifdef a few things from r1047 so Linux compiles. A few minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1048 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 13:15:44 +00:00
Jake.Stine ef565303a5 Finished the emitter, complete with code cleanups! :) (added last few SSE instructions, and inserted placebos for some future additions to the x86 portion, regarding xchg/xadd/etc).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1047 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 12:39:59 +00:00
arcum42 ac0768e9a3 ZeroGS: Apply Zeydlitz's patch from Issue 174.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1046 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-23 10:18:43 +00:00
Jake.Stine c258a8d776 Fixed a bug from r1038. PMADD and HADD instructions had inverted to/from fields. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1045 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-22 18:35:44 +00:00
arcum42 e87d224cc9 Started consolidating the various Dump routines, most of which are broken, into one file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1044 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-22 13:25:26 +00:00
arcum42 5bb89fef92 Linux: Minor fix for the hack dialog box.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1043 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-22 10:16:41 +00:00
arcum42 9380ccc85b Linux: Clean up the hack dialog in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1042 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-22 03:19:30 +00:00
arcum42 5744306a8f Linux: Fix compilation, and add in the new hack. I may work on making the dialog look better in a bit...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1041 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-22 02:31:31 +00:00
sudonim1 d7341d5b69 Protect manual pages again after running code in them for a while, should speed up some games and probably not significantly slow down any.
Related new speed hack, fast-forward a block starting at 0x81FC0 which some games (FFX) run a lot.  This block is also excluded from the previous feature.
Rearrange configuration file and speed hack dialog.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1040 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 23:30:06 +00:00
arcum42 bfe128cd41 Linux: Fix the last of the GCC compilation errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1039 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 21:42:33 +00:00
Jake.Stine 27a8f3aa9a Added PMADD/HADD/INSERT/EXTRACT instructions, and fixed more cross-compiler problems.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1038 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 21:30:47 +00:00
Jake.Stine 2dcee32079 Linux: Fix some GCC compilation errors. And update the msvc project (somehow didn't get committed last night, but only change header files so prolly didn't break anything).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1037 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 13:54:41 +00:00
Jake.Stine deb642af43 Fixed a small bug from my last commit (mostly only affected debug builds), and implemented PALIGNR/MOVSLDUP/PABS/PSIGN/PEXTR/PINS.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1036 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 05:29:14 +00:00
Jake.Stine 5c312c36c7 Added PMIN/PMAX/PMUL/PCMP/PSHUF/PUNPCK/UNPCK/PACK instructions to the new emitter [this basically finishes all MMX instructions -- just some SSE2/SSE3 and SSE4 mess left!]
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1035 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-21 01:40:45 +00:00
mattmenke cb57386d85 LilyPad, Sio.cpp both modified to never allow pads in first slot on either port to be unplugged, as it broke things. Unplugging pads from other slots seems to work fine, when using multitap (When not, obviously no such pads in the first place).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1034 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 23:14:32 +00:00
cottonvibes 50c4a95c06 microVU: added support for logging complete micro programs saved to the files microVU0.txt/microVU1.txt (in the logs folder)
note: currently the code only lists the opcodes without the operands.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1033 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 19:37:41 +00:00
Jake.Stine 73e50f49ea Emitter: Yay! More instructions! All forms of PADD/PSUB/PSRL/PSLL. I'm getting closer!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1032 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 19:25:35 +00:00
Jake.Stine cc48702b17 Emitter: Implemented SQRT/RSQRT/UCOM and all variations of SSE CVTs (omg those were a nightmare) [also patched old emitter to use new MOVD implementations -- missed those earlier].
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1031 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 15:22:02 +00:00
Jake.Stine 18c4765d31 Emitter: Changed a lot of 'i's into 'x's, because...
<JakeStine>sudonim says he likes xMOV better than iMOV as an emitter prefix. I'm wondering if I should go ahead and change it.
<JakeStine>I tend to favor logic, but everyone else just thinks it looks like iMac and iPod
<JakeStine>I just don't want to have to change it more than once.
<cotton>well 'x' is like the algebraic variable, which can be anything
<cotton>so it does kindoff make sense
<cotton>cuz like
<cotton>you have xSOMETHING, where SOMETHING is all the different emitter functions

... I'm sold. :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1030 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 03:10:05 +00:00
ramapcsx2 3ee59f3f4e More work on cycles. FPU is slower than assumed earlier.
Also added COP0 DIE bit handling, that disables the EE's dual issue capabilities.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1029 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 01:40:13 +00:00
refraction b21b81df9f Resolved Issue 168 with FFXII crashing with DMA error due to cancelling a scratchpad transfer before it happened, how silly of me :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1028 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 00:31:03 +00:00
refraction adf6dfdcd4 Fixed Tekken 5 regression causing black screens and missing text
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1027 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 00:11:34 +00:00
Jake.Stine 28c81a2ff1 Bugfix for the new emitter: ([xmm/m128],xmm) form of MOVQ was generating the wrong opcode (introduced in r1011). [other changes are a work in progress for more instruction additions]
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1026 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-20 00:06:51 +00:00
mattmenke 256d32037c LilyPad: Fixed a potential threading issue when read input in gs thread is disabled. Odds of the issue being a problem, while perhaps significantly greater than 1/<number of atoms in the universe>, weren't too high.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1025 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 23:04:21 +00:00
refraction 457b78e70e Put a different fix for bad J/JALR jumps (Charlie and the Chocolate Factory)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1024 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 22:00:11 +00:00
cottonvibes b7ea57a5d9 microVU:
-implemented the ability to run VU's for x amount of cycles, instead of running till the microprogram is completed (some games can get stuck in infinite loops, so this is needed)
-fixed some errors...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1023 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 21:22:47 +00:00
arcum42 a2d305b9ab The things Visual C++ lets you get away with...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1022 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 20:34:32 +00:00
Jake.Stine 1bc6795200 Emitter :Implemented Packed logical operations (PAND/POR/ANDxx/ORxx/etc), ADDxx/SUBxx/MULxx/DIVxx, and iRCPPS/iRCPSS.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1021 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 20:14:53 +00:00
Jake.Stine d91eb6d1c8 Emitter: Fixed a GCC compilation error; Implemented MOVNT/MOVLH/MOVHL/PMOVMSKB, and tied in all old emitter references to MOVAPS/MOVDQA to the new versions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1020 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 16:34:29 +00:00
ramapcsx2 bb7dc87819 Silly bug made each EE branch count as 0 cycles.
Enjoy some "free" speedups :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1019 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 13:55:09 +00:00
arcum42 ecfe0b5011 Change some magic numbers to enums and defines and rearrange things a little...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1018 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 07:42:36 +00:00
cottonvibes 76e8b6586a microVU: fixed various typos
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1017 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 05:49:16 +00:00
arcum42 f32f705d1d Quick hack to fix Linux compiling. Delete some old code. Minor tweaks that I hadn't gotten around to committing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1016 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 05:42:33 +00:00
Jake.Stine c19de231f6 Emitter: Implemented MOVAPS/MOVDQA, and renamed some vars/classes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1015 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 05:24:20 +00:00
mattmenke 5fb6505e9d LilyPad: Oops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1014 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 03:50:04 +00:00
mattmenke 1d2ae02c97 LilyPad: More minor fixes to failure detection in raw input initialization code. Gabest already fixed the big one.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1013 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 03:33:32 +00:00
cottonvibes a2a1d58b4b backup
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1012 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 02:54:56 +00:00
Jake.Stine 6f99ec45b9 Emitter: Fixed a small bug in the ModSib emitter logic which caused some forms of ESP to encode incorrectly. Implemented CALL/BSF/BSR [x86], MOVQ, MOVD, and MOVSS [mmx/xmm]. Renamed ix86_mmx.cpp and i86_sse.cpp to ix86_legacy_mmx.cpp and i8x_legacy_sse.cpp.
iMMI.cpp: Removed mucho dead pre-SSE2 code. (old code can be grabbed from a tagged revision, in case it's useful for future reference).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1011 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 02:14:50 +00:00
cottonvibes 924869f765 more microVU "stuff"
<gigaherz>if the commit log has "stuff" in it, it's vu work from cotton

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1009 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 23:56:32 +00:00
refraction 07c22b357c Resolved Issue 165 so the scratchpad syncs with the MFIFO drain (this was the cause of the Tekken issue). and some other misc tweaks for unpack errors n such
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1008 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 23:36:01 +00:00