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
refraction
44446b47e7
fixed a minor bug from saqib's earlier commit
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@969 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-13 12:15:31 +00:00
ramapcsx2
b14881769a
SPU2-X:
...
Small cleanup and made it a bit faster.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@968 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-13 09:48:28 +00:00
cottonvibes
6e1805de36
microVU: minor changes...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@967 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-13 05:39:18 +00:00
cottonvibes
557564edc2
microVU: changed flag handling algorithms some more...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@966 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-13 03:46:19 +00:00
msakhtar
c43412948f
Added a check to to clear QWC register if the upper 16bits are set. This fixes most of the broken backgrounds in movies.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@965 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 23:31:59 +00:00
msakhtar
7471f251d7
Added a check to to clear QWC register if the upper 16bits are set. This fixes most of the broken backgrounds in movies.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@964 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 23:31:27 +00:00
ramapcsx2
ad6dce5e9c
SPU2-X:
...
Worked on savestate support a bit. It now remembers an update timing variable more (could fix a few crashes).
This increases the savestate version though, so make sure you have a memory card save ready before upgrading!
Also implemented a way of delaying audio output after loading states. This masks the ugly noise that some games produce directly after loading, keeping your valuable speakers intact :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@963 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 21:19:29 +00:00
gabest11
6830f07f27
GSdx: GoW2, try #3
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@962 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 19:46:42 +00:00
refraction
85cf1ab6dc
Fix for MGS3 corruption from r955, i don't know why but where vifRegs was set previously, it was completely ignored, regardless of the fact the code has run through there before doing anything else O_o
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@961 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 15:51:24 +00:00
cottonvibes
a3c1669024
microVU: more flag stuff (div/sqrt/rsqrt flags set at proper time)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@960 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 10:23:25 +00:00
cottonvibes
5b0d9b6723
microVU: fried my brain with some very-complex VU flag-handling logic/algorithms (hopefully they work as expected)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@959 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 08:29:53 +00:00
refraction
97fac9e635
resolves Issue 143 Altered Beast
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@958 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 04:56:06 +00:00
drkiiraziel
f3370ce28f
--updated to r956
...
--uses test8 instead of test32 when possible
--exception handling checks are a bit more strict
git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@957 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 02:49:23 +00:00
refraction
e100933069
Look over there! A THREE HEADED MONKEY!
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@956 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-11 19:23:39 +00:00
refraction
4df3f80d30
Optimized and split up the unpack call a bit so less checks are being run, should bring an overall speed increase. Also got rid of some duplicate pointer rubbish which was all over the place.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@955 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-11 17:45:14 +00:00
refraction
a388d2969c
Fixed bug from Issue 144.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@954 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-11 13:23:05 +00:00
cottonvibes
076e9e5386
more microVU stuff...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@953 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-11 09:25:47 +00:00
gabest11
9c8a9712a9
GSdx: GoW2 fix #2 , pal version this time
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@952 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-11 08:54:48 +00:00
drkiiraziel
3fb09c2192
--BTS r/m+r added for emitter
...
--Uses BTS + bit arrays for manual block tracking, instead of full invalidation.It makes some games much much faster and doesn't seem to affect he rest (still, testing is needed).Okami that uses some sort of SMC works .. but i'm sure there are some bugs left in it
git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@951 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 20:26:43 +00:00
gabest11
cf995d0716
GSdx: GoW2 fix, 16 bit drawing that caused the green overlay is skipped (character shadow)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@950 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 19:55:05 +00:00
cottonvibes
653286a692
forgot to add microVU_Execution.inl in the last commit xD
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@949 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 19:47:13 +00:00
cottonvibes
6775b8a5cc
microVU:
...
- added microVU_Execution.inl
- dispatcher stuff is now recompiled with pcsx2's emitter instead of using inline asm, its cleaner than inline asm and its more portable since the asm won't have to be ported to GCC.
- lots of first-pass implementation for lower opcodes
- implemented documented branch behavior (first pass stuff only)
Note: theres some undocumented stuff branches do according to Nneeve's tests, but i won't implement those for now since 99% of games shouldn't need it, and according to the tests, the behavior seems kind-of random/erratic.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@948 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 19:45:27 +00:00
refraction
8738f75ba7
Fixed alignment problems noticed in Digital Devil Saga
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@947 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 13:42:37 +00:00
refraction
756127d096
Fixed recently discovered bug from VIF which could have potentially happened anywhere jNODEFAULT is used (nobody noticed lol)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@946 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 13:29:20 +00:00
refraction
e1bf40546f
Why this broke Tekken 5 i don't know! (answers on a postcard) anyhow, fixed :)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@945 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 13:15:52 +00:00
refraction
432b060109
Fix for one small bug, doesnt fix tekken 5 tho :(
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@944 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 13:08:19 +00:00
gabest11
b0da55cb89
GSdx: this should probably fix taking snapshots with dx9, also upped the version to .15, since the revision number has passed what the last release still had from the old repository.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@943 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 07:12:29 +00:00
arcum42
b1769a2061
Take care of Issue 139.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@942 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 01:50:31 +00:00
arcum42
f127f69b3e
A few tweaks to the unpacking code. _UNPACKPart isn't really neccessary anymore, and optimised writeXYZW a little.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@941 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 01:34:04 +00:00
refraction
19362d3c55
More unpack changes, tried to simplify a few sums a bit when processing skipping and a few other misc bits
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@940 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 00:02:42 +00:00
arcum42
98258eeffe
Yes, more Vif work. writeX, writeY, writeZ, and writeW are all merged into one function.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@939 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 23:57:58 +00:00
refraction
ccacbedc50
last silly mistake, promise :P
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@938 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 23:20:13 +00:00
refraction
08d6f10d57
Slap my wrists for the silliest error ever :p only thing that gave it away was the sirens on top of the heads in Ape Escape 3 had no light lol
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@937 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 23:06:11 +00:00
drkiiraziel
f5e99af1ab
--No longer uses 2 hacks/buffers, it just stores the info needed to generate the memops directly on the code
...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@936 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 23:01:56 +00:00
refraction
feaed9f4fa
The last changes to clean up Vif wouldn't have worked in some situations, tried to rearrange it and space things out and skipping unnecessary checks
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@935 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 21:02:37 +00:00
drkiiraziel
6c88e99cf2
--This breaks linux.
...
--Basic vtlb code rewrite for full mapping using exceptions
--This is buggy & leaks ram for now
git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@934 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 20:44:26 +00:00
refraction
cf0c393514
Fixed Outlaw Tennis error on the loading bar, as a strange side effect, this fixes the missing textures in Crash N Burn too. What is more annoying is this code use to be in the emulator ages ago (before processing skipping) and it was removed as we didn't think it actually had a use! :D
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@933 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 20:15:01 +00:00
drkiiraziel
c81e012e51
git-svn-id: http://pcsx2.googlecode.com/svn/branches/vtlb-exp@932 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 19:21:45 +00:00
arcum42
88ae29ac56
More Vif Unpacking cleanup. (And probably not the last of it.)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@931 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 15:22:59 +00:00
mattmenke
62d6c0f3e7
LilyPad: Debug line removed.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@930 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 02:07:45 +00:00
mattmenke
76b52a97a1
LilyPad: Small/large motor defaults should work for most devices, when creating new effect bindings.
...
Keyboard queue fixed up a bit, mainly to favor escape down when PCSX2 is dying.
Fix for ignore bindings being swapped with the swap pad bindings buttons.
Updated version number, thinking of releasing soon. No known bugs, not that much more to do.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@929 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-09 02:02:49 +00:00
refraction
1250953ff0
Fixed Gradius V, had to destroy the templates arcum did a bit to get it to work without ape escape crashing (sorry mate lol. Took out my V3_# discovery, ape escape is getting spikey now, so ill just remove it. Also altered V2_# to work slightly different incase the packet starts on the Y vector, it now wont suffer underrunning (possible bad data)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@928 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-08 21:19:50 +00:00
Nneeve
57f9c2bc64
Disabled a VU recompiler option that caused some SPS in Ratchet and Clank and didn't actually affect speed.
...
Modified VU stalling logic of MR32 and MTIR instructions and modified FDIV stalling.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@927 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-08 18:19:48 +00:00
ramapcsx2
f4e9178c06
backing up some changes
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@926 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-08 17:15:51 +00:00
arcum42
08c6f68aba
Fix Linux again (and again and again and again...)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@925 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-08 13:34:51 +00:00
cottonvibes
e3a87fecd9
microVU:
...
-fixed rm instructions to work with Jake's emitter changes
-implemented the case where upper and lower instructions write to same reg at once (the lower instruction's result is discarded)
-implemented more first pass analyzing stuff
-fixed various bugs...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@924 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-08 10:07:14 +00:00
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