Commit Graph

52 Commits

Author SHA1 Message Date
Stenzek d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
refractionpcsx2 72f9bf83fd SIF: Correct junk data behaviour. Fixes True Crime Streets of LA 2023-05-11 16:03:13 +01:00
refractionpcsx2 5321ca913e EE: Implement Instant DMA hack for some cache problematic games
Bump savestate version for new dma stall flag

[SAVEVERSION+]
2022-11-07 18:56:04 +00:00
TellowKrinkle 738c8cb630 Core: Remove trailing whitespace from all files 2022-09-16 00:52:28 -05:00
Connor McLaughlin 850deed6c1 HwRegs: Swap wxString desc() for std::string 2022-04-15 08:15:40 +01:00
kenshen112 fdabc82342 Remove IopCommon.h added proper includes to files. Removing circle includes in several files that sometimes was several layers deep 2022-04-11 21:25:20 +01:00
TellowKrinkle f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06:00
refractionpcsx2 d73bf834b3 SIF: Kind of revert a SIF timing change made a while back to fix Parappa the Rapper 2 2021-09-23 04:44:34 +01:00
refractionpcsx2 7e2ccd64e8 SIF: Fix attempting to write junk when FIFO full
Also fix the amount of words written to temporary junk
2020-10-09 23:51:12 +01:00
refractionpcsx2 d2169d725b SIF: Correct IOP cycle count for SIF transfers 2020-10-03 01:42:46 +01:00
refractionpcsx2 dcbb05982a Savestates: Move variable to sif struct, bump savestate version 2020-10-03 01:42:46 +01:00
refractionpcsx2 1a3b532530 SIF: Transfer SIF0 junk for partial QW transfers from IOP
Fixes True Crime: Streets of LA
2020-10-03 01:42:46 +01:00
refractionpcsx2 40d02400ca
DMAC: Improve DMA Stall handling (#3701)
SIF: Implemented SIF0 and SIF1 DMA Stall handling
Cleaned up some of the handling of DMA Stalls on the other channels
2020-09-18 16:23:18 +01: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
refractionpcsx2 31ee576d6a Sif: Limit/Mask transfer size to 1mb-16, thanks to jpd002 (Play!) for the fix!
Fixes #643 Gregory Horror Show, which seems to be playable (from nothing!)
2015-10-08 20:02:15 +01:00
archshift fb9c24b900 Removed `using std::min/max` from PCH 2014-08-14 14:55:52 -07:00
refraction 35b5e6a923 GIF:
-Implemented GIF_MODE Masking fixed the All Star Pro Wrestling series slowness/hanging.

DMA: 
-Standardize the IPU and SIF dma's to use the standard chain handling in hw.c, fixed up some DMA resuming stuff in the forementioned units, VIF, GIF and SPR.

-Added some warnings for DMA stall control which isn't implemented, hopefully somebody will find a game that does it so we can add/test it :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5915 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-02-26 22:34:02 +00:00
ramapcsx2 406ea42c43 Tests with Grandia Extreme's debugger suggest that SBUS interrupts *never* fire.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5128 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-14 13:10:14 +00:00
refraction 260b98fb92 Thats better, winmerge helps!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4875 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-23 18:37:04 +00:00
refraction ad4aeca3ad SIF: Better fix in place for random hangs, Tom Clancy Rainbow Six Lockdown now Playable.
Hangs also related to Phantasy Star 4 and FFX Thunder Plains, which are both still ok with this. Also the sif dma errors in Legends of Legaia should be gone again!

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4874 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-23 18:30:40 +00:00
ramapcsx2 f9b8f5c786 Silence a SIF dma warning.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4816 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-19 10:56:48 +00:00
ramapcsx2 2e04d9c6af - Fixed an assert in the first time wizard and added a note about the portable.ini
- Removed some more Console messages
- Changed the SIF struct "free" function to "sif_free" to avoid confusing the debug malloc libs

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4372 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-26 19:02:25 +00:00
refraction c368a6a422 Updated the FFX Video Fix, should work again now. Added DMA End log messages to DMA logging. Hopefully one day someone will reverse engineer the FFX video code so we can see if we are really doing something really wrong or if the code is just dire >.<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4354 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-24 11:07:13 +00:00
refraction dde94adec3 Cache Emulation: Updated cache emulation for new VTLB, Dead or Alive 2 (Japanese Version only) now playable. You can enable this under the Recompiler options by ticking the "Enable EE Cache" box, however it will only work with the EE in Interpreter mode. Also fixed some cache bugs from the old implementation.
Note: Once DoA2 is ingame (start of fight), you can switch to the EE Rec until the fight is over with good speed! Hopefully one day someone will be brave enough to implement it on the rec side so you dont have to mess about :P

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4309 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-17 21:27:24 +00:00
Jake.Stine 5fd2cf97d3 Made some minor tweaks to SIF to test some theories and fix some broken-looking code -- please report any regressions. Also commented some of SIF and IPU stuff. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3812 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-20 12:47:17 +00:00
Jake.Stine 02b390b0e1 Changed SIF and IPU macros for hw register mappings into references. (-> into .)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3727 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 02:51:36 +00:00
Jake.Stine 003da7d287 MAJOR: All new hwRead and hwWrite handlers (expect regressions). Details:
* Writes via 16 and 8 bit ops now use 32-bit read/modify/write operations by default; which should enable nearly complete support for all such operations (instead of the formerly spotty coverage before).
 * Eliminated almost all former 8/16-bit specific register operations.  All code shares the same 32 bit handlers now.
 * Completely revamped the developer trace logs for hardware registers!  *ALL* registers are logged now, complete with address, name, and value being read/written (and nicely formatted!).
 * Handlers are now fully page-based using templated functions (minor speedup)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3704 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:22:26 +00:00
ramapcsx2 6798f27d4d Found and fixed the issue causing some FFX battles to hang since ~400 revs ago.
The same problem caused the hang in Phantasy Star 4 when pressing pause.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3645 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-16 18:04:05 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
Jake.Stine 4f9a5c6876 Remove all MMX and XMM register freeze code.
DevNote: I could have left the code for the freezes in, except I *really* don't want us to ever have to resort to using such a system ever again in the future.  For anything. (its just not safe on modern optimizing compilers)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3392 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 01:12:38 +00:00
refraction 26fece9510 Summary of fixes
Games
- Resident Evil Dead Aim flickering graphics fixed.
- Flatout games should now boot everytime (instead of randomly)
- Sega Superstar Tennis flashing fixed
- Destruction Derby graphics fixed (NTSC confirmed, PAL unsure)
- Tenchu Fatal Shadows flickering textures fixed, Issue 748
- Spyro Hero's Tail should boot again, Issue 746

General Info
- General reworking of the GS paths with all paths prioritizing more correctly.
- XGKICK can stall if another GS transfer is in progress
- Major reworking of Path3 masking, could still be combined with normal Path3 transfers, but lets get it working first :P
- Taken in to account a few conditions which could have caused VIF to lock up/crash when stalling on ends.
- Unreversed GIF and SPR and VIF so its the normal way round
- all DMA paths should now resume correctly after being stopped by hardware
- GIF FIFO now actually transfers stuff :P
- VIF CMD's simulated by the length of the interrupts at the end.

Phew, i think that's everything :S

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3274 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 23:10:40 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
refraction dc4899e65d Minor changes:
- Removed small line on PATH3 masking
- Fixed a smally bug from my previous cockups
- Replaced the SIF irq hack with something that makes more sense.
- Removed the vif1DMA call from IPU, this was just causing double IRQ's on VIF1 in Klonoa

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2895 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 22:36:16 +00:00
sudonim1 a05e9c62be Set svn:eol-style=native on all *.c *.cpp *.h
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2894 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 21:37:39 +00:00
arcum42 0f661e8f47 Chcr is a non-pod type.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2891 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 20:14:09 +00:00
refraction 662d589217 Improved my previous fix, Psychonaughts exhibited behaviour sudo mentioned (data not being grabbed from VU) so added a seperate SPR handler.
Removed an old check which is useless now and added a new replacement one.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2890 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 18:59:31 +00:00
sudonim1 a21fb4b984 Map uninstalled main memory (>32MB). I can't see any suggestion in the manuals that accessing these addresses generates a bus error or tlb miss (and they are in the bios default tlb initialisation), so I'm assuming that it acts as write only memory for both DMA and normal accesses. The write-only implementation is a little sketchy for DMA, but it's very unlikely to matter in practice.
Changed dmaGetAddr to not lookup addresses in the TLB.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2883 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-22 00:11:53 +00:00
arcum42 678f2018d0 pcsx2: A few misc changes. && != &. zzogl-pg: Comment out a log message that was spamming in Mana Khemia.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2866 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-16 05:08:41 +00:00
refraction b1954edc3d - Better implementation of Reverse FIFO (Fatal Frame QWC Warning and more!)
- Improved handling of suspended DMA's, Also some traps in case DMA values are changed during suspend (please report if they don't start with 5 or 6)
- Better handling of GS Path priorities, this improves many Path3 Masked games such as Star Wars Episode 3, Gran Turismo 4 (slightly) and Videos like Digital Devil Saga/FFX
- Removed Voodoo Cycles
- Doesn't kill everything this time :P

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2853 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-15 00:32:58 +00:00
ramapcsx2 6ffb25cb83 This should be the proper fix for Eternal Poison dieing on reboots.
Bit ugly code though..

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2791 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-29 18:56:40 +00:00
arcum42 02497e0d41 Sif: Check if there is anything in the fifo before reading from it, and if there is any free space in it before writing to it. Tweak logging a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2704 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-13 00:48:02 +00:00
ramapcsx2 f8e9c20664 SIF does status communication as well, which we detected as null transfers.
Not interrupting on that seems to be bad for a couple games.
This commit should fix Persona3 again. 
(The Eternal Poison problem is something else, will have to look at it more.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2629 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-23 13:42:58 +00:00
ramapcsx2 706c68c1cd PCSX2:
- Fix SPR interrupts to a delay of 4 cycles always. Makes sure they're handled first.
(Fixes Obscure2 and Alone in the Dark FMV.)
GSdx:
- One more CRC :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2584 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-10 18:44:58 +00:00
arcum42 e86d7fba0e Sif: Implemented a new _sif structure, and made the code use it. Added some temporary code to try to keep the savestate backward compatible.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2563 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-05 12:41:25 +00:00
arcum42 9c9760f963 Tweak a few things in Sif.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2546 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-31 15:44:15 +00:00
arcum42 3d131a7ea4 Update the Linux project files. A few minor changes I had sitting around.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2544 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-31 05:38:12 +00:00
arcum42 b624486932 Sif: Revert one of the changes from r2537, as Sif acts a bit whackier then I thought.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2540 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-29 10:55:31 +00:00
arcum42 1b6fd8377e Revising some logging messages.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2539 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-29 07:55:06 +00:00
arcum42 4dc7d3e2ab Sif: Rename functions. Move iopsifbusy.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2538 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-29 04:44:00 +00:00