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
refraction
a4abcf1206
Regression fix for GT4, crashes presumably due to the zero division on this check
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1007 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 15:02:41 +00:00
gabest11
71e391d010
GSdx: Issue 149 (GoW2 crc) and removed the dx9 flag to enable tv-out, which might have been the cause for limited fps in recent revisions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1006 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 09:51:42 +00:00
gabest11
94e2bd9409
GSdx: adapted to ref's changes to the image transfer, it was a bug in GSdx but not triggered by the old way, also the data overflow is now ignored, no idea what it may cause, look out for missing or fixed textures.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1005 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 09:34:25 +00:00
gabest11
f51e6b7d91
LilyPad: fixed a crash under remote desktop, GetRawInputDeviceInfo may return -1, the buffer size it wants is around a megabyte and gets filled with junk, just ignoring it seems fine.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1004 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 09:31:16 +00:00
cottonvibes
45e9f544cd
microVU: mostly block-linking/execution stuff...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1003 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 04:28:24 +00:00
Nneeve
14f306a800
Fixes a mistake that I made in r927. Fixes regression issue 158
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1002 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 19:35:22 +00:00
Jake.Stine
029a94ce3f
Emitter: Added BTS/SETcc/TEST instructions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1001 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 18:47:04 +00:00
refraction
62604d359a
Commented out my bodge to XGKick on the VU interpreter, Gabest has now solved this issue in his latest gsdx build. Happy 1000th commit :)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1000 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 18:02:49 +00:00
ramapcsx2
984ca67042
-Scaled back the EE load/store cycle count to the theoretical minimum of 1 cycle. (Fixes Digital Devil Saga PAL fmv)
...
-Added a safety to the VU cycle stealing hack, so it doesn't go berserk :p
Note:
Due to the changed cycle count a lot of games will get "slower".
Especially FMV will be affected.
This is unfortunate, but correct emulation comes first.
You can however enable the ee sync speedhacks, as they're more stable now as well.
This can bring back the lost speed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@999 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 12:39:22 +00:00
Jake.Stine
986683323e
Extremely insignificant optimization applied to recADD/ADDI instructions (omg it might save a cpu cycle per minutes or something!)
...
Also: Reverted the addition of the ImplementationHelper<> class, since it failed miserably under GCC. -_-
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@998 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 01:54:35 +00:00
gabest11
8865ee398b
GSdx: reworked the gs transfer function a bit, and removed the nloop hack, which does not seem to be necessary anymore.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@997 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 01:06:27 +00:00
arcum42
0bf914833f
Bring the new speed hack to Linux. (I just quickly hacked it in, so I may make it look nicer later.)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@996 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 00:58:20 +00:00
refraction
170acd854a
Added a check to make sure the unpack REALLY overflows, sometimes it can be dead on the limit or count the skip, so it doesn't need to break to slower code.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@995 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 00:54:53 +00:00
arcum42
4704ac9436
Reduce compiler warnings to a more reasonable level in Linux.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@994 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 00:35:55 +00:00
arcum42
ecbef93c6b
Here we go again.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@993 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 23:57:04 +00:00
refraction
f4d57faf77
Look out, the monkey is back
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@992 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 23:33:05 +00:00
refraction
7308ae1b71
Fixed Issue 157
...
removed redundant code arcum pointed out I'd committed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@991 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 23:28:18 +00:00
Jake.Stine
1279fe2c21
Emitter: Implemented INC/DEC/NEG/NOT instructions. Plus: many code cleanups using a better form of template parameter inference.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@990 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 22:38:55 +00:00
refraction
dfd433993f
Minor bugfix for unpack mode 2
...
Fixed split videos in Gradius V
Fixed Spyro hanging problem in Issue 112
Put in a hacky fix for FFX videos into IPU to compensate the spyro fix (which is actually correct).
Implementing unpack overflow protection (Guitar Hero 3 & Toni Hawks Project 8)
Writing XGKick to a temp buffer before sending to the GS (part of the GH3 / THP8 fix)
Note! THP8 and GH3 will STILL crash with any VUrecs on and MTGS on, these must all be OFF. Also use GSDX in software mode with the NLoop hack on for now. Slow i know, but it works :P hopefully we can fix the rec side of it soon.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@989 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 22:33:18 +00:00
Jake.Stine
ac2f5713fc
Emitter: fixed a bug in MOVSX/ZX's reg->reg form [resolves Issue 159 - missing geometry in DQ8], and moved some files around.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@988 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 14:45:13 +00:00
Jake.Stine
986b4fdf93
Forgot to add a new file from the last commit... >_< [ix86_impl_dwshift.h]
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@987 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 01:39:38 +00:00
Jake.Stine
4658529970
Emitter:
...
* Added MUL/DIV/IMUL/IDIV to the emitter, renamed as UMUL/SMUL respectively (to remove ambiguity of the instruction behaviors).
* Fixed a bug in the shift instruction emitter that would have caused it to emit the wrong instruction type (like a SHR instead of a SHL, for example).
* Added type strictness to the shift instructions that take the CL register as a parameter. Passing anything other than CL will generate compile time errors now.
* Fixed a syntax error in one of the legacy defines.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@986 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-16 01:34:09 +00:00
Jake.Stine
f228a91c93
Added CMOV to the emitter, renamed x86Struct stuff to iStruct, renamed XMMREGS / X86REGS / MMXREGS defines to iRegCnt_XMM / iRegCnt_GPR / iRegCnt_MMX, and undid a couple u32 optimizations which could have caused unexpected behavior in the future, if we ever decided to employ some particularly obscure case of self-modifying code.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@985 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 21:00:32 +00:00