Commit graph

98 commits

Author SHA1 Message Date
TellowKrinkle
aaf156478e Interpreter: Accurate CLIP 2025-03-02 18:19:52 +00:00
TellowKrinkle
dc557dd0e5 Interpreter: Merge broadcast min/max into one implementation 2025-03-02 18:19:08 +00:00
TellowKrinkle
2d0cfc9c2c Interpreter: Merge MAC ops into a few template functions 2025-03-02 18:19:08 +00:00
TellowKrinkle
625a25cd50 Interpreter: Merge broadcast ops into one implementation each 2025-03-02 18:19:08 +00:00
TellowKrinkle
b8a29d1cd8 Interpreter: Accurate FTOI
Plus some ITOF cleanup
2025-03-02 18:17:36 +00:00
TellowKrinkle
0fabdf9a01 Interpreter: Accurate ABS 2025-03-02 18:17:36 +00:00
TheTechnician27
23fd57f641 Copyright: Change year from 2002-2024 to 2002-2025 2025-01-20 05:07:26 +01:00
GovanifY
132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Stenzek
d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
Stenzek
47a65ce01e Misc: Slim down PCH 2023-12-24 14:03:14 +10:00
Stenzek
dc859ca0a6 Misc: Simplify assertion macros 2023-12-24 14:03:14 +10:00
refractionpcsx2
65d4baa944 EE/Int: Improve FPU emulation 2023-11-06 14:20:22 +00:00
refractionpcsx2
07971d25a6 VU/Int: Fix for completing XGKick 2023-09-12 14:07:36 +01:00
Stenzek
ff82232e27 Config: Add separate VU0/VU1 round/clamp mode options 2022-12-28 16:36:36 +00:00
Stenzek
07789f5dad Core: Warning fixes for clang-cl 2022-12-25 09:27:44 +00:00
refractionpcsx2
40cb41399f VU: Correct XGKick timing when using XGKickSync 2022-12-04 19:44:15 +00:00
TellowKrinkle
738c8cb630 Core: Remove trailing whitespace from all files 2022-09-16 00:52:28 -05:00
Connor McLaughlin
d535331b4b Misc: Remove __fastcall, __fc, __concall and friends
These have no meaning in x64 (apart from throwing compiler warnings),
and we don't do 32-bit anymore. Also saves needing to include
`Pcsx2Defs.h` in files which don't otherwise need it.
2022-05-12 14:58:03 +01:00
TellowKrinkle
f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06:00
refractionpcsx2
855b46edee VU: Fix Wsign-compare warnings. 2021-10-27 01:00:38 +02:00
lightningterror
8a531ad2cb VU: Fix Wsequence-point warnings. 2021-10-27 01:00:38 +02:00
refractionpcsx2
d9c4ace613 VU: Put XGKick 1 cycle behind to fix sync issues with Jaws Unleashed
Also added Jaws unleashed xgkick gamefixes to the DB
2021-09-17 13:04:26 +01:00
refractionpcsx2
59dfe52b52 microVU: Replace XGKick hack with synced XGKick option
Fixes Tennis Court Smash and Love Smash games which previously couldn't be fixed.
WRC no longer requires a patch, just the xgkickhack option.

Note: it's not a hack anymore, it just has to be called that :P
2021-09-17 13:04:26 +01:00
refractionpcsx2
154ed57633 VU Int: Remove need to pass VU struct to XGKick function.
It's always VU1, so we don't need to tell it.
2021-09-13 20:55:53 +01:00
refractionpcsx2
b0d1d4ff44 VU Int: Clang formatting 2021-09-12 16:12:31 +01:00
refractionpcsx2
52943d8399 VU Int: Link in clamping settings from UI
The only settings are either None or every other option is On (basically Extra + Preserve Sign)
2021-09-12 16:12:31 +01:00
refractionpcsx2
73bb8e4fdf VU Int: Make XGKick flush on VU program end
Some games like to write directly to VU memory once the program has finished and I have no easy way to update the kick without being super slow. so for now, we'll just flush it.
2021-09-12 16:12:31 +01:00
refractionpcsx2
3f56414824 VIF/VU: Cleaned up VIF Stall behaviour, sync XGKick with Unpacks.
Also cleaned up a bunch of bad/old code
Fixed branches on E-Bit and M-Bit (VU0)
Fixed up VU Int behaviour with VU Instant on/off

Savestate bump
2021-09-12 16:12:31 +01:00
refractionpcsx2
7e29a7e5a4 VU Int: Put XGKicks through the Gif Unit directly, don't buffer
Solves problems with PATH3 masking games
2021-09-12 16:12:31 +01:00
refractionpcsx2
c2af477758 VU Int: Combine XGKick handling in to one function
Also fixed a situation where PATH3 could transfer a packet to the GIF and finish its DMA while PATH1 was busy, so PATH3 never finished transferring properly as it relies on the DMA to handle the pretend timing of PATH3.
2021-09-12 16:12:31 +01:00
refractionpcsx2
ddf305fce5 VU Int: Correct EFU stalls + explanation 2021-09-12 16:12:31 +01:00
refractionpcsx2
857ab07f1c VUInt: Fix macro flags and implement EFU ops correctly.
Also now using the microVU style Tri-Ace hack as the interpreters seem to now need it
2021-09-12 16:12:31 +01:00
refractionpcsx2
1f50dd7496 VU Int: Some formatting/logging cleanup, optimise some variable placement 2021-09-12 16:12:31 +01:00
refractionpcsx2
83143bd42e VU Int: Rewrote most of the FMAC/IALU handling, now with 2x performance 2021-09-12 16:12:31 +01:00
refractionpcsx2
e19b0bce57 VU: Improve VU0/Mbit sync with VU Interpreter. Improve Kickstart. 2021-09-12 16:12:31 +01:00
refractionpcsx2
2e2d6ba35d VU Int: IALU stalls, improve VI backup emulation 2021-09-12 16:12:31 +01:00
refractionpcsx2
d7e6ef4ce6 VU Int: Properly limit ints when converting from float 2021-09-12 16:12:31 +01:00
refractionpcsx2
77eb380305 VU Int: Stop old versions of flags being written 2021-09-12 16:12:31 +01:00
refractionpcsx2
0326659b14 VU Int: Write back all pending pipes (will likely be ripped out later) 2021-09-12 16:12:31 +01:00
refractionpcsx2
067faccdd2 VU: Initial work to overhaul VU interpreter
Still a bit janky in some games and subject to changes
2021-09-12 16:12:31 +01:00
Gregory Hainaut
6e6eae7844 pcsx2:gsdx:spu2x: use parenthesis around macro parameters
For safety reasons.
2016-09-18 16:13:55 +02:00
Gregory Hainaut
f4f08b9c99 pcsx2: avoid couple of out-of-bounds access 2015-09-10 14:20:51 +02:00
Pseudonym
1c29874541 Removed unused variables. 2014-08-15 13:55:19 +01:00
Pseudonym
08d8026fa3 Removed a couple of unhelpful comments from today and a bunch from 2003. 2014-08-15 13:55:16 +01:00
Sacha
791bfc181b Use a function with u32 inputs and make sure all the casts match, because.. 2014-08-15 13:55:14 +10:00
Sacha
9dea86068a Remove giant min/max defines and make their usage more understandable. 2014-08-14 12:46:57 +10:00
Sacha
af3482b7cd Improve readability in the VUops. 2014-08-14 10:58:31 +10:00
refraction@gmail.com
ef6cc1d715 Implemented VI Backing up for branch instructions on the VU Interpreter. Fixes Kingdom Hearts 2 and possibly others when running off the interpreters.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5574 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-24 18:58:52 +00:00
refraction@gmail.com
c78b6157cb VU Interpreter Branch Delays: After some brainstorming amongst the team, we came up with a theory on what should be happening. I'm pleased to say it works in all cases.
As a bonus, the Tony Hawk Project 8 game (possibly the others using the same engine too) now have perfect graphics in VU Interpreter :) (software mode still required to get rid of lighting garbage however.  Skipdraw 2 "kinda" works, but not overly well)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5541 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-31 23:02:32 +00:00
refraction@gmail.com
73a08536d1 VU Interpreter Branch Delays: Rethink of this. As it's completely undocumented and nobody seems to know exactly what goes on, i have made my own guess...
If the first branch is a branch instruction, then ignore the second.
If the first branch is a jump instruction, execute 1 instruction from the first jump, then execute the second branch. (This is the only confirmed thing i can find from people testing this)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5539 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-28 23:05:18 +00:00