Project

General

Profile

Emulator Issues #12492

Ocarina of Time (VC): Unknown Opcode on reset

Added by Nickps 26 days ago. Updated 26 days ago.

Status:
Accepted
Priority:
High
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:
5.0-10179
Fixed in:

Description

Game Name?

The Legend of Zelda: Ocarina of Time

Game ID? (right click the game in the game list, Properties, Info tab)

NACP01, NACE01, NACJ01

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

JP: fbd31f95610f795d0acd51320f9821d9
US: f30e61e4ec97d1d5736c86105ed43d91
EU: 2cbb8838da33de19f60f2b7b277ea83c

What's the problem? Describe what went wrong.

An unknown opcode error appears sometimes when the game is reset. On single core mode it seems to almost always happen on the first reset but it also happens on dual core seemingly at random.

What steps will reproduce the problem?

  1. Turn off dual core mode (optional but makes reproduction easier)

  2. Start OoT

  3. Reset. I don't think it matters when but I only did it on the title screen and file select. Using Dolphin or the home menu to reset does not make a difference

  4. If no unknown opcode error appears, close the game and try again. Alternatively, you might get an error if you keep resetting but it's pretty unreliable.

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

5.0-14019

Is the issue present in the latest stable version?

I'm not sure. I don't think resetting works on 5.0

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.)

5.0-10179 While bisecting I only tested for the one that shows up reliably on single core. Btw, the forum thread is right. Bisecting by hand is not fun. Will the tool be fixed in the future?

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

N/A

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

I tested this on my laptop a Lenovo Legion 5 15ARH05
CPU: Ryzen 5 4600h
GPU: NVIDIA Geforce GTX 1650/ AMD Radeon Graphics
OS: Windows 10 Home

This also happens on my desktop. I will provide its specs if I need to.

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

20:17:711 Common\MsgHandler.cpp:133 E[MASTER]: Ερώτηση: GFX FIFO: Unknown Opcode (0xff @ 0x2b7ff58e6a8, preprocess=false).
This means one of the following:
* The emulated GPU got desynced, disabling dual core can help
* Command stream corrupted by some spurious memory bug
* This really is an unknown opcode (unlikely)
* Some other sort of bug

Further errors will be sent to the Video Backend log and
Dolphin will now likely crash or hang. Enjoy.
20:20:264 Common\MsgHandler.cpp:133 E[MASTER]: Ερώτηση: Illegal command ff
CPBase: 0x002710e0
CPEnd: 0x002b10c0
CPHiWatermark: 0x0003c000
CPLoWatermark: 0x00020000
CPReadWriteDistance: 0x00000040
CPWritePointer: 0x00271120
CPReadPointer: 0x002710e0
CPBreakpoint: 0x00000000
bFF_GPReadEnable: true
bFF_BPEnable: false
bFF_BPInt: false
bFF_Breakpoint: false
bFF_GPLinkEnable: true
bFF_HiWatermarkInt: true
bFF_LoWatermarkInt: false

20:21:386 VideoCommon\OpcodeDecoding.cpp:261 E[Video]: FIFO: Unknown Opcode(0xff @ 0x2b7ff58e6a8, preprocessing = no)


19:29:015 Common\MsgHandler.cpp:133 E[MASTER]: Ερώτηση: GFX FIFO: Unknown Opcode (0x0f @ 0x2b7ff5c38c2, preprocess=false).
This means one of the following:
* The emulated GPU got desynced, disabling dual core can help
* Command stream corrupted by some spurious memory bug
* This really is an unknown opcode (unlikely)
* Some other sort of bug

Further errors will be sent to the Video Backend log and
Dolphin will now likely crash or hang. Enjoy.
19:32:752 Common\MsgHandler.cpp:133 E[MASTER]: Ερώτηση: Illegal command 0f
CPBase: 0x002710e0
CPEnd: 0x002b10c0
CPHiWatermark: 0x0003c000
CPLoWatermark: 0x00020000
CPReadWriteDistance: 0x00000040
CPWritePointer: 0x00271120
CPReadPointer: 0x002710e0
CPBreakpoint: 0x00000000
bFF_GPReadEnable: true
bFF_BPEnable: false
bFF_BPInt: false
bFF_Breakpoint: false
bFF_GPLinkEnable: true
bFF_HiWatermarkInt: true
bFF_LoWatermarkInt: false

19:34:341 VideoCommon\OpcodeDecoding.cpp:261 E[Video]: FIFO: Unknown Opcode(0x0f @ 0x2b7ff5c38c2, preprocessing = no)
19:34:341 VideoCommon\OpcodeDecoding.cpp:261 E[Video]: FIFO: Unknown Opcode(0xff @ 0x2b7ff5c38c5, preprocessing = no)

History

#1 Updated by JMC4789 26 days ago

Yeah, this happens. If you really want to avoid it the popup, just turn off panic handlers. The unknown opcode is harmless in this case. Likely the initialization issue that hits a few other games.

#2 Updated by JMC4789 26 days ago

Your bisect doesn't make sense. Can you double check?

#3 Updated by Nickps 26 days ago

I tried again. I got an unknown opcode first try on 179 and I can't get one on 177. So, even if it can happen on 177 I have to conclude 179 makes it more likely.

#4 Updated by JMC4789 26 days ago

  • Priority changed from Normal to High
  • Status changed from New to Accepted

Yeah, my sincere apologies, I misread the build you bisected to because today has been one of those days. That's definitely a valid bisect now that I looked at it again.

#5 Updated by JMC4789 26 days ago

  • Regression start set to 5.0-10179

Regression -> https://github.com/dolphin-emu/dolphin/commit/e66d25312ea1b0c09140fce8d29fe1744ba71ce4

Simple change, but it also affects other things.

#6 Updated by Nickps 26 days ago

Apology accepted. Don't beat yourself up about it. To be honest I wasn't paying much attention while bisecting so double checking didn't hurt.

#7 Updated by JMC4789 26 days ago

The problem is figuring out how to fix these issues without causing more regressions. This is essentially the least damaging of 3 separate behaviors.

Also available in: Atom PDF