pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

[BUG]: Virtua Fighter 4 (flickering Pai stage)

Open ghost opened this issue 2 years ago • 16 comments

Describe the Bug

Please fix the Pai stage (aquarium). The location is terribly flickering.

Reproduction Steps

Turn on arcade mode and go to the third location. Flickering appears in the character's intro, and for some time during the fight itself.

Expected Behavior

No response

PCSX2 Revision

PCSX2 1.7.0-20220416035704

Operating System

Windows 11

If Linux - Specify Distro

No response

CPU

i7 8700k

GPU

GTX 1070

GS Settings

No response

Emulation Settings

No response

GS Window Screenshots

No response

Logs & Dumps

No response

ghost avatar Apr 16 '22 15:04 ghost

Logs, dumps, screenshots or video showing the issue?

lightningterror avatar May 10 '22 10:05 lightningterror

I am sending the log and a video showing the problem. Flickering textures appear during the intro of the Pai stages, and for the first minute of combat. Tried DX 11.12 different bios, 50/60 hz switching, different graphics settings, but nothing helps. Only works well in software mode.

film on my yt page: https://www.youtube.com/watch?v=jusiHW424Xc

wt., 10 maj 2022 o 12:06 lightningterror @.***> napisał(a):

Logs, dumps, screenshots or video showing the issue?

— Reply to this email directly, view it on GitHub https://github.com/PCSX2/pcsx2/issues/5893#issuecomment-1122189128, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYYH7VNXQBGELTJL5SNZISTVJIYLJANCNFSM5TSQ4NJA . You are receiving this because you authored the thread.Message ID: @.***>

PCSX2 1.7.0-20220512125852- compiled on May 12 2022 Savestate version: 0x9a2c0000

Host Machine Init: Operating System = Microsoft Windows 10, 64-bit Physical RAM = 16326 MB CPU name = Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz Vendor/Model = GenuineIntel (stepping 0A) CPU speed = 3.695 ghz (12 logical threads) x86PType = Standard OEM x86Flags = bfebfbff 7ffafbff x86EFlags = 2c100800

x86 Features Detected: SSE2.. SSE3.. SSSE3.. SSE4.1.. SSE4.2.. AVX.. AVX2.. FMA

The current power profile is 'Zrównoważony'. The current min / max processor states AC: 5% / 100% Battery: 5% / 100%

Reserving memory for recompilers... HLE Host: Set 'host:' root path to: \

Patches: No CRC found, using 00000000 instead. isoFile open ok: F:\Emulatory\Playstation 2\Gry\Virtua Fighter 4\Virtua Fighter 4 (Europe) (En,Fr,De,Es,It).iso Image type = DVD

  • CDVD Disk Open: DVD, Single layer or unknown:
    • Track 1: Data (Mode 1) (337632 sectors) Vsync is ON D3D Adapter: NVIDIA GeForce GTX 1070 D3D12 Graphics Driver Info: D3D_FEATURE_LEVEL_11_0 VID: 0x10DE PID: 0x1B81 NVIDIA GeForce GTX 1070 Driver Version: 30.0.15.1179 Vsync is ON GS Lookup CRC:00000000 48000 SampleRate: McdSlot 0 [File]: C:\Users\Kamil\Desktop\Nowy folder\memcards\Mcd001.ps2 McdSlot 1 [File]: C:\Users\Kamil\Desktop\Nowy folder\memcards\Mcd002.ps2 EE/iR5900-32 Recompiler Reset Bios Found: Europe v02.20(10/02/2006) Console BIOS rom1 module not found, skipping... BIOS rom2 module not found, skipping... BIOS erom module not found, skipping...

Initialize memory (rev:3.70, ctm:196Mhz, cpuclk:147Mhz detected)

Frame buffer size set to 512x512 (3072x3072)

PlayStation 2 ======== Hard reset boot ROMGEN=2006-0210, IOP info (CPUID=1f, CACH_CONFIG=14000200, 2MB, IOP mode) <20060210-142424,ROMconf,PS20220WC20060210.bin:11824>

Total accessable memory size: 32 MB (B:2:8:0) (370:2:7c30)

TLB spad=0 kernel=1:12 default=13:30 extended=31:38

Initialize Start.

Initialize GS ...

Initialize INTC ...

Initialize TIMER ...

Initialize DMAC ...

Initialize VU1 ...

Initialize VIF1 ...

Initialize GIF ...

Initialize VU0 ...

Initialize VIF0 ...

Initialize IPU ...

Initialize FPU ...

Initialize User Memory ...

Frame buffer size set to 512x512 (3072x3072)

Initialize Scratch Pad ...

Initialize Done.

EE DECI2 Manager version 0.06 Apr 7 2005 21:09:14 CPUID=2e20, BoardID=0, ROMGEN=2006-0210, 32M

Patches: No CRC found, using 00000000 instead. (SYSTEM.CNF) Detected PS2 Disc = cdrom0:\SCES_507.59;1 (SYSTEM.CNF) Software version = 1.00 (SYSTEM.CNF) Disc region type = PAL ELF (cdrom0:\SCES_507.59;1) Game CRC = 0xB65AE44A, EntryPoint = 0x00100008 (SYSTEM.CNF) Detected PS2 Disc = cdrom0:\SCES_507.59;1 (SYSTEM.CNF) Software version = 1.00 (SYSTEM.CNF) Disc region type = PAL

IOP Realtime Kernel Ver.0.9.1

Copyright 1999 (C) Sony Computer Entertainment Inc. 

Reboot service module.(99/11/10) cdvd driver module version 0.1.1 (C)SCEI Load File service.(99/11/05) Multi Threaded Fileio module.(99/11/15) iop heap service (99/11/03) loadelf: fname cdrom0:¥SCES_507.59;1 secname all loadelf version 3.30 Input ELF format filename = cdrom0:¥SCES_507.59;1 1 00100000 00216f08 .................................. 2 00316f80 0023d8b4 ..................................... Loaded, cdrom0:¥SCES_507.59;1 start address 0x100008 gp address 00000000

Restart Without Memory Clear.

Initialize GS ...

Initialize INTC ...

Initialize TIMER ...

Initialize DMAC ...

Initialize VU1 ...

Initialize VIF1 ...

Initialize GIF ...

Initialize VU0 ...

Initialize VIF0 ...

Initialize IPU ...

Initialize FPU ...

Initialize Scratch Pad ...

Restart Without Memory Clear Done.

Elf entry point @ 0x00100008 about to get recompiled. Load patches first. [GameDB] Has not been initialized yet, initializing... [GameDB] 10981 games on record (loaded in 53,84ms) [GameDB] Searching for 'sces-50759' in GameDB [GameDB] Found 'sces-50759' in GameDB [GameDB] Searching for patch with CRC 'B65AE44A' [GameDB] No CRC-specific patch or default patch found Overall 0 Cheats loaded [GameDB] Searching for 'sces-50759' in GameDB [GameDB] Found 'sces-50759' in GameDB [GameDB] Searching for patch with CRC 'B65AE44A' [GameDB] No CRC-specific patch or default patch found Get Reboot Request From EE GS Lookup CRC:B65AE44A Frame buffer size set to 512x512 (3072x3072) ROM directory not found

PlayStation 2 ======== Update rebooting..

PlayStation 2 ======== Update reboot complete cdvdman Init

IOP Realtime Kernel Ver. 2.1

Copyright 1999-2001 (C) Sony Computer Entertainment Inc. 

Reboot service module.(99/11/10) cdvd driver module version 0.1.1 (C)SCEI Load File service.(99/11/05) Multi Threaded Fileio module.(99/11/15) iop heap service (99/11/03) loadmodule: fname cdrom0:¥IOP¥SIO2MAN.IRX;1 args 0 arg loadmodule: id 25, ret 0 loadmodule: fname cdrom0:¥IOP¥MCMAN.IRX;1 args 0 arg loadmodule: id 26, ret 2 loadmodule: fname cdrom0:¥IOP¥MCSERV.IRX;1 args 0 arg loadmodule: id 27, ret 2 loadmodule: fname cdrom0:¥IOP¥PADMAN.IRX;1 args 0 arg loadmodule: id 28, ret 0 loadmodule: fname cdrom0:¥IOP¥LIBSD.IRX;1 args 0 arg loadmodule: id 29, ret 0 loadmodule: fname cdrom0:¥IOP¥CRI_ADXI.IRX;1 args 0 arg CRI ADX Driver Ver.7.47(Nov 30 2001 14:37:12) CRI ADX Driver : Thread Priority=39 CRI ADX Driver : SPU CORE Number=0 CRI ADX Driver : sceSdInit(SD_INIT_COLD) call. loadmodule: id 30, ret 0 loadmodule: fname cdrom0:¥IOP¥MODHSYN.IRX;1 args 0 arg loadmodule: id 31, ret 0 loadmodule: fname cdrom0:¥IOP¥MODSESQ.IRX;1 args 0 arg loadmodule: id 32, ret 0 loadmodule: fname cdrom0:¥IOP¥MODMIDI.IRX;1 args 0 arg loadmodule: id 33, ret 0 loadmodule: fname cdrom0:¥IOP¥SOUNDVF4.IRX;1 args 0 arg loadmodule: id 34, ret 0 (UpdateVSyncRate) Mode Changed to NTSC. ... with user configured refresh rate: 59,93 Hz Frame buffer size set to 512x512 (3072x3072) open fail name ¥¥HDDFILES¥HDER_P16.GZ;1 PS2RNA: sceSifAllocIopHeap(266304) ret=0x000f8f00 PS2RNA: sceSifAllocIopHeap(2256) ret=0x0013a000 DVCI: File cache was not hit. "/vf4files.cvm" DVCI: File cache was not hit. "/vf4strms.cvm" (UpdateVSyncRate) Mode Changed to PAL. Frame buffer size set to 512x512 (3072x3072) iop total free memory: 000abb00 iop_global_work address: 000e02f0 sceHSyn_Load : port 0 sceHSyn_Load : port 1 sceHSyn_Load : port 8 STEREO set volume: 256 (UpdateVSyncRate) Mode Changed to NTSC. ... with user configured refresh rate: 59,93 Hz Frame buffer size set to 512x512 (3072x3072) sceHSyn_Load : port 9 Read Abort Read Abort sceHSyn_Load : port 2 sceHSyn_Load : port 3 sceHSyn_Load : port 4 sceHSyn_Load : port 5 sceHSyn_Load : port 6 sceHSyn_Load : port 2 sceHSyn_Load : port 10 sceHSyn_Load : port 6 sceHSyn_Load : port 2 sceHSyn_Load : port 6 [GameDB] Searching for 'sces-50759' in GameDB [GameDB] Found 'sces-50759' in GameDB [GameDB] Searching for patch with CRC 'B65AE44A' [GameDB] No CRC-specific patch or default patch found Applying GS settings... Vsync is ON [GameDB] Searching for 'sces-50759' in GameDB [GameDB] Found 'sces-50759' in GameDB [GameDB] Searching for patch with CRC 'B65AE44A' [GameDB] No CRC-specific patch or default patch found Vsync is ON

ghost avatar May 12 '22 19:05 ghost

Does it happen on both hardware and software renderers?

lightningterror avatar May 20 '22 22:05 lightningterror

is this still an issue? if so does it happen on both hardware and software renderers?

Mrlinkwii avatar Oct 04 '22 20:10 Mrlinkwii

I checked and there is still flickering problem with both hw/sw.

SLUS_203.23.Virtua Fighter 4 pcsx2-v1.7.3680-windows-64bit-AVX2-Qt win 10 , intel. 1070.

cys1130 avatar Dec 05 '22 07:12 cys1130

8 months since the problem was reported and absolutely nothing has changed. Pai's location continues to suffer from terrible flickering. No matter if in software or hardware mode.

ghost avatar Dec 18 '22 14:12 ghost

8 months since the problem was reported and absolutely nothing has changed. Pai's location continues to suffer from terrible flickering. No matter if in software or hardware mode.

Sorry to hear you're not satisfied but there's been plenty of other work going on in the background.

When someone is able to, they'll look into the issue.

MrCK1 avatar Dec 18 '22 15:12 MrCK1

It's not a huge problem, although it's a bit annoying. I hope someday this issue can be solved.

ghost avatar Dec 19 '22 10:12 ghost

Game don't like when one of functions return 0.0 in f00. Here is problematic code:

.text:001841CC                 div          $f4, $f21
.text:001841D0                 mul          $f3, $f4, $f4
.text:001841D4                 mul          $f2, $f4, $f3
.text:001841D8                 add          $f1, $f3, $f3
.text:001841DC                 mul          $f6, $f3, $f6
.text:001841E0                 add          $f5, $f2, $f2
.text:001841E4                 sub          $f1, $f2, $f1
.text:001841E8                 sub          $f2, $f3
.text:001841EC                 sub          $f5, $f6
.text:001841F0                 add          $f1, $f4
.text:001841F4                 mul          $f2, $f24
.text:001841F8                 mul          $f3, $f5, $f22
.text:001841FC                 mul          $f1, $f0
.text:00184200                 mul          $f5, $f23
.text:00184204                 add          $f3, $f22
.text:00184208                 add          $f1, $f2
.text:0018420C                 sub          $f3, $f5
.text:00184210                 mul          $f1, $f21
.text:00184214                 b            loc_184224
.text:00184218                 add          $f0, $f3, $f1

Probably inaccuracies in mul/div, but i'm not sure what's really going on. Maybe some minor inaccuracy result in denormal, and that get flushed to zero? Anyway. Replacing positive 0.0 to any low value seems to workaround issue without any side effect. Patch for SCES-50759 version of game. Patch replace 0.0 result with 0.0000100136.

patch=1,EE,000fffc0,word,3c0138d2 // lui at, 0.000100136
patch=1,EE,000fffc4,word,4480c000 // mtc1 zero, f24
patch=1,EE,000fffc8,word,46180032 // c.eq.s f00, f24
patch=1,EE,000fffcc,word,45030001 // bc1tl 0xfffd4
patch=1,EE,000fffd0,word,44810000 // mtc1 at, f00
patch=1,EE,000fffd4,word,08061089 // j 0x184224
patch=1,EE,000fffd8,word,00000000 // nop
patch=1,EE,00184214,word,0803fff0 // j 0xfffc0

Goatman13 avatar Jan 26 '23 09:01 Goatman13

Can you leave it open, please.

refractionpcsx2 avatar Jan 26 '23 11:01 refractionpcsx2

Sure. Sorry miss click 😀

ghost avatar Jan 26 '23 11:01 ghost

You might consider it the "easy way out" but getting correct float emulation is far from trivial to correct. We'd have to come up with an accurate soft float implementation, then find ways to make it not slow, because it will be slow.

The patch is a good midterm measure.

refractionpcsx2 avatar Jan 26 '23 14:01 refractionpcsx2

You're welcome to attempt it, we are an open source emulator :)

refractionpcsx2 avatar Jan 26 '23 15:01 refractionpcsx2

You're welcome to attempt it, we are an open source emulator :)

refractionpcsx2 avatar Jan 26 '23 15:01 refractionpcsx2

It won't backfire at all. Removal of the patch is pretty trivial and we can label what it does.

Sure it could be possible to make it selective but we still have to redesign the jit to do that, not to mention the non-trivial implementation of soft float itself.

refractionpcsx2 avatar Jan 26 '23 17:01 refractionpcsx2

It probably doesn't matter for the purpose of resolving the issue in VF4 (Vanilla), but this version of the stage is replicated in the "Event Square - Underground fighting arena" area of Quest mode in Virtua Fighter 4: Evolution, and the flickering does not occur there.

Also, in VF4 (Vanilla), the flickering stops after the first round of the match--there is no flickering in subsequent rounds. The stage otherwise looks the same from round to round, as far as I can see.

smbhax avatar Feb 13 '24 09:02 smbhax