Commit Graph

113 Commits

Author SHA1 Message Date
Stenzek d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
refractionpcsx2 85670dd4a1 VIF: Correct DMA stall for VIF1 MFIFO 2023-09-17 14:52:47 +01:00
Stenzek 512d24cea6 Misc: More build system cleanups
Set UTF-8 source file format globally.
Set permissive/compliance mode globally.
Get rid of include of base 3rdparty directory, be explicit.
Get rid of duplicated properties.
Get rid of leftover plugin property files.
2023-05-16 12:58:19 +01:00
refractionpcsx2 f26031cada Vif: Fix up Instant DMA behaviour 2023-04-16 21:15:26 +01: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
arcum42@gmail.com 33e0ac729e Core: Remove memcmp_mmx. 2022-03-20 12:54:58 +00:00
TellowKrinkle f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06: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 7966c27246 GIF: Handle PATH2 ending when VIF not running 2021-09-12 16:12:31 +01:00
refractionpcsx2 88a53f013e Clang: Format Gif.cpp, Vif_Codes.cpp, Vif.cpp 2021-07-29 14:58:36 +01:00
refractionpcsx2 fd1305e4da GIF: Reimplement GIF FIFO to kick in only when it is needed.
Need to adjust GameDB entries for to remove ones no longer required, added EE Timing fix for SOCOM as that seems to fix it up like its sequel.

Some misc changes too which are inconsequential (mostly formatting)
2021-07-29 14:58:36 +01:00
refractionpcsx2 ddffd9acd6 VIF: Fix MPG VU Address wrapping, fixes Boogie (works for the first time)
Thanks to deus-libri for spotting that one!
2021-01-03 21:47:55 +00:00
refractionpcsx2 c9a5443539 VIF: Slightly optimise when Row/Col are written to MTVU 2020-12-28 19:01:17 +00:00
refractionpcsx2 839b243bf1 VIF: Always update MTVU thread with Row/Col Changes
Fixes graphical issues in Fatal Frame 2 when swapping to MTVU
2020-12-25 00:57:37 +00:00
refractionpcsx2 97b74fa6ea VIF: MSCNT address is -1, so don't mask it. 2020-12-22 14:55:03 +00:00
refractionpcsx2 843650e79e VIF: Mask VU program address on MSCAL/MSCNT instructions 2020-12-22 14:12:27 +00:00
refractionpcsx2 7b7278bc85 VIF: Fix MPG bug incrementing addresses properly when using MTVU
Also handle wrapping
2020-12-16 14:04:54 +00:00
refractionpcsx2 7138769182 VU: Synchronise VU1, added speedhack for old behaviour 2020-12-13 22:02:37 +00:00
refractionpcsx2 16d33f8960 VIF/MTVU: Correctly increment tag addr on VIF when using MTVU
Fixes Def Jam Fight for NY when using MTVU
2020-12-06 07:06:51 +00:00
lightningterror 9140f071f6 misc: Replace Fall through comments with c++17 attribute.
Silences warnings about not having breaks on switch cases.
Added a few missing ones too.
2020-11-02 17:39:02 +01:00
refractionpcsx2 b5e3fc97dc
VIF: Set decoding status on VIF stall (#3683)
* VIF: Set decoding status on VIF stall

* VIF/GIF: Remove VIF Reset hack, Let GIF Unit reset queued path data (Except MTVU)
2020-09-14 23:28:55 +01:00
kozarovv df79a17baa VU: Improve VU0/EE sync, Implement better M-Bit Handling, Fix VU program handing on VIF 2020-08-29 21:56:26 +01:00
refractionpcsx2 184f0df2c5
Modify VU PC addressing so it only multiplies by 8 before entering the p… (#3362)
* Modify VU addressing so it only multiplies by 8 before entering the program
Fixes issues with VU1 TPC being read multiplied by 8 (bad)

* Removed assert on SuperVU which no longer makes sense
2020-05-12 23:59:42 +01:00
Shanoah Alkire 64ab2d53e1 Add comments to prevent various warnings about falling through on case statements. 2019-02-23 22:08:57 -08:00
Jonathan Li 29eed182c2 pcsx2: Remove unnecessary aMax/aMin macros 2017-04-30 23:41:19 +01:00
refractionpcsx2 744d07b8a1 Vif: Fix MSCNT for MK: Shaolin Monks.
-Tested Baldurs Gate, Twisted Metal, Warship Gunner 2 and Downhill Domination, all seem to be fine still.
2016-10-02 15:35:06 +01:00
refractionpcsx2 2734f53a79 GIF: Implement GIF FIFO on GIF MFIFO mode.
-Removed some obsolete code
-Tiny optimisation for the gifUnit
-Fixed a tiny bug on GIF MFIFO
2016-09-23 17:48:13 +02:00
refractionpcsx2 0b83b849e7 GIF: Implement GIF FIFO - Enabled as hack as it is slow
-Fixes DJ Hero, Wallace & Gromit (properly), Hot Wheels (closer)
2016-09-23 17:41:48 +02:00
Gregory Hainaut 4796803c33 pcsx2: Remove == true/false for boolean logic (#1556)
As discussed in #1553

Clang Tidy reports goes from 156 to 9.

Remain some macro in spu2x + a deadcode line
2016-09-10 20:08:14 +02:00
Gregory Hainaut 4ebe739b44 pcsx2: remove various unused variable
Warning can be reenabled on GCC

A warning isn't fixed as potentially the code is wrong
../pcsx2/gui/MemoryCardFolder.cpp: In member function ‘void FolderMemoryCard::FlushFileEntries(u32, u32, const wxString&, MemoryCardFileMetadataReference*)’:
../pcsx2/gui/MemoryCardFolder.cpp:1027:10: warning: unused variable ‘filenameCleaned’ [-Wunused-variable]
     bool filenameCleaned = FileAccessHelper::CleanMemcardFilename( cleanName );
2016-09-10 00:09:05 +02:00
Gregory Hainaut 6f64fc9f84 pcsx2: don't compare pointer with 0 2016-08-12 19:30:14 +02:00
refractionpcsx2 6649f43069 VIF: Only delay MSCAL - Fixes #1218 Downhill Domination and Twisted Metal Head-On. Snowblind games still fine 2016-03-20 17:18:17 +00:00
refractionpcsx2 dfd52282a7 Vif: Fix for Warship Gunner 2 geometry holes. Fixes Issue 665 2015-11-08 18:42:55 +00:00
refractionpcsx2 b63590152a Vif: Fixed logically dead code (not that it mattered)
-Coverity CID 146826: In vifExecQueue(int): Code can never be reached because of a logical contradiction (CWE-561)
2015-09-26 13:55:50 +01:00
refractionpcsx2 a89307c5ba Vif: Fix logically dead code with something slightly quicker. Coverity CID 146827: In _vifCode_MPG(int, unsigned int, unsigned int const*, int): Code can never be reached because of a logical contradiction (CWE-561) 2015-09-26 13:00:28 +01:00
refractionpcsx2 a346ce7640 Vif: Assume weird numbers with interrupts in NOPs are okay in when transferring the DMA tag. Stops Tarzan hanging without killing Onimuisha Blade Warriors 2015-07-31 01:09:11 +01:00
Sacha ad3b76c4d8 Remove all custom memcpy usage from core pcsx2 and remove memcpy_fast from plugins. 2014-08-27 13:45:23 +10:00
archshift fb9c24b900 Removed `using std::min/max` from PCH 2014-08-14 14:55:52 -07:00
refraction fb5b7a34e3 VIF: Modification to illegal IRQ's on NOP's Fixes #162 . Some games like Looney Tunes Back In Action use the lower 16 bits for special codes, so we only check the command info area (not the command itself of course, that would be silly). 2014-07-24 18:22:00 +01:00
refraction 0ddb77c048 VIF: Ignore interrupts caused by obviously bogus NOP and NULL codes. Fixes Onimusha Blade Warriors. 2014-06-30 18:56:10 +01:00
refraction@gmail.com fc4be4f2cc VIF: Fix for Warship Gunner 2 Issue 1079 . On VU executes immediately followed by an unpack we will execute it immediately. I didn't look too deeply in to this but the game doesn't like the delays. Baldurs Gate still happy though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5745 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-18 13:03:22 +00:00
ramapcsx2.code a73e1b294a Silence a mVU bad opcode error log that would spam in Shadow Hearts 1 battles and likely in Dawn of Mana 2nd level, too.
Also renamed a widescreen string and added a compiler warning fix.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5730 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-12 19:34:01 +00:00
refraction@gmail.com a1bc42fa92 VIF: Put in a check to make sure VIF doesn't break during a FIFO write.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5565 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-18 21:17:35 +00:00
refraction@gmail.com 8c86009a27 microVU: Found another bug with double branches, when there is a conditional in a JR/JALR delay slot it may have ended up in the wrong place. Unknown what it fixes, if anything.
VIF/Path3 Masking: Put a timing break in on Path2 transfers, this gives it chance to stop being busy incase it is closely followed by a path3 mask, which caused it to go out of time.  Fixes Sensible Soccer.

VIF: Fixed up a couple of typo's, which may or may not have done anything, one which was not setting an offset if it stalled on 1/4 of a quadword, which could have been disasterous if done by the wrong game.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5564 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-18 20:42:27 +00:00
refraction@gmail.com a7c8da7578 Path3 Masking: Fix up some timing issues (now we have some lol) which made puzzle quest look even worse than it already did. also as a test i have enabled Intermittent transfer modes on GIF, however it's only very loosely working as it should, just enough so Puzzle Quest looks right.
If it slows things down too much (initial testing is showing minimal slowdowns), then we can always disable it again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5560 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-13 21:49:54 +00:00
refraction@gmail.com e8d865d01d Gif Unit/VIF: Fix up some bits from r5551. Fixes SSX 3 and Charlie and the Chocolate Factory.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5552 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-10 15:06:10 +00:00
refraction@gmail.com 0e80111499 VIF/VU: Removed all the everblue crap, found another way of doing it. As the savestate bummp wasn't needed anymore, i've put it back again. savestate users rejoyce?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5546 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-05 23:30:25 +00:00
refraction@gmail.com c30f67b767 VIF/VU: Fixes for Everblue and Hitman 2 from r5404, details below. Savestate bump needed, sorry. Also fixed a copy/paste bug i noticed along the way in vif0FBRST.
Everblue: Slightly messy fix, not as nice as id hope, but it seems to work, we need to remember VU programs written to the VU so we can check if an unpack is modifying it.  This retains the behaviour of the Snowblind engines whilst fixing everblue.

Hitman 2: Our vif0/1VUFinish() routing which works in conjunction with the delays wasn't paying attention to if the VIF was stalled or not and reran it before the game wanted it to, now fixed.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5544 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-05 00:42:44 +00:00
sudonim1@gmail.com ad3720c107 VIF: EXPERIMENTAL, NOT SANITY CHECKED: Delayed VU execution until the next flush, mpg, microprogram call or (as a fallback) end of dma packet to deal with cases like MSCAL, UNPACK, MSCAL (expects the first program to receive the unpack data).
Fixes Snowblind's games (BG Dark Alliance etc.), Mortal Kombat Shaolin Monks.  May break things, needs extensive testing.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5404 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-05 20:13:50 +00:00