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
zilmar
5a288052b8
fix version string include
2015-02-18 07:47:41 +11:00
Emmet Young
4a8986d416
Hopefully add correct files for Visual Studio 2008
2015-02-17 21:07:15 +11:00
Emmet Young
e540a7fdac
Old common version.cpp and version.h is no longer required, remove it.
2015-02-17 21:00:44 +11:00
Emmet Young
7a6a22b8ec
RSP Use Version.h version info in resource file
2015-02-17 20:45:57 +11:00
zilmar
975ec2dce8
Merge pull request #93 from cxd4/so_i_herd_u_liek_TargetName_and_TargetPath
...
Fix linker warning MSB8012 in VS2013 for RSP module.
2015-02-17 08:24:22 +11:00
unknown
5975976d82
matched VS2013 RSP rel to RSP dbg, glide rel and glide dbg
2015-02-16 15:41:04 -05:00
unknown
d0c7798e08
removed unnecessary MFC dependencies from RCs
2015-02-13 12:09:02 -05:00
unknown
6b55726e59
unified RSP compiler N/A operand specifiers to a single macro
2015-02-02 15:10:54 -05:00
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