Commit Graph

266 Commits

Author SHA1 Message Date
zilmar b10487ee07 Merge branch 'master' of https://github.com/project64/project64 2015-02-02 17:12:09 +11:00
LegendOfDragoon 0f1010379f Implement a quick fix for Instruction Reordering
Instruction Reordering broke Mia Hamm and possibly other games too. The
easiest way to fix the problem was to simply disable reordering for
specific cases that were never accounted for.
2015-01-31 17:23:43 -08:00
zilmar e116c9e692 Merge branch 'master' of https://github.com/project64/project64 2015-02-01 06:30:53 +11:00
zilmar 9eceed0fef #pull request 42 2015-02-01 06:27:27 +11:00
LegendOfDragoon 1741623482 Fixed some mistakes in GetInstructionInfo
Not only were certain instructions missing, but also some were in the
wrong place or had the wrong attributes.

Also VSUB needed to be added to IsNextInstructionMmx.
2015-01-31 04:35:43 -08:00
project64 15e389cbe2 Merge pull request #26 from LegendOfDragoon/master
Improve Recompiler Analysis for Vector Destination and Accumulators
2015-01-31 18:10:04 +11:00
zilmar 8e715efe44 Cleaned up some warnings in the rsp 2015-01-29 19:57:13 +11:00
project64 abca1bd56f Merge pull request #30 from cxd4/master
fixed 17 compiler warnings about RSP "nameless struct/union" cases
2015-01-29 14:45:54 +11:00
Nicholas 862eb7c48b Add support for Visual Studio 2013 2015-01-27 16:07:44 +11:00
unknown 5877daf7b3 isolated, nameless union in struct SHUFFLE, named union SHUFFLE 2015-01-25 14:22:18 -05:00
unknown 22f13e1739 offset operates w/ base; immediate operates w/ rs (fixes nothing) 2015-01-25 14:07:48 -05:00
unknown 66850bf553 isolated, nameless union in struct OPCODE, named union OPCODE
There were no other members of struct `tagOPCODE` besides one nameless union, so, to fix some nameless union compiler warnings, I deleted struct tagOPCODE and named the nameless union, union tagOPCODE.  Since "OpCode.h" is #include'd 9 times across the RSP source, technically this commit fixes 9 warning messages, even though it's really just 1 warning.
2015-01-25 13:58:12 -05:00
LegendOfDragoon ab30871f57 Improve Vector Destination Analysis
Some functions weren't implemented and others were implemented
incorrectly. There are more potential optimizations to implement for the
analysis.
2015-01-24 18:33:34 -08:00
LegendOfDragoon e8ad2bbc5e Add more instructions to Accumulator analysis
Some of these typos confused me when I enabled Show Compiler Errors.
2015-01-24 15:39:54 -08:00
unknown 5f9605ec04 Merge branch 'master' of https://github.com/project64/project64 2015-01-24 16:23:10 -05:00
unknown fd564c802a RSP recompiler cheating expects a RSP function address: p_func. 2015-01-24 16:21:39 -05:00
Nicholas 1e1249903d Fix re order instructions for quake II with lle graphics 2015-01-25 08:07:38 +11:00
unknown 87aa0faf17 removed old explicit type casts (now calling strict func addr arrays) 2015-01-24 16:01:50 -05:00
unknown 587dbbb3ff func pointers stored in arrays of func pointers (fixes 720 warnings) 2015-01-24 15:39:18 -05:00
Nicholas cb9d25fc5a Deprecate `Indx` functional LUT on loop count in RSP interpreter by cxd4 2015-01-24 13:17:31 +11:00
Nicholas a43207f52b RSP: cheat for unaligned LH, LLE gfx in f-zero X and wave race 2015-01-23 23:10:20 +11:00
LegendOfDragoon 55fc2a6255 Correct 2 mistakes I made in SQV in RSP recompiler
It may be true that this SQV edge case only seems to happen when
isRegConst = true, I forgot to account for the possibility that GPR
Constant Analysis could be disabled.

I also just noticed that I goofed with the non-sse shuffling ;/ . The
registers weren't in order.
2015-01-22 14:53:16 -08:00
LegendOfDragoon 448b0ed6be Correct a mistake I made in LDV in RSP recompiler
I totally forgot that LDV handles elements differently than SDV. I added
a fallback to deal with unusual elements and added an alert to notify
that it exists in a particular game. I removed the & 0xF since that's
not needed. My previous change caused Stunt Racer 64 to have audio
issues. It should now be fixed.
2015-01-22 14:05:34 -08:00
Nicholas 2dd4e99ed6 Fix a couple games in RSP interpreter: CFC2 sign-extends $vcr by cxd4 2015-01-23 07:47:23 +11:00
LegendOfDragoon 479b201ddc Implement edge case for LDV, fix 2 typos as well.
For LDV, it's the same deal as SDV. In WDC, RSPOpC.del could = 12, which
would result in a negative number when doing 16 - RSPOpC,del - 8.
2015-01-14 01:48:47 -08:00
LegendOfDragoon 5df4a806b4 Optimized a few instructions
Optimized VOR for games like Perfect Dark
Implemented VNAND, VNOR, and VNXOR for recompiler
Minor change in SQV
2015-01-12 14:19:41 -08:00
LegendOfDragoon 1cb03b4120 Matched RSP interpreter more closely
I have only seen the edgecase for SQV happen when
IsRegConst(RSPOpC.base) == TRUE. Changing SQV fixed Telefoot / Mia Ham.

I optimized VAND, for games like Kirby64.
2015-01-12 11:43:07 -08:00
LegendOfDragoon 02fe2e7241 More Fixes
The possibility of the RSP instruction at address 0xFFC being JR was
never accounted for. This fixes Wave Race and Star Wars - Shadow of the
Empire.

The accumulator analysis was wrong, which broke games like Mario No
Photopie.
2015-01-11 19:49:04 -08:00
LegendOfDragoon 43c6017ddb Improve Accuracy
Fixing SW allows a lot more games to work. Fixing LW fixes games like
WDC and improves performance somehow. Fixing VMRG fixes certain bugs,
like Kirby 64's intro.
2015-01-11 19:35:43 -08:00
zilmar 48d8925a80 Project64: Clean up external release to be beta release 2013-03-22 16:47:20 +11:00
zilmar 627f9de997 RSP: 1.7.0.9 2013-02-20 05:46:35 +11:00
zilmar fc908b7b7d RSP: Fix some delay slot warnings 2013-02-20 05:39:47 +11:00
zilmar c8394fb473 RSP: 1.7.0.8 2013-02-13 07:10:16 +11:00
zilmar 1ff9338e4c RSP: Fix clean up log files 2013-02-11 19:29:14 +11:00
zilmar f5290c7895 RSP: JumpTableSize and RomOpen 2013-02-11 19:28:49 +11:00
zilmar 14352768ae RSP: add RomOpen and JumpTableSize Setting 2013-02-11 19:27:49 +11:00
zilmar 663b784555 RSP: 1.7.0.7 2013-01-30 06:09:45 +11:00
zilmar ad22fe90fe RSP: Fix bug in RSP MF 2013-01-30 06:08:57 +11:00
zilmar 0838eef358 RSP: 1.7.0.6 2013-01-29 22:33:02 +11:00
zilmar 36def4094a RSP: Can exit after jump from MT/MF Cop 0 2013-01-29 22:29:50 +11:00
zilmar 38ec949a6e RSP: Fix & 0xFF debug warning 2013-01-29 22:27:58 +11:00
zilmar 8b41656bad RSP: Move logs to log folder 2013-01-29 22:27:13 +11:00
zilmar 2c78b14b47 RSP: Add delay slot done 2013-01-29 21:45:45 +11:00
zilmar a05ff4f3c2 RSP: For Analysis, add flag ops and MF CP 0 2013-01-29 21:44:59 +11:00
zilmar 6d39bb2246 RSP: Add Single step to Interpreter 2013-01-29 21:43:10 +11:00
zilmar c522a03901 RSP: 1.7.0.5 2013-01-26 09:36:47 +11:00
zilmar a5e2f43c17 RSP: Only use semaphore if not hle code 2013-01-26 05:25:03 +11:00
zilmar c12dc31a61 RSP: 1.7.0.4 2013-01-22 19:54:52 +11:00
zilmar 12893b747a RSP: write result in one operation 2013-01-22 16:17:34 +11:00
zilmar 008f02919c RSP: add an exit to RSP when read from MF status multiple times 2013-01-16 06:03:11 +11:00
zilmar 5bba8a011a RSP: implement SP_SEMAPHORE_REG 2013-01-12 08:18:19 +11:00
zilmar d23d06fa98 Renamed _int64 to __int64 2012-11-06 19:23:59 +11:00
zilmar 031575fd7a added an extra bracket to make sure RSP_SW_DMEM is correct 2012-09-29 18:11:30 +10:00
Emmet Young 917417eb0f RSP:
Set bitmasks for two calculations in RSP_SW_DMEM, to stop errors in Banjo Kazooie when in debug mode for RSP. (Was attempting to cast to a smaller data type, causing a loss of data)
2012-09-29 16:15:41 +10:00
zilmar fe0502a65b RSP now outputs to common plugin dir 2012-09-27 13:43:54 +10:00
zilmar 89bc4087ef updated zlib, Moved and cleaned up the project settings in to property sheets also cleaned up some warnings 2012-09-26 09:23:20 +10:00
zilmar 86397d912c commit the local changes I had on my hard disk 2012-09-22 15:53:39 +10:00
zilmar 49d660df78 git-svn-id: https://localhost/svn/Project64/trunk@46 111125ac-702d-7242-af9c-5ba8ae61c1ef 2010-10-29 03:20:25 +00:00
zilmar dae4e73c89 git-svn-id: https://localhost/svn/Project64/trunk@45 111125ac-702d-7242-af9c-5ba8ae61c1ef 2010-10-23 18:53:01 +00:00
zilmar 3e0e336a52 git-svn-id: https://localhost/svn/Project64/trunk@20 111125ac-702d-7242-af9c-5ba8ae61c1ef 2009-12-28 22:22:50 +00:00
zilmar e1f5d9a555 git-svn-id: https://localhost/svn/Project64/trunk@19 111125ac-702d-7242-af9c-5ba8ae61c1ef 2008-12-11 10:31:10 +00:00
zilmar 043a755f80 git-svn-id: https://localhost/svn/Project64/trunk@18 111125ac-702d-7242-af9c-5ba8ae61c1ef 2008-12-04 20:40:48 +00:00
zilmar dd6e2c2b82 git-svn-id: https://localhost/svn/Project64/trunk@17 111125ac-702d-7242-af9c-5ba8ae61c1ef 2008-12-04 19:15:55 +00:00
zilmar 5ff8e00c28 git-svn-id: https://localhost/svn/Project64/trunk@15 111125ac-702d-7242-af9c-5ba8ae61c1ef 2008-12-04 10:41:51 +00:00
zilmar 361bdcaa84 git-svn-id: https://localhost/svn/Project64/trunk@14 111125ac-702d-7242-af9c-5ba8ae61c1ef 2008-12-01 18:19:49 +00:00
zilmar c99c1d6a6f git-svn-id: https://localhost/svn/Project64/trunk@3 111125ac-702d-7242-af9c-5ba8ae61c1ef 2008-11-14 20:47:53 +00:00