Commit Graph

775 Commits

Author SHA1 Message Date
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
cottonvibes b1eadad216 microVU:
- Increased mVU run cycles (Fixes Kloana 2's Inf Loop messages)
- Fixed some potential problems with the log code that would cause some games to crash.
- Minor Changes...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1271 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 05:33:36 +00:00
cottonvibes 47bdb31473 microVU:
- Fixed a big bug with the help of sudonim and rama which greatly increases mVU's compatibility!


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1270 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 02:29:52 +00:00
Jake.Stine 5f1cc131c8 Bugfix for Issue 241. Also increased the EErec's stack memory from 64k to 128k, since there's no reason to be frugal there anymore.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1269 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 01:49:48 +00:00
ramapcsx2 12e258ac16 mVU: Fix for a bug that would cause stall cycles to be counted 2 times.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1268 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-26 14:03:29 +00:00
gabest11 6c58f3039a GSdx: bit more work on the vertex buffer, and broken ffxii fmv fixed again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1266 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-26 03:40:31 +00:00
cottonvibes 22535ad886 microVU:
- Properly fixed problems from r1254, a lot of games should be fixed.

pcsx2/microVU:
- Added some debug code that runs sVU and mVU, and compares their results. If they differ, then the game is halted, and debug info is given. (this can be enabled in iVU1micro.cpp with the DEBUG_COMPARE2 macro)... the code is a bit messy, but it gets the job done for now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1265 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-26 01:00:38 +00:00
refraction 0900ef5420 Added VIF wait to MFIFO, fixes Crash of the Titans graphics
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1264 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 22:09:18 +00:00
sudonim1 a46f1538f0 Another µVU typo, fixes silent hill 2 but probably not nothing else.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1263 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 14:43:15 +00:00
refraction 0c5c45061b Guess im just a jackass, do do do, oh *ahem*... This fixes Jackass :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1262 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 14:13:57 +00:00
refraction ed963ae5ea Temp fix for Soul Calibur 3 so i can close Issue 233.
Other small fixes

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1261 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 13:29:48 +00:00
refraction 1d4ad79349 Fixed GIF MFIFO for Front Mission 4
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1260 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 12:16:02 +00:00
refraction f8505c9eaf Altered time between GIF resume checks, 2 cycles was a bit ambitious, 16 cycles (8 qw's transferred) is much more realistic and doesnt slow games down as much.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1259 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 10:42:26 +00:00
refraction 44378b31f7 Path3 Masking mystery solved, Simpsons (Issue 24) GT4 (Issue 211), tenchu and many many other path3 masking games should be fixed. This will only work on MTGS.
Also semi-removed my gifsplit thing to resolve the tekken 5 menus Issue 209

Note: GT4 is still missing its logo, this is down to a really bizzare timing issue i cant pinpoint.

Removed redundant path3hack

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1257 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 07:07:59 +00:00
arcum42 bd9886b332 Zeropad: Yes it's a bunch *more* cleanup work on Zeropad.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1256 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-25 01:59:17 +00:00
cottonvibes a8094d5786 microVU:
- Implemented an idea by Jake to use a GPR as a reg-offset index to save a few bytes from reg-moves (only did it for VI regs, didn't have enough free GPR's to do it for VF regs)
- Fixed a minor problem with micro-program logs

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1254 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-24 12:20:33 +00:00
arcum42 7519fb8113 Some quick fixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1252 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-24 04:34:23 +00:00
arcum42 08d3360376 ZeroGS: Strictly in the interests of maintainability, I'm moving these functions to a separate file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1251 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-24 00:31:46 +00:00
gabest11 081006bcbe GSdx: dx9 hw mode got a vertex buffer too (as dx10), it was an old TODO...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1250 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 23:52:53 +00:00
arcum42 20f0e52a1a Zeropad: All around my hat...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1249 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 23:07:53 +00:00
arcum42 f1be4728ba Zeropad: Fix a glitch in the new esc code, and the hat code should not save in the same spots as the axis code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1248 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 22:20:16 +00:00
cottonvibes 342da0e2a8 microVU:
- Added a new status-flag speedhack after learning how evil sVU is with status flags (mVU with both flag-speedhacks ON is less evil than sVU's default setting which does something even hackier)
- Minor Changes

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1246 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 12:40:01 +00:00
arcum42 ecfed766cd ZeroPad: Refactor a bunch of code. Escape now sets the key value to 'Unknown' when configuring. Work some more on the hat code (still disabled).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1245 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 11:57:28 +00:00
arcum42 fea158f392 PadNull: A bit more work on the Windows side.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1244 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 06:50:10 +00:00
arcum42 a180b105d3 PadNull: It compiles in Windows. (It does not pass key events, such as escape, though, so should not be used yet.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1243 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 06:11:48 +00:00
arcum42 47bc9722d4 GSnull/PadNull: Add a null Pad plugin (Currently Linux only). Fix up GSnull on the Linux side.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1242 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 05:15:03 +00:00
cottonvibes 995b9d1eaa microVU:
- Implemented the case where an Unconditional branch has the E-bit Set. This solves a few games from getting stuck in infinite loops. (I still need to handle conditional branches and jumps).
- Max/Mini Opcodes shouldn't set status/mac flags. This should be a minor speedup.
- Minor Changes/Cleanups...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1241 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 03:27:53 +00:00
Jake.Stine 3ff7f2f191 Meaningless Commits Inc presents: Made jASSUME to be more scope-proof, and fixed a minor signed/unsigned warning in cdvd.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1240 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 01:11:28 +00:00
gabest11 8d119f3928 GSdx: more source cleanup and something interesting on F7
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1239 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 23:23:38 +00:00
arcum42 82f0143d23 GSnull: Modularise things a bit more, so we don't have a bunch of platform-specific code in the main code. (Note: the Linux side hasn't been tested yet. I'll be doing that a bit later.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1238 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 02:29:01 +00:00
arcum42 f9cf905155 GSnull: Make it work better with Windows and LilyPad.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1237 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 01:49:39 +00:00
gabest11 3b22adc4b3 GSdx: converted a few template classes to pointers and virtual functions, the dll got more than 100k smaller, since there were many changes, backup your old version first :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1236 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 01:22:52 +00:00
arcum42 8e3d3080c0 Get rid of Decode_XA. A few minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1235 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 00:35:09 +00:00
arcum42 b1fd826954 GSnull: Update the GifTransfer code. Start to add keyboard code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1234 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-21 22:19:54 +00:00
arcum42 7922f33f4f Minor variable type changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1233 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-21 21:12:01 +00:00
cottonvibes 996440bab0 microVU:
- Fixed a problem that was causing microPrograms to be cached when they shouldn't be (introduced in r1209). This also fixes broken logging in some games, and is a small-speedup.
- Minor Changes


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1230 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-21 07:09:39 +00:00
cottonvibes 31c5c234ef microVU: minor changes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1229 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 23:18:19 +00:00
gabest11 2aec2318cc GSdx: found a compiler def for stl that removes a lot of iterator checks in the release build.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1228 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 21:22:37 +00:00
ramapcsx2 a0546736a1 mVU: minor fix for branches, improving compat a wee bit.. like lots :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1227 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 20:15:34 +00:00
gabest11 09ee76d9ed GSdx: optimized local-local transfer a bit, it boosts fps in games like ffxii or ico, which do a lot of moves in local memory.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1226 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 15:35:31 +00:00
cottonvibes 23c833e922 microVU:
- Fixed a Q/P instance bug. This fixed some graphical corruption in Haunting Ground, might fix some other games too.
- Minor Changes...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1225 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 03:05:36 +00:00
Jake.Stine faf535a461 Added COMI.SS/COMI.SD to the emitter (and moved UCOMI from moremovs to comparisons, where it belongs -- oops)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1224 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-19 23:37:20 +00:00
arcum42 9eda5dc951 Linux: Fear and Loathing in GCC 4.4.0...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1222 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-19 13:25:09 +00:00
arcum42 134f02babb Linux/microVU: Uninline a function that isn't inlinable according to gcc, so microVU is compilable on Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1221 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 13:08:35 +00:00
cottonvibes 3019f7d02c microVU:
- Fixed the bugs with the logical min/max code (DaZ should work fine again)
- Optimized some lower instructions a bit.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1220 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 11:13:30 +00:00
gabest11 5f392aba63 GSdx: now I think only the window classes of mfc are left to be replaced (main window, config dialog), trying to get familiar with wx...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1219 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 11:08:04 +00:00
gabest11 3f9a45c8aa Cleaned up the dummy MTGS gif transfer function a bit, and let the F5-F7 keys to be passed in GSkeyEvent (allows me to remove windows specific keyboard handling from the gs).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1218 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 10:50:43 +00:00
cottonvibes a974cff9bd microVU:
- Raised the run-cycles amount. This fixes FFXII's missing geometry (the game appears perfect now :p)
- mVU prints a message to console now if games are exiting early due to infinite loops (I'm interested in games that do this, so post any game you find that does this. Dark Cloud does this for example...)
- Added some debug stuff to iVU1micro.cpp.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1216 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 06:24:12 +00:00
cottonvibes 4b5117c078 microVU:
- Fixed a bug with P-reg's instances; this fixes problems/SPS in a lot of games such as (FFXII, NaN3, Digimon Rumble Arena 2, etc...)

Note: All the games mentioned still have other problems (ffxii for example has missing geometry on characters, but looks a lot better than before :p).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1215 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 03:07:23 +00:00
arcum42 1a53f45b2c Some work on variable type consistancy, and getting rid of 64 bit processor checks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1214 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-17 21:57:24 +00:00