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入力ですので各コントローラの入力データは不連続となります。
具体的な入力データの仕様はコントローラマップを参照してください。