Commit Graph

324 Commits

Author SHA1 Message Date
88289a4ebf [RSP] Match BOOL w/ int for ABI strictness. 2016-02-11 03:25:33 -05:00
41cf392840 [RSP] Substitute uint32_t for DWORD. 2016-02-11 03:23:15 -05:00
34ae28fdea [RSP] Replace HINSTANCE/HWND/etc. with void* to match PJ64. 2016-02-11 03:18:00 -05:00
9ed9529cfe [RSP] Fix #include Rsp.h for file system case-sensitivity. 2016-02-11 03:04:45 -05:00
zilmar 26cb3c98c3 [Project64] More line endings ? 2016-01-27 20:39:06 +11:00
zilmar a228a9d1f9 line ends ? 2016-01-27 20:11:59 +11:00
zilmar 3406831a49 [Project64] Make sure Common is in uppercase 2016-01-20 17:09:05 +11:00
Julio C. Rocha 7b2421884e Adjusted minimum toolset versions to VS2010 for VCXPROJ and PROPS files. 2015-12-07 21:15:53 -08:00
zilmar 3e4dd1cc23 Merge branch 'master' of https://github.com/project64/project64 2015-12-06 21:06:36 +11:00
zilmar a429a7fd08 [Project64] Create Project64-core 2015-12-06 21:05:39 +11:00
no f7b6767149 [RSP] Start using portable types in plugin header. 2015-12-04 17:24:15 -05:00
no 395f2a92dd #define EXPORT and CALL for cross-platform linkage. 2015-12-04 17:17:24 -05:00
zilmar e3b32c572d [Project64] Remove spaces from filename 2015-12-04 17:49:31 +11:00
LegendOfDragoon 36d491c989 Fix issue with STV in Vector Dest Analysis
STV can write to multiple registers, so it needs to do extra checking to
determine whether or not the destination register is used.
2015-11-30 20:40:01 -08:00
LegendOfDragoon b2f73ecb93 Optimize Vector Dest Analysis in RSP Recompiler
LPV, LUV, and LHV always write to an entire vector register, so it's
beneficial to account for that in Vector Destination Analysis.
2015-11-30 19:45:43 -08:00
zilmar 4f717d7a6f Merge pull request #722 from cxd4/in-ur-DWORDz-size_t-ing-ur-things
[RSP] Fixed all 64-bit GCC compile warnings.
2015-11-13 15:43:36 +11:00
toehead2001 923f6a485a "Project 64" -> "Project64" 2015-11-09 22:21:49 -07:00
unknown a53526163b fixed a couple remaining 64-bit pointer truncations 2015-10-30 16:08:18 -04:00
unknown 354cf1bf5d fixed x86 compiler address writes 2015-10-30 15:48:30 -04:00
unknown e7fed940de AddConstToX86Reg: pointer-to-int truncation fixed 2015-10-30 14:08:19 -04:00
unknown 69ebe1672b LeaSourceAndOffset: pointer-to-int truncation fixed 2015-10-30 13:27:02 -04:00
unknown fbc9b80270 MoveOffsetToX86reg 2015-10-30 00:02:20 -04:00
unknown 068811dc22 fixed SP DMA for pointer-to-integer casts 2015-10-29 22:54:29 -04:00
unknown 061f69b6f3 [RSP] Execute recompiler CPU without SEH for non-MSVC. 2015-10-29 21:52:48 -04:00
unknown ff904a0f3e [RSP] This memset() should be able to cause exceptions. 2015-10-29 21:51:26 -04:00
zilmar 3fcdae7d1c Merge pull request #716 from cxd4/mingw-float_h-bug
[RSP] adjust to unfortunate bug in GCC <float.h> header
2015-10-30 12:25:28 +11:00
unknown 72007f6e9f [RSP] adjust to unfortunate bug in GCC <float.h> header 2015-10-29 20:59:14 -04:00
unknown 1f7ab970e8 [RSP] Disable __cpuid() detection for non-MSVC compiles. 2015-10-29 20:48:31 -04:00
zilmar 3c64df1837 Merge pull request #714 from cxd4/msvc-_M_IX86-specific
[RSP] Disable MSVC-specific 32-bit-only code for non-MSVC.
2015-10-30 11:27:40 +11:00
unknown 1e395a9449 [RSP] Disable MSVC-specific 32-bit-only code for non-MSVC. 2015-10-29 20:23:36 -04:00
unknown 6a3fe2bfb6 Include <stdio.h> to fix one undeclared sprintf(). 2015-10-29 19:42:39 -04:00
unknown abb5578dbb Unconditionally include <stdio.h> to declare sprintf(). 2015-10-29 19:42:11 -04:00
zilmar df08dbc5c2 Merge pull request #663 from LegendOfDragoon/master
Improve LBV, LPV, LUV, and LHV in RSP Recompiler
2015-10-26 13:49:40 +11:00
unknown 0c93df4ec9 Use new `stdtypes.h` header added from commit 485613e. 2015-10-21 23:18:28 -04:00
LegendOfDragoon 0cefcf16fb Implement Recompiler version of LHV 2015-10-09 11:54:27 -07:00
LegendOfDragoon 221c4d1d4d Implement Recompiler version of LUV 2015-10-09 11:51:39 -07:00
LegendOfDragoon 0fca9e65a4 Implement Recompiler version of LPV 2015-10-09 11:49:03 -07:00
LegendOfDragoon 87dc96752d Implement Recompiler version of LBV 2015-10-09 11:39:46 -07:00
LegendOfDragoon d656af4068 Implement Recompiler version of VNE 2015-10-02 13:05:24 -07:00
LegendOfDragoon 67b4420097 Implement Recompiler version of VEQ 2015-10-02 13:02:03 -07:00
LegendOfDragoon c95d1598e4 Implement Recompiler version of VGE 2015-10-02 12:52:14 -07:00
LegendOfDragoon 9834665716 Implement Recompiler version of VLT 2015-10-02 12:37:27 -07:00
zilmar 142ed5b255 Merge pull request #627 from JunielKatarn/PropertySheetsTemp
Make solution files work with all versions of Visual Studio (2010+)
2015-09-30 10:56:26 +10:00
zilmar 83cffca119 Merge pull request #632 from cxd4/bad
`if` is not a function.
2015-09-30 10:55:28 +10:00
unknown fe442fca6e `if` is not a function.
fixes #628
2015-09-25 17:26:27 -04:00
LegendOfDragoon 7ea0dd0311 Improve Compile_Vector_VRSQH
RSP_ACCUM needs to be written to before RSP_Vect. Also optimized the
code for writing to RSP_ACCUM.
2015-09-25 05:00:41 -07:00
LegendOfDragoon 0102762456 Improve Compile_Vector_VRCPH
The issue is that it was writing to RSP_Vect before writing to
accumulator. Also removed minor overhead, since Recp.UHW[0] always = 0.
2015-09-25 04:45:00 -07:00
LegendOfDragoon aebc9fa8b0 Implement VRCPL in RSP Recompiler 2015-09-25 04:26:42 -07:00
LegendOfDragoon 97857ee3cd Implement VRCP in RSP Recompiler 2015-09-25 04:11:49 -07:00
LegendOfDragoon dc52573644 Implement x86 instruction Bsr 2015-09-25 03:50:47 -07:00
LegendOfDragoon 466c03e27d Ensure R0 cannot be written to in LHU 2015-09-24 15:33:07 -07:00
LegendOfDragoon 8bede83fd4 Ensure R0 cannot be written to in LBU 2015-09-24 15:31:45 -07:00
LegendOfDragoon fb8db802b3 Ensure R0 cannot be written to in LW 2015-09-24 15:30:34 -07:00
LegendOfDragoon b6721d1cdc Ensure R0 cannot be written to in LH 2015-09-24 15:29:32 -07:00
LegendOfDragoon 3a5569ce9d Ensure R0 cannot be written to in LB
This happens in Castlevania and OOT, although I'm not sure if the code
ever gets reached.
2015-09-24 15:13:21 -07:00
Julio C. Rocha e178ec96fc Merge ..\zilmar into PropertySheetsTemp 2015-09-23 20:06:48 -07:00
zilmar 6f2bb5cec6 Merge pull request #616 from LegendOfDragoon/master
Improve Compile_Cop0_MF
2015-09-24 09:50:34 +10:00
zilmar 1d86d84614 Merge pull request #611 from cxd4/implicit-size_t-to-int
Have error-checking when drawing RSP command window.
2015-09-24 09:49:40 +10:00
zilmar bf45ab9cca Merge pull request #610 from cxd4/implicit-size_t-to-DWORD
Have run-time error-checking when dumping DMEM/IMEM.
2015-09-24 09:48:23 +10:00
zilmar 9fe5bd8f48 Merge pull request #609 from cxd4/all_RSP_warnings
[RSP] Debug 64-bit -- Conversion:  possible loss of data.
2015-09-24 09:47:50 +10:00
LegendOfDragoon aa70b43ffc Implement case 4 in Compile_Cop0_MF 2015-09-20 14:57:45 -07:00
LegendOfDragoon b6a8c54fde Implement case 7 in Compile_Cop0_MF 2015-09-20 13:21:26 -07:00
unknown 6a194b4926 [RSP] warning C4267: conversion, possible loss of data 2015-09-17 21:59:06 -04:00
unknown 17b7b0857c Have error-checking when drawing RSP command window. 2015-09-17 21:49:00 -04:00
unknown 17f7965489 Have run-time error-checking when dumping DMEM/IMEM. 2015-09-17 20:39:44 -04:00
unknown c04f856b79 Attempt the POSIX `ssize_t` type for signed addr compares. 2015-09-17 19:58:49 -04:00
unknown 8f9e963cb0 conversion from 'LRESULT' ... possible loss of data 2015-09-17 19:31:32 -04:00
zilmar 33cb42e3dd Merge pull request #593 from LegendOfDragoon/master
Optimize some opcode functions in RSP Recompiler
2015-09-15 10:54:32 +10:00
zilmar 2bf1ccf637 Merge pull request #596 from cxd4/moar_signed_offsets
[RSP] Scalar memory load/stores show signed hex offset.
2015-09-14 10:43:03 +10:00
zilmar b4d58cfb17 Set VERSION_BUILD to 9999 2015-09-13 17:28:02 +10:00
unknown c80ce69941 [RSP] Scalar memory load/stores show signed hex offset. 2015-09-12 18:18:59 -04:00
LegendOfDragoon 67d2fc95a3 Optimize LHU in RSP Recompiler 2015-09-07 15:10:19 -07:00
LegendOfDragoon e0bd5442e4 Implement RegConst in Compile_LBU 2015-09-07 15:05:26 -07:00
LegendOfDragoon 237b21a596 Optimize LW in RSP Recompiler 2015-09-07 14:36:42 -07:00
LegendOfDragoon 48baf1df7c Optimize LH in RSP Recompiler
Star Wars Battle For Naboo LLE graphics uses unaligned LH
2015-09-07 13:48:51 -07:00
LegendOfDragoon e9c1c23120 Implement RegConst in Compile_LB 2015-09-07 13:39:41 -07:00
unknown d9082a0c51 [RSP] bad DMEM offsets when (offset < 0) 2015-09-07 16:36:08 -04:00
LegendOfDragoon 48fcced3bc Optimize ADDIU in RSP Recompiler
The second part happens in Hydro Thunder LLE audio.
2015-09-07 12:18:28 -07:00
LegendOfDragoon 2ff2165bd9 Optimize ADDI in RSP Recompiler
No need to add 0 to a variable. I've seen
ADDI V0, V0, 0x0000 in Super Smash Bros audio microcode.
2015-09-07 11:49:37 -07:00
LegendOfDragoon 720d8c8dd7 Implement SLTIU in RSP Recompiler 2015-09-07 11:28:49 -07:00
LegendOfDragoon 19f34eed4e Implement SLTI in RSP Recompiler 2015-09-07 11:27:07 -07:00
unknown b188bdae3c forgot to recycle `del = EleSpec[RSPOpC.rs].B[el];` in VABS 2015-08-11 22:21:51 -04:00
Julio C. Rocha d617d0352a Used centralized config for VCXPROJ files.
TODO: Fix Installer. It's no longer being generated.
2015-07-15 03:37:49 -07:00
unknown 5ad04ed067 newline fixes -- These were my (or Notepad++'s?) fault somehow. 2015-06-23 18:35:21 -04:00
zilmar 16f4780f9a Merge pull request #521 from cxd4/PR_513_to_vectop
[RSP] installed op-code strings matrix to COP2::C2
2015-06-24 07:22:18 +10:00
zilmar 5121db34db Merge pull request #522 from cxd4/PR_513_to_SPECIAL
[RSP] installed op-codes string matrix to SPECIAL
2015-06-24 07:20:46 +10:00
zilmar 8b27c5fd44 Merge pull request #523 from cxd4/PR_513_to_COP2
[RSP] installed op-code strings matrix to COP2
2015-06-24 07:19:50 +10:00
unknown cfc1123378 [RSP] installed primary op-codes matrix 2015-06-23 15:46:02 -04:00
unknown 61ebf68196 [RSP] installed op-code strings matrix to COP2 2015-06-23 15:07:28 -04:00
unknown 4299e4a621 [RSP] installed op-codes string matrix to SPECIAL 2015-06-23 13:51:25 -04:00
unknown 6d215d4846 [RSP] installed op-code strings matrix to COP2::C2 2015-06-23 13:06:36 -04:00
zilmar 4b1ff1983f Merge pull request #513 from cxd4/in_ur_codez_disassembling_ur_ops
Document the RSP op-code matrices + static disassembler debugger code.
2015-06-23 14:34:54 +10:00
unknown ee13bf0c82 Merge branch 'master' into lool
Conflicts:
	Source/RSP/Interpreter Ops.c
2015-06-21 21:03:42 -04:00
unknown 84b099b3e9 Merge branch 'master' into loooool
Conflicts:
	Source/RSP/Interpreter CPU.c
2015-06-21 19:44:29 -04:00
unknown 021a49eeb2 condensed (uint32_t)(uint32_t) since everything is in one line 2015-06-21 19:03:00 -04:00
unknown de2bd58c13 VM?DL, VM?DM, VM?DN, VM?DH: keep multiply sources in single line 2015-06-21 18:39:12 -04:00
zilmar 13508d7fe3 Merge pull request #516 from cxd4/loooooool
centered standard MIPS PC-relative branch stuff to its own func
2015-06-22 07:15:13 +10:00
unknown a93fff0cc6 [RSP] SLT[I][U]: ternary for more static interpreter code 2015-06-21 16:12:18 -04:00
unknown 767756cfb4 centered standard MIPS PC-relative branch stuff to its own func 2015-06-21 15:52:30 -04:00
unknown 3d62b70b49 [RSP] installed SWC2 mnemonics matrix to the command stepper 2015-06-20 00:13:59 -04:00
unknown e503041f5d [RSP] installed LWC2 mnemonics matrix to the command stepper 2015-06-20 00:11:44 -04:00
unknown 56369a4214 [RSP] added, but not installed, vector unit mnemonics matrix 2015-06-20 00:07:19 -04:00
unknown 7cd2641d8b [RSP] added COP2 mnemonics matrix (have not installed yet) 2015-06-20 00:05:49 -04:00
unknown 3dca6c7f5f [RSP] installed COP0 mnemonics matrix to the command stepper 2015-06-20 00:03:22 -04:00
unknown 2335b7b0e7 [RSP] installed REGIMM mnemonics matrix to the command stepper 2015-06-19 23:59:36 -04:00
unknown 55b3edd6d1 [RSP] added SPECIAL mnemonics matrix 2015-06-19 23:47:18 -04:00
unknown 11e5ce1bb3 [RSP] Introduce op-codes string matrix for cleaner debugging code. 2015-06-19 23:45:17 -04:00
zilmar d39b58ae9a Merge pull request #508 from cxd4/looool
[RSP] Ternary, SHMERNARY!  Blasphemous.
2015-06-20 06:49:02 +10:00
unknown fcfad37360 [RSP] junk trailing whitespace cleanups 2015-06-19 13:09:24 -04:00
unknown 2d2b8d3c9d [RSP] Ternary, SHMERNARY! Blasphemous. 2015-06-19 12:44:12 -04:00
unknown 44d8f13f58 [RSP] Continue to use standard int types for multiply operands. 2015-06-19 12:14:03 -04:00
unknown 38c6993be7 [RSP] removed extra type-casting: (uint16_t)-32768 2015-06-19 11:46:59 -04:00
unknown fee77c1aae DRAM address range bounds checking was off by one byte. 2015-06-18 19:51:30 -04:00
zilmar bc78316504 Clean up some of the 64bit projects 2015-05-22 06:07:24 +10:00
zilmar 0c8d500328 Merge pull request #464 from AmbientMalice/patch-18
Change "segement" to "segment".
2015-05-16 11:05:35 +10:00
zilmar 13e62d7354 [64bit] Get nrage and rsp compiling as 64bit 2015-05-16 10:55:23 +10:00
AmbientMalice baf8d3907e Corrected "segment" typo. 2015-05-15 23:36:42 +10:00
LegendOfDragoon 882b0f5841 Change CompilerWarning to DisplayError in Cop0_MF
In RSP interpreter, it is DisplayError and I feel like it's an important
message, so it should be DisplayError in RSP recompiler as well, in my
opinion.
2015-04-19 21:20:10 -07:00
LegendOfDragoon 603df8e167 Add 2 cases in Cop0_MF for RSP Recompiler
Case 0 and Case 1 was missing in RSP Recompiler. Jet Force Gemini LLE
GFX uses case 1.
2015-04-19 21:11:47 -07:00
LegendOfDragoon 82f614ff2d Fix / Optimize RSP Accumulator Analysis
the & 0xFFC was missing, which caused it to return true when it should
have returned false. This means that LLE audio should be more optimized
now.

I also made it do delay slot, incase the delay slot instruction writes
to accumulator. Minor optimization here.

As for JAL, I made it do break instead of return FALSE because in Battle
For Naboo, it actually does come back and continue an existing
calculation. I think it is only an issue if you do a separate analysis
for the Low Accumulator and Mid/High Accumulators. It's still better to
be safe, just incase I or someone else actually implement a separate
analysis for the Accumulators later down the road.
2015-04-19 20:56:36 -07:00
LegendOfDragoon f22e5125c5 Fix memory leak in RSP
Due to the newer spec design in PJ64 2.x, CloseDLL() doesn't get called
as often. So there are instances where it calls AllocateMemory()
multiple times without ever calling FreeMemory().
2015-04-19 19:16:10 -07:00
Lioncash bdd7f0e48f RSP: Fix a typo in Compile_ADDI 2015-04-16 23:33:35 -04:00
LegendOfDragoon eda19cfc5e Fix regression in GetInstructionInfo
I previously made a commit to fix a reordering issue, but did not
realize it needed that COPO_MF_Instruction flag for branching. This
should fix the Ogre Battle issue.
2015-04-14 22:07:45 -07:00
zilmar 11bb35f024 [RSP] 1.7.0.13 2015-03-29 17:38:30 +11:00
unknown b890afe78b [RSP] some scope and spacing formatting clean-ups 2015-03-18 00:50:48 -04:00
zilmar 080f7dfc17 Update version Number:
Glide64: 2.0.0.4
Project64: 2.2.0.2
RSP: 1.7.0.12
Nrage: 1.7.0.12
2015-03-10 18:36:58 +11:00
unknown cb9f9e2b56 keeping $0 overwrite prevention to just the CPU interpreter loop
Tried my best to make sure I didn't miss any op-codes.  (Ctrl+F searching for "!= 0" and "== 0" throught the file shows me that I didn't.)  If I did miss any op-codes, it's no bug, just remaining extra unnecessary checking for zero.
2015-03-08 20:20:05 -04:00
unknown 1772f1467c Prevent remaining possibilities of overwriting $zero in RSP.
In the RSP, MFC0, MFC2, and CFC2 were all susceptible to overwriting $zero.  Some of us have tried waiting for some games to use handcoded assembly in an attempt to purposely overwrite $zero in their microcode (to throw off emulators), but so far what few occurrences there have been of this have not included using those 3 opcodes.  Since it was decided to centralize the security of register $zero in the main R4300 CPU, it was decided to do so in the RSP as well.
2015-03-08 20:17:18 -04:00
LegendOfDragoon 7f5aa6b521 Implement MMX version of VABS in RSP Recompiler 2015-03-01 03:39:14 -08:00
LegendOfDragoon b4dbc570a5 Small optimization to VSUB 2015-03-01 03:33:17 -08:00
LegendOfDragoon 9706484850 Small optimization to VADD 2015-03-01 03:31:57 -08:00
LegendOfDragoon 9bb8ca9b3c Small optimization to VMUDH 2015-03-01 03:25:41 -08:00
LegendOfDragoon 9e4f3d2e0f Small optimization to VMUDL 2015-03-01 03:18:17 -08:00
LegendOfDragoon fa4fcc9d93 Small optimization to VMULF 2015-03-01 03:07:16 -08:00
LegendOfDragoon 3b208a79cd Implement recompiler version of Cop2_CT 2015-03-01 02:59:10 -08:00
LegendOfDragoon bdce1a41ef Implement recompiler version of Cop2_CF 2015-03-01 01:52:46 -08:00
zilmar f5e36d8356 Merge pull request #146 from cxd4/yo_dawg_i_herd_u_liek_stdint
Redo pull request #92
2015-02-26 16:20:33 +11:00
no 51c18b755b included LB to apply to the last commit 2015-02-26 00:15:26 -05:00
no 76da145c2a declare and initialize all in one line 2015-02-26 00:02:38 -05:00
unknown c323eda4bb (RSP) exact size types for scalar unit emulation and signedness matching 2015-02-25 22:57:19 -05:00
unknown 39865b8025 type size cleanups to RSP memory emulation 2015-02-25 22:45:33 -05:00
unknown 637b022f40 Introduce portable, standard integer types to RSP CPU. 2015-02-25 22:21:43 -05:00
zilmar e51ec31e65 Update versions
Project64: 2.2.0.1
Glide64: 2.0.0.3
RSP: 1.7.0.11
Nrage: 2.4.0.1
RDB: 2.2.2
2015-02-22 19:43:15 +11:00
Emmet Young 783f2d0668 Slight mistake in Version.h for DLL's, was setting VFT_APP instead of VFT_DLL 2015-02-22 00:45:00 +11:00
zilmar 662e3efa27 Update project settings for visual studio 2013 2015-02-20 20:09:05 +11:00
zilmar 436888dd6b Update version numbers and create a package zip 2015-02-19 19:03:33 +11:00
zilmar 6be9e796ee Merge pull request #100 from LegendOfDragoon/master
Fix mistakes in IsNextInstructionMmx() and UseRspFlags()
2015-02-19 14:24:27 +11:00
LegendOfDragoon 8aa40e4119 Add some missing instructions to UseRspFlags()
This change should get rid of some message box popups when enabling Show
Compiler Errors.
2015-02-18 18:34:32 -08:00
LegendOfDragoon 36e5d8d353 Fix problem with IsNextInstructionMmx()
It's supposed to check the next instruction, which is PC, rather than
the current instruction which is CompilePC. This mistake is what caused
graphical errors in RE2.
2015-02-18 18:18:27 -08:00
zilmar 8a6c2b2555 RSP.vcproj: Remove some of the unused files 2015-02-19 08:15:06 +11:00