Project

General

Profile

Actions

Emulator Issues #10645

open

Unknown Opcode in Xenoblade Chronicles

Added by Vash63 over 6 years ago. Updated over 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

Xenoblade Chronicles

Game ID? (right click the game in the game list, properties, info tab)

SX4E01

MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)

97968de6deac2c8df98f9779f453aa1b (gcz version)

What's the problem? Describe what went wrong.

Randomly get pop up message "GFX FIFO: Unknown Opcode" during gameplay. Game will sometimes continue normally afterwards, other times it will leave me with a blank white screen and cease working. Below is a save state (too large to upload) created after the game crashes and I was left with a white screen. The state does not load properly, I'm unsure if it will be helpful.

https://trekker.guru/SX4E01.s05

What steps will reproduce the problem?

Unable to reproduce at will. Happens randomly

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes, currently using 5.0-5819

Is the issue present in the latest stable version?

Unknown, have not tested previous releases.

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

[First broken version number here (if applicable)]

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]
I could gather a fifolog if helpful but it would just be random gameplay... crashes are anywhere from 5 minutes to hours apart.

What are your PC specifications? (CPU, GPU, Operating System, more)

Ryzen 1700
16G RAM
GTX 1080 w/ Nvidia 387.22
Arch Linux

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

I've attached a save file from an area that I duplicated crashes, however they're very intermittent. I've also attached two screenshots of the popups.


Files

monado02 (160 KB) monado02 Save file from an area that was crashing Vash63, 11/17/2017 04:20 AM
DolphinOpcode.png (35.7 KB) DolphinOpcode.png Vash63, 11/17/2017 04:26 AM
DolphinOpcode2.png (31.8 KB) DolphinOpcode2.png Vash63, 11/17/2017 04:26 AM
Fifo.patch (485 Bytes) Fifo.patch Uploaded patch file as comment ruined formatting. Vash63, 11/24/2017 01:18 PM
Actions #1

Updated by Vash63 over 6 years ago

After some extensive testing I can confirm it does not occur on 5.0 stable when in single-core mode. As the issue can take minutes to hours to occur, bisecting does not seem possible.

Actions #2

Updated by Vash63 over 6 years ago

Working with JMC47 in IRC, testing the following patch - after 5 hours of gameplay the issue appears to be fixed. Will update this bug if the situation changes. Not sure if it's a commit-able patch but this is what I'm testing:

--- dolphin-emu/Source/Core/VideoCommon/Fifo.cpp 2017-11-19 04:26:42.298155184 -0700
+++ dolphin-emu/Source/Core/VideoCommon/Fifo.cpp.fixed 2017-11-19 04:27:27.058963974 -0700
@@ -463,7 +463,7 @@
u32 cycles = 0;
s_video_buffer_read_ptr = OpcodeDecoder::Run(
DataReader(s_video_buffer_read_ptr, s_video_buffer_write_ptr), &cycles, false);

  • available_ticks -= cycles;
  •  //available_ticks -= cycles;
    

    }

    if (fifo.CPReadPointer == fifo.CPEnd)

Actions #3

Updated by Vash63 over 6 years ago

Actions #4

Updated by Vash63 over 6 years ago

Another update, I've switched to running with this PR and after ~6-7 hours it seems this also fixes the crashing in single-core mode:
https://github.com/dolphin-emu/dolphin/pull/6205

I have not tested dual core mode with this patch, that may still cause crashing.

Actions

Also available in: Atom PDF