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
sudonim1
4d2adcae9f
New speed hack mainly targeting 3D geometry.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@984 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 20:31:58 +00:00
arcum42
fca65ba2ef
Add an include so things compile.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@983 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 17:22:34 +00:00
Jake.Stine
74db1c8189
Implemented Jmp/Jcc and MOVSX/ZX instructions, and added 'i' prefix to most things (will add 'i' to a few more soon -- I think iRegister will be nicer than 'x86Register').
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@982 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 15:45:52 +00:00
cottonvibes
af792b7694
zeroRecs:
...
-minor change
microVU:
-fixed a lot of various errors
-partially implemented some clip flag stuff
-partially implemented some branch/jump stuff
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@981 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 10:13:48 +00:00
arcum42
5e87ea3127
Fix compiler warning.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@980 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 05:12:03 +00:00
arcum42
a661c80a4a
Some work on Vif & Hw.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@979 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 04:41:42 +00:00
arcum42
fa1a79b368
Cleaned a few things up, and moved a few things around.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@978 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-15 01:25:11 +00:00
mattmenke
12adbcc061
Port 2 Multitap should be fixed (PCSX2 bug).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@977 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 18:46:59 +00:00
arcum42
881b01c8d7
Linux: Fix the Makefile.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@976 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 14:14:40 +00:00
mattmenke
b748068b38
LilyPad: Changed how device updates are handled to be more multithreaded friendly. Mutexes when "read input in GS thread" is disabled removed, as they should (hopefully) no longer be needed. May just ditch the option entirely in the future, since enabling it doesn't seem to make much difference, and slows things down for some people.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@975 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 13:40:28 +00:00
Jake.Stine
be430d5d89
Fixed a bug in the Emitter the caused the VU1 to screw up a bit (bad gfx and freezeups and stuff). Also: Resolved some GCC/C++ troubles.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@974 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 12:37:48 +00:00
cottonvibes
ac1ecd5812
microVU: more flag "stuff" xD
...
<JakeStine>cotton: your commits always contain "stuff"
<JakeStine>I think you should rename one of your files to "microVU_stuff"
<Dwarg>And maybe others called "microVU_junk" and "microVU_crap"
<Dwarg>Then you could be much clearer
<Dwarg>"Fixed some junk, broke some crap, added some stuff...."
<JakeStine>lol
<cotton>lol
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@972 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 03:34:47 +00:00
Jake.Stine
6cceed6268
Many Emitter updates:
...
* added implementations for MOV and Shift instructions (SHL, SHR, ROL, ROR, etc).
* Improved compilation optimization considerably, by improving inlining selection in cases where constant propagation can be resolved reliably.
* Moved lots of code around, so that the new emitter and the legacy emitter are more clearly separated; and renamed some vars.
* Changed recompilers to initialize the recBlocks array to 0xcc instead of 0xcd (fills the blocks with the single-byte instruction INT3, which fixes the misalignment mess that would sometimes happen when using disasm views on the RecBlocks contents).
* Switched back to /O2 (Optimize for Speed) instead of /Ox, since MSVC (for me) generally fails to optimize Thread-Local storage in /Ox mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@971 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 01:26:57 +00:00
cottonvibes
2711d14f0c
microVU: bug fixes on some flag handling stuff.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@970 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-14 00:15:18 +00:00