Emulator Issues #12223
Major Minor's Majestic March White Screens
Major Minor's Majestic March
Game ID? (right click the game in the game list, Properties, Info tab)
What's the problem? Describe what went wrong.
Cut-scenes and gameplay display only a white screen.
What steps will reproduce the problem?
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
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
Refer video: https://www.youtube.com/watch?v=kfiI_Kc4PVM
What are your PC specifications? (CPU, GPU, Operating System, more)
i7-4770 CPU, 16GB DDR3 RAM, NVIDIA GTX 970 GPU
#3 Updated by flacs over 1 year ago
#4 Updated by JMC4789 over 1 year ago
So I was messing with this a bit and honestly I have no clue what the problem can be.
I've tried interpreter, software renderer, all kinds of obscure accuracy options no one else cares about and nothing seems to even affect this issue, making it really hard to even understand what is going on. I'm going to start throwing it at various experimental builds I have to see if anything messes with it.
- File major_minor_title_long.7z.002 major_minor_title_long.7z.002 added
- File major_minor_title_long.7z.001 major_minor_title_long.7z.001 added
- File major_minor_retry_long.7z major_minor_retry_long.7z added
- File major_minor_loading_long.7z major_minor_loading_long.7z added
This issue seems to be related to various scrolling scenes, such as the loading screen. The game uses the scissor offset for this, but for some reason it adds 1024 to the value, which causes things to not show up correctly in Dolphin (though it works on console). This offset remains even after the scrolling is finished (so stuff ends up stuck at 1024, 0 or 0, 1024 when it should be at 0, 0). Note that in addition to gameplay and cutscenes being white screens, the title screen is a white screen if you return to it from the menu (though it renders correctly the first time). Forcing the scissor offset to be 171 (which functions as 0) lets you see the game, though it breaks the scrolling effects.
I've recorded several fifologs of different scrolling scenes, which should help cover different scenarios ingame (specifically,
StageUIRetry are covered, but
StageUIGameOver hasn't been covered since it doesn't seem to be available in the tutorial and I don't want to play too much of the game). Note that these fifologs are large (~100 MB each when uncompressed) and long (~400-600 frames) - the main goal is to have something reproducible I can use for comparison purposes. The game runs at 30 FPS normally, though the fifologs might play back at a different rate.
Adding a game patch to change the 1024 value to 0 also makes the game render correctly (this value is a float at address 80361108; the hex value is 44800000) - as far as I can tell, there are no artefacts from this patch. However, it should be possible to emulate the 1024 offset correctly, so this is just a temporary workaround.
[OnFrame_Enabled] $Disable 1024 scissor offset [OnFrame] $Disable 1024 scissor offset 0x80361108:dword:0x00000000
It's also important to make sure that any changes to this don't cause regressions for #8327 as Super Mario Galaxy uses scissor offsets for the boss roar effect.