Emulator Issues #9203
closedOpening Wii Home Menu in Prince of Persia: Rival Swords causes Unknown Opcode (in Single Core too)
0%
Description
Game Name?
Prince of Persia: Rival Swords - RPPE41
What's the problem? Describe what went wrong.
When opening the home menu during the opening FMV (even in single core) an unknown opcode will pop up. This is reflected in the logs:
FIFO: Unknown Opcode(0x3f @ 0000000024DAF8F1, preprocessing = no)
The hex at the end changes, but the 0x3f is constant.
What steps will reproduce the problem?
Start a new game and open up the home menu. You have to do this during the opening FMV or else it won't happen.
Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
4.0-8400, 4.0.2
What are your PC specifications? (CPU, GPU, Operating System, more)
Core i5 3570K, GTX 760, Windows 7
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
FIFO: Unknown Opcode(0x3f @ 0000000024DAF8F1, preprocessing = no)
Files
Updated by pokechu22 about 2 years ago
- File RivalSwordsUnknown.7z RivalSwordsUnknown.7z added
I've attached a 20-frame fifolog. The unknown opcode happens in frame 15, which is the first frame the screen went black. (I started recording this fifolog while paused, then held down home while unpausing; there seem to have been 15 frames of delay before the game started opening the home menu.)
Here's the actual raw data along with my attempt at interpreting where the unknown opcode came from:
000000ff: PRIMITIVE GX_DRAW_QUADS (0) (80) 4 vertices 12 bytes/vertex 48 total bytes
Primitive GX_DRAW_QUADS (0) VAT 0
00000000 (0) 00000000 (0) 00000000 (0)
00000000 (0) 00000000 (0) 3f800000 (1)
00000000 (0) 00000000 (0) 3f800000 (1)
3f800000 (1) 00000000 (0) 00000000 (0)
00000132: Unknown opcode 3f
3f
00000133: PRIMITIVE GX_DRAW_QUADS (0) (80) 0 vertices 12 bytes/vertex 0 total bytes
800000
00000136: NOP (12x)
00000000 00000000
00000000
To me, this looks like another case of the game providing more vertex data than it said it would, and it getting parsed in weird ways, but I'd need to look at the actual game code to verify that (it's less obvious here than in Mario Party 5). (Note that the draw command includes the number of vertices as a 2-byte value after it; I've omitted it for the first one, but included it for the second one where 0 vertices are drawn. 3f800000 is the floating-point number 1.0.)
Updated by pokechu22 about 2 years ago
- Status changed from Accepted to Fixed
- Fixed in set to 5.0-16027
The panic alert has been converted to a log message by https://github.com/dolphin-emu/dolphin/pull/10448.