Commit Graph

974 Commits

Author SHA1 Message Date
refraction 480519efad Fix for Tekken Tag Issue 259
Removed the doubled up timings on SIF DMA cycles (should have been done when it was spotted really)
Put in a fix for Scratchpad reads which cause a VTLB error.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1323 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 17:50:56 +00:00
gabest11 e9ad2ffe7b GSdx: added post build step
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1322 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 09:30:35 +00:00
cottonvibes f8232c19ac microVU:
- Minor Change...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1321 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 08:55:45 +00:00
gabest11 7ee6eefb68 GSdx: config dialogs disable unrelated controls again
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1320 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 08:32:31 +00:00
cottonvibes 0a6bc57860 microVU:
- Fixed a very rare case, where both upper and lower instructions read and write to each others regs.
Example:
ADD.xyzw  VF1, VF2, VF3
MOVE.xyzw VF2, VF1

- Forgot to commit iVU0micro.cpp on my last update...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1319 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 08:13:47 +00:00
cottonvibes 4490d237dc microVU:
- Implemented m-bit functionality. Fixes Crash Twinsanity and most-likely other games...

Note: If anyone has any games that have broken graphics when mVU prints "microVU0: M-bit set!" to console, then please notify me about it.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1318 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 05:52:57 +00:00
cottonvibes 5831b47c4e microVU:
- Fixed a bug from r1315.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1317 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 02:05:57 +00:00
cottonvibes b65b439e6a microVU:
- Further optimized status flag updating...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1316 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 00:50:38 +00:00
cottonvibes 21d9615871 microVU:
- Minor Changes. Shouldn't effect anything.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1315 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 00:24:49 +00:00
gabest11 b792d0c50b GSdx: escape/resume fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1314 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-04 00:15:05 +00:00
cottonvibes 07a4eb3491 microVU/pcsx2:
- Removed flaghack1 since it didn't do much over flaghack2 (except break games :p).
Flaghack2 is now renamed to "Status Flag Hack", and so-far we haven't found a single game it breaks, so compatibility is high.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1313 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 23:51:23 +00:00
gabest11 db8feac8c3 GSdx: the BeginScene/EndScene optimization for dx9 (Issue 256)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1312 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 22:45:28 +00:00
Jake.Stine 02167e90b3 GSdx: Streamlined several instances of CComPtr use in the Shader caches, as it was causing general slowdowns due to internal reference counters. Gives fairly significant speedups (6-15%) across most games and both DX9 and DX10 alike.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1311 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 19:22:50 +00:00
gabest11 ffda8ead30 GSdx: mfc-free
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1310 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 12:09:04 +00:00
cottonvibes 96f7911d26 microVU:
- Second try at a status flag optimization. Still needs tweaking but too tired xD

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1309 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 09:22:25 +00:00
cottonvibes d8fb66f143 microVU:
- Minor Changes/Cleanup

Super VU:
- Used the Linux SysMmapEx address for windows as well.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1308 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 06:50:13 +00:00
Jake.Stine 510a23f190 Quick cleanup of my prev commit -- changed some u32's to u64's, and deleted some code made obsolete by the new cpu detection.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1307 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 01:28:19 +00:00
Jake.Stine 074a87eadc Improved the cpu speed/ghz detection. It should be a bit more accurate, and is faster (pcsx2 startup times are near instantaneous now).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1306 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 01:06:26 +00:00
cottonvibes 8c5b6ae749 microVU:
- Implemented some bizarre behavior where conditional branches will read old VI-reg values if the previous instructions continuously read+write to the VI reg.

example from zerorec's comments:
SQI vi5++
SQI vi5++
IBNE vi4, vi5

vi5's value in the branch should be the value before all the SQI's...
more examples in iVUzerorec.cpp

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1304 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-02 00:50:37 +00:00
cottonvibes a8266a48d8 microVU:
- Non-functional change... just storing some IR info I'll need to use later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1303 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-01 22:29:27 +00:00
cottonvibes a336e6b277 microVU:
- reverted to r1299

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1302 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-01 05:09:28 +00:00
cottonvibes 28f52a3f12 microVU:
- Backing up some changes before I revert...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1301 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-01 04:58:06 +00:00
cottonvibes ebff9ec1c5 microVU:
- Tried a complex optimization with status flag updating.
Didn't seem to work out as well as I thought.

I need some benchmarks of mVU (w/o hacks) before this update and after this update to see how effective it is.
If its not much faster I might just revert the change (because I'm sure no-one is going to understand how it works this way).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1300 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-01 01:21:01 +00:00
cottonvibes e85124dff5 microVU:
- Fixed a bug from r1254. (Fixes weird circles on the logo of ffxii after selecting new-game)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1299 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-31 10:37:20 +00:00
cottonvibes eb3b31c525 microVU:
- Gave the rec a better IR (intermediate representation) implementation.
- Renamed microVU_Alloc to microVU_IR


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1298 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-31 05:45:59 +00:00
arcum42 1694eecf2f Assorted cleanup involving VifDma, the Hw files, IopMem and Fifo.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1297 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 22:25:23 +00:00
arcum42 0028fefcbc Various VifDma cleanups.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1296 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 18:54:51 +00:00
refraction 4fc4a634b3 Fixing up Fatal Frame, removed redundant path3 masking code from the olden days!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1295 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 16:57:15 +00:00
arcum42 187dffc5f4 Zeropad: Fixes a minor mistake in r1286.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1294 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 12:11:21 +00:00
arcum42 ccd89d199b microVU/Linux: Since __mVUdumpProgram is of type microVUx, vuIndex is already defined, and shouldn't be redefined. Fixes Linux compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1293 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 11:50:05 +00:00
cottonvibes cf1f7eda8c microVU:
- Fixed a bug with my xgkick delay code from r1282. Fixes GT4.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1292 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 08:33:29 +00:00
cottonvibes 51ab9a6888 microVU:
- It took a while, but I managed to convert 100's of template functions to normal functions, reducing release link times by about ~50% again.
pcsx2 takes about ~2 mins to link on release build, which is a lot more tolerable than ~10 minutes from a few days ago...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1291 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 04:16:45 +00:00
refraction 1600dc1764 From 1289 you can use MTGS mode in VUint, but the new code was enabled :P now disabled it so MTGS will work
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1290 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 18:58:06 +00:00
refraction aa64a21e93 Couple of fixes, one for Kingdom Hearts 2 Issue 239, others might help textures in the GT games (maybe!)
Also prepared some code to add support for VU looping in MTGS mode, this will require a GS Spec update, so its commented out for now until i can sync an update with Gabest.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1289 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 18:44:42 +00:00
arcum42 e384d001da Zeropad: Windows is back to compiling, though the config dialog is still broken.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1288 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 08:39:32 +00:00
cottonvibes 6d6e7fba36 microVU:
- Changed 'recPass' from a template param to a function param. Halves MSVC linking-time in release modes, but still slow (from ~10 minutes to ~5 minutes to link on my PC). I'll continue working on this later... the next change will probably reduce Release link-times to 1~2 minutes (or less than 1 minute for you guys with macho-pc's ;p).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1287 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 08:32:54 +00:00
arcum42 71480b3124 Zeropad: A bunch of refactoring and cleanup. The Windows port probably won't compile right now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1286 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 06:33:56 +00:00
gabest11 65b90bce83 GSdx: there was a bug in unaligned 4/8 bit transfer, small texture glitches may be fixed (simpson game, car logos in gt4).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1285 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 06:26:46 +00:00
cottonvibes 7fef12a4cb microVU:
- fixed a bug from r1281 when the tri-ace gamefix is unchecked xD

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1284 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 04:33:06 +00:00
cottonvibes 949c02ed45 microVU:
- Small Optimization...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1283 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 04:18:09 +00:00
cottonvibes 12ca3898d6 microVU:
- Added a 1-cycle xgkick delay, fixes SO3 graphic corruption and flickering.

Theres still VU stuff the game does that isn't implemented, but the game seems to run fine w/o the implementation (only tested the beginning though).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1282 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 03:02:21 +00:00
cottonvibes c3ae30f250 microVU:
- Implemented the tri-ace gamefix.

Note: I've only tested SO3 so-far and it has some ugly graphical problems with mVU. SO3 does some evil VU stuff that it shouldn't be doing, but it does them anyways xD
I know the cause of the problems, so I just have to code the solutions sometime in the future...

P.S. SO3 looks really funny with the FlagHack1 speedhack! The characters turn into floating heads effectively turning the game into PacMan xD

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1281 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 00:32:51 +00:00
gabest11 4bc698d698 GSdx: just fixing slow texture uploads with dx9... (odin sphere back to 40-50 fps)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1279 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-28 02:57:01 +00:00
cottonvibes 50332c1cd1 microVU: minor optimizations/changes...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1278 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-28 02:27:08 +00:00
arcum42 a1cd98bc59 Linux: Revise the speed hack and cpu dialogs a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1277 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 20:20:33 +00:00
ramapcsx2 fa0e10557a mVU: Disabled breaking execution on bad programs since it's not needed anymore and costs speed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1276 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 14:27:50 +00:00
arcum42 e8ae911664 Linux: Hack microVU into the Gui.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1275 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 13:10:43 +00:00
ramapcsx2 477f5fa674 Minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1274 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 10:26:36 +00:00
cottonvibes 58c45c42ca microVU is now selectable as a GUI option from the CPU dialog box.
microVU speedhacks are also available in the speedhacks dialog.

All the GUI stuff took me a few hours, so hopefully I didn't bug anything.

Note to users:
Please remember that microVU is a W.I.P. and will have bugs; but it also fixes some games Super VU has problems with. So have fun testing.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1273 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 09:14:43 +00:00
gabest11 3e12966919 GSdx: Even more alpha test voodoo magic, it must be nailed now!
And there is even an explanation. 

The tfx functions calculate At * Af >> 7, which means modulating by 0x80 should return At as the result. 

With the evil floating point pixel shader however 0x80 translates to 128/255 (0.502), not exactly 0.5, modulation as At' * Af' * 2 (' means 0 - 1.0 range) is not the same as with integers.

At' = Af' = 0.502
At' * Af' * 2 = 0.504

If the alpha test happens to be "not equal to 0x80", then abs(0.504 - 128/255) < 0.5/255 will just miss.

Solution is to re-scale those values to the integer range, do the calculations, and then back to float again, but in the end it just simplifies down to At' * Af' * 255/128, doh...

At * Af >> 7 => ((At' * 255) * (Af' * 255) / 128) / 255 => At' * Af' * 255/128

At' = Af' = 0.502
0.502 * 0.502 * 255/128 = 0.502 (w00t!)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1272 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 05:55:32 +00:00