Emulator Issues #13248
closedSolitaire and Mahjong (2009) - 1FPS (but 60VPS) on main menu makes file selection difficult; needs bounding box
0%
Description
Game Name?
[Solitaire & Mahjong]
Game ID? (right click the game in the game list, Properties, Info tab)
[RSOE4Z]
MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)
[f7b90ae3b37d1380656f55ec4ee617ac]
What's the problem? Describe what went wrong.
[Game is unable to progress past the file selection screen, as the file options are greyed out, and pressing the A button consequently does nothing.]
What steps will reproduce the problem?
[Boot up the game and try to select a file.]
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. 5.0-19353]
Is the issue present in the latest stable version?
[Yes. 5.0]
What are your PC specifications? (CPU, GPU, Operating System, more)
OS: Microsoft Windows 10 Home 10.0.19045
Processor: Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz, 2400 Mhz, 8 Core(s), 16 Logical Processor(s)
GPU: NVIDIA GeForce GTX 1650
RAM: 64.0 GB
NOTE: I do not have a bad dump, I verified it and it says so.
NOTE: I would attach a save state, but it exceeds the file limit.
NOTE: I also cannot provide a log, since nothing shows up in the log window when I boot the ROM.
Files
Updated by pokechu22 over 1 year ago
Looking at a video (https://www.youtube.com/watch?v=dxLKb-IHYCo) it seems like the greyed out buttons is always the case, but it looks like they were able to boot the game. I don't know if that video is emulated or real hardware (it's in 480p so it might be real hardware).
If you select "view -> show log configuration" and then set the level to info and check all log types, you should get more info in the log window.
Updated by AlexTCY over 1 year ago
Nothing happens when the cursor is hovered over the buttons, rendering the rest of the game completely inaccessible.
Updated by pokechu22 over 1 year ago
Thanks. I've ordered a copy of the game and will take a look when it arrives (which might be up to a week from now).
It was marked as working on the Wiki in May 2013. You could try Dolphin 4.0 (November 2013) or 3.5-1334 (May 6 2013); if one of those does work then we'd know this was an old regression.
Updated by AlexTCY over 1 year ago
I tried the different versions you suggested, and they both have entirely different problems from the latest dev build. 4.0 doesn't even boot and just hangs on a black screen forever, while in 3.5-1334, I can select a file, but the entire game is plagued with seizure-inducing graphical glitches.
Updated by AlexTCY over 1 year ago
UPDATE: After I deleted my SYSCONF, the game booted on 4.0. I can select a file on it, but it still has graphical glitches, although the ones on 4.0 are less severe.
Updated by AlexTCY over 1 year ago
UPDATE: I tried creating a file on 4.0 in order to see if that fixed anything regarding the latest dev build. It did not. The file is there, but I can't select or interact with it whatsoever.
Updated by pokechu22 over 1 year ago
Can you try doing a binary search to determine which version this started happening in? The first 4.0 version is on page 524 and the first 5.0 version is on page 336, so you check a build from page 430 and then if that one works, you know the first broken build is between page 430 and 336 so you test, say, page 380; if it doesn't work you know the first broken build is between page 524 and 430 so you test, say, page 480, and then just repeat until you're down to one page and then one build on the page. If this doesn't make sense, I can do it when my copy arrives. But knowing the exact version an issue started in makes it a LOT easier to determine what caused it and how to fix it.
Also, just to make sure, you have been able to get other games (or e.g. the Wii Menu) to work on recent versions of Dolphin, right? I want to make sure it's not something like the A button not working for you on modern versions.
Updated by AlexTCY over 1 year ago
Thanks for the suggestion, I'll be sure to try it and inform you of how it turns out.
Every other game I have works on my copy of Dolphin, and the A button is fully operational. I know this because A) It registers as being pressed in the controller mapping menu when I press it, including during active gameplay, and B) Solitare and Mahjong has a save data warning screen that requires pressing A in order to bypass, so I wouldn't be able to access the file selection screen if my input didn't function properly.
Updated by AlexTCY over 1 year ago
Ok, here are my findings.
4.0: Can select file, graphical glitches.
5.0-9: Cannot select file, graphical glitches.
4.0-4448: Can select file, less severe graphical glitches.
4.0-7298: Can select file, slightly more severe graphical glitches (things like menu icons and the statistics on the other side of the card on the title screen appear in 4.0.4448, but not here.)
4.0-8376: Dolphin crashes upon hovering over file, graphical glitches.
4.0-8947: Cannot select file, graphical glitches.
4.0-8664: Cannot select file, minor flickering/graphical glitches.
4.0-7886: Dolphin crashes upon hovering over file, graphical glitches.
4.0-7605: Can select file, graphical glitches (largely identical to 4.0-7298).
4.0-8125: Dolphin crashes upon hovering over file, graphical glitches.
4.0-7745: Ditto.
4.0-7700: Ditto, but graphical glitches less severe.
4.0-7664: Ditto, but graphical glitches more severe.
4.0-7607: Can select file, graphical glitches (see 4.0-7605)
4.0-7630: Crashes, worse graphical glitches.
4.0-7620: Crashes, minor graphical glitches.
4.0-7612: Can select file, par-for-the-course graphical glitches.
4.0:7614: Can select file, very minor graphical glitches.
So, the verdict's out. The game stops being accessible with version 4.0-7620. This list was made as I was testing, in the order of versions I tested, so it's kind of stream-of-consciousness. Apologies if it doesn't make sense and/or is difficult to read.
Updated by pokechu22 over 1 year ago
One thing to check is if dual core makes a difference since that can cause graphical glitches in some games (more for the versions where you saw graphical glitching; I'd be surprised if it makes a difference with actually pressing the button).
4.0-7620 seems like a bit of an odd version for behavior to change on, as I wouldn't expect a change to how graphics stuff works to impact whether or not a button can be clicked ingame. But, developers do weird things sometimes, so it's certainly possible.
Updated by pokechu22 over 1 year ago
- Regression changed from No to Yes
- Regression start set to 4.0-7620
Updated by AlexTCY over 1 year ago
I tried both enabling and disabling dual core on a version that crashes (4.0-7886) and a version that doesn't register any hovering (4.0-8664), and it didn't make any difference.
The only thing I noticed that was different between bootups was the severity of the graphical glitches, but I'm honestly starting to suspect that the severity is random and not dictated by the version or any setting.
Updated by pokechu22 over 1 year ago
- Subject changed from Solitaire and Mahjong (2009) - File Selection Greyed Out, Game Unplayable to Solitaire and Mahjong (2009) - 1FPS (but 60VPS) on main menu makes file selection difficult; needs bounding box
- Status changed from New to Accepted
- Regression start changed from 4.0-7620 to 4.0-7620, 5.0-14326
The game arrived, and I can confirm that it's pretty broken. It is still possible to select stuff on the menu, though. You just need to hold down the A button for a second or two. For some reason, the menu runs at 1 FPS, even though emulation is running at full speed (60 VPS). However, it only slows down when hovering over a save file.
It seems like the game's doing something weird where buttons on the menu work using XFB copies. Each button ends up being a slightly different color. This is a really weird way of doing a menu, but I guess it works. The weird graphical corruption you mentioned is that version of the menu ending up on the screen. It still happens on modern versions if "immediately present XFB" is enabled (but that's disabled by default). Presumably it showed up back in 4.0 versions because XFB emulation was a lot worse.
The crash introduced in 4.0-7620 is actually a popup saying "Memory stride is too small". If you turn off panic alerts, then the game still proceeds, but this is a very interesting clue as to what's happening. Modern dolphin logs "Oversized EFB copy: 1x1 (offset 1023,1023 stride 16448)" instead (presumably from the same place but in a more helpful manner).
What seems to be happening is that hovering over a file tries to render statistics for it (even if the file isn't created yet, though if it is the card flips around and shows them). But something is breaking in that (for an existing file, the statistics are all grey, and this also affects similar cards in the game menu).
At this point, I noticed an important message in the log: "E[Video]: BBox shall be used but it is disabled. Please use a gameini to enable it for this game." (this only shows up once when the game is started). It's using bounding box! I turned off "disable bounding box" in the graphics settings under the hacks tab, and that fixed it (completely - the menus work, and the statistics on cards work).
I did some more testing, and it looks like the poor FPS was introduced in 5.0-14326 (and is not present in 5.0-14323. That one changed it so that the default bounding box value the game writes gets re-used, resulting in a bottom/right coordinate of 0 and a top/left coordinate of 1023 (note that these values have the bottom above top and left to the right of right, i.e. they're not meaningful). I'm guessing that the game doesn't handle this properly, which results in a bad EFB copy (of a 1x1 pixel at (1023, 1023)) and presumably the game also trying to do work on a 1024 by 1024 (or bigger!) area afterwards, when it normally would use a much smaller area, leading to bad FPS. In the previous version (5.0-14323) I believe all coordinates would end up being 0, so it uses a 0 by 0 area, which gives good FPS (but results in complete garbage data on the cards).
I'll submit a pull request to enable bounding box for the game. There's a performance cost to having it enabled, but I don't think it'll be too big of one.
Updated by pokechu22 over 1 year ago
- Status changed from Accepted to Fix pending
Should be fixed by https://github.com/dolphin-emu/dolphin/pull/11817. You can try that out at https://dl.dolphin-emu.org/prs/c8/67/pr-11817-dolphin-latest-x64.7z.
Updated by ZephyrSurfer 12 months ago
The above pull request was merged in the following version
5.0-19358 -> https://dolphin-emu.org/download/dev/2e9b7f1192ad4bd3dcd8edf33b5312093f944492/