Post subject: "Change the disc to" error on DTM playback
Joined: 10/14/2013
Posts: 335
Location: Australia
Hi, I'm relatively new to being an encoder here. Although I've been doing dumps and encodes of some of the TAS videos here for my own personal viewing for several years (Dolphin included). I'm looking to expand my knowledge, capabilities and troubleshooting skills across as many consoles as possible so when I can help encode any run when it's needed! Before I go any further, I'd like to say I'm currently NOT handling the encoding for the following run so there's no urgency to this. I'm just looking to build up my skill-set and troubleshoot this problem so I can avoid it in the future. With regards to the recent Muramasa run, upon playback with the suggested emulator and settings, after a few dozen frames of movie playback I get a "Change the disc to" error message and emulation pauses. If I unpause it, I get the error again and so on. I can disable panic handlers and I don't get the pop up, but emulation still pauses and I feel like that is just suppressing the problem, not solving it. If I open the DTM file in hex and change the second disk ISO string to a filename, the error changes to include that file name (eg "Change the disk to muramasatdbscrub.iso". The game ISO passes the checksum test and when not playing back a DTM the game runs fine, without incident. Can anyone explain to me what is going on exactly? Specifically, have I overlooked something small and obvious / how would I go about solving this problem?
I'm not as active as I once was, but I can be reached here if I should be needed.
JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
That's strange. Seems like the DTM contains repeated commands to change the disc... I wonder how those ended up there? Does the DTM sync correctly for the author when played back from the start? Making a copy of the ISO using the same name as the second ISO string in the DTM will you get past the errors and pausing, but if the disc change commands weren't there when the author created the DTM, there will be a desync regardless of whether you get past the pausing and errors.
Joined: 10/14/2013
Posts: 335
Location: Australia
Thanks for the reply! I had a bit of play around after reading your message and for it to work properly both files need to be in the Dolphin library (they can't be opened manually) otherwise the error still persists. In the original DTM there's no second disk ISO listed, so leaving that as is causes an "invalid file" pop-up. If I use the one I modified in hex and list the second ISO as a separate file, it works without any issue though as you noted - it definitely don't sync. It just flashes between the Wii's warning's and a "please insert disk" message (as console output, not a Dolphin error). It definitely syncs up for the author, as there's been a temporary encode done for viewing while it's still a submission. I might put a comment in the submission thread and ask about the disc change commands now that I don't think it's just a misconfigured setting on my end.
I'm not as active as I once was, but I can be reached here if I should be needed.
JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
thecoreyburton wrote:
I had a bit of play around after reading your message and for it to work properly both files need to be in the Dolphin library (they can't be opened manually) otherwise the error still persists.
I think the first file doesn't need to be in Dolphin's game list, but yeah, the second one has to.
thecoreyburton wrote:
In the original DTM there's no second disk ISO listed, so leaving that as is causes an "invalid file" pop-up. If I use the one I modified in hex and list the second ISO as a separate file, it works without any issue though as you noted - it definitely don't sync. It just flashes between the Wii's warning's and a "please insert disk" message (as console output, not a Dolphin error).
That makes sense.
thecoreyburton wrote:
It definitely syncs up for the author, as there's been a temporary encode done for viewing while it's still a submission. I might put a comment in the submission thread and ask about the disc change commands now that I don't think it's just a misconfigured setting on my end.
Please do.
Joined: 10/14/2013
Posts: 335
Location: Australia
Hetfield90 wrote:
No, this is news to me. I never saw any "change disc" messages while making or encoding the run, nor do I even know how to add those commands to the DTM file.
I asked and got that reply from the author. Perhaps there was a change to the DTM format at a certain revision and those bytes no longer are used for change disc but are used for something else instead? I'm looking in to it now but this is definitely not my area of expertise.
I'm not as active as I once was, but I can be reached here if I should be needed.
JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
thecoreyburton wrote:
Hetfield90 wrote:
No, this is news to me. I never saw any "change disc" messages while making or encoding the run, nor do I even know how to add those commands to the DTM file.
I asked and got that reply from the author. Perhaps there was a change to the DTM format at a certain revision and those bytes no longer are used for change disc but are used for something else instead? I'm looking in to it now but this is definitely not my area of expertise.
There haven't been any changes like that as far as I know (at least not in the last two years or so). You're using the same version of Dolphin as the author anyway, right?
Joined: 10/14/2013
Posts: 335
Location: Australia
Hmm. Do you get the same error on playback if you try? If the problem's localized to my own system then I know I'll have to troubleshoot looking for something I've done or altered specifically in the past that could be causing it. And yes, the untouched 5.0 release is where I've done all my testing (which is the one it was made on). Prior to starting this thread when I was troubleshooting this by myself I tried on several different daily revisions as well (two shortly after the 5.0 release and some back in the 4 series) to see if perhaps there was a revision-related problem going on. The only thing that changed was that the 4-series revisions gave fatal desync error, but that was to be expected. I also did the usual deleting of any settings files stored locally or in user directories as a precaution. I've fired up my old PC right now to see what happens if I try it on a system that hasn't previously had a Dolphin installation. I'll let you know how it goes. Edit: Seems to be the same deal as this PC, so I feel like it's not system-dependent. Would there be a way to force-ignore all the change disc commands and see if the run syncs? or perhaps a way to batch-edit them all out of the DTM and see how playback runs, perhaps?
I'm not as active as I once was, but I can be reached here if I should be needed.
JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
I gave it a try now, and I'm also getting constant disk changes. I had to run the DTM with a different game since I don't have Muramasa, but that shouldn't make any difference on whether there are disk changes. (I'm not getting the "Change the disc to " message, but that's because having an empty s_discChange string in this line of code will make Dolphin think any directory that's set as a path for the game list is the disc image it's looking for. Instead, I got "Invalid file" errors later when Dolphin tried to open one of my directories as a disc image. I'm assuming you got the "Change the disc to " message because you hadn't set any path to scan for games in. ) EDIT: If you want to force Dolphin to ignore disc change commands in DTMs, replace "s_padState.disc" in this line with "false": https://github.com/dolphin-emu/dolphin/blob/342c053bf5fbd6775822467b48b548b9e458e2a5/Source/Core/Core/Movie.cpp#L1253 Batch editing the DTM should also be possible, but I'm not aware of any particular tool you can use for it.
Joined: 10/14/2013
Posts: 335
Location: Australia
Thank you for all your efforts! You're correct with the assumption of the scan path, if I make the adjustment I get the invalid file error as well. I'll look into making a custom build of Dolphin with the change you suggested if I can work out how. I've not had much experience / success with compiling from Github repositories (let alone applying the change directly to 5.0 and not a further revision so the movie still syncs correctly) but I'm sure a bit of research and a couple of Google searches and I'll be fine - I've been meaning to do it anyway. Regarding the DTM batch editing, I might be able to whip something up. I'm thinking the easiest way might be to cut the movie file into two parts (the header data, then the movie data itself) and apply a correction to the affected change-cd bit, then repeat that same correction at 8 byte intervals. Then it's just a matter of re-adding the header. It's a cut-and-dry, cheap solution but it should do the trick. I'll have to see how it goes. I'll have to report back tomorrow as it's very late here now, but I'll definitely come back with an update once I have news on the matter.
I'm not as active as I once was, but I can be reached here if I should be needed.
Joined: 10/14/2013
Posts: 335
Location: Australia
I opted for modifying the Dolphin source as it seemed like the more efficient option. When the DTM playback gets to where the errors would popup, it continues playing past the error point. The issue now is that the screen instead goes black and remains like that. I only tested the first 20,000 inputs but there was no change after the first black frame. This could be a result of me doing something wrong in the editing and building process though. I'll keep playing around with it in the meantime.
I'm not as active as I once was, but I can be reached here if I should be needed.
Joined: 10/14/2013
Posts: 335
Location: Australia
All I can think of at this point is that there must be a setting or version discrepancy that I'm not seeing.
I'm not as active as I once was, but I can be reached here if I should be needed.
JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
Hmm... I don't know why I didn't think of this before, but try enabling an emulated Wiimote along with the GameCube controller.
Fog
Emulator Coder, Experienced player (641)
Joined: 4/5/2014
Posts: 459
JosJuice wrote:
Hmm... I don't know why I didn't think of this before, but try enabling an emulated Wiimote along with the GameCube controller.
This would make sense, because viewing the DTM in DTM Editor shows that it uses a GC controller as well as a Wiimote (which doesn't make sense, but whatever).
Joined: 10/14/2013
Posts: 335
Location: Australia
Ah. I had disabled the Wiimote out of habit from past experiences. Enabling it worked wonderfully. No error messages and it syncs. Thank you guys for all your help resolving the the matter!
I'm not as active as I once was, but I can be reached here if I should be needed.
JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
Yeah, it's a good habit to disable Wiimotes when they aren't supposed to be used (when it comes to TASes). The Muramasa submission should preferably say that Wiimote 1 needs to be connected.