Project

General

Profile

Emulator Issues #12223

Major Minor's Majestic March White Screens

Added by kolano over 1 year ago. Updated 3 months ago.

Status:
Accepted
Priority:
Normal
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:
Fixed in:

Description

Game Name?
Major Minor's Majestic March

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

What's the problem? Describe what went wrong.
Cut-scenes and gameplay display only a white screen.

What steps will reproduce the problem?
Run game.

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-12436

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

major_minor_loading_long.7z (4.81 MB) major_minor_loading_long.7z Loading screen between intro cutscene and tutorial pokechu22, 10/27/2021 10:53 PM
major_minor_retry_long.7z (4.68 MB) major_minor_retry_long.7z Retry screen for tutorial pokechu22, 10/27/2021 11:28 PM
major_minor_title_long.7z.001 (5 MB) major_minor_title_long.7z.001 Title screen (file 1 of 2) pokechu22, 10/28/2021 12:00 AM
major_minor_title_long.7z.002 (2.02 MB) major_minor_title_long.7z.002 Title screen (file 2 of 2) pokechu22, 10/28/2021 12:00 AM

History

#1 Updated by iwubcode over 1 year ago

Can you attach a small 2-3 frame fifo log?

#2 Updated by kolano over 1 year ago

I can not cause I'm just reporting on the bug raised by that YouTube video.

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

#5 Updated by JMC4789 over 1 year ago

  • Status changed from New to Accepted

According to flacs, everything is rendering off screen which is pretty weird. I'm guessing the game renders the entire backdrops to texture or something and then displays it behind the game and we're doing something wrong.

#6 Updated by Miksel12 8 months ago

#7 Updated by pokechu22 3 months ago

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, SceneLoading and 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.

Messy notes: https://gist.github.com/Pokechu22/5f83afb548bef8d75d3575d1c02bd518

Also available in: Atom PDF