View Page Source

Back to Page
Revision 2 (current)
Edited by feos on 7/25/2015 11:11 AM
TODO: formatting

fbm is the current movie capture format used by [EmulatorResources/Fbarr|Final Burn Alpha rerecording] (FBA-rr)

It is almost identical to the earlier fr format used by blip's rerecording build. FBM file format description FBM file consists of a header, followed by an optional save state chunk, followed by a frame data chunk, then a metadata chunk.

File Header format:

    000 4-byte signature: 46 42 31 20 "FB1 "
    004 1-byte unsigned int: version number (for now it is always 2)

Save State Chunk format:

    000 4-byte chunk identifier: 46 53 31 20 "FS1 "
    004 4-byte little-endian unsigned int: size of this save state chunk in bytes, not including the chunk identifier
    008 4-byte little-endian unsigned int: version of FB this was saved from
    00C 4-byte little-endian unsigned int: minimum FBA version required to load NV data
    010 4-byte little-endian unsigned int: minimum FBA version required to load All data
    014 4-byte little-endian unsigned int: size of the compressed saved data (not including header size or padding)
    018 32-byte possibly-unterminated ASCII string: Name of the game
    038 4-byte little-endian unsigned int: number of frames that have already been emulated before recording started
    03C 12 bytes: reserved, set to 0
    048: the compressed save data

Frame Data Chunk format:

    000 4-byte chunk identifier: 46 52 31 20 "FR1 "
    004 4-byte little-endian unsigned int: size of this frame data chunk in bytes, not including the chunk identifier
    008 4-byte little-endian unsigned int: number of recorded frames
    00A 4-byte little-endian unsigned int: rerecord count
    00E 12 bytes: reserved, set to 0
    01A: frame input data. The format varies depending on which inputs the game supports and may be compressed (unknown).
         Reset is always a possible input, although the value that means Reset will be different depending on the game.

Meta Data Chunk format:

    000 4-byte chunk identifier: 46 52 31 20 "FRM1"
    004 4-byte little-endian unsigned int: size of the metadata in bytes, not including the chunk identifier or this integer
    008 string of little-endian 2-byte wide characters of locale-dependant encoding: author information
Notes The format does not indicate a framerate, but it is assumed to always be 60 frames per second.