My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
MCM  
Updated Aug 25, 2009 by justinhc...@hotmail.com

#Specification for the .mcm movie file format

MCM

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

Savestate

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 NSTC/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 TypeInput PortsBytes per PortFrame Size (with Control Byte)
Lynx123
WonderSwan123
NG Pocket112
PC Engine5211
PC-FX225
SMS213
NES41?

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.


Sign in to add a comment
Powered by Google Project Hosting