PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.49k stars 1.6k forks source link

[BUG - VIF FIFO] Mafia: VU1 Sync crashes the game at any time. #4162

Open ghost opened 3 years ago

ghost commented 3 years ago

Describe the bug When starting the game mafia, it get stuck at the main loading when using the synced mode of the VU1.

The only way of making it to work is by enabling the instantVU1 option.

Also note that if you enable the synced mode while playing or at any time in the game, it will crash.

To Reproduce Load Mafia with VU1 Instant disabled as well as mtvu off.

Expected behavior The game should work like it does with instant VU1.

Emulation Settings EE Timing hack, custom patch to make the game work.

System Info (please complete the following information): PCSX2 Revision: pcsx2-v1.7.0-dev-877-g6c81bb54f-windows-x86 OS: Windows 10 CPU: I9 9900k GPU: RTX 3070

Dumps https://drive.google.com/file/d/1PbDspRQo_EFstwvBdlufgdH5vgRx8DsH/view?usp=sharing

refractionpcsx2 commented 3 years ago

Game seems to require Delay Vif stalls when Instant VU1 is disabled, seems to be something weird in the VIF Stall logic which causes it not to respond to the stall, or it expects the FIFO to contain the last bit of data (since there's like, 2qw left until the end of the transfer)

The speed is also terrible, but I can do something about that potentially, but in all honesty, you're probably better off playing with Instant VU1 which is quicker anyway.

ghost commented 3 years ago

To sum up this, the game needs the VIF FIFO to work, but instant VU1 kinda bruteforce it's way into the problem, and delay vif stalls is a hack that try to mitigate some VIF FIFO issues hence why it works here.

MrCK1 commented 2 years ago

Should be retested on master, dump link no longer works

refractionpcsx2 commented 2 years ago

The game still needs VIF FIFO.