Post subject: Got a desync, need help fixing DTM
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
Hey, I just livestreamed myself TASing Ricco Harbor 1 in Super Mario Sunshine, but sadly, upon playback, the movie desyncs halfway through. It looks like I can fix the movie by adding one or two frames at a certain place, but I can't find any documentation on the DTM file format. Here is the movie file: http://www.file-upload.net/download-4167740/ricco1-broken.dtm.html Super Mario Sunshine NTSC-J Dolphin 3.0-381-dirty 32bit(fix3) (the latest one posted in the development thread) savefile: http://db.gamefaqs.com/console/gamecube/save/super_mario_sunshine_jp.gci (Add it to an empty memory card file (J)), though I think you don't need the game, savefile nor emulator to help me fix the dtm. On frame 4400/7143, I'd like to insert one or more idle frames. I'd appreciate any help :)
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
I would try but I only have the U iso. About a year ago when Mapler and I couldn't find anything about .dtm's, we made this notepad file showing what button presses are in hex form. Maybe it can help you:
0000000080808080 - Blank
0100000080808080 - Start
0200000080808080 - A
0400000080808080 - B
0800000080808080 - X
1000000080808080 - Y
2000000080808080 - Z
4000000080808080 - Up DPad
0002000080808080 - Right DPad
8000000080808080 - Down DPad
0001000080808080 - Left DPad
0004FF0080808080 - 100% L
000800FF80808080 - 100% R
0000000080FF8080 - Up Analog
00000000FF808080 - Right Analog
0000000080018080 - Down Analog
0000000001808080 - Left Analog
00000000808080FF - Up C
000000008080FF80 - Right C
0000000080808001 - Down C
0000000080800180 - Left C
By the way, there used to be a page on .dtm documentation that I found shortly after making this list, but it seems to have disappeared from the Dolphin google-code page.
Skilled player (1737)
Joined: 9/17/2009
Posts: 4979
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
sonicpacker wrote:
By the way, there used to be a page on .dtm documentation that I found shortly after making this list, but it seems to have disappeared from the Dolphin google-code page.
All I found is this incomplete documentation on .dtm
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
jlun2 wrote:
sonicpacker wrote:
By the way, there used to be a page on .dtm documentation that I found shortly after making this list, but it seems to have disappeared from the Dolphin google-code page.
All I found is this incomplete documentation on .dtm
Yeah, the page used to look much different. It had a lot more info on button presses and such.
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
Now i have to wonder if there are other games that don't save state properly still.
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
Actually, forget the DTM... I can probably redo it someday, maybe in the fullgame any% TAS or somewhere. I TASed another level today, and it desynced halfway through. I redid the part and it desynced again near the end. Given this rate of desyncs I'm getting, I want to stop TASing Mario sunshine for another few months. The person saying 3.0-381 (TASinput) was 100% desync-proof is wrong with his statement, it seems.
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
MUGG wrote:
Actually, forget the DTM... I can probably redo it someday, maybe in the fullgame any% TAS or somewhere. I TASed another level today, and it desynced halfway through. I redid the part and it desynced again near the end. Given this rate of desyncs I'm getting, I want to stop TASing Mario sunshine for another few months. The person saying 3.0-381 (TASinput) was 100% desync-proof is wrong with his statement, it seems.
How long were the TASes? Did you actually use the TAS input or just the rev it's included in? Maybe bzb forgot to include the more save fixes branch in his 32bit fix. I know for sure I haven't had even one desync in any game since the save fixes (including 2 times I tried SMS).
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
The part that was TASes was like 10 seconds long, I took about two hours to optimize it. I used the TAS Input, but I switched to using the keyboard sometimes (is that bad?). This is getting a little confusing so... There's the official branch, a TASinput branch and a more savestates branch (which supposedly has a worse tasinput window?). I'm not sure I follow on all the details..
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
MUGG wrote:
This is getting a little confusing so... There's the official branch, a TASinput branch and a more savestates branch (which supposedly has a worse tasinput window?). I'm not sure I follow on all the details..
There is official. There is more save fixes. There is TAS Input. The more save fixes alone has a much worse TAS Input window. The TAS Input revs includes the save fixes. What I was saying is that bzb *might* have forgotten to include the save fixes ONLY for the 32bit TAS Input rev fix (I know for a fact the save fixes are in the rev I use). I'm not sure if he did forget or not, but you shouldn't be getting desyncs.
Joined: 3/20/2009
Posts: 87
The TASinput branch has all the changes from the savestate fixes branch, but neither have been merged into the main build. Also it's not documentation but here are the structures used for .dtm files: http://code.google.com/p/dolphin-emu/source/browse/Source/Core/Core/Src/Movie.h DTMHeader is the header (256bytes) and ControllerState has the format for GameCube controllers. Each bool is one bit.
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
MUGG wrote:
The person saying 3.0-381 (TASinput) was 100% desync-proof is wrong with his statement, it seems.
It's most likely just an issue with mario sunshine. I've probably done over a million frames with it, on multiple games, and have not gotten a single desync, ever. Whereas, before the save fixes, it desynced about once per 5-10k frames, depending on the game.
Editor, Experienced player (569)
Joined: 11/8/2010
Posts: 4035
rog wrote:
MUGG wrote:
The person saying 3.0-381 (TASinput) was 100% desync-proof is wrong with his statement, it seems.
It's most likely just an issue with mario sunshine. I've probably done over a million frames with it, on multiple games, and have not gotten a single desync, ever. Whereas, before the save fixes, it desynced about once per 5-10k frames, depending on the game.
It's the exact same case with me. On multiple revisions before 3.0-305 "more-save-fixes" (which I am TASing on), my movie would get a desync just as often as rog's would, but on this revision, I haven't gotten a single desync in 57,500 frames.