Tool-assisted game movies
When human skills are just not enough

Emulator Resources / Mednafen / MCM

Specification for the .mcm movie file format


mcm is the movie capture format of Mednafen, a TurboGrafx 16 (PC Engine), PC-FX, Neo Geo Pocket (Color), WonderSwan (Color),and Atari Lynx emulator. In addition it also supports NES,SMS,GG,GB,GBA.

The following are only available on the Linux version:
PC-FX, GB, GBA, Sega MS, Game Gear

Savestate/Movie Info

Re-recording is bulletproof since the movie data is loaded from the appropriate file when a state is loaded. This prevents ruining a movie by loading states out of order while recording.

Savestates made from movies are seperate and do not contain the movies within them. For example, the savestate "filename.nc0" made from the movie file "filename.10.mcm" is seperate from "filename.10.mcm" and don't contain the input data from "filename.10.mcm".

Movie files have their associated savestates separate from "non-movie" savestates, so those savestates cannot be accidentally overwritten while no movie is being replayed.

TODO: More details

Movie File Format

  000 8-byte    "MDFNMOVI" signature
  008 uint32     Mednafen Version (Current is 0A 08)
  00C uint32     Movie Format Version (Current is 01)
  010 32-byte    MD5 of the ROM used
  030 64-byte    Filename of the ROM used (with extension)
  070 uint32     Re-record Count
  074 5-byte     Console indicator (pce, ngp, pcfx, wswan)
  079 32-byte    Author name
  099 103-byte   Padding 0s
  100 variable   Input data
TODO: Verify if NTSC/PAL mode used for the movie can be detected or not.

Input Data Formats

The input stream consists of 1 byte for power-on and reset, and then X bytes per each input port per frame.

Console Type Input Ports Bytes per Port Frame Size (with Control Byte) Buttons (Ordered)
Lynx 1 2 3
WonderSwan 1 2 3
NG Pocket 1 1 2
PC Engine 5 2 11 1, 2, Select, Run, Up, Right, Down, Left
PC-FX 2 2 5
SMS 2 1 3
NES 4 1 ? A, B, Select, Start, Up, "Down, Left, Right

Normally, NES receives from 5 input ports, where the first 4 have a length of 1 byte, and the last has a length of 0. For the sake of simplicity, it is interpreted as 4 ports of 1 byte length for re-recording.

Combined RSS Feed
EmulatorResources/Mednafen/MCM last edited by feos on 2015-07-25 11:55:44
Page info and history | Latest diff | List referrers | View Source