This page lists the file format for DTM, Dolphin movie files. It may change in the future.
0x000Bytes4Signature: 44 54 4D 1A "DTM\x1A"
0x004String6Game ID
0x00ABoolean1Is Wii game
0x00BBit field1Controllers plugged in (from least to most significant, the bits are GC controllers 1-4 and Wiimotes 1-4)
0x00CBoolean1Starts from savestate
0x00DInteger8VI count
0x015Integer8Input count
0x01DInteger8Lag counter
0x02DInteger4Rerecord count
0x051String16Video Backend
0x061Integer16Audio Emulator
0x071Bytes16MD5 hash of game file
0x081Integer8Recording start time (UNIX time)
0x089Boolean1Saved config valid?
0x08ABoolean1Idle Skipping on?
0x08BBoolean1Dual Core enabled?
0x08CBoolean1Progressive Scan enabled?
0x08DBoolean1DSP HLE enabled? (1 for HLE, 0 for LLE)
0x08EBoolean1Fast disc speed enabled?
0x08FInteger1CPU core (0 for interpreter, 1 for JIT, 2 for JITIL)
0x090Boolean1EFB Access Enabled?
0x091Boolean1EFB Copy Enabled?
0x092Boolean1Copy EFB To Texture? (1 for texture, 0 for ram)
0x093Boolean1EFB Copy Cache Enabled?
0x094Boolean1Emulate Format Changes?
0x095Boolean1Use XFB emulation?
0x096Boolean1Use real XFB emulation?
0x097Bit field1Memory cards present (from least to most significant, the bits are slot A and B)
0x098Boolean1Memory card blank?
0x099Bit field1Bongos plugged in (from least to most significant, the bits are ports 1-4)
0x09ABoolean1Sync GPU thread enabled?
0x09BBoolean1Recorded in a netplay session?
0x09CBoolean1SYSCONF PAL60 setting (this setting only applies to Wii games that support both 50 Hz and 60 Hz)
0x09DInteger1Language (the numbering scheme is different for GC and Wii)
0x09FBoolean1JIT branch following enabled?
0x0A9String40Name of second disc iso
0x0D1Bytes20SHA-1 hash of git revision
0x0E5Integer4DSP IROM Hash
0x0E9Integer4DSP COEF Hash
0x0EDInteger8Tick count (486 MHz when a GameCube game is running, 729 MHz when a Wii game is running)
0x100--Controller data

GameCube controller data:

The controller data is 8 bytes per frame.
Byte #Bit #MeaningVersion added
00Start pressed if 1
01A pressed if 1
02B pressed if 1
03X pressed if 1
04Y pressed if 1
05Z pressed if 1
06Up (Dpad) pressed if 1
07Down (Dpad) pressed if 1
10Left (Dpad) pressed if 1
11Right (Dpad) pressed if 1
12L pressed if 1
13R pressed if 1
14Change disc if 1 (on console, not controller)3.0-785
15Reset button pressed if 1 (on console, not controller)4.0-4045
16Controller connected if 15.0-5911
17Reset analog inputs to origin if 15.0-10479
20-7L pressure (0-255, none to max.)
30-7R pressure (0-255, none to max.)
40-7Analog stick X axis (1-255, left to right)
50-7Analog stick Y axis (1-255, down to up)
60-7C stick X axis (1-255, left to right)
70-7C stick Y axis (1-255, down to up)

Wiimote controller data

Wiimote controller data seems to consists of packets one after each other, each with the following format:
0Integer1Length of payload (n)
1OpaquenPayload (raw wiimote data)
Some documentation about the raw wiimote data can be found from Wiimote page at Note that the leading 0xA1 bytes are present.

EmulatorResources/DTM last edited by JosJuice on 7/15/2020 3:45 PM
Page History Latest diff List referrers View Source