DTMファイルフォーマット

DTM (Dolphin TAS Movie)のファイル仕様を掲載しています。Hex Editingによるムービーの修正の際にご利用ください。

先頭256バイトはファイルヘッダとなっており、ここにコントローラ数などのデータが記録されています。直後の不定長のデータ列が実際の入力データとなっています。

ファイルヘッダアドレスマップ

ヘッダ内のすべてのデータはリトルエンディアンで記述されています。すなわち下位バイトから格納されています。

アドレス データ型 データ長 内容 補足
0x000 byte[] 4 識別子 "DTM\x1A" 改竄すると認識されなくなる
0x004 string 6 ゲームID  
0x00A bool 1 Wiiタイトルか否か Wiiタイトルならtrue (1)
0x00B byte 1 コントローラ数 上位ニブル:Wiiリモコン接続数
下位ニブル:GCコン接続数
0x00C bool 1 ステートスタートか否か 特定のステートセーブから再生するムービーの場合true (1)
0x00D long 8 VIカウンタ 要はフレーム数
0x015 long 8 入力数  
0x01D long 8 ラグカウンタ  
0x025 - 8 (予約)  
0x02D int 4 追記回数  
0x031 string 32 作者 半角英数32文字まで
0x051 string 16 ビデオAPI "D3D9" "D3D11" "D3D12" "OpenGL"など
0x061 byte[] 16 オーディオエミュレータ  
0x071 byte[] 16 MD5ハッシュ ISOのハッシュ値
0x081 long 8 録画開始時刻 UNIX時間。
0x089 bool 1 保存設定整合性フラグ  
0x08A bool 1 アイドルスキップ 有効ならtrue (1)
0x08B bool 1 デュアルコア 有効ならtrue (1) なお、desyncを引き起こすだけなので必ずfalse (0)にすること。
0x08C bool 1 プログレッシブモード 有効ならtrue (1)
0x08D bool 1 DSP HLE有効 HLEの場合はtrue (1)、LLEの場合はfalse (0)
0x08E bool 1 ディスク読取高速化 有効ならtrue (1)
0x08F byte 1 CPUエミュレーション設定 0:インタプリタ、1:JITリコンパイラ、2:JITILリコンパイラ
0x090 bool 1 EFBアクセス有効 有効ならtrue (1)
0x091 bool 1 EFBコピー有効 有効ならtrue (1)
0x092 bool 1 EFBコピー先設定 0:RAM、1:Texture
0x093 bool 1 EFBコピーキャッシュ有効 有効ならtrue (1)
0x094 bool 1 フォーマット変更有効 有効ならtrue (1)
0x095 bool 1 XFB有効 有効ならtrue (1)
0x096 bool 1 XFBエミュレーション設定 0:Virtual、1:Real
0x097 bool 1 メモリカード有効 使用する場合はtrue (1)
0x098 bool 1 メモリカード空き 空き領域があればtrue (1)
0x099 byte 1 タルコンガ接続数  
0x09A bool 1 GPU同期設定 有効ならtrue (1)
0x09B bool 1 ネットプレイ 有効ならtrue (1)
0x09C bool 1 PAL60モード有効 有効ならtrue (1)
0x09D - 12 (予約)  
0x0A9 string 40 2枚目のディスクのファイル名 半角英数40文字まで
0x0D1 byte[] 20 SHA-1ハッシュ Dolphinのバージョン識別用。
0x0E5 int 4 DSP IROMハッシュ  
0x0E9 int 4 DSP COEFハッシュ  
0x0ED long 8 ティック数 CPUのティック数。極端に短いとMovie Endより前に再生が終了する。
0x0F5 - 11 (予約)  

 

入力データ

ヘッダの直後に入力データが格納されています。実アドレスで言えば0x100以降が入力データとなります。
入力データの格納順はWii→GCコン、1P→2P→3P→4Pとなっています。1ループで1入力ですので各コントローラの入力データは不連続となります。
具体的な入力データの仕様はコントローラマップを参照してください。

最終更新:2016年10月20日 13:46