View Page Source

Back to Page
Revision 4 (current)
Edited by Noxxa on 9/18/2017 4:35 PM
The fr file format used by FBA is the same as the one used by blip's rerecording builds.

File Header format:

    000 4-byte signature: 46 42 31 20 "FB1 "
    004 1-byte unsigned int: version number (always 0 in FBA currently)

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.