Emulator Issues #11973
After Editing a level in New Super Mario Bros Wii, the game doesn't load in Dolphin 5.0-540 up to the latest development build 5.0-11622. The last working version was 5.0-530.
[New Super Mario Bros Wii]
What's the problem? Describe what went wrong.
[If you edit a one of the files in the game with Reggie! Mod (or any variation of the software. e.g Reggie! Level Editor Next] the game will not load one of the levels for example if you edit the title screen level the game will not load.]
What steps will reproduce the problem?
[Edit a level (the .arc files) in Reggie! Mod (or just open the level in Reggie! and save it) and replace the .arc file in the game partition using wiiscrubber and compile the iso or using dolphin, extracted the UNEDITED game files and put them in a folder and replace the edited file with the unedited and run main.dol]
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Is the issue present in the latest stable version?
If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)
What are your PC specifications? (CPU, GPU, Operating System, more)
[ryzen 1200, gt 1030, 8gb of ram, and ssd and a hard drive,Windows 10 ]
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
[5.0-530 was the last time you can edit the levels without dolphin crashing and on 5.0-540 they be a error that says "Invalid Read from 0x00000010, PC = 0x802c0ba0" and the application hangs and the only way to close it is by force close by task manager]
#3 Updated by AlizaChoOpzen 5 months ago
If you take an ISO that breaks in this way on Dolphin and run it on a real console, does it work?
Yes it has always work on Nintendo Wii something changed between dolphin 5.0.530 and 5.0.540 maybe the way files are read or something because even just saving the file (no changes what so ever to the level) it still crashes.
#5 Updated by AlizaChoOpzen 5 months ago
You're absolutely breaking it. You can allow invalid reads/writes by right clicking the ISO in the gamelist and going into the game properties page. From there, make sure MMU emulation is unchecked. That will make the behavior the same as the old builds.
After unchecking MMU the problem still persist
#7 Updated by AlizaChoOpzen 5 months ago
That's actually interesting then. I wonder what other factors could be at play.
540 was the introduction of Dynamic BATs which solved a gamecube issue (although the wii is a overclocked gamecube). I tried reading this article https://dolphin-emu.org/blog/2016/09/06/booting-the-final-gc-game/ although I couldn't find how it related to this problem. Maybe if I give you the file to replace in NSMB Wii, one that's unedited and another one that is to see how dolphin is reading the file.
#9 Updated by AlizaChoOpzen 5 months ago
Well yes, Dynamic BATs were needed to boot that game, but along with that came a rewrite to a lot of Dolphin's emulation of GC/Wii memory access, making it generally much more accurate.
Okay so NSMBW must be having a hard time storing the edited file or loading the edited file in memory maybe? I just spitballing here because the game crashes when the game tries to load the level. If i edited the title screen it crashes immediately after showing you how to hold the controller. Or if I edit world 1-1 the game loads to the world map but wont load any of the levels.
#11 Updated by AlizaChoOpzen 5 months ago
Have you tried with both MMU enabled and disabled in the game properties?
Yes if I turn MMU on the games fails to load the level and it just give me a black screen and the frame rate drops to zero. If I turn it off the game fails to load the level and gives a "Invalid read from 0x4407c060, PC = 0x802dcc14" error
#12 Updated by AlizaChoOpzen 5 months ago
So on dolphin 5.0.530 when you play the edited game using main.dol the game is able to run properly
But when you compile the file into iso (or wbfs) the game doesn't load the level properly even it was
So after disabling "Enable Idle Skimping" and "Speed up Disc Transfer Rate" i was finally able to boot
into the level on the compiled version but a few seconds later the game would crash. So maybe dolphin has a verification checks
and when it checks the edited file, it thinks there is an error even though there is not causing a crash.
I test it on 5.0.540 and the same thing happens.
Running the game uncompiled doesn't crash dolphin which probably means that the verification check was
not implemented yet until later versions. (don't know when it was implemented)
#14 Updated by AlizaChoOpzen 5 months ago
There have been significant changes since 5.0 to how extracted games are handled, but none of those changes were made in 5.0-540. So I'm not sure why 5.0-540 would be affecting it...
Previously I thought there was a difference between 5.0-530 and 5.0-540 because the compile game was not running on 5.0-540 but after retrying on 5.0-530 the game is not running in that version either (I probably run the decompile version by accident or a settings was different from 5.0-530 and 5.0-540) so those 2 version are not the culprit. The way dolphin is reading the files is most likely causing it. Because if i turn off "Speed up Disc Transfer Rate" which slows down how dolphin reads files, the level loads but the game crashes a few seconds later. Also if i don't turn off
"Enable Idle Skimping" the game just gives a black screen while loading the level.