Emulator Issues #8104
closedMario Party 5 wiggler capsule issue (unknown opcode)
0%
Description
Game Name?
Mario Party 5
Game ID?
GP5P01
What's the problem? Using wiggler capsule results into unkown opcode.
What did you expect to happen instead? Getting the start and no opcode error.
What steps will reproduce the problem?
- Get wiggler capusle inside Party mode (through luck or Cheat)
- Use the capsule and pay the 20 coins twice
- unkown opcode error
Which versions of Dolphin did you test on? 64bit master-c2bdcbe71c8e559a3bb91ff1da7844dd65406582
Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work? Don't know
What are your PC specifications? Linux 64bit, most libraries up to date.
Is there any other relevant information?
https://gist.github.com/karolherbst/5eeee497b657e473490e
Files
Updated by JMC4789 almost 10 years ago
- Status changed from New to Accepted
please try to cause this on older versions of dolphin. If you get a savefile (not savestate) with the capsule, then you can try it in older builds.
Confirmed on latest master using a brute force, 4 AI on turbo method.
Updated by karolherbst almost 10 years ago
so far as I can tell it works with 4.0.2
I will try to find the commit now, which broke this.
Updated by JMC4789 almost 10 years ago
look for a comex commit about refactoring opcodes, please.
Updated by karolherbst almost 10 years ago
608f9bcd6724c77fef9be8e45ec8f14b49e2b3fb is the first bad commit
commit 608f9bcd6724c77fef9be8e45ec8f14b49e2b3fb
Author: comex comexk@gmail.com
Date: Mon Sep 1 01:11:32 2014 -0400
Refactor opcode decoding a bit to kill FifoCommandRunnable.
Separated out from my gpu-determinism branch by request. It's not a big
commit; I just like to write long commit messages.
The main reason to kill it is hopefully a slight performance improvement
from avoiding the double switch (especially in single core mode);
however, this also improves cycle calculation, as described below.
- FifoCommandRunnable is removed; in its stead, Decode returns the
number of cycles (which only matters for "sync" GPU mode), or 0 if there
was not enough data, and is also responsible for unknown opcode alerts.
Decode and DecodeSemiNop are almost identical, so the latter is replaced
with a skipped_frame parameter to Decode. Doesn't mean we can't improve
skipped_frame mode to do less work; if, at such a point, branching on it
has too much overhead (it certainly won't now), it can always be changed
to a template parameter.
- FifoCommandRunnable used a fixed, large cycle count for display lists,
regardless of the contents. Presumably the actual hardware's processing
time is mostly the processing time of whatever commands are in the list,
and with this change InterpretDisplayList can just return the list's
cycle count to be added to the total. (Since the calculation for this
is part of Decode, it didn't seem easy to split this change up.)
To facilitate this, Decode also gains an explicit 'end' parameter in
lieu of FifoCommandRunnable's call to GetVideoBufferEndPtr, which can
point to there or to the end of a display list (or elsewhere in
gpu-determinism, but that's another story). Also, as a small
optimization, InterpretDisplayList now calls OpcodeDecoder_Run rather
than having its own Decode loop, to allow Decode to be inlined (haven't
checked whether this actually happens though).
skipped_frame mode still does not traverse display lists and uses the
old fake value of 45 cycles. degasus has suggested that this hack is
not essential for performance and can be removed, but I want to separate
any potential performance impact of that from this commit.
:040000 040000 86ddddd6bb800881e1e366bebf1caadc241c4034 9b1440cb47e96bdac9d73dc098ec01df55590b21 M Source
git bisect log
git bisect start
bad: [c2bdcbe71c8e559a3bb91ff1da7844dd65406582] Merge pull request #1837 from adamdmoss/sdl-more-haptic¶
git bisect bad c2bdcbe71c8e559a3bb91ff1da7844dd65406582
good: [2879cbd2b5648bf896ed521628284bd4d96c3d4f] Installer: Bump PRODUCT_VERSION.¶
git bisect good 2879cbd2b5648bf896ed521628284bd4d96c3d4f
good: [c25be031fc1031d795157d8344b87b7841145197] Dolphin 4.0 release¶
git bisect good c25be031fc1031d795157d8344b87b7841145197
good: [72179f98b6d31f7d60c1e450634f0741b18179a7] DSP: Use completion event for ARAM interrupt¶
git bisect good 72179f98b6d31f7d60c1e450634f0741b18179a7
bad: [5f21683343b2d36274f9d5c590944622bf2955b8] Merge pull request #1388 from waddlesplash/dolphin-qt¶
git bisect bad 5f21683343b2d36274f9d5c590944622bf2955b8
bad: [2ab19c7cec514d2b9a807164f5ba7bf274d3bdf3] Merge pull request #927 from FioraAeterna/fastermmu¶
git bisect bad 2ab19c7cec514d2b9a807164f5ba7bf274d3bdf3
good: [f47c30a804701b5df5a1d696b08f21436c8890c6] Merge pull request #940 from delroth/x64emittertest¶
git bisect good f47c30a804701b5df5a1d696b08f21436c8890c6
bad: [7a1eca149fe2cba0ffc874297565a04c4f7f4675] Merge pull request #841 from AMDmi3/bundled-smfl-include-order¶
git bisect bad 7a1eca149fe2cba0ffc874297565a04c4f7f4675
bad: [d6000e475b0620c698f5df53cc5319b39b14a38c] Merge pull request #970 from lioncash/ar-statics¶
git bisect bad d6000e475b0620c698f5df53cc5319b39b14a38c
bad: [09b11db2ee748f1dce83594944b4418e140a29a6] Merge pull request #951 from shuffle2/Anti-Ultimate-master¶
git bisect bad 09b11db2ee748f1dce83594944b4418e140a29a6
bad: [532b7bb7da8dde441518a025965d4106f1f546c9] Merge pull request #893 from rohitnirmal/scan-build-fixes¶
git bisect bad 532b7bb7da8dde441518a025965d4106f1f546c9
bad: [fa29b18e3e29c37386fa3a75cfd76f9d279857dd] Merge pull request #840 from FioraAeterna/jittimer¶
git bisect bad fa29b18e3e29c37386fa3a75cfd76f9d279857dd
good: [031beca9c9dac810011b65f275fbb156d2c03362] Merge pull request #943 from Sonicadvance1/arm32-asserts¶
git bisect good 031beca9c9dac810011b65f275fbb156d2c03362
bad: [dd5be7c0dc14bfaa7972ce24d07d85bd7189a090] Merge pull request #924 from comex/fifo-command-runnable¶
git bisect bad dd5be7c0dc14bfaa7972ce24d07d85bd7189a090
bad: [608f9bcd6724c77fef9be8e45ec8f14b49e2b3fb] Refactor opcode decoding a bit to kill FifoCommandRunnable.¶
git bisect bad 608f9bcd6724c77fef9be8e45ec8f14b49e2b3fb
first bad commit: [608f9bcd6724c77fef9be8e45ec8f14b49e2b3fb] Refactor opcode decoding a bit to kill FifoCommandRunnable.¶
Updated by kostamarino almost 10 years ago
Why did i get a mail about this issue? Oh stupid google code....
Updated by JMC4789 almost 10 years ago
Should we disable these popups and make them a warning instead?
Updated by hockeymikey about 6 years ago
- File 2018-09-30_02-20-07.png 2018-09-30_02-20-07.png added
Still an issue on 5.0-8775 and stable 5.0. Running on Windows 7 x64.
Updated by UnicorNora over 3 years ago
Still an issue in 5.0-14263. Can we please disable this popups and make them a debug warning. Since clicking ignore still proceads the game. Running on Windows 10 x64
Updated by pokechu22 over 3 years ago
Uncheck "Use Panic Handlers" under interface in settings.
Updated by pokechu22 almost 3 years ago
- File wigglerunknown.7z wigglerunknown.7z added
- Status changed from Accepted to Fix pending
https://github.com/dolphin-emu/dolphin/pull/10389 will silence the unknown opcode warning for opcodes 0x01-0x07. It looks like Mario Party 5 has a game bug resulting in it sending 132 vertices when it says it'll send 128, and the data in those vertices is getting interpreted as commands, but the only values are 0, 1, 2, and 3, and hardware testing indicates that those don't actually do anything (0x00 is known to be a NOP, and 0x01-0x07 seem to behave as NOPs as well), so showing a panic alert isn't helpful (an error is still put into the log, though).
JMC4789 also recorded a fifolog of this issue (which recently became possible; before the fifo recorder would die if it encountered an unknown opcode).
Updated by pokechu22 almost 3 years ago
- Status changed from Fix pending to Fixed
- Fixed in set to 5.0-15931